Merge lp:~larsu/rhythmbox/add-traditional-menubar into lp:~ubuntu-desktop/rhythmbox/ubuntu

Proposed by Lars Karlitski on 2014-02-28
Status: Merged
Approved by: Sebastien Bacher on 2014-02-28
Approved revision: 222
Merged at revision: 214
Proposed branch: lp:~larsu/rhythmbox/add-traditional-menubar
Merge into: lp:~ubuntu-desktop/rhythmbox/ubuntu
Diff against target: 581 lines (+493/-6)
7 files modified
debian/changelog (+37/-0)
debian/control (+4/-3)
debian/control.in (+1/-0)
debian/patches/make-shuffle-repeat-proper-toggle-actions.patch (+116/-0)
debian/patches/restore-traditional-menubar.patch (+330/-0)
debian/patches/series (+2/-0)
debian/rules (+3/-3)
To merge this branch: bzr merge lp:~larsu/rhythmbox/add-traditional-menubar
Reviewer Review Type Date Requested Status
Sebastien Bacher 2014-02-28 Approve on 2014-02-28
Review via email: mp+208772@code.launchpad.net

Commit message

Add restore-traditional-menubar.patch

Description of the change

Add restore-traditional-menubar.patch

To post a comment you must log in.
Sebastien Bacher (seb128) wrote :

Looks mostly good, some small issues:

- repeat/shuffle are displayed unactive

- there is an empty "tools" menu (not a new issue iirc)

- the volume actions don't seem to do anything visible?

review: Needs Fixing
219. By Lars Karlitski on 2014-02-28

Correct package version

220. By Lars Karlitski on 2014-02-28

restore-menubars: move "Plugins…" to the Tools menu

So that the tools menu isn't empty when no plugin installs menu items there.

221. By Lars Karlitski on 2014-02-28

Add make-shuffle-repeat-proper-toggle-actions.patch

Lars Karlitski (larsu) wrote :

> Looks mostly good, some small issues:
>
> - repeat/shuffle are displayed unactive

This was a problem with the actions themselves. They had an unnecessary boolean parameter. I've added a patch that fixes them. It's a separate patch because it has better chances at getting accepted upstream than the menubar one (which I still hope to get in).

> - there is an empty "tools" menu (not a new issue iirc)

Fixed by moving the "Plugins" menu item from Edit to Tools as suggested by Matthew.

> - the volume actions don't seem to do anything visible?

As discussed on IRC, they do change the apps volume but are pretty useless. We decided to leave them in though.

Sebastien Bacher (seb128) wrote :

Thanks, looks good, one remaining nitpick, the "tools" menu doesn't get a separator before the plugins... entry if there are other items listed

222. By Lars Karlitski on 2014-02-28

restore-menubar: wrap Plugins menu item in a section

Lars Karlitski (larsu) wrote :

> Thanks, looks good, one remaining nitpick, the "tools" menu doesn't get a
> separator before the plugins... entry if there are other items listed

Thanks. Fixed in r222

Sebastien Bacher (seb128) wrote :

Thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2013-12-16 03:59:39 +0000
3+++ debian/changelog 2014-02-28 14:26:27 +0000
4@@ -1,3 +1,40 @@
5+rhythmbox (3.0.1-1ubuntu11) UNRELEASED; urgency=medium
6+
7+ [ Iain Lane ]
8+ * Use dh_autoreconf; drop explicit libtool.m4 patching.
9+
10+ [ Lars Uebernickel ]
11+ * Add debian/patches/restore-traditional-menubar.patch
12+ - add a traditional menu bar on desktops that show it
13+ * Add debian/patches/make-shuffle-repeat-proper-toggle-actions.patch
14+ - fixes toggle and repeat actions in the menu
15+
16+ -- Lars Uebernickel <lars.uebernickel@ubuntu.com> Fri, 28 Feb 2014 12:02:38 +0100
17+
18+rhythmbox (3.0.1-1ubuntu10) trusty; urgency=medium
19+
20+ * Don't use a python3.x shebang.
21+
22+ -- Matthias Klose <doko@ubuntu.com> Sat, 22 Feb 2014 15:50:14 +0100
23+
24+rhythmbox (3.0.1-1ubuntu9) trusty; urgency=medium
25+
26+ * Rebuild for Python 3.4.
27+
28+ -- Matthias Klose <doko@ubuntu.com> Wed, 19 Feb 2014 13:49:42 +0100
29+
30+rhythmbox (3.0.1-1ubuntu8) trusty; urgency=medium
31+
32+ * 99_ppc64el_support.patch: patch libtool.m4 and configure for ppc64el
33+
34+ -- Adam Conrad <adconrad@ubuntu.com> Mon, 30 Dec 2013 22:25:02 -0700
35+
36+rhythmbox (3.0.1-1ubuntu7) trusty; urgency=medium
37+
38+ * No change rebuild for totem-pl-parser soname bump.
39+
40+ -- Matthias Klose <doko@ubuntu.com> Sun, 22 Dec 2013 16:38:49 +0100
41+
42 rhythmbox (3.0.1-1ubuntu6) trusty; urgency=low
43
44 [ Brian Murray ]
45
46=== modified file 'debian/control'
47--- debian/control 2013-11-12 16:41:05 +0000
48+++ debian/control 2014-02-28 14:26:27 +0000
49@@ -7,10 +7,11 @@
50 Priority: optional
51 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
52 XSBC-Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
53-Uploaders: Andreas Henriksson <andreas@fatal.se>, Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>, Emilio Pozuelo Monfort <pochu@debian.org>, Jordi Mallach <jordi@debian.org>, Michael Biebl <biebl@debian.org>
54+Uploaders: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
55 Homepage: http://projects.gnome.org/rhythmbox/
56 Build-Depends: cdbs (>= 0.4.90~),
57 debhelper (>= 9),
58+ dh-autoreconf,
59 dh-python,
60 gnome-pkg-tools (>= 0.6),
61 libgirepository1.0-dev (>= 0.10.0),
62@@ -107,9 +108,9 @@
63 Architecture: all
64 Depends: ${misc:Depends},
65 Recommends: rhythmbox
66-Breaks: rhythmbox (<< 2.90.1~git20111117.f101562-1),
67+Breaks: rhythmbox (<< 3.0.1),
68 transmageddon (<< 0.20-1ubuntu2)
69-Replaces: rhythmbox (<< 2.90.1~git20111117.f101562-1),
70+Replaces: rhythmbox (<< 3.0.1),
71 transmageddon (<< 0.20-1ubuntu2)
72 Description: data files for rhythmbox
73 Rhythmbox is a very easy to use music playing and management program
74
75=== modified file 'debian/control.in'
76--- debian/control.in 2013-11-15 14:26:07 +0000
77+++ debian/control.in 2014-02-28 14:26:27 +0000
78@@ -7,6 +7,7 @@
79 Homepage: http://projects.gnome.org/rhythmbox/
80 Build-Depends: cdbs (>= 0.4.90~),
81 debhelper (>= 9),
82+ dh-autoreconf,
83 dh-python,
84 gnome-pkg-tools (>= 0.6),
85 libgirepository1.0-dev (>= 0.10.0),
86
87=== added file 'debian/patches/make-shuffle-repeat-proper-toggle-actions.patch'
88--- debian/patches/make-shuffle-repeat-proper-toggle-actions.patch 1970-01-01 00:00:00 +0000
89+++ debian/patches/make-shuffle-repeat-proper-toggle-actions.patch 2014-02-28 14:26:27 +0000
90@@ -0,0 +1,116 @@
91+From 37d0dc308bfbfdd7beb94135cd45d6239fdad85c Mon Sep 17 00:00:00 2001
92+From: Lars Uebernickel <lars@uebernic.de>
93+Date: Fri, 28 Feb 2014 13:53:03 +0100
94+Subject: [PATCH 1/2] shell: make play-{shuffle,repeat} proper toggle actions
95+
96+Remove their unused boolean parameter and toggle them when activating,
97+so that they can be used in menus.
98+---
99+ shell/rb-shell-player.c | 33 +++++++++++++++++++++++----------
100+ shell/rb-shell.c | 6 ------
101+ 2 files changed, 23 insertions(+), 16 deletions(-)
102+
103+diff --git a/shell/rb-shell-player.c b/shell/rb-shell-player.c
104+index 4b3c918..65d4d80 100644
105+--- a/shell/rb-shell-player.c
106++++ b/shell/rb-shell-player.c
107+@@ -2815,30 +2815,30 @@ play_next_action_cb (GSimpleAction *action, GVariant *parameter, gpointer user_d
108+ }
109+
110+ static void
111+-play_repeat_action_cb (GSimpleAction *action, GVariant *parameter, gpointer user_data)
112++play_repeat_action_change_state_cb (GSimpleAction *action, GVariant *state, gpointer user_data)
113+ {
114+ RBShellPlayer *player = RB_SHELL_PLAYER (user_data);
115+ const char *neworder;
116+ gboolean shuffle = FALSE;
117+- gboolean repeat = FALSE;
118++ gboolean repeat;
119+ rb_debug ("repeat changed");
120+
121+ if (player->priv->syncing_state)
122+ return;
123+
124+- rb_shell_player_get_playback_state (player, &shuffle, &repeat);
125++ repeat = g_variant_get_boolean (state);
126++ rb_shell_player_get_playback_state (player, &shuffle, NULL);
127+
128+- repeat = !repeat;
129+ neworder = state_to_play_order[shuffle ? 1 : 0][repeat ? 1 : 0];
130+ g_settings_set_string (player->priv->settings, "play-order", neworder);
131+ }
132+
133+ static void
134+-play_shuffle_action_cb (GSimpleAction *action, GVariant *parameter, gpointer user_data)
135++play_shuffle_action_change_state_cb (GSimpleAction *action, GVariant *state, gpointer user_data)
136+ {
137+ RBShellPlayer *player = RB_SHELL_PLAYER (user_data);
138+ const char *neworder;
139+- gboolean shuffle = FALSE;
140++ gboolean shuffle;
141+ gboolean repeat = FALSE;
142+
143+ if (player->priv->syncing_state)
144+@@ -2846,9 +2846,9 @@ play_shuffle_action_cb (GSimpleAction *action, GVariant *parameter, gpointer use
145+
146+ rb_debug ("shuffle changed");
147+
148+- rb_shell_player_get_playback_state (player, &shuffle, &repeat);
149++ shuffle = g_variant_get_boolean (state);
150++ rb_shell_player_get_playback_state (player, NULL, &repeat);
151+
152+- shuffle = !shuffle;
153+ neworder = state_to_play_order[shuffle ? 1 : 0][repeat ? 1 : 0];
154+ g_settings_set_string (player->priv->settings, "play-order", neworder);
155+ }
156+@@ -2949,6 +2949,19 @@ rb_shell_player_remove_play_order (RBShellPlayer *player, const char *name)
157+ }
158+
159+ static void
160++activate_toggle_action (GSimpleAction *action, GVariant *parameter, gpointer user_data)
161++{
162++ GVariant *state;
163++ gboolean on;
164++
165++ state = g_action_get_state (G_ACTION (action));
166++ on = g_variant_get_boolean (state);
167++ g_action_change_state (G_ACTION (action), g_variant_new_boolean (!on));
168++
169++ g_variant_unref (state);
170++}
171++
172++static void
173+ rb_shell_player_constructed (GObject *object)
174+ {
175+ RBApplication *app;
176+@@ -2959,8 +2972,8 @@ rb_shell_player_constructed (GObject *object)
177+ { "play", play_action_cb },
178+ { "play-previous", play_previous_action_cb },
179+ { "play-next", play_next_action_cb },
180+- { "play-repeat", play_repeat_action_cb, "b", "false" },
181+- { "play-shuffle", play_shuffle_action_cb, "b", "false" },
182++ { "play-repeat", activate_toggle_action, NULL, "false", play_repeat_action_change_state_cb },
183++ { "play-shuffle", activate_toggle_action, NULL, "false", play_shuffle_action_change_state_cb },
184+ { "volume-up", play_volume_up_action_cb },
185+ { "volume-down", play_volume_down_action_cb }
186+ };
187+diff --git a/shell/rb-shell.c b/shell/rb-shell.c
188+index add6c65..02e057a 100644
189+--- a/shell/rb-shell.c
190++++ b/shell/rb-shell.c
191+@@ -755,12 +755,6 @@ construct_load_ui (RBShell *shell)
192+ rtl ? "media-playback-start-rtl-symbolic" : "media-playback-start-symbolic",
193+ GTK_ICON_SIZE_LARGE_TOOLBAR);
194+
195+- /* this seems a bit unnecessary */
196+- gtk_actionable_set_action_target_value (GTK_ACTIONABLE (gtk_builder_get_object (builder, "shuffle-button")),
197+- g_variant_new_boolean (TRUE));
198+- gtk_actionable_set_action_target_value (GTK_ACTIONABLE (gtk_builder_get_object (builder, "repeat-button")),
199+- g_variant_new_boolean (TRUE));
200+-
201+ gtk_style_context_add_class (gtk_widget_get_style_context (toolbar),
202+ GTK_STYLE_CLASS_PRIMARY_TOOLBAR);
203+ gtk_box_pack_start (GTK_BOX (shell->priv->main_vbox), toolbar, FALSE, FALSE, 0);
204+--
205+1.9.0
206+
207
208=== added file 'debian/patches/restore-traditional-menubar.patch'
209--- debian/patches/restore-traditional-menubar.patch 1970-01-01 00:00:00 +0000
210+++ debian/patches/restore-traditional-menubar.patch 2014-02-28 14:26:27 +0000
211@@ -0,0 +1,330 @@
212+From 16b27bfe1f79cbe19b8f32e035ce4a71716e1610 Mon Sep 17 00:00:00 2001
213+From: Lars Uebernickel <lars.uebernickel@canonical.com>
214+Date: Fri, 28 Feb 2014 14:42:36 +0100
215+Subject: [PATCH] Restore traditional menu bar for desktops that show it
216+
217+https://bugzilla.gnome.org/show_bug.cgi?id=712357
218+---
219+ data/ui/Makefile.am | 1 +
220+ data/ui/menubar.ui | 241 +++++++++++++++++++++++++++++++++++++++++++++++++
221+ po/POTFILES.in | 1 +
222+ shell/rb-application.c | 15 ++-
223+ 4 files changed, 257 insertions(+), 1 deletion(-)
224+ create mode 100644 data/ui/menubar.ui
225+
226+diff --git a/data/ui/Makefile.am b/data/ui/Makefile.am
227+index cebefea..a2b89f1 100644
228+--- a/data/ui/Makefile.am
229++++ b/data/ui/Makefile.am
230+@@ -1,6 +1,7 @@
231+
232+ GTK_BUILDER_FILES = \
233+ app-menu.ui \
234++ menubar.ui \
235+ browser-popup.ui \
236+ create-playlist.ui \
237+ display-page-add-menu.ui \
238+diff --git a/data/ui/menubar.ui b/data/ui/menubar.ui
239+new file mode 100644
240+index 0000000..3459503
241+--- /dev/null
242++++ b/data/ui/menubar.ui
243+@@ -0,0 +1,241 @@
244++<?xml version="1.0"?>
245++<interface>
246++ <menu id="menubar">
247++ <submenu>
248++ <attribute name="label" translatable="yes">_Music</attribute>
249++ <item>
250++ <attribute name="label" translatable="yes">_Add Music…</attribute>
251++ <attribute name="action">app.library-import</attribute>
252++ <attribute name="accel">&lt;Ctrl&gt;O</attribute>
253++ </item>
254++ <item>
255++ <attribute name="label" translatable="yes">_Check for New Devices</attribute>
256++ <attribute name="action">app.check-devices</attribute>
257++ </item>
258++ <item>
259++ <attribute name="label" translatable="yes">_Playlist</attribute>
260++ <link name="submenu">
261++ <section>
262++ <item>
263++ <attribute name="label" translatable="yes">_New Playlist…</attribute>
264++ <attribute name="action">app.playlist-new</attribute>
265++ <attribute name="accel">&lt;Ctrl&gt;N</attribute>
266++ </item>
267++ <item>
268++ <attribute name="label" translatable="yes">New _Automatic Playlist…</attribute>
269++ <attribute name="action">app.playlist-new-auto</attribute>
270++ </item>
271++ <item>
272++ <attribute name="label" translatable="yes">_Load from File…</attribute>
273++ <attribute name="action">app.playlist-load</attribute>
274++ </item>
275++ <item>
276++ <attribute name="label" translatable="yes">_Save to File…</attribute>
277++ <attribute name="action">app.playlist-save</attribute>
278++ <attribute name="accel">&lt;Ctrl&gt;S</attribute>
279++ </item>
280++ <item>
281++ <attribute name="label" translatable="yes">_Edit…</attribute>
282++ <attribute name="action">app.playlist-edit</attribute>
283++ </item>
284++ </section>
285++ <section>
286++ <item>
287++ <attribute name="label" translatable="yes">_Delete</attribute>
288++ <attribute name="action">app.display-page-remove</attribute>
289++ </item>
290++ </section>
291++ </link>
292++ </item>
293++ <section>
294++ <item>
295++ <attribute name="label" translatable="yes">Pr_operties</attribute>
296++ <attribute name="action">app.clipboard-properties</attribute>
297++ </item>
298++ </section>
299++ <section>
300++ <item>
301++ <attribute name="label" translatable="yes">_Close</attribute>
302++ <attribute name="action">app.quit</attribute>
303++ <attribute name="accel">&lt;Ctrl&gt;W</attribute>
304++ </item>
305++ </section>
306++ </submenu>
307++ <submenu>
308++ <attribute name="label" translatable="yes">_Edit</attribute>
309++ <section>
310++ <item>
311++ <attribute name="label" translatable="yes">Cu_t</attribute>
312++ <attribute name="action">app.clipboard-cut</attribute>
313++ <attribute name="accel">&lt;Ctrl&gt;X</attribute>
314++ </item>
315++ <item>
316++ <attribute name="label" translatable="yes">_Copy</attribute>
317++ <attribute name="action">app.clipboard-copy</attribute>
318++ <attribute name="accel">&lt;Ctrl&gt;C</attribute>
319++ </item>
320++ <item>
321++ <attribute name="label" translatable="yes">_Paste</attribute>
322++ <attribute name="action">app.clipboard-paste</attribute>
323++ <attribute name="accel">&lt;Ctrl&gt;V</attribute>
324++ </item>
325++ </section>
326++ <section>
327++ <item>
328++ <attribute name="label" translatable="yes">Select _All</attribute>
329++ <attribute name="action">app.clipboard-select-all</attribute>
330++ <attribute name="accel">&lt;Ctrl&gt;A</attribute>
331++ </item>
332++ <item>
333++ <attribute name="label" translatable="yes">D_eselect All</attribute>
334++ <attribute name="action">app.clipboard-select-none</attribute>
335++ <attribute name="accel">&lt;Ctrl&gt;&lt;Shift&gt;A</attribute>
336++ </item>
337++ </section>
338++ <section>
339++ <item>
340++ <attribute name="label" translatable="yes">Add _to Play Queue</attribute>
341++ <attribute name="action">app.clipboard-add-to-queue</attribute>
342++ </item>
343++ <item>
344++ <attribute name="label" translatable="yes">Add to _Playlist</attribute>
345++ <link name="submenu">
346++ <item>
347++ <attribute name="label" translatable="yes">_New Playlist</attribute>
348++ <attribute name="action">app.playlist-add-to-new</attribute>
349++ </item>
350++ </link>
351++ </item>
352++ </section>
353++ <section>
354++ <item>
355++ <attribute name="label" translatable="yes">_Move to Trash</attribute>
356++ <attribute name="action">app.clipboard-trash</attribute>
357++ </item>
358++ </section>
359++ <section>
360++ <item>
361++ <attribute name="label" translatable="yes">Prefere_nces</attribute>
362++ <attribute name="action">app.preferences</attribute>
363++ </item>
364++ </section>
365++ </submenu>
366++ <submenu>
367++ <attribute name="label" translatable="yes">_View</attribute>
368++ <section>
369++ <item>
370++ <attribute name="label" translatable="yes">Party _Mode</attribute>
371++ <attribute name="action">win.party-mode</attribute>
372++ <attribute name="accel">F11</attribute>
373++ </item>
374++ </section>
375++ <section>
376++ <item>
377++ <attribute name="label" translatable="yes">Side _Pane</attribute>
378++ <attribute name="action">win.display-page-tree-visible</attribute>
379++ <attribute name="accel">F9</attribute>
380++ </item>
381++ <item>
382++ <attribute name="label" translatable="yes">View _Queue as Side Pane</attribute>
383++ <attribute name="action">win.queue-as-sidebar</attribute>
384++ <attribute name="accel">&lt;Ctrl&gt;K</attribute>
385++ </item>
386++ <item>
387++ <attribute name="label" translatable="yes">S_tatusbar</attribute>
388++ <attribute name="action">win.statusbar-visible</attribute>
389++ </item>
390++ <item>
391++ <attribute name="label" translatable="yes">_Song Position Slider</attribute>
392++ <attribute name="action">win.show-song-position-slider</attribute>
393++ </item>
394++ <item>
395++ <attribute name="label" translatable="yes">_Album Art</attribute>
396++ <attribute name="action">win.show-album-art</attribute>
397++ </item>
398++ </section>
399++ <section>
400++ <item>
401++ <attribute name="label" translatable="yes">_Jump to Playing Song</attribute>
402++ <attribute name="action">win.jump-to-playing</attribute>
403++ <attribute name="accel">&lt;Ctrl&gt;J</attribute>
404++ </item>
405++ </section>
406++ <section>
407++ <attribute name="rb-plugin-menu-link">view</attribute>
408++ </section>
409++ </submenu>
410++ <submenu>
411++ <attribute name="label" translatable="yes">_Control</attribute>
412++ <section>
413++ <item>
414++ <attribute name="label" translatable="yes">_Play</attribute>
415++ <attribute name="action">app.play</attribute>
416++ <attribute name="accel">&lt;Ctrl&gt;space</attribute>
417++ </item>
418++ </section>
419++ <section>
420++ <item>
421++ <attribute name="label" translatable="yes">Pre_vious</attribute>
422++ <attribute name="action">app.play-previous</attribute>
423++ <attribute name="accel">&lt;Alt&gt;Left</attribute>
424++ </item>
425++ <item>
426++ <attribute name="label" translatable="yes">_Next</attribute>
427++ <attribute name="action">app.play-next</attribute>
428++ <attribute name="accel">&lt;Alt&gt;Right</attribute>
429++ </item>
430++ </section>
431++ <section>
432++ <item>
433++ <attribute name="label" translatable="yes">_Increase Volume</attribute>
434++ <attribute name="action">app.volume-up</attribute>
435++ <attribute name="accel">&lt;Ctrl&gt;Up</attribute>
436++ </item>
437++ <item>
438++ <attribute name="label" translatable="yes">_Decrease Volume</attribute>
439++ <attribute name="action">app.volume-down</attribute>
440++ <attribute name="accel">&lt;Ctrl&gt;Down</attribute>
441++ </item>
442++ </section>
443++ <section>
444++ <item>
445++ <attribute name="label" translatable="yes">Sh_uffle</attribute>
446++ <attribute name="action">app.play-shuffle</attribute>
447++ <attribute name="accel">&lt;Ctrl&gt;U</attribute>
448++ </item>
449++ <item>
450++ <attribute name="label" translatable="yes">_Repeat</attribute>
451++ <attribute name="action">app.play-repeat</attribute>
452++ <attribute name="accel">&lt;Ctrl&gt;R</attribute>
453++ </item>
454++ </section>
455++ </submenu>
456++ <submenu>
457++ <attribute name="label" translatable="yes">_Tools</attribute>
458++ <section>
459++ <attribute name="rb-plugin-menu-link">tools</attribute>
460++ </section>
461++ <section>
462++ <item>
463++ <attribute name="label" translatable="yes">Plu_gins…</attribute>
464++ <attribute name="action">app.plugins</attribute>
465++ </item>
466++ </section>
467++ </submenu>
468++ <submenu>
469++ <attribute name="label" translatable="yes">_Help</attribute>
470++ <section>
471++ <item>
472++ <attribute name="label" translatable="yes">_Contents</attribute>
473++ <attribute name="action">app.help</attribute>
474++ <attribute name="accel">F1</attribute>
475++ </item>
476++ <item>
477++ <attribute name="label" translatable="yes">_About</attribute>
478++ <attribute name="action">app.about</attribute>
479++ </item>
480++ </section>
481++ </submenu>
482++ </menu>
483++</interface>
484++
485+diff --git a/po/POTFILES.in b/po/POTFILES.in
486+index 15d5d81..b6123c5 100644
487+--- a/po/POTFILES.in
488++++ b/po/POTFILES.in
489+@@ -7,6 +7,7 @@ data/playlists.xml.in
490+ data/rhythmbox.desktop.in.in
491+ data/rhythmbox-device.desktop.in.in
492+ [type: gettext/glade]data/ui/app-menu.ui
493++[type: gettext/glade]data/ui/menubar.ui
494+ [type: gettext/glade]data/ui/browser-popup.ui
495+ [type: gettext/glade]data/ui/create-playlist.ui
496+ [type: gettext/glade]data/ui/display-page-add-menu.ui
497+diff --git a/shell/rb-application.c b/shell/rb-application.c
498+index 11945ad..c57822c 100644
499+--- a/shell/rb-application.c
500++++ b/shell/rb-application.c
501+@@ -332,6 +332,7 @@ impl_startup (GApplication *app)
502+ {
503+ RBApplication *rb = RB_APPLICATION (app);
504+ gboolean shell_shows_app_menu;
505++ gboolean shell_shows_menubar;
506+ GtkBuilder *builder;
507+ GMenuModel *menu;
508+ GtkCssProvider *provider;
509+@@ -361,6 +362,7 @@ impl_startup (GApplication *app)
510+
511+ g_object_get (gtk_settings_get_default (),
512+ "gtk-shell-shows-app-menu", &shell_shows_app_menu,
513++ "gtk-shell-shows-menubar", &shell_shows_menubar,
514+ NULL);
515+
516+ builder = rb_builder_load ("app-menu.ui", NULL);
517+@@ -371,9 +373,20 @@ impl_startup (GApplication *app)
518+ /* only set the app menu if the shell shows it; otherwise, we'll
519+ * stick a menu button in the toolbar.
520+ */
521+- if (shell_shows_app_menu) {
522++ if (shell_shows_app_menu && !shell_shows_menubar) {
523+ gtk_application_set_app_menu (GTK_APPLICATION (app), menu);
524+ }
525++ else if (!shell_shows_app_menu || shell_shows_menubar) {
526++ GtkBuilder *menubar_builder;
527++ GMenuModel *menubar;
528++
529++ menubar_builder = rb_builder_load ("menubar.ui", NULL);
530++ menubar = G_MENU_MODEL (gtk_builder_get_object (menubar_builder, "menubar"));
531++ rb_application_link_shared_menus (rb, G_MENU (menubar));
532++ gtk_application_set_menubar (GTK_APPLICATION (app), menubar);
533++
534++ g_object_unref (menubar_builder);
535++ }
536+
537+ g_object_unref (builder);
538+
539+--
540+1.9.0
541+
542
543=== modified file 'debian/patches/series'
544--- debian/patches/series 2013-11-15 14:32:32 +0000
545+++ debian/patches/series 2014-02-28 14:26:27 +0000
546@@ -5,3 +5,5 @@
547 07_quicklists.patch
548 10_encoding_use_ubuntu_profiles.patch
549 git_correct_action_in_queue_.patch
550+make-shuffle-repeat-proper-toggle-actions.patch
551+restore-traditional-menubar.patch
552
553=== modified file 'debian/rules'
554--- debian/rules 2013-10-24 10:01:07 +0000
555+++ debian/rules 2014-02-28 14:26:27 +0000
556@@ -1,6 +1,6 @@
557 #!/usr/bin/make -f
558
559-#include /usr/share/cdbs/1/rules/autoreconf.mk
560+include /usr/share/cdbs/1/rules/autoreconf.mk
561 include /usr/share/cdbs/1/rules/debhelper.mk
562 include /usr/share/cdbs/1/rules/utils.mk
563 include /usr/share/cdbs/1/class/gnome.mk
564@@ -8,7 +8,7 @@
565 include /usr/share/gnome-pkg-tools/1/rules/gnome-version.mk
566 -include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk
567
568-#DEB_CONFIGURE_SCRIPT := ./autogen.sh
569+DEB_DH_AUTORECONF_ARGS := --as-needed ./autogen.sh
570
571 DEB_CONFIGURE_EXTRA_FLAGS += --enable-lirc \
572 --disable-scrollkeeper \
573@@ -41,7 +41,7 @@
574 $(patsubst %,binary-post-install/%,$(DEB_PACKAGES)) ::
575 find debian/$(cdbs_curpkg) -name '*.a' -delete
576 find debian/$(cdbs_curpkg) -name '*.la' -delete
577- dh_python3 --no-ext-rename -p$(cdbs_curpkg) /usr/lib/rhythmbox
578+ dh_python3 --shebang=/usr/bin/python3 --no-ext-rename -p$(cdbs_curpkg) /usr/lib/rhythmbox
579
580 # List any files which are not installed
581 common-binary-post-install-arch:: list-missing

Subscribers

People subscribed via source and target branches