diff options
author | Marcus Carlson <gnomebugzilla@mejlamej.nu> | 2009-08-08 15:05:40 +0200 |
---|---|---|
committer | Cosimo Cecchi <cosimoc@gnome.org> | 2009-08-08 15:05:40 +0200 |
commit | 9cba51e5cb8827997eb4203c6eed4614efa34aaa (patch) | |
tree | 21c584d671ef0007be919d944b5b46ccb1649481 /src/file-manager/fm-directory-view.c | |
parent | 1604ee0ceb8026aff744981b893d8fc8da25ec6c (diff) | |
download | nautilus-9cba51e5cb8827997eb4203c6eed4614efa34aaa.tar.gz |
Always show application icons in popup menus.
Part of bug #590647.
Diffstat (limited to 'src/file-manager/fm-directory-view.c')
-rw-r--r-- | src/file-manager/fm-directory-view.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/file-manager/fm-directory-view.c b/src/file-manager/fm-directory-view.c index 33d493ce2..68e9aa351 100644 --- a/src/file-manager/fm-directory-view.c +++ b/src/file-manager/fm-directory-view.c @@ -105,12 +105,14 @@ #define FM_DIRECTORY_VIEW_MENU_PATH_SCRIPTS_PLACEHOLDER "/MenuBar/File/Open Placeholder/Scripts/Scripts Placeholder" #define FM_DIRECTORY_VIEW_MENU_PATH_EXTENSION_ACTIONS_PLACEHOLDER "/MenuBar/Edit/Extension Actions" #define FM_DIRECTORY_VIEW_MENU_PATH_NEW_DOCUMENTS_PLACEHOLDER "/MenuBar/File/New Items Placeholder/New Documents/New Documents Placeholder" +#define FM_DIRECTORY_VIEW_MENU_PATH_OPEN "/MenuBar/File/Open Placeholder/Open" #define FM_DIRECTORY_VIEW_POPUP_PATH_SELECTION "/selection" #define FM_DIRECTORY_VIEW_POPUP_PATH_APPLICATIONS_SUBMENU_PLACEHOLDER "/selection/Open Placeholder/Open With/Applications Placeholder" #define FM_DIRECTORY_VIEW_POPUP_PATH_APPLICATIONS_PLACEHOLDER "/selection/Open Placeholder/Applications Placeholder" #define FM_DIRECTORY_VIEW_POPUP_PATH_SCRIPTS_PLACEHOLDER "/selection/Open Placeholder/Scripts/Scripts Placeholder" #define FM_DIRECTORY_VIEW_POPUP_PATH_EXTENSION_ACTIONS "/selection/Extension Actions" +#define FM_DIRECTORY_VIEW_POPUP_PATH_OPEN "/selection/Open Placeholder/Open" #define FM_DIRECTORY_VIEW_POPUP_PATH_BACKGROUND "/background" #define FM_DIRECTORY_VIEW_POPUP_PATH_BACKGROUND_SCRIPTS_PLACEHOLDER "/background/Before Zoom Items/New Object Items/Scripts/Scripts Placeholder" @@ -4271,8 +4273,10 @@ add_application_to_open_with_menu (FMDirectoryView *view, char *label; char *action_name; char *escaped_app; + char *path; GtkAction *action; GIcon *app_icon; + GtkWidget *menuitem; launch_parameters = application_launch_parameters_new (application, files, view); @@ -4320,6 +4324,13 @@ add_application_to_open_with_menu (FMDirectoryView *view, GTK_UI_MANAGER_MENUITEM, FALSE); + path = g_strdup_printf ("%s/%s", menu_placeholder, action_name); + menuitem = gtk_ui_manager_get_widget ( + nautilus_window_info_get_ui_manager (view->details->window), + path); + gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem), TRUE); + g_free (path); + gtk_ui_manager_add_ui (nautilus_window_info_get_ui_manager (view->details->window), view->details->open_with_merge_id, popup_placeholder, @@ -4328,6 +4339,13 @@ add_application_to_open_with_menu (FMDirectoryView *view, GTK_UI_MANAGER_MENUITEM, FALSE); + path = g_strdup_printf ("%s/%s", popup_placeholder, action_name); + menuitem = gtk_ui_manager_get_widget ( + nautilus_window_info_get_ui_manager (view->details->window), + path); + gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem), TRUE); + + g_free (path); g_free (action_name); g_free (label); g_free (tip); @@ -8353,6 +8371,7 @@ real_update_menus (FMDirectoryView *view) GtkAction *action; GAppInfo *app; GIcon *app_icon; + GtkWidget *menuitem; selection = fm_directory_view_get_selection (view); selection_count = g_list_length (selection); @@ -8430,6 +8449,14 @@ real_update_menus (FMDirectoryView *view) label_with_underscore ? label_with_underscore : _("_Open"), NULL); + menuitem = gtk_ui_manager_get_widget ( + nautilus_window_info_get_ui_manager (view->details->window), + FM_DIRECTORY_VIEW_MENU_PATH_OPEN); + + /* Only force displaying the icon if it is an application icon */ + gtk_image_menu_item_set_always_show_image ( + GTK_IMAGE_MENU_ITEM (menuitem), app_icon != NULL); + if (app_icon == NULL) { app_icon = g_themed_icon_new (GTK_STOCK_OPEN); } |