author | yippi |
Mon, 27 Sep 2010 21:07:51 +0000 | |
changeset 20108 | 51df67ca9307 |
parent 16609 | 69674d67ae95 |
permissions | -rw-r--r-- |
16374 | 1 |
/jds/bin/diff -uprN gnome-panel-2.27.91.old/gnome-panel/panel-menu-items.h gnome-panel-2.27.91/gnome-panel/panel-menu-items.h |
2 |
--- gnome-panel-2.27.91.old/gnome-panel/panel-menu-items.h 2009-08-26 18:01:21.913408000 +0100 |
|
3 |
+++ gnome-panel-2.27.91/gnome-panel/panel-menu-items.h 2009-08-26 18:05:50.187738000 +0100 |
|
4 |
@@ -92,6 +92,7 @@ void panel_menu_item_activate_desktop_fi |
|
13057 | 5 |
const char *path); |
6 |
void panel_place_menu_item_recreate_menu (GtkWidget *widget); |
|
7 |
void panel_desktop_menu_item_recreate_menu (PanelDesktopMenuItem *desktop_item); |
|
16374 | 8 |
+void panel_menu_items_append_from_desktop (GtkWidget *menu, char *path, char *force_name, gboolean use_icon); |
13057 | 9 |
|
10 |
G_END_DECLS |
|
11 |
||
16374 | 12 |
/jds/bin/diff -uprN gnome-panel-2.27.91.old/gnome-panel/panel-recent.c gnome-panel-2.27.91/gnome-panel/panel-recent.c |
13 |
--- gnome-panel-2.27.91.old/gnome-panel/panel-recent.c 2009-08-26 18:01:21.768563000 +0100 |
|
14 |
+++ gnome-panel-2.27.91/gnome-panel/panel-recent.c 2009-08-26 18:08:54.473010000 +0100 |
|
15 |
@@ -217,12 +217,15 @@ panel_recent_append_documents_menu (GtkW |
|
16014
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
16 |
|
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
17 |
//FIXME this is not possible with GtkRecent...: egg_recent_view_gtk_set_icon_size (view, panel_menu_icon_get_size ()); |
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
18 |
|
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
19 |
- g_signal_connect_object (manager, "changed", |
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
20 |
+ if (manager) { |
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
21 |
+ g_signal_connect_object (manager, "changed", |
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
22 |
G_CALLBACK (panel_recent_manager_changed_cb), |
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
23 |
menu_item, 0); |
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
24 |
|
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
25 |
- size = 0; |
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
26 |
- g_object_get (manager, "size", &size, NULL); |
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
27 |
+ size = 0; |
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
28 |
+ g_object_get (manager, "size", &size, NULL); |
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
29 |
+ } |
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
30 |
+ |
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
31 |
gtk_widget_set_sensitive (menu_item, size > 0); |
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
32 |
|
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
33 |
add_menu_separator (recent_menu); |
16374 | 34 |
/jds/bin/diff -uprN gnome-panel-2.27.91.old/gnome-panel/panel-menu-button.c gnome-panel-2.27.91/gnome-panel/panel-menu-button.c |
35 |
--- gnome-panel-2.27.91.old/gnome-panel/panel-menu-button.c 2009-08-26 18:01:21.891125000 +0100 |
|
36 |
+++ gnome-panel-2.27.91/gnome-panel/panel-menu-button.c 2009-08-26 18:06:26.574994000 +0100 |
|
16014
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
37 |
@@ -63,6 +63,7 @@ typedef enum { |
9563 | 38 |
FIRST_MENU, |
39 |
APPLICATIONS_MENU, |
|
40 |
#define DEFAULT_MENU APPLICATIONS_MENU |
|
13057 | 41 |
+ PREFERENCES_MENU, |
9563 | 42 |
SETTINGS_MENU, |
43 |
LAST_MENU |
|
44 |
} MenuPathRoot; |
|
16014
657275c2abd8
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents:
15443
diff
changeset
|
45 |
@@ -75,6 +76,7 @@ typedef struct { |
9563 | 46 |
|
47 |
static MenuPathRootItem root_items [] = { |
|
48 |
{ APPLICATIONS_MENU, "applications", "applications.menu" }, |
|
13057 | 49 |
+ { PREFERENCES_MENU, "preferences", "preferences.menu" }, |
9563 | 50 |
{ SETTINGS_MENU, "settings", "settings.menu" } |
51 |
}; |
|
52 |
||
16553
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
53 |
/jds/bin/diff -uprN gnome-panel-2.27.92.old/gnome-panel/menu.h gnome-panel-2.27.92/gnome-panel/menu.h |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
54 |
--- gnome-panel-2.27.92.old/gnome-panel/menu.h 2009-09-14 11:22:36.904041000 +0100 |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
55 |
+++ gnome-panel-2.27.92/gnome-panel/menu.h 2009-09-14 11:24:31.781701000 +0100 |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
56 |
@@ -69,6 +69,8 @@ GtkWidget *add_menu_separator (Gt |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
57 |
|
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
58 |
gboolean menu_dummy_button_press_event (GtkWidget *menuitem, |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
59 |
GdkEventButton *event); |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
60 |
+void run_applications (GtkWidget *widget, gpointer user_data); |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
61 |
+void applications_menu_append (GtkWidget *main_menu); |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
62 |
|
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
63 |
|
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
64 |
G_END_DECLS |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
65 |
/jds/bin/diff -uprN gnome-panel-2.27.92.old/gnome-panel/panel-menu-items.c gnome-panel-2.27.92/gnome-panel/panel-menu-items.c |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
66 |
--- gnome-panel-2.27.92.old/gnome-panel/panel-menu-items.c 2009-09-14 11:22:36.905438000 +0100 |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
67 |
+++ gnome-panel-2.27.92/gnome-panel/panel-menu-items.c 2009-09-14 11:52:23.800537000 +0100 |
16374 | 68 |
@@ -139,7 +139,7 @@ activate_desktop_uri (GtkWidget *menuite |
13057 | 69 |
g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP)); |
8382
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
70 |
} |
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
71 |
|
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
72 |
-static void |
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
73 |
+void |
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
74 |
panel_menu_items_append_from_desktop (GtkWidget *menu, |
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
75 |
char *path, |
16374 | 76 |
char *force_name, |
77 |
@@ -1008,23 +1008,10 @@ panel_place_menu_item_create_menu (Panel |
|
11782 | 78 |
char *name; |
10174 | 79 |
char *uri; |
11782 | 80 |
GFile *file; |
16374 | 81 |
+ GtkRecentManager *recent_view; |
8382
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
82 |
|
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
83 |
places_menu = panel_create_menu (); |
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
84 |
|
11782 | 85 |
- file = g_file_new_for_path (g_get_home_dir ()); |
86 |
- uri = g_file_get_uri (file); |
|
87 |
- name = panel_util_get_label_for_uri (uri); |
|
88 |
- g_object_unref (file); |
|
89 |
- |
|
90 |
- panel_menu_items_append_place_item (PANEL_ICON_HOME, NULL, |
|
91 |
- name, |
|
10169 | 92 |
- _("Open your personal folder"), |
93 |
- places_menu, |
|
94 |
- G_CALLBACK (activate_home_uri), |
|
95 |
- uri); |
|
11782 | 96 |
- g_free (name); |
10169 | 97 |
- g_free (uri); |
98 |
- |
|
8382
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
99 |
if (!gconf_client_get_bool (panel_gconf_get_client (), |
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
100 |
DESKTOP_IS_HOME_DIR_KEY, |
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
101 |
NULL)) { |
16374 | 102 |
@@ -1077,13 +1064,10 @@ panel_place_menu_item_create_menu (Panel |
8382
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
103 |
|
9563 | 104 |
add_menu_separator (places_menu); |
105 |
||
8382
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
106 |
- panel_menu_items_append_from_desktop (places_menu, |
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
107 |
- "gnome-search-tool.desktop", |
16374 | 108 |
- NULL, |
109 |
- FALSE); |
|
8382
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
110 |
- |
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
111 |
- panel_recent_append_documents_menu (places_menu, |
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
112 |
- place_item->priv->recent_manager); |
13057 | 113 |
+ recent_view = gtk_recent_manager_get_default (); |
114 |
+ panel_recent_append_documents_menu (places_menu, recent_view); |
|
16374 | 115 |
+ panel_menu_items_append_from_desktop (places_menu, |
116 |
+ "gnome-search-tool.desktop", NULL, FALSE); |
|
9563 | 117 |
|
8382
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
118 |
return places_menu; |
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
119 |
} |
16553
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
120 |
@@ -1149,34 +1133,32 @@ panel_place_menu_item_mounts_changed (GV |
9563 | 121 |
panel_place_menu_item_recreate_menu (place_menu); |
122 |
} |
|
8382
5340d1f7700f
Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff
changeset
|
123 |
|
9563 | 124 |
-static void |
125 |
-panel_desktop_menu_item_append_menu (GtkWidget *menu, |
|
126 |
- gpointer data) |
|
127 |
+static GtkWidget * |
|
8560 | 128 |
+add_xdg_menu (const char *name, const char *path, const char *icon) |
9563 | 129 |
{ |
130 |
- PanelDesktopMenuItem *parent; |
|
131 |
- gboolean add_separator; |
|
132 |
- GList *children; |
|
133 |
- GList *last; |
|
13057 | 134 |
- |
9563 | 135 |
- parent = PANEL_DESKTOP_MENU_ITEM (data); |
16374 | 136 |
- |
9563 | 137 |
- add_separator = FALSE; |
138 |
- children = gtk_container_get_children (GTK_CONTAINER (menu)); |
|
139 |
- last = g_list_last (children); |
|
13057 | 140 |
- |
9563 | 141 |
- if (last != NULL) |
142 |
- add_separator = !GTK_IS_SEPARATOR (GTK_WIDGET (last->data)); |
|
16374 | 143 |
- |
144 |
- g_list_free (children); |
|
16553
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
145 |
- |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
146 |
- if (add_separator) |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
147 |
- add_menu_separator (menu); |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
148 |
- |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
149 |
- panel_menu_items_append_from_desktop (menu, "yelp.desktop", NULL, FALSE); |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
150 |
- panel_menu_items_append_from_desktop (menu, "gnome-about.desktop", NULL, FALSE); |
16374 | 151 |
+ GtkWidget *item; |
152 |
+ GtkWidget *accel_label; |
|
153 |
+ GtkWidget *image; |
|
154 |
+ GtkWidget *menu; |
|
16553
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
155 |
+ |
13057 | 156 |
+ item = gtk_image_menu_item_new (); |
16553
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
157 |
+ |
13057 | 158 |
+ accel_label = gtk_accel_label_new (name); |
159 |
+ gtk_misc_set_alignment (GTK_MISC (accel_label), 0.0, 0.5); |
|
9563 | 160 |
|
16374 | 161 |
- if (parent->priv->append_lock_logout) |
162 |
- panel_menu_items_append_lock_logout (menu); |
|
13057 | 163 |
+ gtk_container_add (GTK_CONTAINER (item), accel_label); |
164 |
+ gtk_accel_label_set_accel_widget (GTK_ACCEL_LABEL (accel_label), |
|
165 |
+ GTK_WIDGET (item)); |
|
166 |
+ gtk_widget_show (accel_label); |
|
16374 | 167 |
+ |
13057 | 168 |
+ image = gtk_image_new_from_icon_name (icon, panel_menu_icon_get_size ()); |
16374 | 169 |
+ |
13057 | 170 |
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image); |
16557
d43393c14ffe
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16553
diff
changeset
|
171 |
+ menu = create_applications_menu (path, NULL, TRUE); |
13057 | 172 |
+ |
173 |
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu); |
|
174 |
+ |
|
175 |
+ return item; |
|
9563 | 176 |
} |
177 |
||
178 |
static GtkWidget * |
|
16553
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
179 |
@@ -1184,14 +1166,22 @@ panel_desktop_menu_item_create_menu (Pan |
8560 | 180 |
{ |
181 |
GtkWidget *desktop_menu; |
|
16553
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
182 |
|
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
183 |
- desktop_menu = create_applications_menu ("settings.menu", NULL, FALSE); |
13057 | 184 |
+ GtkWidget *item; |
9147
3d91c998b3e1
* patches/gnome-panel-05-notificationarea-tooltip.diff : Rework for 2.17.90 tarball
mattman
parents:
9113
diff
changeset
|
185 |
+ |
13057 | 186 |
+ desktop_menu = panel_create_menu (); |
16553
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
187 |
|
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
188 |
- g_object_set_data (G_OBJECT (desktop_menu), |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
189 |
- "panel-menu-append-callback", |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
190 |
- panel_desktop_menu_item_append_menu); |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
191 |
- g_object_set_data (G_OBJECT (desktop_menu), |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
192 |
- "panel-menu-append-callback-data", |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
193 |
- desktop_item); |
13057 | 194 |
+ /* SUN_BRANDING */ |
195 |
+ item = add_xdg_menu (_("Preferences"), "preferences.menu", "gnome-settings"); |
|
196 |
+ gtk_menu_shell_append (GTK_MENU_SHELL (desktop_menu), item); |
|
197 |
+ gtk_widget_show (item); |
|
9147
3d91c998b3e1
* patches/gnome-panel-05-notificationarea-tooltip.diff : Rework for 2.17.90 tarball
mattman
parents:
9113
diff
changeset
|
198 |
+ |
13057 | 199 |
+ /* SUN_BRANDING */ |
200 |
+ item = add_xdg_menu (_("Administration"), "settings.menu", "gnome-system"); |
|
201 |
+ gtk_menu_shell_append (GTK_MENU_SHELL (desktop_menu), item); |
|
202 |
+ gtk_widget_show (item); |
|
16553
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
203 |
+ |
16386
c10427920759
* patches/gnome-panel-08-launch-menu.diff : Rework, again :)
mattman
parents:
16385
diff
changeset
|
204 |
+ panel_menu_items_append_from_desktop (desktop_menu, "yelp.desktop", NULL, FALSE); |
13057 | 205 |
+ panel_menu_items_append_lock_logout (desktop_menu); |
9563 | 206 |
|
207 |
return desktop_menu; |
|
208 |
} |
|
16553
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
209 |
/jds/bin/diff -uprN gnome-panel-2.27.92.old/gnome-panel/menu.c gnome-panel-2.27.92/gnome-panel/menu.c |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
210 |
--- gnome-panel-2.27.92.old/gnome-panel/menu.c 2009-09-14 11:22:36.900978000 +0100 |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
211 |
+++ gnome-panel-2.27.92/gnome-panel/menu.c 2009-09-14 11:49:56.345567000 +0100 |
16385
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
212 |
@@ -47,6 +47,7 @@ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
213 |
#include "panel-run-dialog.h" |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
214 |
#include "panel-lockdown.h" |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
215 |
#include "panel-icon-names.h" |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
216 |
+#include "panel-recent.h" |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
217 |
|
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
218 |
typedef struct { |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
219 |
GtkWidget *pixmap; |
16553
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
220 |
@@ -1785,39 +1786,127 @@ setup_menu_item_with_icon (GtkWidget * |
16385
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
221 |
setup_menuitem (item, icon_size, NULL, title); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
222 |
} |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
223 |
|
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
224 |
+void |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
225 |
+run_applications (GtkWidget *widget, gpointer user_data) |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
226 |
+{ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
227 |
+ if (!panel_lockdown_get_restrict_application_launching() && |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
228 |
+ !panel_lockdown_get_disable_command_line()) { |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
229 |
+ panel_run_dialog_present (gtk_widget_get_screen (widget), |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
230 |
+ gtk_get_current_event_time ()); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
231 |
+ } |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
232 |
+} |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
233 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
234 |
+void |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
235 |
+applications_menu_append (GtkWidget *main_menu) |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
236 |
+{ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
237 |
+ GtkWidget *item; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
238 |
+ GtkWidget *accel_label; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
239 |
+ GtkWidget *image; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
240 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
241 |
+ if (panel_lockdown_get_disable_command_line()) |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
242 |
+ return; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
243 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
244 |
+ if (!g_object_get_data (G_OBJECT (main_menu), |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
245 |
+ "panel-menu-needs-appending")) |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
246 |
+ return; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
247 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
248 |
+ g_object_set_data (G_OBJECT (main_menu), |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
249 |
+ "panel-menu-needs-appending", NULL); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
250 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
251 |
+ add_menu_separator (main_menu); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
252 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
253 |
+ item = gtk_image_menu_item_new (); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
254 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
255 |
+ /* SUN_BRANDING */ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
256 |
+ accel_label = gtk_accel_label_new (_("Run Application...")); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
257 |
+ gtk_misc_set_alignment (GTK_MISC (accel_label), 0.0, 0.5); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
258 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
259 |
+ gtk_container_add (GTK_CONTAINER (item), accel_label); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
260 |
+ gtk_accel_label_set_accel_widget (GTK_ACCEL_LABEL (accel_label), |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
261 |
+ GTK_WIDGET (item)); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
262 |
+ gtk_widget_show (accel_label); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
263 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
264 |
+ image = gtk_image_new_from_icon_name (PANEL_ICON_RUN, panel_menu_icon_get_size ()); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
265 |
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
266 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
267 |
+ g_signal_connect (item, "activate", G_CALLBACK (run_applications), NULL); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
268 |
+ gtk_menu_shell_append (GTK_MENU_SHELL (main_menu), item); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
269 |
+ gtk_widget_show (item); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
270 |
+} |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
271 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
272 |
+GtkWidget * |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
273 |
+add_xdg_menu (const char *name, const char *path, const char *icon) |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
274 |
+{ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
275 |
+ GtkWidget *item; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
276 |
+ GtkWidget *accel_label; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
277 |
+ GtkWidget *image; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
278 |
+ GtkWidget *menu; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
279 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
280 |
+ item = gtk_image_menu_item_new (); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
281 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
282 |
+ accel_label = gtk_accel_label_new (name); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
283 |
+ gtk_misc_set_alignment (GTK_MISC (accel_label), 0.0, 0.5); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
284 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
285 |
+ gtk_container_add (GTK_CONTAINER (item), accel_label); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
286 |
+ gtk_accel_label_set_accel_widget (GTK_ACCEL_LABEL (accel_label), |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
287 |
+ GTK_WIDGET (item)); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
288 |
+ gtk_widget_show (accel_label); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
289 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
290 |
+ image = gtk_image_new_from_icon_name (icon, panel_menu_icon_get_size ()); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
291 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
292 |
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image); |
16557
d43393c14ffe
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16553
diff
changeset
|
293 |
+ menu = create_applications_menu (path, NULL, TRUE); |
16385
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
294 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
295 |
+ if (strcmp (path, "applications.menu") == 0) { |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
296 |
+ g_object_set_data (G_OBJECT (menu), "panel-menu-needs-appending", TRUE); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
297 |
+ g_signal_connect (menu, "show", G_CALLBACK (applications_menu_append), NULL); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
298 |
+ } |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
299 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
300 |
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
301 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
302 |
+ return item; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
303 |
+} |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
304 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
305 |
static void |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
306 |
main_menu_append (GtkWidget *main_menu, |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
307 |
gpointer data) |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
308 |
{ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
309 |
PanelWidget *panel; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
310 |
GtkWidget *item; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
311 |
- gboolean add_separator; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
312 |
- GList *children; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
313 |
- GList *last; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
314 |
+ GtkRecentManager *recent_view; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
315 |
|
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
316 |
panel = PANEL_WIDGET (data); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
317 |
|
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
318 |
- add_separator = FALSE; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
319 |
- children = gtk_container_get_children (GTK_CONTAINER (main_menu)); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
320 |
- last = g_list_last (children); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
321 |
- if (last != NULL) { |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
322 |
- add_separator = !GTK_IS_SEPARATOR (GTK_WIDGET (last->data)); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
323 |
- } |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
324 |
- g_list_free (children); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
325 |
+ /* SUN_BRANDING */ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
326 |
+ item = add_xdg_menu (_("All Applications"), "applications.menu", "gnome-applications"); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
327 |
+ gtk_menu_shell_append (GTK_MENU_SHELL (main_menu), item); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
328 |
+ gtk_widget_show (item); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
329 |
|
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
330 |
- if (add_separator) |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
331 |
- add_menu_separator (main_menu); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
332 |
+ add_menu_separator (main_menu); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
333 |
|
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
334 |
item = panel_place_menu_item_new (TRUE); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
335 |
panel_place_menu_item_set_panel (item, panel); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
336 |
gtk_menu_shell_append (GTK_MENU_SHELL (main_menu), item); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
337 |
gtk_widget_show (item); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
338 |
|
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
339 |
- item = panel_desktop_menu_item_new (TRUE, FALSE); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
340 |
- panel_desktop_menu_item_set_panel (item, panel); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
341 |
+ recent_view = gtk_recent_manager_get_default (); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
342 |
+ panel_recent_append_documents_menu (main_menu, recent_view); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
343 |
+ panel_menu_items_append_from_desktop (main_menu, "gnome-search-tool.desktop", NULL, FALSE); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
344 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
345 |
+ add_menu_separator (main_menu); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
346 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
347 |
+ /* SUN_BRANDING */ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
348 |
+ item = add_xdg_menu (_("Preferences"), "preferences.menu", "gnome-settings"); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
349 |
gtk_menu_shell_append (GTK_MENU_SHELL (main_menu), item); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
350 |
gtk_widget_show (item); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
351 |
|
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
352 |
+ /* SUN_BRANDING */ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
353 |
+ item = add_xdg_menu (_("Administration"), "settings.menu", "gnome-system"); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
354 |
+ gtk_menu_shell_append (GTK_MENU_SHELL (main_menu), item); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
355 |
+ gtk_widget_show (item); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
356 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
357 |
+ panel_menu_items_append_from_desktop (main_menu, "yelp.desktop", NULL, FALSE); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
358 |
+ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
359 |
panel_menu_items_append_lock_logout (main_menu); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
360 |
} |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
361 |
|
16553
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
362 |
@@ -1826,7 +1915,7 @@ create_main_menu (PanelWidget *panel) |
16385
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
363 |
{ |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
364 |
GtkWidget *main_menu; |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
365 |
|
16553
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
366 |
- main_menu = create_applications_menu ("applications.menu", NULL, TRUE); |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
367 |
+ main_menu = create_applications_menu ("quickstart.menu", NULL, TRUE); |
11e13d0e977f
* patches/gnome-panel-08-launch-menu.diff : Re-Apply for 2.27.92
mattman
parents:
16386
diff
changeset
|
368 |
|
16385
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
369 |
g_object_set_data (G_OBJECT (main_menu), "menu_panel", panel); |
99962b1bf14d
* patches/gnome-panel-08-launch-menu.diff : Rework
mattman
parents:
16374
diff
changeset
|
370 |
/* FIXME need to update the panel on parent_set */ |
16609
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
371 |
/jds/bin/diff -uprN gnome-panel-2.27.92.old/gnome-panel/panel-menu-bar.c gnome-panel-2.27.92/gnome-panel/panel-menu-bar.c |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
372 |
--- gnome-panel-2.27.92.old/gnome-panel/panel-menu-bar.c 2009-09-22 14:37:48.346822883 +0100 |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
373 |
+++ gnome-panel-2.27.92/gnome-panel/panel-menu-bar.c 2009-09-22 14:51:43.685055758 +0100 |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
374 |
@@ -154,13 +154,33 @@ panel_menubar_recreate_menus (PanelMenuB |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
375 |
(PanelDesktopMenuItem *)menubar->priv->desktop_item); |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
376 |
|
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
377 |
panel_menu_bar_parent_set ((GtkWidget *)menubar, NULL); |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
378 |
+ g_object_set_data (G_OBJECT (menubar->priv->applications_menu), |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
379 |
+ "panel-menu-needs-appending", TRUE); |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
380 |
} |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
381 |
} |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
382 |
|
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
383 |
static void |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
384 |
+panel_menu_bar_handle_gmenu_change(GMenuTree *tree, |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
385 |
+ GtkWidget *menu) |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
386 |
+{ |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
387 |
+ g_object_set_data (G_OBJECT (menu), |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
388 |
+ "panel-menu-needs-appending", TRUE); |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
389 |
+} |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
390 |
+ |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
391 |
+static void |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
392 |
+panel_menu_bar_remove_gmenu_monitor(GtkWidget *menu, |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
393 |
+ GMenuTree *tree) |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
394 |
+{ |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
395 |
+ gmenu_tree_remove_monitor (tree, |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
396 |
+ (GMenuTreeChangedFunc) panel_menu_bar_handle_gmenu_change, |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
397 |
+ menu); |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
398 |
+} |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
399 |
+ |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
400 |
+static void |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
401 |
panel_menu_bar_init (PanelMenuBar *menubar) |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
402 |
{ |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
403 |
GtkWidget *image; |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
404 |
+ GMenuTree *tree; |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
405 |
|
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
406 |
menubar->priv = PANEL_MENU_BAR_GET_PRIVATE (menubar); |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
407 |
|
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
408 |
@@ -168,6 +188,20 @@ panel_menu_bar_init (PanelMenuBar *menub |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
409 |
|
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
410 |
menubar->priv->applications_menu = create_applications_menu ("applications.menu", NULL, TRUE); |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
411 |
|
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
412 |
+ tree = gmenu_tree_lookup ("applications.menu", GMENU_TREE_FLAGS_NONE); |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
413 |
+ |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
414 |
+ gmenu_tree_add_monitor (tree, |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
415 |
+ (GMenuTreeChangedFunc) panel_menu_bar_handle_gmenu_change, |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
416 |
+ menubar->priv->applications_menu); |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
417 |
+ g_signal_connect(menubar->priv->applications_menu, "destroy", |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
418 |
+ G_CALLBACK (panel_menu_bar_remove_gmenu_monitor), tree); |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
419 |
+ gmenu_tree_unref (tree); |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
420 |
+ |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
421 |
+ g_object_set_data (G_OBJECT (menubar->priv->applications_menu), |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
422 |
+ "panel-menu-needs-appending", TRUE); |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
423 |
+ g_signal_connect (menubar->priv->applications_menu, "show", |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
424 |
+ G_CALLBACK(applications_menu_append), NULL); |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
425 |
+ |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
426 |
menubar->priv->applications_item = panel_image_menu_item_new (); |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
427 |
gtk_menu_item_set_label (GTK_MENU_ITEM (menubar->priv->applications_item), |
69674d67ae95
* patches/gnome-panel-08-launch-menu-indiana.diff : Fix bug #11498,
mattman
parents:
16557
diff
changeset
|
428 |
_("Applications")); |