Fix case where nothing is selected in the list, so disable some controls.
SVN revision: 27878
This commit is contained in:
parent
38b83905c0
commit
c105660284
|
@ -222,9 +222,26 @@ e_ilist_selected_set(Evas_Object *obj, int n)
|
|||
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 @@ e_ilist_multi_select(Evas_Object *obj, int n)
|
|||
{
|
||||
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;
|
||||
|
|
|
@ -573,13 +573,23 @@ _ilist_font_cb_change(void *data, Evas_Object *obj)
|
|||
}
|
||||
|
||||
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)
|
||||
{
|
||||
|
|
|
@ -235,25 +235,8 @@ EAPI void
|
|||
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
|
||||
|
|
Loading…
Reference in New Issue