diff --git a/src/bin/e_border.c b/src/bin/e_border.c index 4393d7945..0f6f90500 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -2448,7 +2448,11 @@ e_border_icon_add(E_Border *bd, Evas *evas) if (bd->internal) { o = edje_object_add(evas); - e_util_edje_icon_set(o, "enlightenment/e"); + if (!bd->internal_icon) + e_util_edje_icon_set(o, "enlightenment/e"); + else + if (!e_util_edje_icon_set(o, bd->internal_icon)) + e_util_edje_icon_set(o, "enlightenment/e"); return o; } if (e_config->use_app_icon) @@ -3026,6 +3030,7 @@ _e_border_free(E_Border *bd) if (bd->client.netwm.name) free(bd->client.netwm.name); if (bd->client.netwm.icon_name) free(bd->client.netwm.icon_name); e_object_del(E_OBJECT(bd->shape)); + if (bd->internal_icon) evas_stringshare_del(bd->internal_icon); if (bd->icon_object) evas_object_del(bd->icon_object); evas_object_del(bd->bg_object); e_canvas_del(bd->bg_ecore_evas); diff --git a/src/bin/e_border.h b/src/bin/e_border.h index a09af01e3..e4e3e6cec 100644 --- a/src/bin/e_border.h +++ b/src/bin/e_border.h @@ -134,6 +134,7 @@ struct _E_Border Evas_Object *bg_object; Evas_Object *icon_object; Ecore_X_Window event_win; + const char *internal_icon; struct { Ecore_X_Window shell_win; diff --git a/src/bin/e_config_dialog.c b/src/bin/e_config_dialog.c index 0ce8f66c1..95167e002 100644 --- a/src/bin/e_config_dialog.c +++ b/src/bin/e_config_dialog.c @@ -107,8 +107,6 @@ _e_config_dialog_go(E_Config_Dialog *cfd, E_Config_Dialog_CFData_Type type) cfd->dia->data = cfd; e_object_del_attach_func_set(E_OBJECT(cfd->dia), _e_config_dialog_cb_dialog_del); e_dialog_title_set(cfd->dia, cfd->title); - if (cfd->icon) e_dialog_icon_set(cfd->dia, cfd->icon, cfd->icon_size); - if (!cfd->cfdata) cfd->cfdata = cfd->view->create_cfdata(cfd); if (type == E_CONFIG_DIALOG_CFDATA_TYPE_BASIC) @@ -162,12 +160,14 @@ _e_config_dialog_go(E_Config_Dialog *cfd, E_Config_Dialog_CFData_Type type) { e_win_centered_set(cfd->dia->win, 1); e_dialog_show(cfd->dia); + if (cfd->icon) e_dialog_border_icon_set(cfd->dia, cfd->icon); } else { int x, y; e_dialog_show(cfd->dia); + if (cfd->icon) e_dialog_border_icon_set(cfd->dia, cfd->icon); x = pdia->win->border->x + ((pdia->win->w - cfd->dia->win->w) / 2); y = pdia->win->border->y + ((pdia->win->h - cfd->dia->win->h) / 2); if (x < 0) x = 0; diff --git a/src/bin/e_configure.c b/src/bin/e_configure.c index 589922ffe..d0cb56e59 100644 --- a/src/bin/e_configure.c +++ b/src/bin/e_configure.c @@ -113,8 +113,9 @@ e_configure_show(E_Container *con) evas_object_show(eco->ilist); evas_object_show(eco->close); evas_object_show(eco->edje); - + e_win_show(eco->win); + eco->win->border->internal_icon = evas_stringshare_add("enlightenment/configuration"); e_widget_focus_set(eco->ilist, 1); e_widget_ilist_go(eco->ilist); diff --git a/src/bin/e_dialog.c b/src/bin/e_dialog.c index d2314fe0f..511be3db0 100644 --- a/src/bin/e_dialog.c +++ b/src/bin/e_dialog.c @@ -151,6 +151,18 @@ e_dialog_icon_set(E_Dialog *dia, const char *icon, Evas_Coord size) evas_object_show(dia->icon_object); } +EAPI void +e_dialog_border_icon_set(E_Dialog *dia, const char *icon) +{ + E_Border *border; + + if (!icon) return; + + border = dia->win->border; + if (!border) return; + border->internal_icon = evas_stringshare_add(icon); +} + EAPI void e_dialog_content_set(E_Dialog *dia, Evas_Object *obj, Evas_Coord minw, Evas_Coord minh) { diff --git a/src/bin/e_dialog.h b/src/bin/e_dialog.h index 0d154e207..4fc15b38f 100644 --- a/src/bin/e_dialog.h +++ b/src/bin/e_dialog.h @@ -37,6 +37,7 @@ EAPI int e_dialog_button_disable_num_get (E_Dialog *dia, int button); EAPI void e_dialog_title_set (E_Dialog *dia, const char *title); EAPI void e_dialog_text_set (E_Dialog *dia, const char *text); EAPI void e_dialog_icon_set (E_Dialog *dia, const char *icon, Evas_Coord size); +EAPI void e_dialog_border_icon_set (E_Dialog *dia, const char *icon); EAPI void e_dialog_content_set (E_Dialog *dia, Evas_Object *obj, Evas_Coord minw, Evas_Coord minh); EAPI void e_dialog_resizable_set (E_Dialog *dia, int resizable); EAPI void e_dialog_show (E_Dialog *dia); diff --git a/src/bin/e_int_border_menu.c b/src/bin/e_int_border_menu.c index c3c7ecc04..c5fe089c0 100644 --- a/src/bin/e_int_border_menu.c +++ b/src/bin/e_int_border_menu.c @@ -249,23 +249,26 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_ "widgets/border/default/skip_winlist"); } - mi = e_menu_item_new(m); - e_menu_item_separator_set(mi, 1); + if (!bd->internal) + { + mi = e_menu_item_new(m); + e_menu_item_separator_set(mi, 1); + + if (bd->app) + { + mi = e_menu_item_new(m); + e_menu_item_label_set(mi, _("Edit Icon")); + e_menu_item_callback_set(mi, _e_border_menu_cb_icon_edit, bd); + e_menu_item_icon_edje_set(mi, bd->app->path, "icon"); + } + else if (bd->client.icccm.class) /* icons with no class useless to borders */ + { + mi = e_menu_item_new(m); + e_menu_item_label_set(mi, _("Create Icon")); + e_menu_item_callback_set(mi, _e_border_menu_cb_icon_edit, bd); + } + } - if (bd->app) - { - mi = e_menu_item_new(m); - e_menu_item_label_set(mi, _("Edit Icon")); - e_menu_item_callback_set(mi, _e_border_menu_cb_icon_edit, bd); - e_menu_item_icon_edje_set(mi, bd->app->path, "icon"); - } - else if (bd->client.icccm.class) /* icons with no class useless to borders */ - { - mi = e_menu_item_new(m); - e_menu_item_label_set(mi, _("Create Icon")); - e_menu_item_callback_set(mi, _e_border_menu_cb_icon_edit, bd); - } - mi = e_menu_item_new(m); e_menu_item_separator_set(mi, 1); diff --git a/src/bin/e_int_config_background.c b/src/bin/e_int_config_background.c index 86e19be55..473c83bb3 100644 --- a/src/bin/e_int_config_background.c +++ b/src/bin/e_int_config_background.c @@ -52,7 +52,7 @@ e_int_config_background(E_Container *con) v->advanced.create_widgets = _advanced_create_widgets; v->close_cfdata = _bg_dialog_close; v->override_auto_apply = 1; - cfd = e_config_dialog_new(con, _("Wallpaper Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Wallpaper Settings"), "enlightenment/background", 0, v, NULL); return cfd; } @@ -102,7 +102,7 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf cfdata->il = il; e_widget_ilist_selector_set(il, 1); - e_widget_min_size_set(il, 180, 40); + e_widget_min_size_set(il, 160, 40); /* Load Bgs */ _load_bgs(cfd, il); @@ -164,7 +164,7 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data il = e_widget_ilist_add(evas, 48, 48, &(cfdata->bg)); cfdata->il = il; e_widget_ilist_selector_set(il, 1); - e_widget_min_size_set(il, 180, 40); + e_widget_min_size_set(il, 160, 40); /* Load Bgs */ _load_bgs(cfd, il); diff --git a/src/bin/e_int_config_cfgdialogs.c b/src/bin/e_int_config_cfgdialogs.c index 7f228d43a..5a68efe04 100644 --- a/src/bin/e_int_config_cfgdialogs.c +++ b/src/bin/e_int_config_cfgdialogs.c @@ -31,7 +31,7 @@ e_int_config_cfgdialogs(E_Container *con) v->advanced.create_widgets = NULL; v->override_auto_apply = 1; - cfd = e_config_dialog_new(con, _("Config Dialog Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Config Dialog Settings"), "enlightenment/configuration", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_cursor.c b/src/bin/e_int_config_cursor.c index 5c354e17a..67a3fe892 100644 --- a/src/bin/e_int_config_cursor.c +++ b/src/bin/e_int_config_cursor.c @@ -30,7 +30,7 @@ e_int_config_cursor(E_Container *con) v->advanced.apply_cfdata = _advanced_apply_data; v->advanced.create_widgets = _advanced_create_widgets; - cfd = e_config_dialog_new(con, _("Cursor Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Cursor Settings"), "enlightenment/mouse", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_desklock.c b/src/bin/e_int_config_desklock.c index e95be6af6..07ca2d4cb 100644 --- a/src/bin/e_int_config_desklock.c +++ b/src/bin/e_int_config_desklock.c @@ -99,7 +99,7 @@ e_int_config_desklock(E_Container *con) v->override_auto_apply = 1; - cfd = e_config_dialog_new(con, _("Desktop Lock Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Desktop Lock Settings"), "enlightenment/desklock", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_desks.c b/src/bin/e_int_config_desks.c index f893ba85f..b9bc1f53c 100644 --- a/src/bin/e_int_config_desks.c +++ b/src/bin/e_int_config_desks.c @@ -41,7 +41,7 @@ e_int_config_desks(E_Container *con) v->advanced.apply_cfdata = _advanced_apply_data; v->advanced.create_widgets = _advanced_create_widgets; /* create config diaolg for NULL object/data */ - cfd = e_config_dialog_new(con, _("Desktop Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Desktop Settings"), "enlightenment/desktops", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_display.c b/src/bin/e_int_config_display.c index 8d3073e64..4a027a08e 100644 --- a/src/bin/e_int_config_display.c +++ b/src/bin/e_int_config_display.c @@ -190,7 +190,7 @@ e_int_config_display(E_Container *con) v->basic.create_widgets = _basic_create_widgets; v->override_auto_apply = 1; - cfd = e_config_dialog_new(con, _("Display Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Display Settings"), "enlightenment/screen_resolution", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_exebuf.c b/src/bin/e_int_config_exebuf.c index 917225655..63df4b6fb 100644 --- a/src/bin/e_int_config_exebuf.c +++ b/src/bin/e_int_config_exebuf.c @@ -39,7 +39,7 @@ e_int_config_exebuf(E_Container *con) v->basic.create_widgets = _basic_create_widgets; v->advanced.apply_cfdata = _advanced_apply_data; v->advanced.create_widgets = _advanced_create_widgets; - cfd = e_config_dialog_new(con, _("Exebuf Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Exebuf Settings"), "enlightenment/run", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_focus.c b/src/bin/e_int_config_focus.c index a18ec6f2c..083db6f3d 100644 --- a/src/bin/e_int_config_focus.c +++ b/src/bin/e_int_config_focus.c @@ -44,7 +44,7 @@ e_int_config_focus(E_Container *con) v->advanced.apply_cfdata = _advanced_apply_data; v->advanced.create_widgets = _advanced_create_widgets; /* create config diaolg for NULL object/data */ - cfd = e_config_dialog_new(con, _("Focus Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Focus Settings"), "enlightenment/focus", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_fonts.c b/src/bin/e_int_config_fonts.c index 5ef4ca4a0..440d0621e 100644 --- a/src/bin/e_int_config_fonts.c +++ b/src/bin/e_int_config_fonts.c @@ -129,7 +129,7 @@ e_int_config_fonts(E_Container *con) v->basic.create_widgets = _basic_create_widgets; v->basic.apply_cfdata = _basic_apply_data; - cfd = e_config_dialog_new(con, _("Font Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Font Settings"), "enlightenment/fonts", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_keybindings.c b/src/bin/e_int_config_keybindings.c index 40c4f9531..5954e0bf2 100644 --- a/src/bin/e_int_config_keybindings.c +++ b/src/bin/e_int_config_keybindings.c @@ -312,7 +312,7 @@ e_int_config_keybindings(E_Container *con) v->basic.create_widgets = _basic_create_widgets; v->override_auto_apply = 1; - cfd = e_config_dialog_new(con, _("Key Binding Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Key Binding Settings"), "enlightenment/keys", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_menus.c b/src/bin/e_int_config_menus.c index 63fb5087a..1e0c377a5 100644 --- a/src/bin/e_int_config_menus.c +++ b/src/bin/e_int_config_menus.c @@ -36,7 +36,7 @@ e_int_config_menus(E_Container *con) v->advanced.apply_cfdata = _advanced_apply_data; v->advanced.create_widgets = _advanced_create_widgets; - cfd = e_config_dialog_new(con, _("Menu Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Menu Settings"), "enlightenment/menus", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_modules.c b/src/bin/e_int_config_modules.c index a9326ff0d..b314f96c0 100644 --- a/src/bin/e_int_config_modules.c +++ b/src/bin/e_int_config_modules.c @@ -50,7 +50,7 @@ e_int_config_modules(E_Container *con) v->basic.create_widgets = _basic_create_widgets; v->basic.apply_cfdata = _basic_apply_data; - cfd = e_config_dialog_new(con, _("Module Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Module Settings"), "enlightenment/modules", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_paths.c b/src/bin/e_int_config_paths.c index 36fc56c18..967d78b18 100644 --- a/src/bin/e_int_config_paths.c +++ b/src/bin/e_int_config_paths.c @@ -58,7 +58,7 @@ e_int_config_paths(E_Container *con) v->basic.create_widgets = _basic_create_widgets; v->basic.apply_cfdata = _basic_apply_data; - cfd = e_config_dialog_new(con, _("Search Path Configuration"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Search Path Configuration"), "enlightenment/directories", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_performance.c b/src/bin/e_int_config_performance.c index 957fd9c37..1fb41c209 100644 --- a/src/bin/e_int_config_performance.c +++ b/src/bin/e_int_config_performance.c @@ -34,7 +34,7 @@ e_int_config_performance(E_Container *con) v->advanced.apply_cfdata = _advanced_apply_data; v->advanced.create_widgets = _advanced_create_widgets; - cfd = e_config_dialog_new(con, _("Performance Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Performance Settings"), "enlightenment/performance", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_shelf.c b/src/bin/e_int_config_shelf.c index 8018d49aa..db505dc5c 100644 --- a/src/bin/e_int_config_shelf.c +++ b/src/bin/e_int_config_shelf.c @@ -23,7 +23,7 @@ e_int_config_shelf(E_Container *con) v->free_cfdata = _free_data; v->basic.create_widgets = _basic_create_widgets; - cfd = e_config_dialog_new(con, _("Shelf Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Shelf Settings"), "enlightenment/shelf", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_startup.c b/src/bin/e_int_config_startup.c index f662095d0..971ef8c4a 100644 --- a/src/bin/e_int_config_startup.c +++ b/src/bin/e_int_config_startup.c @@ -32,7 +32,7 @@ e_int_config_startup(E_Container *con) v->basic.apply_cfdata = _basic_apply_data; v->basic.create_widgets = _basic_create_widgets; - cfd = e_config_dialog_new(con, _("Startup Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Startup Settings"), "enlightenment/startup", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_theme.c b/src/bin/e_int_config_theme.c index 16f7067d8..b1843f7b7 100644 --- a/src/bin/e_int_config_theme.c +++ b/src/bin/e_int_config_theme.c @@ -44,7 +44,7 @@ e_int_config_theme(E_Container *con) v->override_auto_apply = 1; /* create config diaolg for NULL object/data */ - cfd = e_config_dialog_new(con, _("Theme Selector"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Theme Selector"), "enlightenment/themes", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_window_display.c b/src/bin/e_int_config_window_display.c index 0a2e6866d..e78d82913 100644 --- a/src/bin/e_int_config_window_display.c +++ b/src/bin/e_int_config_window_display.c @@ -47,7 +47,7 @@ e_int_config_window_display(E_Container *con) v->advanced.apply_cfdata = _advanced_apply_data; v->advanced.create_widgets = _advanced_create_widgets; /* create config diaolg for NULL object/data */ - cfd = e_config_dialog_new(con, _("Window Display"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Window Display"), "enlightenment/windows", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_window_manipulation.c b/src/bin/e_int_config_window_manipulation.c index 3401dc53b..8526fb373 100644 --- a/src/bin/e_int_config_window_manipulation.c +++ b/src/bin/e_int_config_window_manipulation.c @@ -46,7 +46,7 @@ e_int_config_window_manipulation(E_Container *con) v->advanced.apply_cfdata = _advanced_apply_data; v->advanced.create_widgets = _advanced_create_widgets; /* create config diaolg for NULL object/data */ - cfd = e_config_dialog_new(con, _("Window Manipulation"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Window Manipulation"), "enlightenment/window_manipulation", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_config_winlist.c b/src/bin/e_int_config_winlist.c index f4664d480..e64bd244e 100644 --- a/src/bin/e_int_config_winlist.c +++ b/src/bin/e_int_config_winlist.c @@ -48,7 +48,7 @@ e_int_config_winlist(E_Container *con) v->advanced.apply_cfdata = _advanced_apply_data; v->advanced.create_widgets = _advanced_create_widgets; - cfd = e_config_dialog_new(con, _("Window List Settings"), NULL, 0, v, NULL); + cfd = e_config_dialog_new(con, _("Window List Settings"), "enlightenment/winlist", 0, v, NULL); return cfd; } diff --git a/src/bin/e_int_gadcon_config.c b/src/bin/e_int_gadcon_config.c index 11ebf440f..ee30c5d47 100644 --- a/src/bin/e_int_gadcon_config.c +++ b/src/bin/e_int_gadcon_config.c @@ -176,6 +176,8 @@ _cb_remove_instance(void *data, void *data2) l = evas_list_nth_list(cfdata->cf_gc->clients, i); cf_gcc = l->data; + printf("Remove Client Name: %s\n", cf_gcc->name); + if (cf_gcc->name) evas_stringshare_del(cf_gcc->name); if (cf_gcc->id) evas_stringshare_del(cf_gcc->id); if (cf_gcc->style) evas_stringshare_del(cf_gcc->style); diff --git a/src/bin/e_menu.h b/src/bin/e_menu.h index 0589dbb19..df10cb966 100644 --- a/src/bin/e_menu.h +++ b/src/bin/e_menu.h @@ -98,7 +98,7 @@ struct _E_Menu_Item Evas_Object *icon_object; Evas_Object *label_object; Evas_Object *submenu_object; - + Evas_Object *event_object; int label_w, label_h; diff --git a/src/bin/e_theme_about.c b/src/bin/e_theme_about.c index f293c128e..1b04967b8 100644 --- a/src/bin/e_theme_about.c +++ b/src/bin/e_theme_about.c @@ -72,6 +72,7 @@ e_theme_about_show(E_Theme_About *about) e_win_size_max_set(about->win, mw, mh); } e_win_show(about->win); + about->win->border->internal_icon = evas_stringshare_add("enlightenment/themes"); } /* local subsystem functions */