Enlightenment CVS committal

Author  : rephorm
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_desk.c e_desk.h 


Log Message:


Add desktop name to the pager (turn it on in the pager's config menu).
The theme could probably use a bit of touch up, but it works for now :)

Add an event when desktop names change.
Note: currently 'adding' a name with enlightenment_remote sends out change 
events for ALL of the desktops (even the ones that didn't change). This should 
be fixed...


===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_desk.c,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -3 -r1.50 -r1.51
--- e_desk.c    5 Sep 2005 15:24:07 -0000       1.50
+++ e_desk.c    5 Sep 2005 23:14:58 -0000       1.51
@@ -10,13 +10,16 @@
 
 static void _e_desk_free(E_Desk *desk);
 static void _e_border_event_desk_show_free(void *data, void *ev);
+static void _e_border_event_desk_name_change_free(void *data, void *ev);
 
 int E_EVENT_DESK_SHOW = 0;
+int E_EVENT_DESK_NAME_CHANGE = 0;
 
 int
 e_desk_init(void)
 {
    E_EVENT_DESK_SHOW = ecore_event_type_new();
+   E_EVENT_DESK_NAME_CHANGE = ecore_event_type_new();
    return 1;
 }
 
@@ -74,10 +77,17 @@
 void
 e_desk_name_set(E_Desk *desk, const char *name)
 {
+   E_Event_Desk_Name_Change *ev;
+
    E_OBJECT_CHECK(desk);
    E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE);
    E_FREE(desk->name);
    desk->name = strdup(name);
+
+   ev = E_NEW(E_Event_Desk_Name_Change, 1);
+   ev->desk = desk;
+   e_object_ref(E_OBJECT(desk));
+   ecore_event_add(E_EVENT_DESK_NAME_CHANGE, ev, 
_e_border_event_desk_name_change_free, NULL);
 }
 
 void
@@ -402,3 +412,12 @@
    free(ev);
 }
 
+static void
+_e_border_event_desk_name_change_free(void *data, void *event)
+{
+   E_Event_Desk_Name_Change *ev;
+
+   ev = event;
+   e_object_unref(E_OBJECT(ev->desk));
+   free(ev);
+}
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_desk.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- e_desk.h    6 Aug 2005 04:00:03 -0000       1.20
+++ e_desk.h    5 Sep 2005 23:14:58 -0000       1.21
@@ -5,6 +5,7 @@
 
 typedef struct _E_Desk E_Desk;
 typedef struct _E_Event_Desk_Show E_Event_Desk_Show;
+typedef struct _E_Event_Desk_Name_Change E_Event_Desk_Name_Change;
 
 #else
 #ifndef E_DESK_H
@@ -29,6 +30,11 @@
    E_Desk   *desk;
 };
 
+struct _E_Event_Desk_Name_Change
+{
+   E_Desk   *desk;
+};
+
 EAPI int          e_desk_init(void);
 EAPI int          e_desk_shutdown(void);
 EAPI E_Desk      *e_desk_new(E_Zone *zone, int x, int y);
@@ -50,6 +56,7 @@
 EAPI void         e_desk_col_remove(E_Zone *zone);
 
 extern EAPI int E_EVENT_DESK_SHOW;
+extern EAPI int E_EVENT_DESK_NAME_CHANGE;
 
 #endif
 #endif




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to