Enlightenment CVS committal

Author  : iamsthitha
Project : e_modules
Module  : taskbar

Dir     : e_modules/taskbar


Modified Files:
        e_mod_main.c 


Log Message:
Put back the border property callback

===================================================================
RCS file: /cvs/e/e_modules/taskbar/e_mod_main.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -3 -r1.41 -r1.42
--- e_mod_main.c        26 Apr 2008 02:41:37 -0000      1.41
+++ e_mod_main.c        26 Apr 2008 21:04:40 -0000      1.42
@@ -55,6 +55,7 @@
 static void _taskbar_free(Taskbar *taskbar);
 static void _taskbar_refill(Taskbar *taskbar);
 static void _taskbar_refill_all();
+static void _taskbar_refill_border(E_Border *border);
 static void _taskbar_signal_emit(E_Border *border, char *sig, char *src);
 
 static Taskbar_Item *_taskbar_item_find(Taskbar *taskbar, E_Border *border);
@@ -63,6 +64,7 @@
 static int _taskbar_item_check_add(Taskbar *taskbar, E_Border *border);
 static void _taskbar_item_add(Taskbar *taskbar, E_Border *border);
 static void _taskbar_item_remove(Taskbar_Item *item);
+static void _taskbar_item_refill(Taskbar_Item *item);
 static void _taskbar_item_fill(Taskbar_Item *item);
 static void _taskbar_item_free(Taskbar_Item *item);
 static void _taskbar_item_signal_emit(Taskbar_Item *item, char *sig, char 
*src);
@@ -83,6 +85,7 @@
 static int _taskbar_cb_event_border_desk_set(void *data, int type, void 
*event);
 static int _taskbar_cb_window_focus_in(void *data, int type, void *event);
 static int _taskbar_cb_window_focus_out(void *data, int type, void *event);
+static int _taskbar_cb_event_border_property(void *data, int type, void 
*event);
 static int _taskbar_cb_event_desk_show(void *data, int type, void *event);
 static int _taskbar_cb_event_border_urgent_change(void *data, int type, void 
*event);
 
@@ -157,6 +160,8 @@
    taskbar_config->handlers = evas_list_append
       (taskbar_config->handlers, 
ecore_event_handler_add(E_EVENT_BORDER_FOCUS_OUT, _taskbar_cb_window_focus_out, 
NULL));
    taskbar_config->handlers = evas_list_append
+      (taskbar_config->handlers, 
ecore_event_handler_add(E_EVENT_BORDER_PROPERTY, 
_taskbar_cb_event_border_property, NULL));
+   taskbar_config->handlers = evas_list_append
       (taskbar_config->handlers, ecore_event_handler_add(E_EVENT_DESK_SHOW, 
_taskbar_cb_event_desk_show, NULL));
    taskbar_config->handlers = evas_list_append
       (taskbar_config->handlers, ecore_event_handler_add
@@ -387,6 +392,27 @@
      }
 }
 
+
+static void
+_taskbar_refill_border(E_Border *border)
+{
+   Evas_List *l;
+   Evas_List *m;
+   Taskbar *taskbar;
+   Taskbar_Item *item;
+
+   for (l = taskbar_config->taskbars; l; l = l->next)
+     {
+        taskbar = l->data;
+       for (m = taskbar->items; m; m = m->next)
+          {
+               item = m->data;
+              if (item->border == border)
+                 _taskbar_item_refill(item);
+          }
+     }
+}
+
 static void 
 _taskbar_signal_emit(E_Border *border, char *sig, char *src)
 {
@@ -507,6 +533,14 @@
 }
 
 static void
+_taskbar_item_refill(Taskbar_Item *item)
+{
+   if (item->o_icon)
+      evas_object_del(item->o_icon);
+   _taskbar_item_fill(item);
+}
+
+static void
 _taskbar_item_fill(Taskbar_Item *item)
 {
    item->o_icon = e_border_icon_add(item->border, 
evas_object_evas_get(item->taskbar->o_items));
@@ -808,9 +842,28 @@
 }
 
 static int
+_taskbar_cb_event_border_property(void *data, int type, void *event)
+{
+   E_Event_Border_Property *ev;
+   E_Border *border;
+
+  ev = event;
+  border = ev->border;
+   if (border)
+      _taskbar_refill_border(border);
+   return 1;
+}
+
+static int
 _taskbar_cb_event_border_icon_change(void *data, int type, void *event)
 {
-   _taskbar_refill_all();
+   E_Event_Border_Icon_Change *ev;
+   E_Border *border;
+
+  ev = event;
+  border = ev->border;
+   if (border)
+      _taskbar_refill_border(border);
    return 1;
 }
 



-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to