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
|
EAPI int
|
||||||
e_ilist_selected_get(Evas_Object *obj)
|
e_ilist_selected_get(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
Evas_List *l;
|
||||||
|
int i, j;
|
||||||
|
|
||||||
API_ENTRY return -1;
|
API_ENTRY return -1;
|
||||||
if (!sd->items) 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 *
|
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");
|
edje_object_signal_emit(si->o_base, "e,state,unselected", "e");
|
||||||
si->selected = 0;
|
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;
|
return;
|
||||||
}
|
}
|
||||||
si->selected = 1;
|
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);
|
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);
|
tc = evas_list_nth(cfdata->text_classes, indx);
|
||||||
cfdata->cur_index = indx;
|
cfdata->cur_index = indx;
|
||||||
|
|
||||||
e_widget_disabled_set(cfdata->gui.enabled, 0);
|
e_widget_disabled_set(cfdata->gui.enabled, 0);
|
||||||
e_widget_disabled_set(cfdata->gui.font, !tc->enabled);
|
e_widget_disabled_set(cfdata->gui.font, !tc->enabled);
|
||||||
e_widget_disabled_set(cfdata->gui.size, !tc->enabled);
|
e_widget_disabled_set(cfdata->gui.size, !tc->enabled);
|
||||||
|
|
||||||
e_widget_check_checked_set(cfdata->gui.enabled, tc->enabled);
|
e_widget_check_checked_set(cfdata->gui.enabled, tc->enabled);
|
||||||
if (cfdata->gui.font_list)
|
if (cfdata->gui.font_list)
|
||||||
{
|
{
|
||||||
|
|
|
@ -235,25 +235,8 @@ EAPI void
|
||||||
e_widget_ilist_clear(Evas_Object *obj)
|
e_widget_ilist_clear(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
E_Widget_Data *wd;
|
E_Widget_Data *wd;
|
||||||
/*
|
|
||||||
int mw, mh, vw, vh, w, h;
|
|
||||||
*/
|
|
||||||
wd = e_widget_data_get(obj);
|
wd = e_widget_data_get(obj);
|
||||||
e_ilist_clear(wd->o_ilist);
|
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
|
EAPI int
|
||||||
|
|
Loading…
Reference in New Issue