Merge lp:~3v1n0/nautilus/menubar-visibility-signals into lp:~ubuntu-desktop/nautilus/ubuntu

Proposed by Marco Trevisan (Treviño)
Status: Merged
Merged at revision: 511
Proposed branch: lp:~3v1n0/nautilus/menubar-visibility-signals
Merge into: lp:~ubuntu-desktop/nautilus/ubuntu
Diff against target: 300 lines (+97/-56)
2 files modified
debian/changelog (+7/-0)
debian/patches/restore-traditional-menu-bar.patch (+90/-56)
To merge this branch: bzr merge lp:~3v1n0/nautilus/menubar-visibility-signals
Reviewer Review Type Date Requested Status
Ubuntu Desktop Pending
Review via email: mp+292925@code.launchpad.net

Commit message

debian/patches/restore-traditional-menu-bar.patch: update menubar visibility on GktSettings changes

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'debian/changelog'
--- debian/changelog 2016-03-18 19:50:21 +0000
+++ debian/changelog 2016-04-26 12:20:49 +0000
@@ -1,3 +1,10 @@
1nautilus (1:3.18.4.is.3.14.3-0ubuntu5) UNRELEASED; urgency=medium
2
3 * debian/patches/restore-traditional-menu-bar.patch:
4 - update menubar visibility on GktSettings changes
5
6 -- Marco Trevisan (Treviño) <marco@ubuntu.com> Tue, 26 Apr 2016 14:08:09 +0200
7
1nautilus (1:3.18.4.is.3.14.3-0ubuntu4) xenial; urgency=medium8nautilus (1:3.18.4.is.3.14.3-0ubuntu4) xenial; urgency=medium
29
3 * debian/nautilus.migrations, 10 * debian/nautilus.migrations,
411
=== modified file 'debian/patches/restore-traditional-menu-bar.patch'
--- debian/patches/restore-traditional-menu-bar.patch 2016-02-03 11:49:50 +0000
+++ debian/patches/restore-traditional-menu-bar.patch 2016-04-26 12:20:49 +0000
@@ -17,13 +17,18 @@
17 src/nautilus-window.c | 10 +++--17 src/nautilus-window.c | 10 +++--
18 9 files changed, 299 insertions(+), 69 deletions(-)18 9 files changed, 299 insertions(+), 69 deletions(-)
1919
20Index: b/src/nautilus-application-actions.c20Index: nautilus-3.18.4.is.3.14.3/src/nautilus-application-actions.c
21===================================================================21===================================================================
22--- a/src/nautilus-application-actions.c22--- nautilus-3.18.4.is.3.14.3.orig/src/nautilus-application-actions.c
23+++ b/src/nautilus-application-actions.c23+++ nautilus-3.18.4.is.3.14.3/src/nautilus-application-actions.c
24@@ -258,8 +258,8 @@24@@ -255,36 +255,64 @@ static GActionEntry app_entries[] = {
25 void25 { "close-desktop", action_close_desktop, NULL, NULL, NULL },
26 nautilus_init_application_actions (NautilusApplication *app)26 };
27
28-void
29-nautilus_init_application_actions (NautilusApplication *app)
30+static void
31+update_menubar_visibility (NautilusApplication *app)
27 {32 {
28- GtkBuilder *builder;33- GtkBuilder *builder;
29- GError *error = NULL;34- GError *error = NULL;
@@ -31,18 +36,14 @@
31+ gboolean show_menubar;36+ gboolean show_menubar;
32 const gchar *debug_no_app_menu;37 const gchar *debug_no_app_menu;
33 38
34 g_action_map_add_action_entries (G_ACTION_MAP (app),39- g_action_map_add_action_entries (G_ACTION_MAP (app),
35@@ -267,18 +267,31 @@40- app_entries, G_N_ELEMENTS (app_entries),
36 app);41- app);
37 gtk_application_add_accelerator (GTK_APPLICATION (app), "F10", "win.gear-menu", NULL);42- gtk_application_add_accelerator (GTK_APPLICATION (app), "F10", "win.gear-menu", NULL);
38 43-
39- builder = gtk_builder_new ();44- builder = gtk_builder_new ();
40- gtk_builder_add_from_resource (builder, "/org/gnome/nautilus/nautilus-app-menu.ui", &error);45- gtk_builder_add_from_resource (builder, "/org/gnome/nautilus/nautilus-app-menu.ui", &error);
41+ g_object_get (gtk_settings_get_default (),46-
42+ "gtk-shell-shows-app-menu", &show_app_menu,
43+ "gtk-shell-shows-menubar", &show_menubar,
44+ NULL);
45
46- if (error == NULL) {47- if (error == NULL) {
47- gtk_application_set_app_menu (GTK_APPLICATION (app),48- gtk_application_set_app_menu (GTK_APPLICATION (app),
48- G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu")));49- G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu")));
@@ -50,6 +51,24 @@
50- g_critical ("Unable to add the application menu: %s\n", error->message);51- g_critical ("Unable to add the application menu: %s\n", error->message);
51- g_error_free (error);52- g_error_free (error);
52- }53- }
54-
55- g_object_unref (builder);
56-
57 debug_no_app_menu = g_getenv ("NAUTILUS_DEBUG_NO_APP_MENU");
58 if (debug_no_app_menu) {
59 DEBUG ("Disabling app menu GtkSetting as requested...");
60 g_object_set (gtk_settings_get_default (),
61 "gtk-shell-shows-app-menu", FALSE,
62 NULL);
63+
64+ return;
65+ }
66+
67+ g_object_get (gtk_settings_get_default (),
68+ "gtk-shell-shows-app-menu", &show_app_menu,
69+ "gtk-shell-shows-menubar", &show_menubar,
70+ NULL);
71+
53+ /* Only add the app menu when the shell doesn't show the menu72+ /* Only add the app menu when the shell doesn't show the menu
54+ * bar, because we merge the app menu into the menu bar.73+ * bar, because we merge the app menu into the menu bar.
55+ */74+ */
@@ -59,8 +78,7 @@
59+78+
60+ builder = gtk_builder_new ();79+ builder = gtk_builder_new ();
61+ gtk_builder_add_from_resource (builder, "/org/gnome/nautilus/nautilus-app-menu.ui", &error);80+ gtk_builder_add_from_resource (builder, "/org/gnome/nautilus/nautilus-app-menu.ui", &error);
62 81+
63- g_object_unref (builder);
64+ if (error == NULL) {82+ if (error == NULL) {
65+ gtk_application_set_app_menu (GTK_APPLICATION (app),83+ gtk_application_set_app_menu (GTK_APPLICATION (app),
66+ G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu")));84+ G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu")));
@@ -70,14 +88,30 @@
70+ }88+ }
71+89+
72+ g_object_unref (builder);90+ g_object_unref (builder);
73+ }91 }
74 92 }
75 debug_no_app_menu = g_getenv ("NAUTILUS_DEBUG_NO_APP_MENU");93+
76 if (debug_no_app_menu) {94+void
77Index: b/src/nautilus-canvas-view-ui.xml95+nautilus_init_application_actions (NautilusApplication *app)
96+{
97+ g_action_map_add_action_entries (G_ACTION_MAP (app),
98+ app_entries, G_N_ELEMENTS (app_entries),
99+ app);
100+ gtk_application_add_accelerator (GTK_APPLICATION (app), "F10", "win.gear-menu", NULL);
101+
102+ update_menubar_visibility (app);
103+
104+ g_signal_connect_swapped (gtk_settings_get_default (),
105+ "notify::gtk-shell-shows-app-menu",
106+ G_CALLBACK (update_menubar_visibility), app);
107+ g_signal_connect_swapped (gtk_settings_get_default (),
108+ "notify::gtk-shell-shows-menubar",
109+ G_CALLBACK (update_menubar_visibility), app);
110+}
111Index: nautilus-3.18.4.is.3.14.3/src/nautilus-canvas-view-ui.xml
78===================================================================112===================================================================
79--- a/src/nautilus-canvas-view-ui.xml113--- nautilus-3.18.4.is.3.14.3.orig/src/nautilus-canvas-view-ui.xml
80+++ b/src/nautilus-canvas-view-ui.xml114+++ nautilus-3.18.4.is.3.14.3/src/nautilus-canvas-view-ui.xml
81@@ -1,4 +1,23 @@115@@ -1,4 +1,23 @@
82 <ui>116 <ui>
83+ <menubar name="menubar">117+ <menubar name="menubar">
@@ -102,10 +136,10 @@
102 <popup name="ViewMenu" accelerators="true">136 <popup name="ViewMenu" accelerators="true">
103 <placeholder name="Layout Options">137 <placeholder name="Layout Options">
104 <menuitem name="Manual Layout" action="Manual Layout"/>138 <menuitem name="Manual Layout" action="Manual Layout"/>
105Index: b/src/nautilus-directory-view-ui.xml139Index: nautilus-3.18.4.is.3.14.3/src/nautilus-directory-view-ui.xml
106===================================================================140===================================================================
107--- a/src/nautilus-directory-view-ui.xml141--- nautilus-3.18.4.is.3.14.3.orig/src/nautilus-directory-view-ui.xml
108+++ b/src/nautilus-directory-view-ui.xml142+++ nautilus-3.18.4.is.3.14.3/src/nautilus-directory-view-ui.xml
109@@ -4,6 +4,85 @@143@@ -4,6 +4,85 @@
110 <accelerator action="OpenCloseParent"/>144 <accelerator action="OpenCloseParent"/>
111 <accelerator action="PropertiesAccel"/>145 <accelerator action="PropertiesAccel"/>
@@ -192,10 +226,10 @@
192 <popup name="ViewMenu" accelerators="true">226 <popup name="ViewMenu" accelerators="true">
193 <placeholder name="View Details">227 <placeholder name="View Details">
194 <menuitem name="Reset to Defaults" action="Reset to Defaults"/>228 <menuitem name="Reset to Defaults" action="Reset to Defaults"/>
195Index: b/src/nautilus-list-view-ui.xml229Index: nautilus-3.18.4.is.3.14.3/src/nautilus-list-view-ui.xml
196===================================================================230===================================================================
197--- a/src/nautilus-list-view-ui.xml231--- nautilus-3.18.4.is.3.14.3.orig/src/nautilus-list-view-ui.xml
198+++ b/src/nautilus-list-view-ui.xml232+++ nautilus-3.18.4.is.3.14.3/src/nautilus-list-view-ui.xml
199@@ -1,4 +1,11 @@233@@ -1,4 +1,11 @@
200 <ui>234 <ui>
201+ <menubar name="menubar">235+ <menubar name="menubar">
@@ -208,10 +242,10 @@
208 <popup name="ViewMenu" accelerators="true">242 <popup name="ViewMenu" accelerators="true">
209 <placeholder name="View Details">243 <placeholder name="View Details">
210 <menuitem name="Visible Columns" action="Visible Columns"/>244 <menuitem name="Visible Columns" action="Visible Columns"/>
211Index: b/src/nautilus-shell-ui.xml245Index: nautilus-3.18.4.is.3.14.3/src/nautilus-shell-ui.xml
212===================================================================246===================================================================
213--- a/src/nautilus-shell-ui.xml247--- nautilus-3.18.4.is.3.14.3.orig/src/nautilus-shell-ui.xml
214+++ b/src/nautilus-shell-ui.xml248+++ nautilus-3.18.4.is.3.14.3/src/nautilus-shell-ui.xml
215@@ -74,4 +74,96 @@249@@ -74,4 +74,96 @@
216 <separator/>250 <separator/>
217 <placeholder name="After Zoom Items"/>251 <placeholder name="After Zoom Items"/>
@@ -309,11 +343,11 @@
309+ </menu>343+ </menu>
310+</menubar>344+</menubar>
311 </ui>345 </ui>
312Index: b/src/nautilus-toolbar.c346Index: nautilus-3.18.4.is.3.14.3/src/nautilus-toolbar.c
313===================================================================347===================================================================
314--- a/src/nautilus-toolbar.c348--- nautilus-3.18.4.is.3.14.3.orig/src/nautilus-toolbar.c
315+++ b/src/nautilus-toolbar.c349+++ nautilus-3.18.4.is.3.14.3/src/nautilus-toolbar.c
316@@ -377,6 +377,18 @@350@@ -377,6 +377,18 @@ gear_menu_key_press (GtkWidget *widget,
317 return FALSE;351 return FALSE;
318 }352 }
319 353
@@ -332,7 +366,7 @@
332 static void366 static void
333 nautilus_toolbar_constructed (GObject *obj)367 nautilus_toolbar_constructed (GObject *obj)
334 {368 {
335@@ -426,16 +438,18 @@369@@ -426,16 +438,18 @@ nautilus_toolbar_constructed (GObject *o
336 self->priv->location_entry = nautilus_location_entry_new ();370 self->priv->location_entry = nautilus_location_entry_new ();
337 gtk_header_bar_pack_start (GTK_HEADER_BAR (toolbar), self->priv->location_entry);371 gtk_header_bar_pack_start (GTK_HEADER_BAR (toolbar), self->priv->location_entry);
338 372
@@ -360,7 +394,7 @@
360 394
361 /* View buttons */395 /* View buttons */
362 box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);396 box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
363@@ -446,11 +460,14 @@397@@ -446,11 +460,14 @@ nautilus_toolbar_constructed (GObject *o
364 button = toolbar_create_toolbutton (self, FALSE, TRUE, NAUTILUS_ACTION_VIEW_GRID, NULL);398 button = toolbar_create_toolbutton (self, FALSE, TRUE, NAUTILUS_ACTION_VIEW_GRID, NULL);
365 gtk_widget_set_valign (button, GTK_ALIGN_CENTER);399 gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
366 gtk_container_add (GTK_CONTAINER (box), button);400 gtk_container_add (GTK_CONTAINER (box), button);
@@ -380,11 +414,11 @@
380 414
381 gtk_style_context_add_class (gtk_widget_get_style_context (box),415 gtk_style_context_add_class (gtk_widget_get_style_context (box),
382 GTK_STYLE_CLASS_RAISED);416 GTK_STYLE_CLASS_RAISED);
383Index: b/src/nautilus-window-menus.c417Index: nautilus-3.18.4.is.3.14.3/src/nautilus-window-menus.c
384===================================================================418===================================================================
385--- a/src/nautilus-window-menus.c419--- nautilus-3.18.4.is.3.14.3.orig/src/nautilus-window-menus.c
386+++ b/src/nautilus-window-menus.c420+++ nautilus-3.18.4.is.3.14.3/src/nautilus-window-menus.c
387@@ -473,6 +473,11 @@421@@ -473,6 +473,11 @@ action_view_radio_changed (GtkRadioActio
388 }422 }
389 423
390 static const GtkActionEntry main_entries[] = {424 static const GtkActionEntry main_entries[] = {
@@ -396,7 +430,7 @@
396 /* name, stock id, label */ { "Help", NULL, N_("_Help") },430 /* name, stock id, label */ { "Help", NULL, N_("_Help") },
397 /* name, stock id */ { NAUTILUS_ACTION_CLOSE, NULL,431 /* name, stock id */ { NAUTILUS_ACTION_CLOSE, NULL,
398 /* label, accelerator */ N_("_Close"), "<control>W",432 /* label, accelerator */ N_("_Close"), "<control>W",
399@@ -628,7 +633,7 @@433@@ -628,7 +633,7 @@ static const GtkToggleActionEntry main_t
400 static const GtkRadioActionEntry view_radio_entries[] = {434 static const GtkRadioActionEntry view_radio_entries[] = {
401 { NAUTILUS_ACTION_VIEW_LIST, "view-list-symbolic", N_("List"),435 { NAUTILUS_ACTION_VIEW_LIST, "view-list-symbolic", N_("List"),
402 "<control>1", N_("View items as a list"), 0 },436 "<control>1", N_("View items as a list"), 0 },
@@ -405,7 +439,7 @@
405 "<control>2", N_("View items as a grid of icons"), 1 }439 "<control>2", N_("View items as a grid of icons"), 1 }
406 };440 };
407 441
408@@ -662,14 +667,19 @@442@@ -662,14 +667,19 @@ nautilus_window_initialize_actions (Naut
409 * 443 *
410 * Create and install the set of menus for this window.444 * Create and install the set of menus for this window.
411 * @window: A recently-created NautilusWindow.445 * @window: A recently-created NautilusWindow.
@@ -426,7 +460,7 @@
426 460
427 window->details->ui_manager = gtk_ui_manager_new ();461 window->details->ui_manager = gtk_ui_manager_new ();
428 ui_manager = window->details->ui_manager;462 ui_manager = window->details->ui_manager;
429@@ -728,7 +738,17 @@463@@ -728,7 +738,17 @@ nautilus_window_initialize_menus (Nautil
430 G_CALLBACK (connect_proxy_cb), window);464 G_CALLBACK (connect_proxy_cb), window);
431 465
432 /* add the UI */466 /* add the UI */
@@ -444,11 +478,11 @@
444 }478 }
445 479
446 static GList *480 static GList *
447Index: b/src/nautilus-window-private.h481Index: nautilus-3.18.4.is.3.14.3/src/nautilus-window-private.h
448===================================================================482===================================================================
449--- a/src/nautilus-window-private.h483--- nautilus-3.18.4.is.3.14.3.orig/src/nautilus-window-private.h
450+++ b/src/nautilus-window-private.h484+++ nautilus-3.18.4.is.3.14.3/src/nautilus-window-private.h
451@@ -108,7 +108,7 @@485@@ -108,7 +108,7 @@ void nautilus_window_sync_up_button
452 486
453 /* window menus */487 /* window menus */
454 void nautilus_window_initialize_actions (NautilusWindow *window);488 void nautilus_window_initialize_actions (NautilusWindow *window);
@@ -457,11 +491,11 @@
457 491
458 void nautilus_window_update_show_hide_menu_items (NautilusWindow *window);492 void nautilus_window_update_show_hide_menu_items (NautilusWindow *window);
459 493
460Index: b/src/nautilus-window.c494Index: nautilus-3.18.4.is.3.14.3/src/nautilus-window.c
461===================================================================495===================================================================
462--- a/src/nautilus-window.c496--- nautilus-3.18.4.is.3.14.3.orig/src/nautilus-window.c
463+++ b/src/nautilus-window.c497+++ nautilus-3.18.4.is.3.14.3/src/nautilus-window.c
464@@ -1439,6 +1439,7 @@498@@ -1439,6 +1439,7 @@ nautilus_window_constructed (GObject *se
465 GtkWidget *grid;499 GtkWidget *grid;
466 NautilusWindowSlot *slot;500 NautilusWindowSlot *slot;
467 NautilusApplication *application;501 NautilusApplication *application;
@@ -469,7 +503,7 @@
469 const gchar * desktop;503 const gchar * desktop;
470 504
471 window = NAUTILUS_WINDOW (self);505 window = NAUTILUS_WINDOW (self);
472@@ -1460,9 +1461,14 @@506@@ -1460,9 +1461,14 @@ nautilus_window_constructed (GObject *se
473 gtk_widget_show (grid);507 gtk_widget_show (grid);
474 gtk_container_add (GTK_CONTAINER (window), grid);508 gtk_container_add (GTK_CONTAINER (window), grid);
475 509

Subscribers

People subscribed via source and target branches

to all changes: