diff options
-rw-r--r-- | shell/ChangeLog | 8 | ||||
-rw-r--r-- | shell/e-shell-settings-dialog.c | 17 |
2 files changed, 21 insertions, 4 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index 68fa649e76..c302cd1380 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,11 @@ +2002-03-13 Ettore Perazzoli <ettore@ximian.com> + + * e-shell-settings-dialog.c (load_pages): Use + `evolution:config_item:icon_name' instead of + `evolution:config_item:icon_path'. If it's not an absolute path, + load from the IMAGESDIR. Also, no need to specify the language + list for this one, as the icon name shouldn't be translated. + 2002-03-12 Ettore Perazzoli <ettore@ximian.com> * evolution-test-component.c (create_configuration_page): Update diff --git a/shell/e-shell-settings-dialog.c b/shell/e-shell-settings-dialog.c index d30fe5c6e8..aeb51e8469 100644 --- a/shell/e-shell-settings-dialog.c +++ b/shell/e-shell-settings-dialog.c @@ -93,12 +93,21 @@ load_pages (EShellSettingsDialog *dialog) title = oaf_server_info_prop_lookup (info, "evolution:config_item:title", language_list); description = oaf_server_info_prop_lookup (info, "evolution:config_item:description", language_list); - icon_path = oaf_server_info_prop_lookup (info, "evolution:config_item:icon_path", language_list); + icon_path = oaf_server_info_prop_lookup (info, "evolution:config_item:icon_name", NULL); - if (icon_path == NULL) + if (icon_path == NULL) { icon = NULL; - else - icon = gdk_pixbuf_new_from_file (icon_path); + } else { + if (g_path_is_absolute (icon_path)) { + icon = gdk_pixbuf_new_from_file (icon_path); + } else { + char *real_icon_path; + + real_icon_path = g_concat_dir_and_file (EVOLUTION_IMAGES, icon_path); + icon = gdk_pixbuf_new_from_file (real_icon_path); + g_free (real_icon_path); + } + } corba_object = oaf_activate_from_id ((char *) info->iid, 0, NULL, &ev); if (ev._major == CORBA_NO_EXCEPTION) |