diff --git a/data/icons/default.edc b/data/icons/default.edc index a2c5d334a..7fe7684bc 100644 --- a/data/icons/default.edc +++ b/data/icons/default.edc @@ -20,6 +20,8 @@ images { image: "desktop.png" LOSSY 90; image: "gadget.png" LOSSY 90; + + image: "configuration.png" LOSSY 90; } collections { @@ -353,4 +355,22 @@ collections { } } } + group { + name: "configuration"; + max: 64 64; + parts { + part { + name: "icon"; + mouse_events: 0; + description { + state: "default" 0.0; + aspect: 1.0 1.0; + max: 64 64; + image { + normal: "configuration.png"; + } + } + } + } + } } diff --git a/data/icons/images/configuration.png b/data/icons/images/configuration.png new file mode 100644 index 000000000..2aa813cd2 Binary files /dev/null and b/data/icons/images/configuration.png differ diff --git a/enlightenment-config.in b/enlightenment-config.in index 46bc9a338..54cd0df47 100644 --- a/enlightenment-config.in +++ b/enlightenment-config.in @@ -47,7 +47,11 @@ while test $# -gt 0; do echo $libdirs ;; --module-dir) - dir="@libdir@/enlightenment/modules_extra" + dir="@libdir@/@PACKAGE@/modules_extra" + echo $dir + ;; + --config-apps-dir) + dir="@datadir@/@PACKAGE@/config-apps" echo $dir ;; *) diff --git a/src/bin/e_int_menus.c b/src/bin/e_int_menus.c index 8128d6dfa..40457ff9e 100644 --- a/src/bin/e_int_menus.c +++ b/src/bin/e_int_menus.c @@ -14,6 +14,7 @@ struct _Main_Data E_Menu *modules; E_Menu *gadgets; E_Menu *themes; + E_Menu *config; }; /* local subsystem functions */ @@ -128,9 +129,21 @@ e_int_menus_main_new(void) { mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Run Command")); + s = e_path_find(path_icons, "default.edj"); + e_menu_item_icon_edje_set(mi, s, "run"); + IF_FREE(s); e_menu_item_callback_set(mi, _e_int_menus_main_run, NULL); } - + + subm = e_int_menus_config_apps_new(); + dat->config = subm; + mi = e_menu_item_new(m); + e_menu_item_label_set(mi, _("Configuration")); + s = e_path_find(path_icons, "default.edj"); + e_menu_item_icon_edje_set(mi, s, "configuration"); + IF_FREE(s); + e_menu_item_submenu_set(mi, subm); + mi = e_menu_item_new(m); e_menu_item_separator_set(mi, 1); @@ -193,6 +206,15 @@ e_int_menus_favorite_apps_new(void) return NULL; } +E_Menu * +e_int_menus_config_apps_new(void) +{ + E_Menu *m; + + m = e_int_menus_apps_new(PACKAGE_DATA_DIR "/config-apps"); + return m; +} + E_Menu * e_int_menus_clients_new(void) { @@ -240,6 +262,7 @@ _e_int_menus_main_del_hook(void *obj) e_object_del(E_OBJECT(dat->clients)); e_object_del(E_OBJECT(dat->gadgets)); e_object_del(E_OBJECT(dat->themes)); + e_object_del(E_OBJECT(dat->config)); free(dat); } } diff --git a/src/bin/e_int_menus.h b/src/bin/e_int_menus.h index 9a4607abe..abac54d0b 100644 --- a/src/bin/e_int_menus.h +++ b/src/bin/e_int_menus.h @@ -11,6 +11,7 @@ EAPI E_Menu *e_int_menus_desktops_new(void); EAPI E_Menu *e_int_menus_clients_new(void); EAPI E_Menu *e_int_menus_apps_new(char *dir); EAPI E_Menu *e_int_menus_favorite_apps_new(void); +EAPI E_Menu *e_int_menus_config_apps_new(void); EAPI E_Menu *e_int_menus_gadgets_new(void); EAPI E_Menu *e_int_menus_themes_new(void);