Remove _cb_list function as it does nothing, so no point in calling it.
When getting the shelf via e_shelf_list we cannot rely on using the ilist index as it may not coorespond to the shelf_list. Since ilist label uses the shelf id, parse out the id and use that to get from e_shelf_list. SVN revision: 24142
This commit is contained in:
parent
76203b826b
commit
d2354e60b3
|
@ -39,7 +39,6 @@ _create_data(E_Config_Dialog *cfd)
|
||||||
|
|
||||||
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
||||||
cfdata->cfd = cfd;
|
cfdata->cfd = cfd;
|
||||||
_fill_data(cfdata);
|
|
||||||
return cfdata;
|
return cfdata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,14 +48,6 @@ _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||||
free(cfdata);
|
free(cfdata);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
_cb_list(void *data)
|
|
||||||
{
|
|
||||||
E_Config_Dialog_Data *cfdata;
|
|
||||||
|
|
||||||
cfdata = data;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ilist_fill(E_Config_Dialog_Data *cfdata)
|
_ilist_fill(E_Config_Dialog_Data *cfdata)
|
||||||
{
|
{
|
||||||
|
@ -70,6 +61,8 @@ _ilist_fill(E_Config_Dialog_Data *cfdata)
|
||||||
|
|
||||||
n = e_widget_ilist_selected_get(cfdata->ilist);
|
n = e_widget_ilist_selected_get(cfdata->ilist);
|
||||||
e_widget_ilist_clear(cfdata->ilist);
|
e_widget_ilist_clear(cfdata->ilist);
|
||||||
|
e_widget_ilist_go(cfdata->ilist);
|
||||||
|
|
||||||
for (l = e_shelf_list(); l; l = l->next)
|
for (l = e_shelf_list(); l; l = l->next)
|
||||||
{
|
{
|
||||||
es = l->data;
|
es = l->data;
|
||||||
|
@ -78,6 +71,8 @@ _ilist_fill(E_Config_Dialog_Data *cfdata)
|
||||||
label = es->name;
|
label = es->name;
|
||||||
if (!label) label = "";
|
if (!label) label = "";
|
||||||
snprintf(buf, sizeof(buf), "%s #%i", label, es->id);
|
snprintf(buf, sizeof(buf), "%s #%i", label, es->id);
|
||||||
|
|
||||||
|
printf("\n\n\nBuf: %s\n", buf);
|
||||||
|
|
||||||
/* FIXME: proper icon */
|
/* FIXME: proper icon */
|
||||||
ob = edje_object_add(evas_object_evas_get(cfdata->ilist));
|
ob = edje_object_add(evas_object_evas_get(cfdata->ilist));
|
||||||
|
@ -125,7 +120,7 @@ _ilist_fill(E_Config_Dialog_Data *cfdata)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
e_widget_ilist_append(cfdata->ilist, ob, buf, _cb_list, cfdata, NULL);
|
e_widget_ilist_append(cfdata->ilist, ob, buf, NULL, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
e_widget_min_size_set(cfdata->ilist, 155, 250);
|
e_widget_min_size_set(cfdata->ilist, 155, 250);
|
||||||
|
@ -167,9 +162,13 @@ _cb_confirm_dialog_yes(void *data)
|
||||||
E_Shelf *es;
|
E_Shelf *es;
|
||||||
E_Config_Shelf *cfg;
|
E_Config_Shelf *cfg;
|
||||||
E_Config_Dialog_Data *cfdata;
|
E_Config_Dialog_Data *cfdata;
|
||||||
|
char *dummy;
|
||||||
|
int i;
|
||||||
|
|
||||||
cfdata = data;
|
cfdata = data;
|
||||||
es = evas_list_nth(e_shelf_list(), e_widget_ilist_selected_get(cfdata->ilist));
|
sscanf(e_widget_ilist_selected_label_get(cfdata->ilist), "%s #%i", &dummy, &i);
|
||||||
|
|
||||||
|
es = evas_list_nth(e_shelf_list(), i);
|
||||||
if (es)
|
if (es)
|
||||||
{
|
{
|
||||||
cfg = es->cfg;
|
cfg = es->cfg;
|
||||||
|
@ -205,9 +204,13 @@ _cb_config(void *data, void *data2)
|
||||||
{
|
{
|
||||||
E_Config_Dialog_Data *cfdata;
|
E_Config_Dialog_Data *cfdata;
|
||||||
E_Shelf *es;
|
E_Shelf *es;
|
||||||
|
char *dummy;
|
||||||
|
int i;
|
||||||
|
|
||||||
cfdata = data;
|
cfdata = data;
|
||||||
es = evas_list_nth(e_shelf_list(), e_widget_ilist_selected_get(cfdata->ilist));
|
sscanf(e_widget_ilist_selected_label_get(cfdata->ilist), "%s #%i", &dummy, &i);
|
||||||
|
|
||||||
|
es = evas_list_nth(e_shelf_list(), i);
|
||||||
if (!es) return;
|
if (!es) return;
|
||||||
if (!es->config_dialog) e_int_shelf_config(es);
|
if (!es->config_dialog) e_int_shelf_config(es);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue