[nautilus] Make templates and scripts menus show icons
- From: William Jon McCann <mccann src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus] Make templates and scripts menus show icons
- Date: Thu, 16 Aug 2012 02:00:25 +0000 (UTC)
commit 1a1fa464fd16f93d9a9fbb73b894f4f6c0a098f8
Author: William Jon McCann <jmccann redhat com>
Date: Tue Aug 14 15:43:41 2012 -0400
Make templates and scripts menus show icons
https://bugzilla.gnome.org/show_bug.cgi?id=602909
src/nautilus-view.c | 54 +++++++++++++++++++++++++++++++++-----------------
1 files changed, 35 insertions(+), 19 deletions(-)
---
diff --git a/src/nautilus-view.c b/src/nautilus-view.c
index 3327765..ca17e74 100644
--- a/src/nautilus-view.c
+++ b/src/nautilus-view.c
@@ -4428,9 +4428,7 @@ add_submenu (GtkUIManager *ui_manager,
NULL,
NULL);
if (pixbuf != NULL) {
- g_object_set_data_full (G_OBJECT (action), "menu-icon",
- g_object_ref (pixbuf),
- g_object_unref);
+ gtk_action_set_gicon (action, G_ICON (pixbuf));
}
g_object_set (action, "hide-if-empty", FALSE, NULL);
@@ -4455,6 +4453,24 @@ add_submenu (GtkUIManager *ui_manager,
}
static void
+menu_item_show_image (GtkUIManager *ui_manager,
+ const char *parent_path,
+ const char *action_name)
+{
+ char *path;
+ GtkWidget *menuitem;
+
+ path = g_strdup_printf ("%s/%s", parent_path, action_name);
+ menuitem = gtk_ui_manager_get_widget (ui_manager,
+ path);
+ if (menuitem != NULL) {
+ gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem),
+ TRUE);
+ }
+ g_free (path);
+}
+
+static void
add_application_to_open_with_menu (NautilusView *view,
GAppInfo *application,
GList *files,
@@ -4468,10 +4484,9 @@ add_application_to_open_with_menu (NautilusView *view,
char *label;
char *action_name;
char *escaped_app;
- char *path;
GtkAction *action;
GIcon *app_icon;
- GtkWidget *menuitem;
+ GtkUIManager *ui_manager;
launch_parameters = application_launch_parameters_new
(application, files, view);
@@ -4513,7 +4528,8 @@ add_application_to_open_with_menu (NautilusView *view,
action);
g_object_unref (action);
- gtk_ui_manager_add_ui (nautilus_window_get_ui_manager (view->details->window),
+ ui_manager = nautilus_window_get_ui_manager (view->details->window);
+ gtk_ui_manager_add_ui (ui_manager,
view->details->open_with_merge_id,
popup_placeholder,
action_name,
@@ -4521,13 +4537,8 @@ add_application_to_open_with_menu (NautilusView *view,
GTK_UI_MANAGER_MENUITEM,
FALSE);
- path = g_strdup_printf ("%s/%s", popup_placeholder, action_name);
- menuitem = gtk_ui_manager_get_widget (
- nautilus_window_get_ui_manager (view->details->window),
- path);
- gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem), TRUE);
+ menu_item_show_image (ui_manager, popup_placeholder, action_name);
- g_free (path);
g_free (action_name);
g_free (label);
g_free (tip);
@@ -5242,9 +5253,8 @@ add_script_to_scripts_menus (NautilusView *directory_view,
pixbuf = get_menu_icon_for_file (file);
if (pixbuf != NULL) {
- g_object_set_data_full (G_OBJECT (action), "menu-icon",
- pixbuf,
- g_object_unref);
+ gtk_action_set_gicon (action, G_ICON (pixbuf));
+ g_object_unref (pixbuf);
}
g_signal_connect_data (action, "activate",
@@ -5280,6 +5290,10 @@ add_script_to_scripts_menus (NautilusView *directory_view,
GTK_UI_MANAGER_MENUITEM,
FALSE);
+ menu_item_show_image (ui_manager, menu_path, action_name);
+ menu_item_show_image (ui_manager, popup_path, action_name);
+ menu_item_show_image (ui_manager, popup_bg_path, action_name);
+
g_free (name);
g_free (uri);
g_free (tip);
@@ -5493,9 +5507,8 @@ add_template_to_templates_menus (NautilusView *directory_view,
pixbuf = get_menu_icon_for_file (file);
if (pixbuf != NULL) {
- g_object_set_data_full (G_OBJECT (action), "menu-icon",
- pixbuf,
- g_object_unref);
+ gtk_action_set_gicon (action, G_ICON (pixbuf));
+ g_object_unref (pixbuf);
}
g_signal_connect_data (action, "activate",
@@ -5524,7 +5537,10 @@ add_template_to_templates_menus (NautilusView *directory_view,
action_name,
GTK_UI_MANAGER_MENUITEM,
FALSE);
-
+
+ menu_item_show_image (ui_manager, menu_path, action_name);
+ menu_item_show_image (ui_manager, popup_bg_path, action_name);
+
g_free (escaped_label);
g_free (name);
g_free (tip);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]