Merge lp:~larsu/rhythmbox/add-traditional-menubar into lp:~ubuntu-desktop/rhythmbox/ubuntu
- add-traditional-menubar
- Merge into ubuntu
Status: | Merged |
---|---|
Approved by: | Sebastien Bacher |
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 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sebastien Bacher | Approve | ||
Review via email: mp+208772@code.launchpad.net |
Commit message
Add restore-
Description of the change
Add restore-
- 219. By Lars Karlitski
-
Correct package version
- 220. By Lars Karlitski
-
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
-
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
-
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
Preview Diff
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"><Ctrl>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"><Ctrl>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"><Ctrl>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"><Ctrl>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"><Ctrl>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"><Ctrl>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"><Ctrl>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"><Ctrl>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"><Ctrl><Shift>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"><Ctrl>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"><Ctrl>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"><Ctrl>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"><Alt>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"><Alt>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"><Ctrl>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"><Ctrl>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"><Ctrl>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"><Ctrl>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 |
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?