=== modified file 'debian/changelog' --- debian/changelog 2011-03-15 15:12:52 +0000 +++ debian/changelog 2011-03-22 13:41:34 +0000 @@ -1,3 +1,10 @@ +nautilus (1:2.32.2.1-0ubuntu10) natty; urgency=low + + * 16_desktop_menu_export.patch: Updated menus shown in desktop window + to make them more reasonable being on the desktop. (LP: #692194) + + -- Ted Gould Tue, 22 Mar 2011 08:41:31 -0500 + nautilus (1:2.32.2.1-0ubuntu9) natty; urgency=low * 17_disable_locked_automounting.patch: Fix g_bus_unwatch_name() assertion === modified file 'debian/patches/16_desktop_menu_export.patch' --- debian/patches/16_desktop_menu_export.patch 2010-11-17 16:29:29 +0000 +++ debian/patches/16_desktop_menu_export.patch 2011-03-22 13:35:30 +0000 @@ -1,16 +1,175 @@ -Index: nautilus-2.32.1/src/nautilus-desktop-window.c -=================================================================== ---- nautilus-2.32.1.orig/src/nautilus-desktop-window.c 2010-11-13 22:59:01.000000000 +1100 -+++ nautilus-2.32.1/src/nautilus-desktop-window.c 2010-11-17 16:32:17.961420000 +1100 -@@ -68,6 +68,11 @@ +=== modified file 'src/file-manager/fm-desktop-icon-view.c' +--- old/src/file-manager/fm-desktop-icon-view.c 2010-09-28 01:18:38 +0000 ++++ new/src/file-manager/fm-desktop-icon-view.c 2011-03-21 22:14:49 +0000 +@@ -769,6 +769,15 @@ + ui = nautilus_ui_string_get ("nautilus-desktop-icon-view-ui.xml"); + desktop_view->details->desktop_merge_id = + gtk_ui_manager_add_ui_from_string (ui_manager, ui, -1, NULL); ++ ++ GList * agroups = gtk_ui_manager_get_action_groups(ui_manager); ++ while (agroups != NULL) { ++ if (g_strcmp0("DirViewActions", gtk_action_group_get_name(GTK_ACTION_GROUP(agroups->data))) == 0) { ++ GtkAction * defaults = gtk_action_group_get_action(GTK_ACTION_GROUP(agroups->data), "Reset to Defaults"); ++ gtk_action_set_visible(defaults, FALSE); ++ } ++ agroups = g_list_next(agroups); ++ } + } + + static gboolean +@@ -784,7 +793,7 @@ + static gboolean + real_supports_scaling (FMIconView *view) + { +- return TRUE; ++ return FALSE; + } + + static gboolean + +=== modified file 'src/nautilus-desktop-window.c' +--- old/src/nautilus-desktop-window.c 2010-08-12 16:41:04 +0000 ++++ new/src/nautilus-desktop-window.c 2011-03-21 21:51:53 +0000 +@@ -41,6 +41,29 @@ + int dummy; + }; + ++static void ++desktop_background_cb (GtkAction * action, gpointer user_data) ++{ ++ g_spawn_command_line_async("gnome-appearance-properties --show-page=background", NULL); ++ return; ++} ++ ++static void ++ubuntu_docs_cb (GtkAction * action, gpointer user_data) ++{ ++ g_spawn_command_line_async("yelp", NULL); ++ return; ++} ++ ++static const GtkActionEntry desktop_entries[] = { ++ /* name, stock id, label */ { "Change Desktop Background", NULL, N_("Change Desktop Background"), ++ /* accel, tooltip */ NULL, NULL, ++ G_CALLBACK(desktop_background_cb)}, ++ /* name, stock id, label */ { "Ubuntu Documentation", NULL, N_("Ubuntu Documentation"), ++ /* accel, tooltip */ NULL, NULL, ++ G_CALLBACK(ubuntu_docs_cb)} ++}; ++ + static void set_wmspec_desktop_hint (GdkWindow *window); + + G_DEFINE_TYPE (NautilusDesktopWindow, nautilus_desktop_window, +@@ -68,11 +91,68 @@ gtk_widget_hide (NAUTILUS_WINDOW (window)->details->statusbar); gtk_widget_hide (NAUTILUS_WINDOW (window)->details->menubar); -+ UbuntuMenuProxy * proxy = ubuntu_menu_proxy_get(); -+ if (proxy != NULL) { -+ ubuntu_menu_proxy_insert(proxy, GTK_WIDGET(window), NAUTILUS_WINDOW(window)->details->menubar, 0); -+ } ++ UbuntuMenuProxy * proxy = ubuntu_menu_proxy_get(); ++ if (proxy != NULL) { ++ ubuntu_menu_proxy_insert(proxy, GTK_WIDGET(window), NAUTILUS_WINDOW(window)->details->menubar, 0); ++ } + /* Don't allow close action on desktop */ action = gtk_action_group_get_action (NAUTILUS_WINDOW (window)->details->main_action_group, NAUTILUS_ACTION_CLOSE); + gtk_action_set_sensitive (action, FALSE); + ++ /* Add actions for the desktop */ ++ GtkActionGroup * desktop_agroup = gtk_action_group_new("DesktopActions"); ++ gtk_action_group_set_translation_domain(desktop_agroup, GETTEXT_PACKAGE); ++ gtk_action_group_add_actions(desktop_agroup, desktop_entries, G_N_ELEMENTS(desktop_entries), window); ++ gtk_ui_manager_insert_action_group(nautilus_window_get_ui_manager(NAUTILUS_WINDOW(window)), ++ desktop_agroup, 0); ++ g_object_unref(desktop_agroup); ++ ++ /* Hide actions that don't make sense on the desktop */ ++ GList * agroups = gtk_ui_manager_get_action_groups(NAUTILUS_WINDOW(window)->details->ui_manager); ++ while (agroups != NULL) { ++ GtkActionGroup * agroup = GTK_ACTION_GROUP(agroups->data); ++ const gchar * name = gtk_action_group_get_name(agroup); ++ ++ if (g_strcmp0(name, "LaunchpadIntegration") == 0) { ++ gtk_action_group_set_visible(agroup, FALSE); ++ } else if (g_strcmp0(name, "SpatialActions") == 0) { ++ GtkAction * action = NULL; ++ ++ action = gtk_action_group_get_action(agroup, "Close Parent Folders"); ++ gtk_action_set_visible(action, FALSE); ++ ++ action = gtk_action_group_get_action(agroup, "Close All Folders"); ++ gtk_action_set_visible(action, FALSE); ++ } else if (g_strcmp0(name, "ShellActions") == 0) { ++ GtkAction * action = NULL; ++ ++ action = gtk_action_group_get_action(agroup, NAUTILUS_ACTION_CLOSE); ++ gtk_action_set_visible(action, FALSE); ++ ++ action = gtk_action_group_get_action(agroup, NAUTILUS_ACTION_STOP); ++ gtk_action_set_visible(action, FALSE); ++ ++ action = gtk_action_group_get_action(agroup, NAUTILUS_ACTION_RELOAD); ++ gtk_action_set_visible(action, FALSE); ++ ++ action = gtk_action_group_get_action(agroup, "Backgrounds and Emblems"); ++ gtk_action_set_visible(action, FALSE); ++ ++ action = gtk_action_group_get_action(agroup, "Preferences"); ++ gtk_action_set_visible(action, FALSE); ++ ++ action = gtk_action_group_get_action(agroup, "Nautilus Manual"); ++ gtk_action_set_visible(action, FALSE); ++ ++ action = gtk_action_group_get_action(agroup, "About Nautilus"); ++ gtk_action_set_visible(action, FALSE); ++ } ++ ++ agroups = g_list_next(agroups); ++ } ++ + /* Set the accessible name so that it doesn't inherit the cryptic desktop URI. */ + accessible = gtk_widget_get_accessible (GTK_WIDGET (window)); + if (accessible) + +=== modified file 'src/nautilus-shell-ui.xml' +--- old/src/nautilus-shell-ui.xml 2010-01-06 17:14:33 +0000 ++++ new/src/nautilus-shell-ui.xml 2011-03-21 19:37:16 +0000 +@@ -39,6 +39,7 @@ + + + ++ + + + +@@ -66,6 +67,7 @@ + + + ++ + + + + +=== modified file 'src/nautilus-window.c' +--- old/src/nautilus-window.c 2010-08-12 16:41:04 +0000 ++++ new/src/nautilus-window.c 2011-03-21 21:55:41 +0000 +@@ -42,6 +42,7 @@ + #include "nautilus-zoom-control.h" + #include "nautilus-search-bar.h" + #include "nautilus-navigation-window-pane.h" ++#include "nautilus-desktop-window.h" + #include + #include + #include +@@ -1066,6 +1067,10 @@ + window->details->view_as_radio_action = action; + } + ++ if (NAUTILUS_IS_DESKTOP_WINDOW(window)) { ++ gtk_action_set_visible(GTK_ACTION(action), FALSE); ++ } ++ + data = g_slice_new (ActivateViewData); + data->window = window; + data->id = g_strdup (identifier); +