optimize and simplify shelf config list, also fixes bug where some items could not be configured

SVN revision: 72883
This commit is contained in:
Mike Blumenkrantz 2012-06-26 12:59:57 +00:00
parent e595b1da72
commit f3063a5f1a
1 changed files with 7 additions and 7 deletions

View File

@ -83,6 +83,7 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
snprintf(buf, sizeof(buf), "%s %d", _("Configured Shelves: Display"), e_util_zone_current_get(cfd->con->manager)->num);
of = e_widget_framelist_add(evas, buf, 0);
cfdata->o_list = e_widget_ilist_add(evas, 24, 24, &(cfdata->cur_shelf));
evas_object_data_set(cfdata->o_list, "cfdata", cfdata);
e_widget_size_min_set(cfdata->o_list, (140 * e_scale), (80 * e_scale));
e_widget_framelist_object_append(of, cfdata->o_list);
e_widget_list_object_append(ol, of, 1, 1, 0.5);
@ -193,10 +194,10 @@ _ilist_item_new(E_Config_Dialog_Data *cfdata, Eina_Bool append, E_Shelf *es)
}
if (append)
e_widget_ilist_append(cfdata->o_list, ob, buf,
_ilist_cb_selected, cfdata, buf);
_ilist_cb_selected, es, buf);
else
e_widget_ilist_prepend(cfdata->o_list, ob, buf,
_ilist_cb_selected, cfdata, buf);
_ilist_cb_selected, es, buf);
cfdata->shelves = eina_list_append(cfdata->shelves, es);
}
@ -318,8 +319,9 @@ static void
_ilist_cb_selected(void *data)
{
E_Config_Dialog_Data *cfdata;
E_Shelf *es = data;
if (!(cfdata = data)) return;
if (!(cfdata = evas_object_data_get(es->o_base, "cfdata"))) return;
e_widget_disabled_set(cfdata->o_delete, 0);
e_widget_disabled_set(cfdata->o_contents, 0);
e_widget_disabled_set(cfdata->o_config, 0);
@ -440,8 +442,7 @@ _cb_config(void *data, void *data2 __UNUSED__)
E_Shelf *es;
if (!(cfdata = data)) return;
es = eina_list_nth(e_shelf_list(),
e_widget_ilist_selected_get(cfdata->o_list));
es = e_widget_ilist_selected_data_get(cfdata->o_list);
if (!es) return;
if (!es->config_dialog) e_int_shelf_config(es);
}
@ -453,8 +454,7 @@ _cb_contents(void *data, void *data2 __UNUSED__)
E_Shelf *es;
if (!(cfdata = data)) return;
es = eina_list_nth(e_shelf_list(),
e_widget_ilist_selected_get(cfdata->o_list));
es = e_widget_ilist_selected_data_get(cfdata->o_list);
if (!es) return;
if (!es->config_dialog) e_int_gadcon_config_shelf(es->gadcon);
}