Enlightenment CVS committal

Author  : ravenlock
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/modules/conf_window_remembers


Modified Files:
        e_int_config_remembers.c 


Log Message:
 - Categorize the remembers
 - Show E's internal remembers
 - Fix a sort issue
 - Fix a couple warnings


===================================================================
RCS file: 
/cvs/e/e17/apps/e/src/modules/conf_window_remembers/e_int_config_remembers.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- e_int_config_remembers.c    13 May 2008 08:39:29 -0000      1.6
+++ e_int_config_remembers.c    20 May 2008 04:23:09 -0000      1.7
@@ -62,7 +62,10 @@
    else if (rem2->role)
      d2 = rem2->role;
 
-   return strcmp(d1, d2);
+   if (!strcmp(d1, d2)) 
+     return -1;
+   else
+     return strcmp(d1, d2);
 }
 
 static void *
@@ -135,6 +138,7 @@
 {
    Evas *evas;
    Evas_List *l = NULL;
+   Evas_List *ll = NULL;
    int w = 0;
 
    evas = evas_object_evas_get(cfdata->list);
@@ -143,9 +147,11 @@
    e_widget_ilist_freeze(cfdata->list);
    e_widget_ilist_clear(cfdata->list);
 
-   l = e_config->remembers;
-   for (l = evas_list_sort(l, -1, _cb_sort); l; l = l->next) 
-   //for (l = e_config->remembers; l; l = l->next) 
+   ll = e_config->remembers;
+   ll = evas_list_sort(ll, -1, _cb_sort);
+
+   e_widget_ilist_header_append(cfdata->list, NULL, _("Applications"));
+   for (l = ll; l; l = l->next) 
      {
         E_Remember *rem = NULL;
 
@@ -153,15 +159,45 @@
 
         /* Filter out E's own remember */
         if ((rem->name) && (!strcmp(rem->name, "E"))) continue;
+        /* Filter out the module config remembers */
+        if ((rem->class) && (rem->class[0] == '_')) continue;
 
-        if (rem->name) 
+        if (rem->name)
           e_widget_ilist_append(cfdata->list, NULL, rem->name, NULL, rem, 
NULL);
-        else if (rem->class) 
+        else if (rem->class)
           e_widget_ilist_append(cfdata->list, NULL, rem->class, NULL, rem, 
NULL);
-        else if (rem->title) 
+        else if (rem->title)
           e_widget_ilist_append(cfdata->list, NULL, rem->title, NULL, rem, 
NULL);
-        else if (rem->role) 
-          e_widget_ilist_append(cfdata->list, NULL, rem->role, NULL, rem, 
NULL);             
+        else if (rem->role)
+          e_widget_ilist_append(cfdata->list, NULL, rem->role, NULL, rem, 
NULL);
+     }
+
+   e_widget_ilist_header_append(cfdata->list, NULL, _("Enlightenment"));
+   for (l = ll; l; l = l->next)
+     {
+        E_Remember *rem = NULL;
+
+        if (!(rem = l->data)) continue;
+
+        /* Garuntee we add only E's internal remembers */
+        if ((rem->name) && (strcmp(rem->name, "E"))) continue;
+
+        e_widget_ilist_append(cfdata->list, NULL, rem->class, NULL, rem, NULL);
+     }
+
+   e_widget_ilist_header_append(cfdata->list, NULL, _("Modules"));
+   for (l = ll; l; l = l->next) 
+     {
+        E_Remember *rem = NULL;
+
+        if (!(rem = l->data)) continue;
+
+        /* Filter out E's own remember */
+        if ((rem->name) && (!strcmp(rem->name, "E"))) continue;
+        /* Filter out everything except the module config remembers */
+        if ((rem->name) && (rem->class[0] != '_')) continue;
+
+        e_widget_ilist_append(cfdata->list, NULL, rem->name, NULL, rem, NULL);
      }
 
    e_widget_ilist_go(cfdata->list);
@@ -219,10 +255,8 @@
 _cb_list_change(void *data, Evas_Object *obj) 
 {
    E_Config_Dialog_Data *cfdata;
-   E_Ilist_Item *item = NULL;
    E_Remember *rem = NULL;
    int n = 0;
-   char *s;
 
    if (!(cfdata = data)) return;
 



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to