Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_int_config_modules.c e_widget_ilist.c 


Log Message:


and make module config dialog work again :)

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_modules.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -3 -r1.32 -r1.33
--- e_int_config_modules.c      1 Jun 2006 06:44:35 -0000       1.32
+++ e_int_config_modules.c      1 Jun 2006 06:57:32 -0000       1.33
@@ -30,6 +30,7 @@
    E_Config_Dialog *cfd;
    Evas_List *modules;
    int state;
+   char *modname;
    struct
      {
        Evas_Object *configure, *about;
@@ -58,34 +59,32 @@
 static void
 _module_configure(void *data, void *data2)
 {
-   Evas_Object *obj;
+   E_Config_Dialog_Data *cfdata;
    E_Module *m;
    const char *v;
 
-   obj = data;
-   v = e_widget_ilist_selected_label_get(obj);
-   m = e_module_find(v);
+   cfdata = data;
+   if (!cfdata->modname) return;
+   m = e_module_find(cfdata->modname);
    if (m)
      {
-       if (m->func.config)
-         m->func.config(m);
+       if (m->func.config) m->func.config(m);
      }
 }
 
 static void
 _module_about(void *data, void *data2)
 {
-   Evas_Object *obj;
+   E_Config_Dialog_Data *cfdata;
    E_Module *m;
    const char *v;
 
-   obj = data;
-   v = e_widget_ilist_selected_label_get(obj);
-   m = e_module_find(v);
+   cfdata = data;
+   if (!cfdata->modname) return;
+   m = e_module_find(cfdata->modname);
    if (m)
      {
-       if (m->func.about)
-         m->func.about(m);
+       if (m->func.about) m->func.about(m);
      }
 }
 
@@ -161,6 +160,7 @@
         free(m->path);
         E_FREE(m);
      }
+   E_FREE(cfdata->modname);
    free(cfdata);
 }
 
@@ -237,7 +237,7 @@
    ot = e_widget_table_add(evas, 1);
    
    of = e_widget_framelist_add(evas, _("Modules"), 1);
-   ilist = e_widget_ilist_add(evas, 24, 24, NULL);
+   ilist = e_widget_ilist_add(evas, 24, 24, &(cfdata->modname));
    cfdata->gui.list = ilist;
    e_widget_on_change_hook_set(ilist, _ilist_cb_change, cfdata);
 
@@ -265,7 +265,7 @@
               {
                  oc = edje_object_add(evas);
                  edje_object_file_set(oc, buf, "icon");
-                 e_widget_ilist_append(ilist, oc, a->name, NULL, NULL, NULL);
+                 e_widget_ilist_append(ilist, oc, a->name, NULL, NULL, 
cm->name);
                  e_object_unref(E_OBJECT(a));
               }
          }
@@ -294,11 +294,11 @@
    e_widget_table_object_append(ot, of, 2, 0, 2, 2, 1, 1, 1, 1);
 
    of = e_widget_framelist_add(evas, _("Module Actions"), 0);   
-   ob = e_widget_button_add(evas, _("Configure"), NULL, _module_configure, 
ilist, NULL);
+   ob = e_widget_button_add(evas, _("Configure"), NULL, _module_configure, 
cfdata, NULL);
    cfdata->gui.configure = ob;
    e_widget_framelist_object_append(of, ob);
 
-   ob = e_widget_button_add(evas, _("About"), NULL, _module_about, ilist, 
NULL);
+   ob = e_widget_button_add(evas, _("About"), NULL, _module_about, cfdata, 
NULL);
    cfdata->gui.about = ob;
    e_widget_framelist_object_append(of, ob);
 
@@ -316,17 +316,18 @@
 {
    E_Module *m;
    E_Config_Dialog_Data *cfdata;
+   Evas_List *l;
    const char *v;
-   int i;
 
    cfdata = data;
    
-   v = e_widget_ilist_selected_label_get(obj);
-   for (i = 0; i < evas_list_count(cfdata->modules); i++)
+   v = cfdata->modname;
+   if (!v) return;
+   for (l = cfdata->modules; l; l = l->next)
      {
        CFModule *cm;
 
-       cm = evas_list_nth(cfdata->modules, i);
+       cm = l->data;
        if ((cm) && (!strcmp(cm->name, v)))
          {
             cfdata->state = cm->state;
@@ -350,9 +351,8 @@
               {
                  if (m->func.about)
                    e_widget_disabled_set(cfdata->gui.about, 0);
-
                  if (m->enabled && m->func.config) 
-                   e_widget_disabled_set(cfdata->gui.configure, 0);            
       
+                   e_widget_disabled_set(cfdata->gui.configure, 0);
               }
             break;
          }
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_ilist.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- e_widget_ilist.c    13 Apr 2006 00:01:15 -0000      1.16
+++ e_widget_ilist.c    1 Jun 2006 06:57:32 -0000       1.17
@@ -308,7 +308,6 @@
    e_scrollframe_child_region_show(wd->o_scrollframe, x, y, w, h);
    if (wd->o_widget)
      {
-       e_widget_change(wd->o_widget);
        if (wd->value)
          {
             if (*(wd->value)) free(*(wd->value));
@@ -318,6 +317,7 @@
               *(wd->value) = NULL;
          }
        if (wcb->func) wcb->func(wcb->data);
+       e_widget_change(wd->o_widget);
      }
 }
 




_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to