Enlightenment CVS committal

Author  : devilhorns
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_ilist.c e_int_config_fonts.c e_widget_ilist.c 


Log Message:
Fix case where nothing is selected in the list, so disable some controls.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_ilist.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -3 -r1.28 -r1.29
--- e_ilist.c   8 Jan 2007 19:23:21 -0000       1.28
+++ e_ilist.c   9 Jan 2007 02:29:51 -0000       1.29
@@ -222,9 +222,26 @@
 EAPI int 
 e_ilist_selected_get(Evas_Object *obj) 
 {
+   Evas_List *l;
+   int i, j;
+   
    API_ENTRY return -1;
    if (!sd->items) return -1;
-   return sd->selected;
+   if (!sd->multi_select)
+     return sd->selected;
+   else
+     {
+       j = -1;
+       for (i = 0, l = sd->items; l; l = l->next, i++) 
+         {
+            E_Ilist_Item *li;
+            
+            li = l->data;
+            if (!li) continue;
+            if (li->selected) j = i;
+         }
+       return j;
+     }
 }
 
 EAPI const char *
@@ -468,6 +485,9 @@
      {
        edje_object_signal_emit(si->o_base, "e,state,unselected", "e");
        si->selected = 0;
+       if (si->func_hilight) si->func_hilight(si->data, si->data2);
+       if (sd->selector) return;
+       if (si->func) si->func(si->data, si->data2);
        return;
      }
    si->selected = 1;
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_fonts.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -3 -r1.32 -r1.33
--- e_int_config_fonts.c        8 Jan 2007 19:23:21 -0000       1.32
+++ e_int_config_fonts.c        9 Jan 2007 02:29:51 -0000       1.33
@@ -573,13 +573,23 @@
      }
    
    indx = e_widget_ilist_selected_get(cfdata->gui.class_list);
+   if (indx < 0) 
+     {
+       e_widget_disabled_set(cfdata->gui.enabled, 1);
+       e_widget_disabled_set(cfdata->gui.font, 1);
+       e_widget_disabled_set(cfdata->gui.size, 1);
+       e_widget_check_checked_set(cfdata->gui.enabled, 0);
+       if (cfdata->gui.font_list)
+         e_widget_ilist_unselect(cfdata->gui.font_list);
+       return;
+     }
+   
    tc = evas_list_nth(cfdata->text_classes, indx);
    cfdata->cur_index = indx;
 
    e_widget_disabled_set(cfdata->gui.enabled, 0);
    e_widget_disabled_set(cfdata->gui.font, !tc->enabled);
    e_widget_disabled_set(cfdata->gui.size, !tc->enabled);
-   
    e_widget_check_checked_set(cfdata->gui.enabled, tc->enabled);
    if (cfdata->gui.font_list) 
      { 
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_ilist.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -3 -r1.27 -r1.28
--- e_widget_ilist.c    8 Jan 2007 19:23:21 -0000       1.27
+++ e_widget_ilist.c    9 Jan 2007 02:29:51 -0000       1.28
@@ -235,25 +235,8 @@
 e_widget_ilist_clear(Evas_Object *obj) 
 {
    E_Widget_Data *wd;
-/*
-   int mw, mh, vw, vh, w, h;
- */ 
    wd = e_widget_data_get(obj);
    e_ilist_clear(wd->o_ilist);
-
-   /*
-   e_ilist_min_size_get(wd->o_ilist, &mw, &mh);
-   evas_object_resize(wd->o_ilist, mw, mh);
-   e_scrollframe_child_viewport_size_get(wd->o_scrollframe, &vw, &vh);
-   evas_object_geometry_get(wd->o_scrollframe, NULL, NULL, &w, &h);
-   if (mw > vw)
-     {
-       Evas_Coord wmw, wmh;
-       
-       e_widget_min_size_get(obj, &wmw, &wmh);
-       e_widget_min_size_set(obj, mw + (w - vw), wmh);
-     }
-    */
 }
 
 EAPI int 



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to