Enlightenment CVS committal

Author  : handyande
Project : misc
Module  : engage

Dir     : misc/engage/src/module


Modified Files:
        e_mod_main.c e_mod_main.h 


Log Message:
Tidied patch from Florian Zaehringer to enable the tray to be switched off
===================================================================
RCS file: /cvsroot/enlightenment/misc/engage/src/module/e_mod_main.c,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -3 -r1.56 -r1.57
--- e_mod_main.c        13 Jun 2005 23:13:27 -0000      1.56
+++ e_mod_main.c        21 Jun 2005 09:52:02 -0000      1.57
@@ -120,6 +120,8 @@
 static void    _engage_bar_cb_menu_zoom_large(void *data, E_Menu *m, 
E_Menu_Item *mi);
 static void    _engage_bar_cb_menu_zoom_huge(void *data, E_Menu *m, 
E_Menu_Item *mi);
 
+static void    _engage_bar_cb_menu_tray(void *data, E_Menu *m, E_Menu_Item 
*mi);
+
 static int     _engage_zoom_function(double d, double *zoom, double *disp, 
Engage_Bar *eb);
 static int     _engage_border_ignore(E_Border *bd);
 
@@ -228,6 +230,7 @@
    E_CONFIG_VAL(D, T, zoom_factor, DOUBLE);
    E_CONFIG_VAL(D, T, zoom_duration, DOUBLE);
    E_CONFIG_VAL(D, T, zoom_stretch, INT);
+   E_CONFIG_VAL(D, T, tray, INT);
 
    conf_edd = E_CONFIG_DD_NEW("Engage_Config", Config);
 #undef T
@@ -305,6 +308,7 @@
                       eb->conf->zoom_factor = 2.0;
                       eb->conf->zoom_duration = 1.0;
                       eb->conf->zoom_stretch = 0;
+                      eb->conf->tray = 1;
                       e->conf->bars = evas_list_append(e->conf->bars, 
eb->conf);
                    }
                  else
@@ -316,10 +320,27 @@
                  E_CONFIG_LIMIT(eb->conf->zoom_factor, 1.0, 4.0);
                  E_CONFIG_LIMIT(eb->conf->zoom_duration, 0.1, 0.3);
                  E_CONFIG_LIMIT(eb->conf->zoom_stretch, 0, 1);
+                 E_CONFIG_LIMIT(eb->conf->tray, 0, 1);
                  _engage_bar_iconsize_change(eb);
                  /* Menu */
                  _engage_bar_menu_new(eb);
 
+                 /*add tray*/
+                 if (eb->conf->tray)
+                   {
+                      _engage_tray_init(eb);
+
+                      e_box_pack_end(eb->box_object, eb->tray->tray);
+                      e_box_pack_options_set(eb->tray->tray,
+                                             1, 1, /* fill */
+                                             0, 1, /* expand */
+                                             0.0, 0.0, /* align */
+                                             1, 1, /* min */
+                                             100, 100 /* max */
+                                             );
+                   }
+
+                
                  /* Add main menu to bar menu */
 
                  mi = e_menu_item_new(e->config_menu);
@@ -524,17 +545,8 @@
    o = e_box_add(eb->evas);
    eb->box_object = o;
 
-   _engage_tray_init(eb);
-
-   e_box_pack_end(eb->box_object, eb->tray->tray);
-   e_box_pack_options_set(eb->tray->tray,
-                         1, 1, /* fill */
-                         0, 1, /* expand */
-                         0.0, 0.0, /* align */
-                         1, 1, /* min */
-                         100, 100 /* max */
-                         );
    eb->contexts = NULL;
+   eb->tray = NULL;
    
    eb->x = eb->y = eb->w = eb->h = -1;
    eb->zoom = 1.0;
@@ -671,7 +683,12 @@
    evas_object_del(eb->bar_object);
    evas_object_del(eb->box_object);
    evas_object_del(eb->event_object);
-   _engage_tray_shutdown(eb);
+        
+   if (eb->tray)
+     {
+       _engage_tray_shutdown(eb);
+       eb->tray = NULL;
+     }
 
    e_gadman_client_save(eb->gmc);
    e_object_del(E_OBJECT(eb->gmc));
@@ -736,6 +753,14 @@
      e_menu_item_toggle_set(mi, 1);
    e_menu_item_callback_set(mi, _engage_bar_cb_menu_zoom_stretch, eb);
 
+        
+   mi = e_menu_item_new(mn);
+   e_menu_item_label_set(mi, "System Tray");
+   e_menu_item_check_set(mi, 1);
+   if (eb->conf->tray)
+     e_menu_item_toggle_set(mi, 1);
+   e_menu_item_callback_set(mi, _engage_bar_cb_menu_tray, eb);
+
    mi = e_menu_item_new(mn); 
    e_menu_item_separator_set(mi, 1);
         
@@ -786,7 +811,8 @@
    evas_object_show(eb->bar_object);
    evas_object_show(eb->box_object);
    evas_object_show(eb->event_object);
-   evas_object_show(eb->tray->tray);
+   if (eb->tray)
+     evas_object_show(eb->tray->tray);
    e_config_save_queue();
 }
 
@@ -797,7 +823,8 @@
    evas_object_hide(eb->bar_object);
    evas_object_hide(eb->box_object);
    evas_object_hide(eb->event_object);
-   evas_object_hide(eb->tray->tray);
+   if (eb->tray)
+     evas_object_hide(eb->tray->tray);
    e_config_save_queue();
 }
 
@@ -855,7 +882,10 @@
 
    evas_object_raise(ic->event_object);
 
-   e_box_pack_before(eb->box_object, ic->bg_object, eb->tray->tray);
+   if (eb->tray)
+     e_box_pack_before(eb->box_object, ic->bg_object, eb->tray->tray);
+   else
+     e_box_pack_end(eb->box_object, ic->bg_object);
    e_box_pack_options_set(ic->bg_object,
                          1, 1, /* fill */
                          0, 0, /* expand */
@@ -1315,7 +1345,11 @@
    else
      {
        ic->eb->icons = evas_list_append(ic->eb->icons, ic);
-       e_box_pack_before(ic->eb->box_object, ic->bg_object, 
ic->eb->tray->tray);
+
+       if (ic->eb->tray)
+         e_box_pack_before(ic->eb->box_object, ic->bg_object, 
ic->eb->tray->tray);
+       else
+         e_box_pack_end(ic->eb->box_object, ic->bg_object);
      }
    edje_object_size_min_calc(ic->bg_object, &bw, &bh);
    e_box_pack_options_set(ic->bg_object,
@@ -1346,7 +1380,11 @@
    e_gadman_client_geometry_get(eb->gmc, &x, &y, NULL, NULL);
 
    e_gadman_client_resize(eb->gmc, w, h);
-   evas_object_resize(eb->event_object, w - eb->tray->w, h);
+
+   if (eb->tray)
+     evas_object_resize(eb->event_object, w - eb->tray->w, h);
+   else
+     evas_object_resize(eb->event_object, w, h);
    evas_object_move(eb->event_object, x, y);
    e_box_thaw(eb->box_object);
    evas_event_thaw(eb->evas);
@@ -1806,7 +1844,11 @@
    eb = data;
 
    evas_object_resize(o, w, h);
-   evas_object_resize(eb->event_object, w - eb->tray->w, h);
+        
+   if (eb->tray)
+     evas_object_resize(eb->event_object, w - eb->tray->w, h);
+   else
+     evas_object_resize(eb->event_object, w, h);
    edje_extern_object_min_size_set(eb->box_object, w, h);
    
    if (eb->gmc)
@@ -2001,23 +2043,35 @@
 
    if (edge == E_GADMAN_EDGE_LEFT)
      {
-       evas_object_resize(eb->event_object, w * (multiplier + 1), h - 
eb->tray->h);
+       if (eb->tray)
+         evas_object_resize(eb->event_object, w * (multiplier + 1), h - 
eb->tray->h);
+       else
+         evas_object_resize(eb->event_object, w * (multiplier + 1), h );
      }
    else if (edge == E_GADMAN_EDGE_RIGHT)
      {
-       evas_object_resize(eb->event_object, w * (multiplier + 1), h - 
eb->tray->h);
+       if (eb->tray)
+         evas_object_resize(eb->event_object, w * (multiplier + 1), h - 
eb->tray->h);
+       else
+         evas_object_resize(eb->event_object, w * (multiplier + 1), h );
        evas_object_move(eb->event_object, x - w * multiplier, y);
      }
    else if (edge == E_GADMAN_EDGE_TOP)
      {
-       evas_object_resize(eb->event_object, w - eb->tray->w, h * (multiplier + 
1));
+       if (eb->tray)
+         evas_object_resize(eb->event_object, w - eb->tray->w, h * (multiplier 
+ 1));
+       else
+         evas_object_resize(eb->event_object, w , h * (multiplier + 1));
      }
    else
      {
-       evas_object_resize(eb->event_object, w - eb->tray->w, h * (multiplier + 
1));
+       if (eb->tray)
+         evas_object_resize(eb->event_object, w - eb->tray->w, h * (multiplier 
+ 1));
+       else
+         evas_object_resize(eb->event_object, w , h * (multiplier + 1));
        evas_object_move(eb->event_object, x, y - h * multiplier);
      }
-  _engage_bar_motion_handle(eb, ev->canvas.x, ev->canvas.y);
+   _engage_bar_motion_handle(eb, ev->canvas.x, ev->canvas.y);
 }
 
 static void
@@ -2252,6 +2306,34 @@
 }
 
 static void
+_engage_bar_cb_menu_tray(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   Engage_Bar *eb;
+
+   eb = data;
+   eb->conf->tray = e_menu_item_toggle_get(mi);
+   if (eb->conf->tray)
+     {
+       _engage_tray_init(eb);
+       e_box_pack_end(eb->box_object, eb->tray->tray);
+       e_box_pack_options_set(eb->tray->tray,
+                              1, 1, /* fill */
+                              0, 1, /* expand */
+                              0.0, 0.0, /* align */
+                              1, 1, /* min */
+                              100, 100 /* max */
+                              );
+     }
+   else
+     {
+       _engage_tray_shutdown(eb);
+       eb->tray = NULL;
+       _engage_bar_frame_resize(eb);
+     }
+   e_config_save_queue();
+}
+
+static void
 _engage_bar_cb_menu_context_change(void *data, E_Menu *m, E_Menu_Item *mi)
 {  
    Engage_Bar *eb;
===================================================================
RCS file: /cvsroot/enlightenment/misc/engage/src/module/e_mod_main.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- e_mod_main.h        12 Jun 2005 15:32:15 -0000      1.15
+++ e_mod_main.h        21 Jun 2005 09:52:02 -0000      1.16
@@ -29,6 +29,7 @@
    int           zoom;
    double        zoom_factor, zoom_duration;
    int           zoom_stretch;
+        int           tray;
 };
 
 struct _Engage




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to