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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs