patches/gnome-panel-08-launch-menu.diff
author yippi
Mon, 27 Sep 2010 21:07:51 +0000
changeset 20108 51df67ca9307
parent 16609 69674d67ae95
permissions -rw-r--r--
I had these modules listed as being owned by me, but they are really owned by wangke, correcting.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16374
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
     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
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
     2
--- gnome-panel-2.27.91.old/gnome-panel/panel-menu-items.h	2009-08-26 18:01:21.913408000 +0100
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
     3
+++ gnome-panel-2.27.91/gnome-panel/panel-menu-items.h	2009-08-26 18:05:50.187738000 +0100
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
     4
@@ -92,6 +92,7 @@ void panel_menu_item_activate_desktop_fi
13057
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
     5
 					    const char *path);
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
     6
 void panel_place_menu_item_recreate_menu (GtkWidget *widget);
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
     7
 void panel_desktop_menu_item_recreate_menu (PanelDesktopMenuItem *desktop_item);
16374
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
     8
+void panel_menu_items_append_from_desktop (GtkWidget *menu, char *path, char *force_name, gboolean use_icon);
13057
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
     9
 
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
    10
 G_END_DECLS
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
    11
 
16374
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
    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
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
    13
--- gnome-panel-2.27.91.old/gnome-panel/panel-recent.c	2009-08-26 18:01:21.768563000 +0100
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
    14
+++ gnome-panel-2.27.91/gnome-panel/panel-recent.c	2009-08-26 18:08:54.473010000 +0100
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
    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
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
    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
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
    35
--- gnome-panel-2.27.91.old/gnome-panel/panel-menu-button.c	2009-08-26 18:01:21.891125000 +0100
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
    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
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
    38
 	FIRST_MENU,
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
    39
 	APPLICATIONS_MENU,
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
    40
 #define DEFAULT_MENU      APPLICATIONS_MENU
13057
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
    41
+    PREFERENCES_MENU,
9563
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
    42
 	SETTINGS_MENU,
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
    43
 	LAST_MENU
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
    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
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
    46
 
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
    47
 static MenuPathRootItem root_items [] = {
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
    48
 	{ APPLICATIONS_MENU, "applications", "applications.menu" },
13057
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
    49
+	{ PREFERENCES_MENU,  "preferences", "preferences.menu" },
9563
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
    50
 	{ SETTINGS_MENU,     "settings",     "settings.menu"     }
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
    51
 };
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
    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
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
    68
@@ -139,7 +139,7 @@ activate_desktop_uri (GtkWidget *menuite
13057
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
    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
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
    76
 				      char      *force_name,
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
    77
@@ -1008,23 +1008,10 @@ panel_place_menu_item_create_menu (Panel
11782
3932e5f63116 2008-03-03 Michal Pryc <[email protected]>
migi
parents: 10174
diff changeset
    78
 	char      *name;
10174
976567cd296b 2007-07-10 Damien Carbery <[email protected]>
dcarbery
parents: 10169
diff changeset
    79
 	char      *uri;
11782
3932e5f63116 2008-03-03 Michal Pryc <[email protected]>
migi
parents: 10174
diff changeset
    80
 	GFile     *file;
16374
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
    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
3932e5f63116 2008-03-03 Michal Pryc <[email protected]>
migi
parents: 10174
diff changeset
    85
-	file = g_file_new_for_path (g_get_home_dir ());
3932e5f63116 2008-03-03 Michal Pryc <[email protected]>
migi
parents: 10174
diff changeset
    86
-	uri = g_file_get_uri (file);
3932e5f63116 2008-03-03 Michal Pryc <[email protected]>
migi
parents: 10174
diff changeset
    87
-	name = panel_util_get_label_for_uri (uri);
3932e5f63116 2008-03-03 Michal Pryc <[email protected]>
migi
parents: 10174
diff changeset
    88
-	g_object_unref (file);
3932e5f63116 2008-03-03 Michal Pryc <[email protected]>
migi
parents: 10174
diff changeset
    89
-	
3932e5f63116 2008-03-03 Michal Pryc <[email protected]>
migi
parents: 10174
diff changeset
    90
-	panel_menu_items_append_place_item (PANEL_ICON_HOME, NULL,
3932e5f63116 2008-03-03 Michal Pryc <[email protected]>
migi
parents: 10174
diff changeset
    91
-					    name,
10169
8dba9a12689b 2007-07-09 Damien Carbery <[email protected]>
dcarbery
parents: 10068
diff changeset
    92
-					    _("Open your personal folder"),
8dba9a12689b 2007-07-09 Damien Carbery <[email protected]>
dcarbery
parents: 10068
diff changeset
    93
-					    places_menu,
8dba9a12689b 2007-07-09 Damien Carbery <[email protected]>
dcarbery
parents: 10068
diff changeset
    94
-					    G_CALLBACK (activate_home_uri),
8dba9a12689b 2007-07-09 Damien Carbery <[email protected]>
dcarbery
parents: 10068
diff changeset
    95
-					    uri);
11782
3932e5f63116 2008-03-03 Michal Pryc <[email protected]>
migi
parents: 10174
diff changeset
    96
-	g_free (name);
10169
8dba9a12689b 2007-07-09 Damien Carbery <[email protected]>
dcarbery
parents: 10068
diff changeset
    97
-	g_free (uri);
8dba9a12689b 2007-07-09 Damien Carbery <[email protected]>
dcarbery
parents: 10068
diff changeset
    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
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   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
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   104
 	add_menu_separator (places_menu);
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   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
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   108
-					      NULL,
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   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
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   113
+    recent_view = gtk_recent_manager_get_default ();
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   114
+    panel_recent_append_documents_menu (places_menu, recent_view);
16374
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   115
+    panel_menu_items_append_from_desktop (places_menu,
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   116
+        "gnome-search-tool.desktop", NULL, FALSE);
9563
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   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
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   121
 	panel_place_menu_item_recreate_menu (place_menu);
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   122
 }
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   123
 
9563
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   124
-static void
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   125
-panel_desktop_menu_item_append_menu (GtkWidget *menu,
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   126
-				     gpointer   data)
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   127
+static GtkWidget *
8560
be031807b267 2006-11-16 Glynn Foster <[email protected]>
gman
parents: 8414
diff changeset
   128
+add_xdg_menu (const char *name, const char *path, const char *icon)
9563
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   129
 {
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   130
-	PanelDesktopMenuItem *parent;
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   131
-	gboolean              add_separator;
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   132
-	GList                *children;
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   133
-	GList                *last;
13057
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   134
-
9563
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   135
-	parent = PANEL_DESKTOP_MENU_ITEM (data);
16374
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   136
-
9563
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   137
-	add_separator = FALSE;
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   138
-	children = gtk_container_get_children (GTK_CONTAINER (menu));
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   139
-	last = g_list_last (children);
13057
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   140
-
9563
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   141
-	if (last != NULL)
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   142
-		add_separator = !GTK_IS_SEPARATOR (GTK_WIDGET (last->data));
16374
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   143
-
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   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
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   151
+    GtkWidget *item;
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   152
+    GtkWidget *accel_label;
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   153
+    GtkWidget *image;
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   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
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   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
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   158
+    accel_label = gtk_accel_label_new (name);
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   159
+    gtk_misc_set_alignment (GTK_MISC (accel_label), 0.0, 0.5);
9563
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   160
 
16374
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   161
-	if (parent->priv->append_lock_logout)
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   162
-		panel_menu_items_append_lock_logout (menu);
13057
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   163
+    gtk_container_add (GTK_CONTAINER (item), accel_label);
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   164
+    gtk_accel_label_set_accel_widget (GTK_ACCEL_LABEL (accel_label),
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   165
+                                      GTK_WIDGET (item));
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   166
+    gtk_widget_show (accel_label);
16374
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   167
+ 
13057
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   168
+	image = gtk_image_new_from_icon_name (icon, panel_menu_icon_get_size ());
16374
3ba67616171c * base-specs/gnome-panel.spec : Bump to 2.27.91
mattman
parents: 16055
diff changeset
   169
+ 
13057
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   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
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   172
+ 
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   173
+    gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu);
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   174
+ 
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   175
+    return item;
9563
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   176
 }
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   177
 
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   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
be031807b267 2006-11-16 Glynn Foster <[email protected]>
gman
parents: 8414
diff changeset
   180
 {
be031807b267 2006-11-16 Glynn Foster <[email protected]>
gman
parents: 8414
diff changeset
   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
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   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
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   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
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   194
+    /* SUN_BRANDING */
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   195
+    item = add_xdg_menu (_("Preferences"), "preferences.menu", "gnome-settings");
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   196
+    gtk_menu_shell_append (GTK_MENU_SHELL (desktop_menu), item);
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   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
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   199
+    /* SUN_BRANDING */
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   200
+    item = add_xdg_menu (_("Administration"), "settings.menu", "gnome-system");
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   201
+    gtk_menu_shell_append (GTK_MENU_SHELL (desktop_menu), item);
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   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
99e50e496820 * base-specs/gnome-panel.spec : Bump 2.23.6
mattman
parents: 11782
diff changeset
   205
+    panel_menu_items_append_lock_logout (desktop_menu);
9563
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   206
 
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   207
 	return desktop_menu;
bd5436ab8e21 2007-03-15 Glynn Foster <[email protected]>
gman
parents: 9474
diff changeset
   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"));