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