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:
Patch from Florian Zaehringer to put 'Edit Icon' in right click menu
indent
===================================================================
RCS file: /cvsroot/enlightenment/misc/engage/src/module/e_mod_main.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -3 -r1.57 -r1.58
--- e_mod_main.c        21 Jun 2005 09:52:02 -0000      1.57
+++ e_mod_main.c        24 Jun 2005 08:46:33 -0000      1.58
@@ -122,6 +122,8 @@
 
 static void    _engage_bar_cb_menu_tray(void *data, E_Menu *m, E_Menu_Item 
*mi);
 
+static void    _engage_bar_cb_menu_edit_icon(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);
 
@@ -547,6 +549,7 @@
 
    eb->contexts = NULL;
    eb->tray = NULL;
+   eb->selected_ic = NULL;
    
    eb->x = eb->y = eb->w = eb->h = -1;
    eb->zoom = 1.0;
@@ -763,6 +766,13 @@
 
    mi = e_menu_item_new(mn); 
    e_menu_item_separator_set(mi, 1);
+   
+   mi = e_menu_item_new(mn);
+   e_menu_item_label_set(mi, "Edit Icon");
+   e_menu_item_callback_set(mi, _engage_bar_cb_menu_edit_icon, eb);
+
+   mi = e_menu_item_new(mn); 
+   e_menu_item_separator_set(mi, 1);
         
    /* Enabled */
    mi = e_menu_item_new(mn);
@@ -1955,6 +1965,12 @@
        edje_object_signal_emit(ic->overlay_object, "start", "");
        e_app_exec(ic->app);
      }
+   else if (ev->button == 3)
+     {
+       //set selected icon so we can access it
+       //with the context menu
+       ic->eb->selected_ic = ic;
+     }
 }
 
 static void
@@ -1975,46 +1991,46 @@
 static void
 _engage_icon_cb_mouse_wheel(void *data, Evas *e, Evas_Object *obj, void 
*event_info)
 {
-  Evas_Event_Mouse_Wheel *ev;
-  Engage_Icon *ic;
-  Engage_App_Icon *ai;
+   Evas_Event_Mouse_Wheel *ev;
+   Engage_Icon *ic;
+   Engage_App_Icon *ai;
   
-  ev = event_info;
-  ic = data;
+   ev = event_info;
+   ic = data;
 
-  if(!ic->extra_icons)
-    return;
+   if(!ic->extra_icons)
+     return;
 
-  if(ev->z > 0) // Wheel Down, traverse clockwise
-    {
-      if(!ic->selected_app)
-       ic->selected_app = ic->extra_icons;
-      else
-       {
-         if(ic->selected_app->next)
-           ic->selected_app = ic->selected_app->next;
-       }
-    }
-  else // Wheel Up, traverse counterclockwise
-    {
-      if(!ic->selected_app)
-       ic->selected_app = evas_list_last(ic->extra_icons);
-      else
-       {
-         if(ic->selected_app->prev)
-           ic->selected_app = ic->selected_app->prev;
-       }
+   if (ev->z > 0) // Wheel Down, traverse clockwise
+     {
+       if (!ic->selected_app)
+         ic->selected_app = ic->extra_icons;
+       else
+         {
+            if (ic->selected_app->next)
+              ic->selected_app = ic->selected_app->next;
+         }
+     }
+   else // Wheel Up, traverse counterclockwise
+     {
+       if (!ic->selected_app)
+         ic->selected_app = evas_list_last(ic->extra_icons);
+       else
+         {
+            if (ic->selected_app->prev)
+              ic->selected_app = ic->selected_app->prev;
+         }
     }
   
-   ai = ic->selected_app->data;
-   edje_object_signal_emit(ai->bg_object, "start", "");
-   edje_object_signal_emit(ai->overlay_object, "start", "");
-   if (ai->min)
-     e_border_uniconify(ai->border);
-   e_border_raise(ai->border);
-   e_desk_show(ai->border->desk);
+    ai = ic->selected_app->data;
+    edje_object_signal_emit(ai->bg_object, "start", "");
+    edje_object_signal_emit(ai->overlay_object, "start", "");
+    if (ai->min)
+      e_border_uniconify(ai->border);
+    e_border_raise(ai->border);
+    e_desk_show(ai->border->desk);
 
-   _engage_bar_motion_handle(ic->eb, ev->canvas.x, ev->canvas.y);
+    _engage_bar_motion_handle(ic->eb, ev->canvas.x, ev->canvas.y);
 }
 
 
@@ -2098,10 +2114,11 @@
    Engage_Bar *eb;
 
    eb = data;
-   if (start_time == 0) {
-     eb->zooming = 1;
-     start_time = ecore_time_get();
-   }
+   if (start_time == 0)
+     {
+       eb->zooming = 1;
+       start_time = ecore_time_get();
+     }
 
    eb->zoom = (eb->conf->zoom_factor - 1.0) * ((ecore_time_get() - start_time)
               / eb->conf->zoom_duration) + 1.0;
@@ -2199,25 +2216,25 @@
    eb = data;
    switch (change)
      {
-      case E_GADMAN_CHANGE_MOVE_RESIZE:
-        e_gadman_client_geometry_get(eb->gmc, &eb->x, &eb->y, &eb->w, &eb->h);
+       case E_GADMAN_CHANGE_MOVE_RESIZE:
+         e_gadman_client_geometry_get(eb->gmc, &eb->x, &eb->y, &eb->w, &eb->h);
 
-        edje_extern_object_min_size_set(eb->box_object, eb->w, eb->h);
-        edje_object_part_swallow(eb->bar_object, "items", eb->box_object);
+         edje_extern_object_min_size_set(eb->box_object, eb->w, eb->h);
+         edje_object_part_swallow(eb->bar_object, "items", eb->box_object);
 
-        evas_object_move(eb->bar_object, eb->x, eb->y);
-        evas_object_resize(eb->bar_object, eb->w, eb->h);
+         evas_object_move(eb->bar_object, eb->x, eb->y);
+         evas_object_resize(eb->bar_object, eb->w, eb->h);
 
-        break;
-      case E_GADMAN_CHANGE_EDGE:
-        _engage_bar_edge_change(eb, e_gadman_client_edge_get(eb->gmc));
-        break;
-      case E_GADMAN_CHANGE_RAISE:
-      case E_GADMAN_CHANGE_ZONE:
-        /* FIXME
-         * Must we do something here?
-         */
-        break;
+         break;
+       case E_GADMAN_CHANGE_EDGE:
+         _engage_bar_edge_change(eb, e_gadman_client_edge_get(eb->gmc));
+         break;
+       case E_GADMAN_CHANGE_RAISE:
+       case E_GADMAN_CHANGE_ZONE:
+         /* FIXME
+          * Must we do something here?
+          */
+         break;
      }
 }
 
@@ -2334,6 +2351,38 @@
 }
 
 static void
+_engage_bar_cb_menu_edit_icon(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   Engage_Bar *eb;
+   eb = data;
+
+   // the following is stolen from e17/e/src/bin/e_border.c
+   char *file;
+   char *command;
+   char *full;
+   Ecore_Exe *process;
+   
+   if (eb->selected_ic)
+     {
+
+       file = eb->selected_ic->app->path;
+       command = "e_util_eapp_edit ";
+       full = malloc(strlen(file) + strlen(command) + 1);
+       strcpy(full, command);
+       strcat(full, file);
+     
+       process = ecore_exe_run(full, NULL);
+       if (!process || !ecore_exe_pid_get(process))
+         {
+            e_error_dialog_show(_("Icon Edit Error"),
+                                _("Error starting icon editor\n\n"
+                                  "please install e_util_eapp_edit\n"
+                                  "or make sure it is in your PATH\n"));
+         }
+     }
+}
+
+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.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- e_mod_main.h        21 Jun 2005 09:52:02 -0000      1.16
+++ e_mod_main.h        24 Jun 2005 08:46:34 -0000      1.17
@@ -29,7 +29,7 @@
    int           zoom;
    double        zoom_factor, zoom_duration;
    int           zoom_stretch;
-        int           tray;
+   int           tray;
 };
 
 struct _Engage
@@ -56,7 +56,7 @@
 
 struct _Engage_Bar
 {
-   Engage        *engage;
+   Engage      *engage;
    E_Container *con;
    Evas        *evas;
    E_Menu      *menu;
@@ -71,21 +71,22 @@
    Evas_List   *icons;   
    Evas_List   *contexts;
    
-   double          align, align_req;
+   double       align, align_req;
    
-   Evas_Coord      x, y, w, h;
-   double          zoom;
-   int             zooming;
+   Evas_Coord   x, y, w, h;
+   double       zoom;
+   int          zooming;
    
    E_Gadman_Client *gmc;
 
-   Config_Bar     *conf;
+   Config_Bar  *conf;
    Ecore_Event_Handler *add_handler;
    Ecore_Event_Handler *remove_handler;
    Ecore_Event_Handler *iconify_handler;
    Ecore_Event_Handler *uniconify_handler;
 
-   Engage_Tray     *tray;
+   Engage_Tray *tray;
+   Engage_Icon *selected_ic;
 };
 
 struct _Engage_Icon




-------------------------------------------------------
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