Early retreat if we don't get a menu.

Use util functions to add icons.


SVN revision: 29410
This commit is contained in:
Sebastian Dransfeld 2007-04-06 09:38:10 +00:00
parent d9371e505d
commit 7c1d37c3e7
1 changed files with 10 additions and 42 deletions

View File

@ -173,13 +173,15 @@ _fill_apps(E_Config_Dialog_Data *cfdata)
Evas *evas;
Evas_Coord w;
Efreet_Menu *menu;
menu = efreet_menu_get();
if (!menu) return;
evas = evas_object_evas_get(cfdata->o_apps);
evas_event_freeze(evas);
edje_freeze();
e_widget_ilist_freeze(cfdata->o_apps);
menu = efreet_menu_get();
if (menu->entries)
{
Efreet_Menu *entry;
@ -198,19 +200,7 @@ _fill_apps(E_Config_Dialog_Data *cfdata)
Evas_Object *icon = NULL;
if (sub->type != EFREET_MENU_ENTRY_DESKTOP) continue;
if (sub->icon)
{
const char *file;
if (sub->icon[0] == '/') file = sub->icon;
else
file = efreet_icon_path_find(e_config->icon_theme,
sub->icon, "24x24");
icon = e_icon_add(evas);
e_icon_file_set(icon, file);
e_icon_fill_inside_set(icon, 1);
}
icon = e_util_icon_theme_icon_add(sub->icon, "24x24", evas);
e_widget_ilist_append(cfdata->o_apps, icon, sub->name,
_apps_cb_selected, cfdata,
sub->desktop->orig_path);
@ -224,8 +214,8 @@ _fill_apps(E_Config_Dialog_Data *cfdata)
e_widget_ilist_thaw(cfdata->o_apps);
edje_thaw();
evas_event_thaw(evas);
if (menu) efreet_menu_free(menu);
efreet_menu_free(menu);
}
static void
@ -244,21 +234,10 @@ _fill_list(E_Config_Once *once, E_Config_Dialog_Data *cfdata)
{
Efreet_Desktop *desk;
Evas_Object *icon = NULL;
const char *file;
desk = l->data;
if (!desk) continue;
if (desk->icon)
{
if (desk->icon[0] == '/') file = desk->icon;
else
file = efreet_icon_path_find(e_config->icon_theme,
desk->icon, "24x24");
icon = e_icon_add(evas);
e_icon_file_set(icon, file);
e_icon_fill_inside_set(icon, 1);
}
icon = e_util_desktop_icon_add(desk, "24x24", evas);
e_widget_ilist_append(cfdata->o_list, icon, desk->name,
_list_cb_selected, cfdata, desk->orig_path);
}
@ -298,7 +277,6 @@ _cb_add(void *data, void *data2)
Efreet_Desktop *desk;
Evas *evas;
Evas_Coord w;
const char *file;
cfdata = data;
once = data2;
@ -313,17 +291,7 @@ _cb_add(void *data, void *data2)
desk = efreet_desktop_get(cfdata->app);
if (!desk) return;
if (desk->icon)
{
if (desk->icon[0] == '/') file = desk->icon;
else
file = efreet_icon_path_find(e_config->icon_theme,
desk->icon, "24x24");
icon = e_icon_add(evas);
e_icon_file_set(icon, file);
e_icon_fill_inside_set(icon, 1);
}
e_util_desktop_icon_add(desk, "24x24", evas);
e_widget_ilist_append(cfdata->o_list, icon, desk->name,
_list_cb_selected, cfdata, cfdata->app);
e_widget_ilist_go(cfdata->o_list);