Merge lp:~vanvugt/totem/fix-1502476 into lp:~ubuntu-desktop/totem/ubuntu
- fix-1502476
- Merge into ubuntu
Proposed by
Daniel van Vugt
on 2017-11-03
| Status: | Needs review |
|---|---|
| Proposed branch: | lp:~vanvugt/totem/fix-1502476 |
| Merge into: | lp:~ubuntu-desktop/totem/ubuntu |
| Diff against target: |
1203 lines (+13/-1149) 7 files modified
debian/changelog (+13/-0) debian/patches/0001-Add-a-traditional-menubar.patch (+0/-788) debian/patches/0001-totem-open-location-Respect-gtk-dialogs-use-header-s.patch (+0/-33) debian/patches/0002-preferences-Respect-gtk-dialogs-use-header-setting.patch (+0/-130) debian/patches/0003-totem-movie-properties-Respect-gtk-dialogs-use-heade.patch (+0/-45) debian/patches/series (+0/-5) debian/patches/ubuntu-use-traditional-titlebars.patch (+0/-148) |
| To merge this branch: | bzr merge lp:~vanvugt/totem/fix-1502476 |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Jeremy Bicha | 2017-11-03 | Needs Information on 2017-11-06 | |
| Ubuntu Sponsors Team | 2017-11-03 | Pending | |
|
Review via email:
|
|||
Commit Message
Drop patches that provided old-style decorations and menus for Unity7.
This conveniently also fixes LP: #1502476
Description of the Change
To post a comment you must log in.
Unmerged revisions
- 268. By Daniel van Vugt on 2017-11-03
-
Bump version to include Jeremy's stealth change
- 267. By Daniel van Vugt on 2017-11-03
-
Drop patches that tried to restore the Gnome 2.x look and feel for the sake
of Unity7.
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 2017-10-11 23:32:55 +0000 |
| 3 | +++ debian/changelog 2017-11-03 10:19:15 +0000 |
| 4 | @@ -1,3 +1,16 @@ |
| 5 | +totem (3.26.0-0ubuntu3) UNRELEASED; urgency=medium |
| 6 | + |
| 7 | + * Drop patches that provided old-style decorations and menus for Unity7. |
| 8 | + This conveniently also fixes LP: #1502476. |
| 9 | + |
| 10 | + -- Daniel van Vugt <daniel.van.vugt@canonical.com> Fri, 03 Nov 2017 17:42:51 +0800 |
| 11 | + |
| 12 | +totem (3.26.0-0ubuntu2) bionic; urgency=medium |
| 13 | + |
| 14 | + * No-change rebuild against latest totem-pl-parser |
| 15 | + |
| 16 | + -- Jeremy Bicha <jbicha@ubuntu.com> Thu, 26 Oct 2017 19:24:20 -0400 |
| 17 | + |
| 18 | totem (3.26.0-0ubuntu1) artful; urgency=medium |
| 19 | |
| 20 | [ Jeremy Bicha ] |
| 21 | |
| 22 | === removed file 'debian/patches/0001-Add-a-traditional-menubar.patch' |
| 23 | --- debian/patches/0001-Add-a-traditional-menubar.patch 2017-08-13 23:27:59 +0000 |
| 24 | +++ debian/patches/0001-Add-a-traditional-menubar.patch 1970-01-01 00:00:00 +0000 |
| 25 | @@ -1,788 +0,0 @@ |
| 26 | -From 684dd62ef6674c75d8059c048098c817e766b192 Mon Sep 17 00:00:00 2001 |
| 27 | -From: Lars Uebernickel <lars.uebernickel@canonical.com> |
| 28 | -Date: Thu, 21 May 2015 21:46:45 +0200 |
| 29 | -Subject: [PATCH] Add a traditional menubar |
| 30 | - |
| 31 | -Some desktops prefer a traditional menubar over an app menu. |
| 32 | -GtkApplication can detect this and loads menus from different resources |
| 33 | -depending on the environment. |
| 34 | - |
| 35 | -Thus, move the exisiting menus into resources instead of manually |
| 36 | -loading them from totem's main ui file and add a traditional menubar |
| 37 | -(contributed by Tim Lunn <tim@feathertop.org>). |
| 38 | - |
| 39 | -Only show the gear menu when not showing the menubar. |
| 40 | - |
| 41 | -https://bugzilla.gnome.org/show_bug.cgi?id=749695 |
| 42 | - |
| 43 | ---- |
| 44 | - data/meson.build | 5 + |
| 45 | - data/totem.ui | 164 -------------------------------------------- |
| 46 | - po/POTFILES.in | 3 |
| 47 | - src/grilo.gresource.xml | 5 + |
| 48 | - src/menus-appmenu.ui | 109 +++++++++++++++++++++++++++++ |
| 49 | - src/menus-common.ui | 60 ++++++++++++++++ |
| 50 | - src/menus-traditional.ui | 175 +++++++++++++++++++++++++++++++++++++++++++++++ |
| 51 | - src/totem-menu.c | 4 - |
| 52 | - src/totem-object.c | 95 +++++++++++++------------ |
| 53 | - 9 files changed, 405 insertions(+), 215 deletions(-) |
| 54 | - create mode 100644 src/menus-appmenu.ui |
| 55 | - create mode 100644 src/menus-common.ui |
| 56 | - create mode 100644 src/menus-traditional.ui |
| 57 | - |
| 58 | ---- a/data/meson.build |
| 59 | -+++ b/data/meson.build |
| 60 | -@@ -46,7 +46,10 @@ ui_files = files( |
| 61 | - 'properties.ui', |
| 62 | - 'shortcuts.ui', |
| 63 | - 'totem.ui', |
| 64 | -- 'uri.ui' |
| 65 | -+ 'uri.ui', |
| 66 | -+ '../src/menus-appmenu.ui', |
| 67 | -+ '../src/menus-traditional.ui', |
| 68 | -+ '../src/menus-common.ui' |
| 69 | - ) |
| 70 | - |
| 71 | - install_data( |
| 72 | ---- a/data/totem.ui |
| 73 | -+++ b/data/totem.ui |
| 74 | -@@ -4,170 +4,6 @@ |
| 75 | - <interface> |
| 76 | - <requires lib="gtk+" version="3.11"/> |
| 77 | - |
| 78 | --<menu id="appmenu"> |
| 79 | -- <section> |
| 80 | -- <item> |
| 81 | -- <attribute name="label" translatable="yes">Prefere_nces</attribute> |
| 82 | -- <attribute name="action">app.preferences</attribute> |
| 83 | -- </item> |
| 84 | -- </section> |
| 85 | -- <section id="python-console-placeholder"/> |
| 86 | -- <section> |
| 87 | -- <item> |
| 88 | -- <attribute name="label" translatable="yes">_Keyboard Shortcuts</attribute> |
| 89 | -- <attribute name="action">app.shortcuts</attribute> |
| 90 | -- </item> |
| 91 | -- <item> |
| 92 | -- <attribute name="label" translatable="yes">_Help</attribute> |
| 93 | -- <attribute name="action">app.help</attribute> |
| 94 | -- <attribute name="accel">F1</attribute> |
| 95 | -- </item> |
| 96 | -- <item> |
| 97 | -- <attribute name="label" translatable="yes">_Quit</attribute> |
| 98 | -- <attribute name="action">app.quit</attribute> |
| 99 | -- <attribute name="accel"><Ctrl>Q</attribute> |
| 100 | -- </item> |
| 101 | -- </section> |
| 102 | --</menu> |
| 103 | -- |
| 104 | --<menu id="addmenu"> |
| 105 | -- <section> |
| 106 | -- <item> |
| 107 | -- <attribute name="label" translatable="yes">Add _Local Video…</attribute> |
| 108 | -- <attribute name="action">app.open</attribute> |
| 109 | -- <attribute name="accel"><Ctrl>O</attribute> |
| 110 | -- </item> |
| 111 | -- <item> |
| 112 | -- <attribute name="label" translatable="yes">Add _Web Video…</attribute> |
| 113 | -- <attribute name="action">app.open-location</attribute> |
| 114 | -- <attribute name="accel"><Ctrl>L</attribute> |
| 115 | -- </item> |
| 116 | -- </section> |
| 117 | --</menu> |
| 118 | -- |
| 119 | --<menu id="playermenu"> |
| 120 | -- <section> |
| 121 | -- <section id="save-placeholder"/> |
| 122 | -- <section id="burn-placeholder"/> |
| 123 | -- </section> |
| 124 | -- <section> |
| 125 | -- <section id="screenshot-placeholder"/> |
| 126 | -- </section> |
| 127 | -- <section> |
| 128 | -- <submenu> |
| 129 | -- <attribute name="label" translatable="yes">_Aspect Ratio</attribute> |
| 130 | -- <section> |
| 131 | -- <item> |
| 132 | -- <attribute name="label" translatable="yes" comments="Translators: an entry in the 'Aspect Ratio' menu, used to choose the displayed aspect ratio of a video" context="Aspect ratio">Auto</attribute> |
| 133 | -- <attribute name="action">app.aspect-ratio</attribute> |
| 134 | -- <attribute name="target" type="i">0</attribute> |
| 135 | -- </item> |
| 136 | -- <item> |
| 137 | -- <attribute name="label" translatable="yes" comments="Translators: an entry in the 'Aspect Ratio' menu, used to choose the displayed aspect ratio of a video" context="Aspect ratio">Square</attribute> |
| 138 | -- <attribute name="action">app.aspect-ratio</attribute> |
| 139 | -- <attribute name="target" type="i">1</attribute> |
| 140 | -- </item> |
| 141 | -- <item> |
| 142 | -- <attribute name="label" translatable="yes" comments="Translators: an entry in the 'Aspect Ratio' menu, used to choose the displayed aspect ratio of a video" context="Aspect ratio">4∶3 (TV)</attribute> |
| 143 | -- <attribute name="action">app.aspect-ratio</attribute> |
| 144 | -- <attribute name="target" type="i">2</attribute> |
| 145 | -- </item> |
| 146 | -- <item> |
| 147 | -- <attribute name="label" translatable="yes" comments="Translators: an entry in the 'Aspect Ratio' menu, used to choose the displayed aspect ratio of a video" context="Aspect ratio">16∶9 (Widescreen)</attribute> |
| 148 | -- <attribute name="action">app.aspect-ratio</attribute> |
| 149 | -- <attribute name="target" type="i">3</attribute> |
| 150 | -- </item> |
| 151 | -- <item> |
| 152 | -- <attribute name="label" translatable="yes" comments="Translators: an entry in the 'Aspect Ratio' menu, used to choose the displayed aspect ratio of a video" context="Aspect ratio">2.11∶1 (DVB)</attribute> |
| 153 | -- <attribute name="action">app.aspect-ratio</attribute> |
| 154 | -- <attribute name="target" type="i">4</attribute> |
| 155 | -- </item> |
| 156 | -- </section> |
| 157 | -- </submenu> |
| 158 | -- <item> |
| 159 | -- <attribute name="label" translatable="yes">Zoom In</attribute> |
| 160 | -- <attribute name="action">app.zoom</attribute> |
| 161 | -- </item> |
| 162 | -- <section id="rotation-placeholder"/> |
| 163 | -- <item> |
| 164 | -- <attribute name="label" translatable="yes">Switch An_gles</attribute> |
| 165 | -- <attribute name="action">app.next-angle</attribute> |
| 166 | -- <attribute name="accel"><Ctrl>G</attribute> |
| 167 | -- </item> |
| 168 | -- </section> |
| 169 | -- <section> |
| 170 | -- <submenu> |
| 171 | -- <attribute name="label" translatable="yes">_Languages</attribute> |
| 172 | -- <section id="languages-placeholder"/> |
| 173 | -- </submenu> |
| 174 | -- <submenu> |
| 175 | -- <attribute name="label" translatable="yes">S_ubtitles</attribute> |
| 176 | -- <section> |
| 177 | -- <item> |
| 178 | -- <attribute name="label" translatable="yes">_Select Text Subtitles…</attribute> |
| 179 | -- <attribute name="action">app.select-subtitle</attribute> |
| 180 | -- </item> |
| 181 | -- <section id="subtitle-download-placeholder"/> |
| 182 | -- <section id="subtitles-placeholder"/> |
| 183 | -- </section> |
| 184 | -- </submenu> |
| 185 | -- </section> |
| 186 | -- <section> |
| 187 | -- <section id="properties-placeholder"/> |
| 188 | -- </section> |
| 189 | -- <section> |
| 190 | -- <item> |
| 191 | -- <attribute name="label" translatable="yes">_Eject</attribute> |
| 192 | -- <attribute name="action">app.eject</attribute> |
| 193 | -- <attribute name="accel"><Ctrl>E</attribute> |
| 194 | -- <attribute name="hidden-when">action-disabled</attribute> |
| 195 | -- </item> |
| 196 | -- </section> |
| 197 | --</menu> |
| 198 | -- |
| 199 | --<menu id="gomenu"> |
| 200 | -- <section> |
| 201 | -- <item> |
| 202 | -- <attribute name="label" translatable="yes">_Repeat</attribute> |
| 203 | -- <attribute name="action">app.repeat</attribute> |
| 204 | -- </item> |
| 205 | -- </section> |
| 206 | -- <section> |
| 207 | -- <item> |
| 208 | -- <attribute name="label" translatable="yes">_DVD Menu</attribute> |
| 209 | -- <attribute name="action">app.dvd-root-menu</attribute> |
| 210 | -- <attribute name="accel"><Ctrl>M</attribute> |
| 211 | -- <attribute name="hidden-when">action-disabled</attribute> |
| 212 | -- </item> |
| 213 | -- <item> |
| 214 | -- <attribute name="label" translatable="yes">_Title Menu</attribute> |
| 215 | -- <attribute name="action">app.dvd-title-menu</attribute> |
| 216 | -- <attribute name="hidden-when">action-disabled</attribute> |
| 217 | -- </item> |
| 218 | -- <item> |
| 219 | -- <attribute name="label" translatable="yes">A_udio Menu</attribute> |
| 220 | -- <attribute name="action">app.dvd-audio-menu</attribute> |
| 221 | -- <attribute name="hidden-when">action-disabled</attribute> |
| 222 | -- </item> |
| 223 | -- <item> |
| 224 | -- <attribute name="label" translatable="yes">_Angle Menu</attribute> |
| 225 | -- <attribute name="action">app.dvd-angle-menu</attribute> |
| 226 | -- <attribute name="hidden-when">action-disabled</attribute> |
| 227 | -- </item> |
| 228 | -- <item> |
| 229 | -- <attribute name="label" translatable="yes">_Chapter Menu</attribute> |
| 230 | -- <attribute name="action">app.dvd-chapter-menu</attribute> |
| 231 | -- <attribute name="hidden-when">action-disabled</attribute> |
| 232 | -- </item> |
| 233 | -- </section> |
| 234 | -- <section> |
| 235 | -- <section id="skipto-placeholder"/> |
| 236 | -- </section> |
| 237 | -- <section id="variable-rate-placeholder"> |
| 238 | -- <attribute name="label" translatable="yes">Speed</attribute> |
| 239 | -- </section> |
| 240 | --</menu> |
| 241 | -- |
| 242 | - <object class="GtkAdjustment" id="tmw_seek_adjustment"> |
| 243 | - <property name="lower">0</property> |
| 244 | - <property name="upper">0</property> |
| 245 | ---- a/po/POTFILES.in |
| 246 | -+++ b/po/POTFILES.in |
| 247 | -@@ -5,6 +5,9 @@ data/appdata/org.gnome.Totem.appdata.xml |
| 248 | - [type: gettext/glade]data/controls.ui |
| 249 | - data/org.gnome.Totem.desktop.in.in |
| 250 | - [type: gettext/gsettings]data/org.gnome.totem.gschema.xml.in |
| 251 | -+[type: gettext/glade]src/menus-appmenu.ui |
| 252 | -+[type: gettext/glade]src/menus-common.ui |
| 253 | -+[type: gettext/glade]src/menus-traditional.ui |
| 254 | - [type: gettext/glade]data/playlist.ui |
| 255 | - [type: gettext/glade]data/preferences.ui |
| 256 | - [type: gettext/glade]data/properties.ui |
| 257 | ---- a/src/grilo.gresource.xml |
| 258 | -+++ b/src/grilo.gresource.xml |
| 259 | -@@ -6,4 +6,9 @@ |
| 260 | - <file compressed="true">grilo.ui</file> |
| 261 | - <file compressed="true">totem-grilo.conf</file> |
| 262 | - </gresource> |
| 263 | -+ <gresource prefix="/org/gnome/Totem"> |
| 264 | -+ <file alias="gtk/menus-appmenu.ui" preprocess="xml-stripblanks">menus-appmenu.ui</file> |
| 265 | -+ <file alias="gtk/menus-traditional.ui" preprocess="xml-stripblanks">menus-traditional.ui</file> |
| 266 | -+ <file alias="gtk/menus-common.ui" preprocess="xml-stripblanks">menus-common.ui</file> |
| 267 | -+ </gresource> |
| 268 | - </gresources> |
| 269 | ---- /dev/null |
| 270 | -+++ b/src/menus-appmenu.ui |
| 271 | -@@ -0,0 +1,109 @@ |
| 272 | -+<?xml version="1.0" encoding="UTF-8"?> |
| 273 | -+<interface> |
| 274 | -+ <menu id="app-menu"> |
| 275 | -+ <section> |
| 276 | -+ <item> |
| 277 | -+ <attribute name="label" translatable="yes">Prefere_nces</attribute> |
| 278 | -+ <attribute name="action">app.preferences</attribute> |
| 279 | -+ </item> |
| 280 | -+ </section> |
| 281 | -+ <section id="python-console-placeholder"/> |
| 282 | -+ <section> |
| 283 | -+ <item> |
| 284 | -+ <attribute name="label" translatable="yes">_Keyboard Shortcuts</attribute> |
| 285 | -+ <attribute name="action">app.shortcuts</attribute> |
| 286 | -+ </item> |
| 287 | -+ <item> |
| 288 | -+ <attribute name="label" translatable="yes">_Help</attribute> |
| 289 | -+ <attribute name="action">app.help</attribute> |
| 290 | -+ <attribute name="accel">F1</attribute> |
| 291 | -+ </item> |
| 292 | -+ <item> |
| 293 | -+ <attribute name="label" translatable="yes">_Quit</attribute> |
| 294 | -+ <attribute name="action">app.quit</attribute> |
| 295 | -+ <attribute name="accel"><Ctrl>Q</attribute> |
| 296 | -+ </item> |
| 297 | -+ </section> |
| 298 | -+ </menu> |
| 299 | -+ |
| 300 | -+ <menu id="playermenu"> |
| 301 | -+ <section> |
| 302 | -+ <section id="save-placeholder"/> |
| 303 | -+ <section id="burn-placeholder"/> |
| 304 | -+ </section> |
| 305 | -+ <section> |
| 306 | -+ <section id="screenshot-placeholder"/> |
| 307 | -+ </section> |
| 308 | -+ <section> |
| 309 | -+ <submenu> |
| 310 | -+ <attribute name="label" translatable="yes">_Aspect Ratio</attribute> |
| 311 | -+ <section> |
| 312 | -+ <item> |
| 313 | -+ <attribute name="label" translatable="yes" comments="Translators: an entry in the 'Aspect Ratio' menu, used to choose the displayed aspect ratio of a video" context="Aspect ratio">Auto</attribute> |
| 314 | -+ <attribute name="action">app.aspect-ratio</attribute> |
| 315 | -+ <attribute name="target" type="i">0</attribute> |
| 316 | -+ </item> |
| 317 | -+ <item> |
| 318 | -+ <attribute name="label" translatable="yes" comments="Translators: an entry in the 'Aspect Ratio' menu, used to choose the displayed aspect ratio of a video" context="Aspect ratio">Square</attribute> |
| 319 | -+ <attribute name="action">app.aspect-ratio</attribute> |
| 320 | -+ <attribute name="target" type="i">1</attribute> |
| 321 | -+ </item> |
| 322 | -+ <item> |
| 323 | -+ <attribute name="label" translatable="yes" comments="Translators: an entry in the 'Aspect Ratio' menu, used to choose the displayed aspect ratio of a video" context="Aspect ratio">4∶3 (TV)</attribute> |
| 324 | -+ <attribute name="action">app.aspect-ratio</attribute> |
| 325 | -+ <attribute name="target" type="i">2</attribute> |
| 326 | -+ </item> |
| 327 | -+ <item> |
| 328 | -+ <attribute name="label" translatable="yes" comments="Translators: an entry in the 'Aspect Ratio' menu, used to choose the displayed aspect ratio of a video" context="Aspect ratio">16∶9 (Widescreen)</attribute> |
| 329 | -+ <attribute name="action">app.aspect-ratio</attribute> |
| 330 | -+ <attribute name="target" type="i">3</attribute> |
| 331 | -+ </item> |
| 332 | -+ <item> |
| 333 | -+ <attribute name="label" translatable="yes" comments="Translators: an entry in the 'Aspect Ratio' menu, used to choose the displayed aspect ratio of a video" context="Aspect ratio">2.11∶1 (DVB)</attribute> |
| 334 | -+ <attribute name="action">app.aspect-ratio</attribute> |
| 335 | -+ <attribute name="target" type="i">4</attribute> |
| 336 | -+ </item> |
| 337 | -+ </section> |
| 338 | -+ </submenu> |
| 339 | -+ <item> |
| 340 | -+ <attribute name="label" translatable="yes">Zoom In</attribute> |
| 341 | -+ <attribute name="action">app.zoom</attribute> |
| 342 | -+ </item> |
| 343 | -+ <section id="rotation-placeholder"/> |
| 344 | -+ <item> |
| 345 | -+ <attribute name="label" translatable="yes">Switch An_gles</attribute> |
| 346 | -+ <attribute name="action">app.next-angle</attribute> |
| 347 | -+ <attribute name="accel"><Ctrl>G</attribute> |
| 348 | -+ </item> |
| 349 | -+ </section> |
| 350 | -+ <section> |
| 351 | -+ <submenu> |
| 352 | -+ <attribute name="label" translatable="yes">_Languages</attribute> |
| 353 | -+ <section id="languages-placeholder"/> |
| 354 | -+ </submenu> |
| 355 | -+ <submenu> |
| 356 | -+ <attribute name="label" translatable="yes">S_ubtitles</attribute> |
| 357 | -+ <section> |
| 358 | -+ <item> |
| 359 | -+ <attribute name="label" translatable="yes">_Select Text Subtitles…</attribute> |
| 360 | -+ <attribute name="action">app.select-subtitle</attribute> |
| 361 | -+ </item> |
| 362 | -+ <section id="subtitle-download-placeholder"/> |
| 363 | -+ <section id="subtitles-placeholder"/> |
| 364 | -+ </section> |
| 365 | -+ </submenu> |
| 366 | -+ </section> |
| 367 | -+ <section> |
| 368 | -+ <section id="properties-placeholder"/> |
| 369 | -+ </section> |
| 370 | -+ <section> |
| 371 | -+ <item> |
| 372 | -+ <attribute name="label" translatable="yes">_Eject</attribute> |
| 373 | -+ <attribute name="action">app.eject</attribute> |
| 374 | -+ <attribute name="accel"><Ctrl>E</attribute> |
| 375 | -+ <attribute name="hidden-when">action-disabled</attribute> |
| 376 | -+ </item> |
| 377 | -+ </section> |
| 378 | -+ </menu> |
| 379 | -+ |
| 380 | -+</interface> |
| 381 | ---- /dev/null |
| 382 | -+++ b/src/menus-common.ui |
| 383 | -@@ -0,0 +1,60 @@ |
| 384 | -+<?xml version="1.0" encoding="UTF-8"?> |
| 385 | -+<interface> |
| 386 | -+ <menu id="addmenu"> |
| 387 | -+ <section> |
| 388 | -+ <item> |
| 389 | -+ <attribute name="label" translatable="yes">Add _Local Video…</attribute> |
| 390 | -+ <attribute name="action">app.open</attribute> |
| 391 | -+ <attribute name="accel"><Ctrl>O</attribute> |
| 392 | -+ </item> |
| 393 | -+ <item> |
| 394 | -+ <attribute name="label" translatable="yes">Add _Web Video…</attribute> |
| 395 | -+ <attribute name="action">app.open-location</attribute> |
| 396 | -+ <attribute name="accel"><Ctrl>L</attribute> |
| 397 | -+ </item> |
| 398 | -+ </section> |
| 399 | -+ </menu> |
| 400 | -+ |
| 401 | -+ <menu id="gomenu"> |
| 402 | -+ <section> |
| 403 | -+ <item> |
| 404 | -+ <attribute name="label" translatable="yes">_Repeat</attribute> |
| 405 | -+ <attribute name="action">app.repeat</attribute> |
| 406 | -+ </item> |
| 407 | -+ </section> |
| 408 | -+ <section> |
| 409 | -+ <item> |
| 410 | -+ <attribute name="label" translatable="yes">_DVD Menu</attribute> |
| 411 | -+ <attribute name="action">app.dvd-root-menu</attribute> |
| 412 | -+ <attribute name="accel"><Ctrl>M</attribute> |
| 413 | -+ <attribute name="hidden-when">action-disabled</attribute> |
| 414 | -+ </item> |
| 415 | -+ <item> |
| 416 | -+ <attribute name="label" translatable="yes">_Title Menu</attribute> |
| 417 | -+ <attribute name="action">app.dvd-title-menu</attribute> |
| 418 | -+ <attribute name="hidden-when">action-disabled</attribute> |
| 419 | -+ </item> |
| 420 | -+ <item> |
| 421 | -+ <attribute name="label" translatable="yes">A_udio Menu</attribute> |
| 422 | -+ <attribute name="action">app.dvd-audio-menu</attribute> |
| 423 | -+ <attribute name="hidden-when">action-disabled</attribute> |
| 424 | -+ </item> |
| 425 | -+ <item> |
| 426 | -+ <attribute name="label" translatable="yes">_Angle Menu</attribute> |
| 427 | -+ <attribute name="action">app.dvd-angle-menu</attribute> |
| 428 | -+ <attribute name="hidden-when">action-disabled</attribute> |
| 429 | -+ </item> |
| 430 | -+ <item> |
| 431 | -+ <attribute name="label" translatable="yes">_Chapter Menu</attribute> |
| 432 | -+ <attribute name="action">app.dvd-chapter-menu</attribute> |
| 433 | -+ <attribute name="hidden-when">action-disabled</attribute> |
| 434 | -+ </item> |
| 435 | -+ </section> |
| 436 | -+ <section> |
| 437 | -+ <section id="skipto-placeholder"/> |
| 438 | -+ </section> |
| 439 | -+ <section id="variable-rate-placeholder"> |
| 440 | -+ <attribute name="label" translatable="yes">Speed</attribute> |
| 441 | -+ </section> |
| 442 | -+ </menu> |
| 443 | -+</interface> |
| 444 | ---- /dev/null |
| 445 | -+++ b/src/menus-traditional.ui |
| 446 | -@@ -0,0 +1,175 @@ |
| 447 | -+<?xml version="1.0" encoding="UTF-8"?> |
| 448 | -+<interface> |
| 449 | -+ <menu id="menubar"> |
| 450 | -+ <submenu> |
| 451 | -+ <attribute name="label" translatable="yes">_Movie</attribute> |
| 452 | -+ <section> |
| 453 | -+ <item> |
| 454 | -+ <attribute name="label" translatable="yes">Add _Local Video…</attribute> |
| 455 | -+ <attribute name="action">app.open</attribute> |
| 456 | -+ <attribute name="accel"><Ctrl>O</attribute> |
| 457 | -+ </item> |
| 458 | -+ <item> |
| 459 | -+ <attribute name="label" translatable="yes">Add _Web Video…</attribute> |
| 460 | -+ <attribute name="action">app.open-location</attribute> |
| 461 | -+ <attribute name="accel"><Ctrl>L</attribute> |
| 462 | -+ </item> |
| 463 | -+ <section id="save-placeholder"/> |
| 464 | -+ </section> |
| 465 | -+ <section> |
| 466 | -+ <section id="burn-placeholder"/> |
| 467 | -+ </section> |
| 468 | -+ <section> |
| 469 | -+ <section id="properties-placeholder"/> |
| 470 | -+ </section> |
| 471 | -+ <section> |
| 472 | -+ <item> |
| 473 | -+ <attribute name="label" translatable="yes">_Eject</attribute> |
| 474 | -+ <attribute name="action">app.eject</attribute> |
| 475 | -+ <attribute name="accel"><Ctrl>E</attribute> |
| 476 | -+ </item> |
| 477 | -+ </section> |
| 478 | -+ <section> |
| 479 | -+ <item> |
| 480 | -+ <attribute name="label" translatable="yes">_Play / Pause</attribute> |
| 481 | -+ <attribute name="action">app.play</attribute> |
| 482 | -+ <attribute name="accel"><Ctrl>space</attribute> |
| 483 | -+ </item> |
| 484 | -+ </section> |
| 485 | -+ <section> |
| 486 | -+ <item> |
| 487 | -+ <attribute name="label" translatable="yes">_Quit</attribute> |
| 488 | -+ <attribute name="action">app.quit</attribute> |
| 489 | -+ <attribute name="accel"><Ctrl>Q</attribute> |
| 490 | -+ </item> |
| 491 | -+ </section> |
| 492 | -+ </submenu> |
| 493 | -+ |
| 494 | -+ <submenu> |
| 495 | -+ <attribute name="label" translatable="yes">_Edit</attribute> |
| 496 | -+ <section> |
| 497 | -+ <item> |
| 498 | -+ <attribute name="label" translatable="yes">_Repeat</attribute> |
| 499 | -+ <attribute name="action">app.repeat</attribute> |
| 500 | -+ </item> |
| 501 | -+ </section> |
| 502 | -+ <section> |
| 503 | -+ <section id="screenshot-placeholder"/> |
| 504 | -+ </section> |
| 505 | -+ <section> |
| 506 | -+ <item> |
| 507 | -+ <attribute name="label" translatable="yes">Prefere_nces</attribute> |
| 508 | -+ <attribute name="action">app.preferences</attribute> |
| 509 | -+ </item> |
| 510 | -+ </section> |
| 511 | -+ </submenu> |
| 512 | -+ |
| 513 | -+ <submenu> |
| 514 | -+ <attribute name="label" translatable="yes">_View</attribute> |
| 515 | -+ <section> |
| 516 | -+ <submenu> |
| 517 | -+ <attribute name="label" translatable="yes">_Aspect Ratio</attribute> |
| 518 | -+ <section> |
| 519 | -+ <item> |
| 520 | -+ <attribute name="label" translatable="yes" comments="Translators: an entry in the 'Aspect Ratio' menu, used to choose the displayed aspect ratio of a video" context="Aspect ratio">Auto</attribute> |
| 521 | -+ <attribute name="action">app.aspect-ratio</attribute> |
| 522 | -+ <attribute name="target" type="i">0</attribute> |
| 523 | -+ </item> |
| 524 | -+ <item> |
| 525 | -+ <attribute name="label" translatable="yes" comments="Translators: an entry in the 'Aspect Ratio' menu, used to choose the displayed aspect ratio of a video" context="Aspect ratio">Square</attribute> |
| 526 | -+ <attribute name="action">app.aspect-ratio</attribute> |
| 527 | -+ <attribute name="target" type="i">1</attribute> |
| 528 | -+ </item> |
| 529 | -+ <item> |
| 530 | -+ <attribute name="label" translatable="yes" comments="Translators: an entry in the 'Aspect Ratio' menu, used to choose the displayed aspect ratio of a video" context="Aspect ratio">4∶3 (TV)</attribute> |
| 531 | -+ <attribute name="action">app.aspect-ratio</attribute> |
| 532 | -+ <attribute name="target" type="i">2</attribute> |
| 533 | -+ </item> |
| 534 | -+ <item> |
| 535 | -+ <attribute name="label" translatable="yes" comments="Translators: an entry in the 'Aspect Ratio' menu, used to choose the displayed aspect ratio of a video" context="Aspect ratio">16∶9 (Widescreen)</attribute> |
| 536 | -+ <attribute name="action">app.aspect-ratio</attribute> |
| 537 | -+ <attribute name="target" type="i">3</attribute> |
| 538 | -+ </item> |
| 539 | -+ <item> |
| 540 | -+ <attribute name="label" translatable="yes" comments="Translators: an entry in the 'Aspect Ratio' menu, used to choose the displayed aspect ratio of a video" context="Aspect ratio">2.11∶1 (DVB)</attribute> |
| 541 | -+ <attribute name="action">app.aspect-ratio</attribute> |
| 542 | -+ <attribute name="target" type="i">4</attribute> |
| 543 | -+ </item> |
| 544 | -+ </section> |
| 545 | -+ </submenu> |
| 546 | -+ <item> |
| 547 | -+ <attribute name="label" translatable="yes">Zoom In</attribute> |
| 548 | -+ <attribute name="action">app.zoom</attribute> |
| 549 | -+ </item> |
| 550 | -+ <section id="rotation-placeholder"/> |
| 551 | -+ <item> |
| 552 | -+ <attribute name="label" translatable="yes">Switch An_gles</attribute> |
| 553 | -+ <attribute name="action">app.next-angle</attribute> |
| 554 | -+ <attribute name="accel"><Ctrl>G</attribute> |
| 555 | -+ </item> |
| 556 | -+ </section> |
| 557 | -+ <section> |
| 558 | -+ <submenu> |
| 559 | -+ <attribute name="label" translatable="yes">_Languages</attribute> |
| 560 | -+ <section id="languages-placeholder"/> |
| 561 | -+ </submenu> |
| 562 | -+ <submenu> |
| 563 | -+ <attribute name="label" translatable="yes">S_ubtitles</attribute> |
| 564 | -+ <section> |
| 565 | -+ <item> |
| 566 | -+ <attribute name="label" translatable="yes">_Select Text Subtitles…</attribute> |
| 567 | -+ <attribute name="action">app.select-subtitle</attribute> |
| 568 | -+ </item> |
| 569 | -+ <section id="subtitle-download-placeholder"/> |
| 570 | -+ <section id="subtitles-placeholder"/> |
| 571 | -+ </section> |
| 572 | -+ </submenu> |
| 573 | -+ </section> |
| 574 | -+ </submenu> |
| 575 | -+ |
| 576 | -+ <submenu> |
| 577 | -+ <attribute name="label" translatable="yes">_Go</attribute> |
| 578 | -+ <section> |
| 579 | -+ <item> |
| 580 | -+ <attribute name="label" translatable="yes">_DVD Menu</attribute> |
| 581 | -+ <attribute name="action">app.dvd-root-menu</attribute> |
| 582 | -+ <attribute name="accel"><Ctrl>M</attribute> |
| 583 | -+ </item> |
| 584 | -+ <item> |
| 585 | -+ <attribute name="label" translatable="yes">_Title Menu</attribute> |
| 586 | -+ <attribute name="action">app.dvd-title-menu</attribute> |
| 587 | -+ </item> |
| 588 | -+ <item> |
| 589 | -+ <attribute name="label" translatable="yes">A_udio Menu</attribute> |
| 590 | -+ <attribute name="action">app.dvd-audio-menu</attribute> |
| 591 | -+ </item> |
| 592 | -+ <item> |
| 593 | -+ <attribute name="label" translatable="yes">_Angle Menu</attribute> |
| 594 | -+ <attribute name="action">app.dvd-angle-menu</attribute> |
| 595 | -+ </item> |
| 596 | -+ <item> |
| 597 | -+ <attribute name="label" translatable="yes">_Chapter Menu</attribute> |
| 598 | -+ <attribute name="action">app.dvd-chapter-menu</attribute> |
| 599 | -+ </item> |
| 600 | -+ </section> |
| 601 | -+ <section> |
| 602 | -+ <section id="skipto-placeholder"/> |
| 603 | -+ </section> |
| 604 | -+ </submenu> |
| 605 | -+ |
| 606 | -+ <submenu> |
| 607 | -+ <attribute name="label" translatable="yes">_Help</attribute> |
| 608 | -+ <section> |
| 609 | -+ <item> |
| 610 | -+ <attribute name="label" translatable="yes">_Keyboard Shortcuts</attribute> |
| 611 | -+ <attribute name="action">app.shortcuts</attribute> |
| 612 | -+ </item> |
| 613 | -+ <item> |
| 614 | -+ <attribute name="label" translatable="yes">_Contents</attribute> |
| 615 | -+ <attribute name="action">app.help</attribute> |
| 616 | -+ <attribute name="accel">F1</attribute> |
| 617 | -+ </item> |
| 618 | -+ </section> |
| 619 | -+ </submenu> |
| 620 | -+ </menu> |
| 621 | -+</interface> |
| 622 | ---- a/src/totem-menu.c |
| 623 | -+++ b/src/totem-menu.c |
| 624 | -@@ -341,7 +341,6 @@ totem_app_actions_setup (Totem *totem) |
| 625 | - void |
| 626 | - totem_app_menu_setup (Totem *totem) |
| 627 | - { |
| 628 | -- GMenuModel *appmenu; |
| 629 | - char *accels[] = { NULL, NULL }; |
| 630 | - const char * const shortcuts_accels[] = { |
| 631 | - "<Ctrl>H", |
| 632 | -@@ -350,9 +349,6 @@ totem_app_menu_setup (Totem *totem) |
| 633 | - NULL |
| 634 | - }; |
| 635 | - |
| 636 | -- appmenu = (GMenuModel *)gtk_builder_get_object (totem->xml, "appmenu"); |
| 637 | -- gtk_application_set_app_menu (GTK_APPLICATION (totem), appmenu); |
| 638 | -- |
| 639 | - /* FIXME: https://bugzilla.gnome.org/show_bug.cgi?id=700085 */ |
| 640 | - accels[0] = "<Primary>G"; |
| 641 | - gtk_application_set_accels_for_action (GTK_APPLICATION (totem), "app.next-angle", (const char * const *) accels); |
| 642 | ---- a/src/totem-object.c |
| 643 | -+++ b/src/totem-object.c |
| 644 | -@@ -629,14 +629,7 @@ GMenu * |
| 645 | - totem_object_get_menu_section (TotemObject *totem, |
| 646 | - const char *id) |
| 647 | - { |
| 648 | -- GObject *object; |
| 649 | -- g_return_val_if_fail (TOTEM_IS_OBJECT (totem), NULL); |
| 650 | -- |
| 651 | -- object = gtk_builder_get_object (totem->xml, id); |
| 652 | -- if (object == NULL || !G_IS_MENU (object)) |
| 653 | -- return NULL; |
| 654 | -- |
| 655 | -- return G_MENU (object); |
| 656 | -+ return gtk_application_get_menu_by_id (GTK_APPLICATION (totem), id); |
| 657 | - } |
| 658 | - |
| 659 | - /** |
| 660 | -@@ -656,7 +649,7 @@ totem_object_empty_menu_section (TotemOb |
| 661 | - |
| 662 | - g_return_if_fail (TOTEM_IS_OBJECT (totem)); |
| 663 | - |
| 664 | -- menu = G_MENU (gtk_builder_get_object (totem->xml, id)); |
| 665 | -+ menu = gtk_application_get_menu_by_id (GTK_APPLICATION (totem), id); |
| 666 | - g_return_if_fail (menu != NULL); |
| 667 | - |
| 668 | - while (g_menu_model_get_n_items (G_MENU_MODEL (menu)) > 0) { |
| 669 | -@@ -1012,7 +1005,8 @@ totem_object_set_main_page (TotemObject |
| 670 | - "custom-title", NULL, |
| 671 | - NULL); |
| 672 | - gtk_widget_show (totem->fullscreen_button); |
| 673 | -- gtk_widget_show (totem->gear_button); |
| 674 | -+ if (gtk_application_prefers_app_menu (GTK_APPLICATION (totem))) |
| 675 | -+ gtk_widget_show (totem->gear_button); |
| 676 | - gtk_widget_hide (totem->add_button); |
| 677 | - bacon_video_widget_show_popup (totem->bvw); |
| 678 | - } else if (g_strcmp0 (page_id, "grilo") == 0) { |
| 679 | -@@ -1033,7 +1027,8 @@ totem_object_set_main_page (TotemObject |
| 680 | - g_clear_pointer (&totem->player_title, g_free); |
| 681 | - g_clear_object (&totem->custom_title); |
| 682 | - gtk_widget_hide (totem->fullscreen_button); |
| 683 | -- gtk_widget_hide (totem->gear_button); |
| 684 | -+ if (gtk_application_prefers_app_menu (GTK_APPLICATION (totem))) |
| 685 | -+ gtk_widget_hide (totem->gear_button); |
| 686 | - if (totem_grilo_get_current_page (TOTEM_GRILO (totem->grilo)) == TOTEM_GRILO_PAGE_RECENT) |
| 687 | - gtk_widget_show (totem->add_button); |
| 688 | - totem_grilo_start (TOTEM_GRILO (totem->grilo)); |
| 689 | -@@ -3389,12 +3384,16 @@ totem_object_handle_key_press (TotemObje |
| 690 | - case GDK_KEY_Menu: |
| 691 | - case GDK_KEY_F10: |
| 692 | - bacon_video_widget_show_popup (totem->bvw); |
| 693 | -- if (totem->controls_visibility != TOTEM_CONTROLS_FULLSCREEN) { |
| 694 | -- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (totem->gear_button), |
| 695 | -- !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (totem->gear_button))); |
| 696 | -- } else { |
| 697 | -- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (totem->fullscreen_gear_button), |
| 698 | -- !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (totem->fullscreen_gear_button))); |
| 699 | -+ if (gtk_application_prefers_app_menu (GTK_APPLICATION (totem))) { |
| 700 | -+ if (totem->controls_visibility != TOTEM_CONTROLS_FULLSCREEN) { |
| 701 | -+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (totem->gear_button), |
| 702 | -+ !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (totem->gear_button))); |
| 703 | -+ } else { |
| 704 | -+ /* FIXME |
| 705 | -+ * The menu won't be correctly positioned */ |
| 706 | -+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (totem->fullscreen_gear_button), |
| 707 | -+ !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (totem->fullscreen_gear_button))); |
| 708 | -+ } |
| 709 | - } |
| 710 | - break; |
| 711 | - case GDK_KEY_Time: |
| 712 | -@@ -3740,7 +3739,7 @@ totem_callback_connect (TotemObject *tot |
| 713 | - GtkWidget *item; |
| 714 | - GtkBox *box; |
| 715 | - GAction *gaction; |
| 716 | -- GMenuModel *menu; |
| 717 | -+ GMenu *menu; |
| 718 | - GtkPopover *popover; |
| 719 | - |
| 720 | - /* Menu items */ |
| 721 | -@@ -3787,32 +3786,34 @@ totem_callback_connect (TotemObject *tot |
| 722 | - |
| 723 | - /* Go button */ |
| 724 | - item = g_object_get_data (totem->controls, "go_button"); |
| 725 | -- menu = (GMenuModel *) gtk_builder_get_object (totem->xml, "gomenu"); |
| 726 | -- gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (item), menu); |
| 727 | -+ menu = gtk_application_get_menu_by_id (GTK_APPLICATION (totem), "gomenu"); |
| 728 | -+ gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (item), G_MENU_MODEL (menu)); |
| 729 | - popover = gtk_menu_button_get_popover (GTK_MENU_BUTTON (item)); |
| 730 | - gtk_popover_set_transitions_enabled (GTK_POPOVER (popover), FALSE); |
| 731 | - gtk_widget_set_size_request (GTK_WIDGET (popover), 175, -1); |
| 732 | - g_signal_connect (G_OBJECT (item), "toggled", |
| 733 | - G_CALLBACK (popup_menu_shown_cb), totem); |
| 734 | - /* Cog wheel */ |
| 735 | -- item = totem->gear_button = totem_interface_create_header_button (totem->header, |
| 736 | -- gtk_menu_button_new (), |
| 737 | -- "open-menu-symbolic", |
| 738 | -- GTK_PACK_END); |
| 739 | -- menu = (GMenuModel *) gtk_builder_get_object (totem->xml, "playermenu"); |
| 740 | -- gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (item), menu); |
| 741 | -- popover = gtk_menu_button_get_popover (GTK_MENU_BUTTON (item)); |
| 742 | -- gtk_popover_set_transitions_enabled (GTK_POPOVER (popover), FALSE); |
| 743 | -- g_signal_connect (G_OBJECT (item), "toggled", |
| 744 | -- G_CALLBACK (popup_menu_shown_cb), totem); |
| 745 | -+ if (gtk_application_prefers_app_menu (GTK_APPLICATION (totem))) { |
| 746 | -+ item = totem->gear_button = totem_interface_create_header_button (totem->header, |
| 747 | -+ gtk_menu_button_new (), |
| 748 | -+ "open-menu-symbolic", |
| 749 | -+ GTK_PACK_END); |
| 750 | -+ menu = gtk_application_get_menu_by_id (GTK_APPLICATION (totem), "playermenu"); |
| 751 | -+ gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (item), G_MENU_MODEL (menu)); |
| 752 | -+ popover = gtk_menu_button_get_popover (GTK_MENU_BUTTON (item)); |
| 753 | -+ gtk_popover_set_transitions_enabled (GTK_POPOVER (popover), FALSE); |
| 754 | -+ g_signal_connect (G_OBJECT (item), "toggled", |
| 755 | -+ G_CALLBACK (popup_menu_shown_cb), totem); |
| 756 | -+ } |
| 757 | - |
| 758 | - /* Add button */ |
| 759 | - item = totem->add_button = totem_interface_create_header_button (totem->header, |
| 760 | - gtk_menu_button_new (), |
| 761 | - "list-add-symbolic", |
| 762 | - GTK_PACK_START); |
| 763 | -- menu = (GMenuModel *) gtk_builder_get_object (totem->xml, "addmenu"); |
| 764 | -- gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (item), menu); |
| 765 | -+ menu = gtk_application_get_menu_by_id (GTK_APPLICATION (totem), "addmenu"); |
| 766 | -+ gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (item), G_MENU_MODEL (menu)); |
| 767 | - gtk_widget_show (item); |
| 768 | - |
| 769 | - g_signal_connect (G_OBJECT (totem->header), "notify::search-mode", |
| 770 | -@@ -3925,7 +3926,7 @@ static void |
| 771 | - add_fullscreen_toolbar (TotemObject *totem) |
| 772 | - { |
| 773 | - GtkWidget *container, *item; |
| 774 | -- GMenuModel *menu; |
| 775 | -+ GMenu *menu; |
| 776 | - |
| 777 | - container = GTK_WIDGET (bacon_video_widget_get_header_controls_object (totem->bvw)); |
| 778 | - |
| 779 | -@@ -3947,19 +3948,21 @@ add_fullscreen_toolbar (TotemObject *tot |
| 780 | - GTK_PACK_END); |
| 781 | - gtk_actionable_set_action_name (GTK_ACTIONABLE (item), "app.fullscreen"); |
| 782 | - |
| 783 | -- item = gtk_separator_new (GTK_ORIENTATION_VERTICAL); |
| 784 | -- gtk_header_bar_pack_end (GTK_HEADER_BAR (totem->fullscreen_header), item); |
| 785 | -- gtk_style_context_add_class (gtk_widget_get_style_context (item), "header-bar-separator"); |
| 786 | -- |
| 787 | -- item = totem_interface_create_header_button (totem->fullscreen_header, |
| 788 | -- gtk_menu_button_new (), |
| 789 | -- "open-menu-symbolic", |
| 790 | -- GTK_PACK_END); |
| 791 | -- menu = (GMenuModel *) gtk_builder_get_object (totem->xml, "playermenu"); |
| 792 | -- gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (item), menu); |
| 793 | -- g_signal_connect (G_OBJECT (item), "toggled", |
| 794 | -- G_CALLBACK (popup_menu_shown_cb), totem); |
| 795 | -- totem->fullscreen_gear_button = item; |
| 796 | -+ if (gtk_application_prefers_app_menu (GTK_APPLICATION (totem))) { |
| 797 | -+ item = gtk_separator_new (GTK_ORIENTATION_VERTICAL); |
| 798 | -+ gtk_header_bar_pack_end (GTK_HEADER_BAR (totem->fullscreen_header), item); |
| 799 | -+ gtk_style_context_add_class (gtk_widget_get_style_context (item), "header-bar-separator"); |
| 800 | -+ |
| 801 | -+ item = totem_interface_create_header_button (totem->fullscreen_header, |
| 802 | -+ gtk_menu_button_new (), |
| 803 | -+ "open-menu-symbolic", |
| 804 | -+ GTK_PACK_END); |
| 805 | -+ menu = gtk_application_get_menu_by_id (GTK_APPLICATION (totem), "playermenu"); |
| 806 | -+ gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (item), G_MENU_MODEL (menu)); |
| 807 | -+ g_signal_connect (G_OBJECT (item), "toggled", |
| 808 | -+ G_CALLBACK (popup_menu_shown_cb), totem); |
| 809 | -+ totem->fullscreen_gear_button = item; |
| 810 | -+ } |
| 811 | - |
| 812 | - gtk_container_add (GTK_CONTAINER (container), totem->fullscreen_header); |
| 813 | - gtk_widget_show_all (totem->fullscreen_header); |
| 814 | |
| 815 | === removed file 'debian/patches/0001-totem-open-location-Respect-gtk-dialogs-use-header-s.patch' |
| 816 | --- debian/patches/0001-totem-open-location-Respect-gtk-dialogs-use-header-s.patch 2015-02-12 10:51:46 +0000 |
| 817 | +++ debian/patches/0001-totem-open-location-Respect-gtk-dialogs-use-header-s.patch 1970-01-01 00:00:00 +0000 |
| 818 | @@ -1,33 +0,0 @@ |
| 819 | -From 9b3cd95c083d9212d1b9b76208e8d472aeeea4b6 Mon Sep 17 00:00:00 2001 |
| 820 | -From: Iain Lane <iain@orangesquash.org.uk> |
| 821 | -Date: Wed, 11 Feb 2015 12:18:45 +0000 |
| 822 | -Subject: [PATCH 1/3] totem-open-location: Respect gtk-dialogs-use-header |
| 823 | - setting |
| 824 | - |
| 825 | ---- |
| 826 | - src/totem-open-location.c | 7 ++++++- |
| 827 | - 1 file changed, 6 insertions(+), 1 deletion(-) |
| 828 | - |
| 829 | -diff --git a/src/totem-open-location.c b/src/totem-open-location.c |
| 830 | -index ea26982..d2714a3 100644 |
| 831 | ---- a/src/totem-open-location.c |
| 832 | -+++ b/src/totem-open-location.c |
| 833 | -@@ -171,9 +171,14 @@ totem_open_location_new (void) |
| 834 | - GtkEntryCompletion *completion; |
| 835 | - GtkTreeModel *model; |
| 836 | - GList *recent_items, *streams_recent_items = NULL; |
| 837 | -+ gboolean use_header; |
| 838 | -+ |
| 839 | -+ g_object_get (gtk_settings_get_default (), |
| 840 | -+ "gtk-dialogs-use-header", &use_header, |
| 841 | -+ NULL); |
| 842 | - |
| 843 | - open_location = TOTEM_OPEN_LOCATION (g_object_new (TOTEM_TYPE_OPEN_LOCATION, |
| 844 | -- "use-header-bar", 1, NULL)); |
| 845 | -+ "use-header-bar", use_header, NULL)); |
| 846 | - |
| 847 | - if (open_location->priv->uri_container == NULL) { |
| 848 | - g_object_unref (open_location); |
| 849 | --- |
| 850 | -2.1.4 |
| 851 | - |
| 852 | |
| 853 | === removed file 'debian/patches/0002-preferences-Respect-gtk-dialogs-use-header-setting.patch' |
| 854 | --- debian/patches/0002-preferences-Respect-gtk-dialogs-use-header-setting.patch 2015-06-18 00:27:08 +0000 |
| 855 | +++ debian/patches/0002-preferences-Respect-gtk-dialogs-use-header-setting.patch 1970-01-01 00:00:00 +0000 |
| 856 | @@ -1,130 +0,0 @@ |
| 857 | -From 1565ed6f1b3f14109e732a0f1889220abd488222 Mon Sep 17 00:00:00 2001 |
| 858 | -From: Iain Lane <iain@orangesquash.org.uk> |
| 859 | -Date: Wed, 11 Feb 2015 12:20:38 +0000 |
| 860 | -Subject: [PATCH 2/3] preferences: Respect gtk-dialogs-use-header setting |
| 861 | - |
| 862 | -This is construct-only so the construction of the dialog itself needs to |
| 863 | -move into code. |
| 864 | ---- |
| 865 | - data/preferences.ui | 33 +++++++-------------------------- |
| 866 | - src/totem-object.c | 17 ++++++++++++++--- |
| 867 | - src/totem-preferences.c | 9 ++++++++- |
| 868 | - 3 files changed, 29 insertions(+), 30 deletions(-) |
| 869 | - |
| 870 | -Index: totem-3.16.1/data/preferences.ui |
| 871 | -=================================================================== |
| 872 | ---- totem-3.16.1.orig/data/preferences.ui |
| 873 | -+++ totem-3.16.1/data/preferences.ui |
| 874 | -@@ -76,30 +76,13 @@ |
| 875 | - <signal name="value-changed" handler="seek_slider_changed_cb"/> |
| 876 | - </object> |
| 877 | - |
| 878 | --<object class="GtkDialog" id="totem_preferences_window"> |
| 879 | -- <property name="title" translatable="yes">Preferences</property> |
| 880 | -- <property name="type">GTK_WINDOW_TOPLEVEL</property> |
| 881 | -- <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property> |
| 882 | -- <property name="modal">False</property> |
| 883 | -- <property name="resizable">False</property> |
| 884 | -- <property name="destroy_with_parent">False</property> |
| 885 | -- <property name="decorated">True</property> |
| 886 | -- <property name="skip_taskbar_hint">False</property> |
| 887 | -- <property name="skip_pager_hint">False</property> |
| 888 | -- <property name="type_hint">dialog</property> |
| 889 | -- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> |
| 890 | -- <property name="focus_on_map">True</property> |
| 891 | -- <property name="urgency_hint">False</property> |
| 892 | -- <property name="use-header-bar">1</property> |
| 893 | -- |
| 894 | -- <child internal-child="vbox"> |
| 895 | -- <object class="GtkVBox" id="tpw_dialog_vbox"> |
| 896 | -- <property name="visible">True</property> |
| 897 | -- <property name="homogeneous">False</property> |
| 898 | -- <property name="orientation">vertical</property> |
| 899 | -- <property name="border_width">0</property> |
| 900 | -+<object class="GtkVBox" id="tpw_dialog_vbox"> |
| 901 | -+ <property name="visible">True</property> |
| 902 | -+ <property name="homogeneous">False</property> |
| 903 | -+ <property name="orientation">vertical</property> |
| 904 | -+ <property name="border_width">0</property> |
| 905 | - |
| 906 | -- <child> |
| 907 | -+ <child> |
| 908 | - <object class="GtkNotebook" id="tpw_notebook"> |
| 909 | - <property name="visible">True</property> |
| 910 | - <property name="can_focus">True</property> |
| 911 | -@@ -1041,8 +1024,6 @@ |
| 912 | - <property name="expand">False</property> |
| 913 | - <property name="fill">True</property> |
| 914 | - </packing> |
| 915 | -- </child> |
| 916 | -- </object> |
| 917 | - </child> |
| 918 | -- </object> |
| 919 | -+</object> |
| 920 | - </interface> |
| 921 | -Index: totem-3.16.1/src/totem-object.c |
| 922 | -=================================================================== |
| 923 | ---- totem-3.16.1.orig/src/totem-object.c |
| 924 | -+++ totem-3.16.1/src/totem-object.c |
| 925 | -@@ -163,6 +163,7 @@ static void |
| 926 | - totem_object_app_activate (GApplication *app) |
| 927 | - { |
| 928 | - Totem *totem; |
| 929 | -+ gboolean use_header; |
| 930 | - |
| 931 | - totem = TOTEM_OBJECT (app); |
| 932 | - |
| 933 | -@@ -228,10 +229,20 @@ totem_object_app_activate (GApplication |
| 934 | - |
| 935 | - /* The prefs after the video widget is connected */ |
| 936 | - totem->prefs_xml = totem_interface_load ("preferences.ui", TRUE, NULL, totem); |
| 937 | -- totem->prefs = GTK_WIDGET (gtk_builder_get_object (totem->prefs_xml, "totem_preferences_window")); |
| 938 | - |
| 939 | -- gtk_window_set_modal (GTK_WINDOW (totem->prefs), TRUE); |
| 940 | -- gtk_window_set_transient_for (GTK_WINDOW (totem->prefs), GTK_WINDOW(totem->win)); |
| 941 | -+ g_object_get (gtk_settings_get_default (), |
| 942 | -+ "gtk-dialogs-use-header", &use_header, |
| 943 | -+ NULL); |
| 944 | -+ |
| 945 | -+ totem->prefs = gtk_widget_new (GTK_TYPE_DIALOG, |
| 946 | -+ "modal", TRUE, |
| 947 | -+ "resizable", FALSE, |
| 948 | -+ "title", _("Preferences"), |
| 949 | -+ "transient-for", GTK_WINDOW (totem->win), |
| 950 | -+ "type-hint", GDK_WINDOW_TYPE_HINT_DIALOG, |
| 951 | -+ "use-header-bar", use_header, |
| 952 | -+ "window-position", GTK_WIN_POS_CENTER_ON_PARENT, |
| 953 | -+ NULL); |
| 954 | - |
| 955 | - totem_setup_preferences (totem); |
| 956 | - |
| 957 | -Index: totem-3.16.1/src/totem-preferences.c |
| 958 | -=================================================================== |
| 959 | ---- totem-3.16.1.orig/src/totem-preferences.c |
| 960 | -+++ totem-3.16.1/src/totem-preferences.c |
| 961 | -@@ -217,6 +217,7 @@ totem_setup_preferences (Totem *totem) |
| 962 | - guint i, hidden; |
| 963 | - char *font, *encoding; |
| 964 | - GObject *item; |
| 965 | -+ GtkWidget *content_area; |
| 966 | - |
| 967 | - static struct { |
| 968 | - const char *name; |
| 969 | -@@ -232,10 +233,16 @@ totem_setup_preferences (Totem *totem) |
| 970 | - }; |
| 971 | - |
| 972 | - g_return_if_fail (totem->settings != NULL); |
| 973 | -+ g_return_if_fail (totem->prefs != NULL); |
| 974 | -+ |
| 975 | -+ content_area = POBJ ("tpw_dialog_vbox"); |
| 976 | -+ g_return_if_fail (content_area != NULL); |
| 977 | -+ |
| 978 | -+ gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (totem->prefs))), |
| 979 | -+ content_area); |
| 980 | - |
| 981 | - bvw = totem_object_get_video_widget (totem); |
| 982 | - |
| 983 | -- totem->prefs = PWID ("totem_preferences_window"); |
| 984 | - g_signal_connect (G_OBJECT (totem->prefs), "response", |
| 985 | - G_CALLBACK (gtk_widget_hide), NULL); |
| 986 | - g_signal_connect (G_OBJECT (totem->prefs), "delete-event", |
| 987 | |
| 988 | === removed file 'debian/patches/0003-totem-movie-properties-Respect-gtk-dialogs-use-heade.patch' |
| 989 | --- debian/patches/0003-totem-movie-properties-Respect-gtk-dialogs-use-heade.patch 2015-02-12 10:51:46 +0000 |
| 990 | +++ debian/patches/0003-totem-movie-properties-Respect-gtk-dialogs-use-heade.patch 1970-01-01 00:00:00 +0000 |
| 991 | @@ -1,45 +0,0 @@ |
| 992 | -From d98d0cc84a2b41e39483c752c7bfd5a9611241db Mon Sep 17 00:00:00 2001 |
| 993 | -From: Iain Lane <iain@orangesquash.org.uk> |
| 994 | -Date: Wed, 11 Feb 2015 12:24:55 +0000 |
| 995 | -Subject: [PATCH 3/3] totem-movie-properties: Respect gtk-dialogs-use-header |
| 996 | - setting |
| 997 | - |
| 998 | ---- |
| 999 | - src/plugins/properties/totem-movie-properties.c | 12 +++++++++++- |
| 1000 | - 1 file changed, 11 insertions(+), 1 deletion(-) |
| 1001 | - |
| 1002 | -diff --git a/src/plugins/properties/totem-movie-properties.c b/src/plugins/properties/totem-movie-properties.c |
| 1003 | -index bda27b7..7fc2cab 100644 |
| 1004 | ---- a/src/plugins/properties/totem-movie-properties.c |
| 1005 | -+++ b/src/plugins/properties/totem-movie-properties.c |
| 1006 | -@@ -248,6 +248,8 @@ impl_activate (PeasActivatable *plugin) |
| 1007 | - GtkWindow *parent; |
| 1008 | - GMenu *menu; |
| 1009 | - GMenuItem *item; |
| 1010 | -+ GtkDialogFlags flags; |
| 1011 | -+ gboolean use_header; |
| 1012 | - const char * const accels[] = { "<Primary>p", "View", NULL }; |
| 1013 | - |
| 1014 | - pi = TOTEM_MOVIE_PROPERTIES_PLUGIN (plugin); |
| 1015 | -@@ -258,9 +260,17 @@ impl_activate (PeasActivatable *plugin) |
| 1016 | - gtk_widget_set_sensitive (pi->priv->props, FALSE); |
| 1017 | - |
| 1018 | - parent = totem_object_get_main_window (totem); |
| 1019 | -+ |
| 1020 | -+ flags = GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT; |
| 1021 | -+ g_object_get (gtk_settings_get_default (), |
| 1022 | -+ "gtk-dialogs-use-header", &use_header, |
| 1023 | -+ NULL); |
| 1024 | -+ if (use_header) |
| 1025 | -+ flags |= GTK_DIALOG_USE_HEADER_BAR; |
| 1026 | -+ |
| 1027 | - pi->priv->dialog = gtk_dialog_new_with_buttons (_("Properties"), |
| 1028 | - parent, |
| 1029 | -- GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_USE_HEADER_BAR, |
| 1030 | -+ flags, |
| 1031 | - NULL, |
| 1032 | - GTK_RESPONSE_CLOSE, |
| 1033 | - NULL); |
| 1034 | --- |
| 1035 | -2.1.4 |
| 1036 | - |
| 1037 | |
| 1038 | === modified file 'debian/patches/series' |
| 1039 | --- debian/patches/series 2017-10-11 23:32:55 +0000 |
| 1040 | +++ debian/patches/series 2017-11-03 10:19:15 +0000 |
| 1041 | @@ -1,9 +1,4 @@ |
| 1042 | -0001-Add-a-traditional-menubar.patch |
| 1043 | 91_quicklist_entries.patch |
| 1044 | ubuntu-grilo-filesystem.patch |
| 1045 | -ubuntu-use-traditional-titlebars.patch |
| 1046 | -0001-totem-open-location-Respect-gtk-dialogs-use-header-s.patch |
| 1047 | -0002-preferences-Respect-gtk-dialogs-use-header-setting.patch |
| 1048 | -0003-totem-movie-properties-Respect-gtk-dialogs-use-heade.patch |
| 1049 | ubuntu-make-zeitgeist-plugin-builtin.patch |
| 1050 | fix-vala-build.patch |
| 1051 | |
| 1052 | === removed file 'debian/patches/ubuntu-use-traditional-titlebars.patch' |
| 1053 | --- debian/patches/ubuntu-use-traditional-titlebars.patch 2016-03-10 07:27:32 +0000 |
| 1054 | +++ debian/patches/ubuntu-use-traditional-titlebars.patch 1970-01-01 00:00:00 +0000 |
| 1055 | @@ -1,148 +0,0 @@ |
| 1056 | -gedit From ccb999d0b54c30eb8b8f0a03d450fb60a7a15a4c Mon Sep 17 00:00:00 2001 |
| 1057 | - |
| 1058 | -From d61bc1e6141c6680582906f69dbcdd3a532a6d00 Mon Sep 17 00:00:00 2001 |
| 1059 | -From: Tim Lunn <tim@feathertop.org> |
| 1060 | -Date: Fri, 21 Nov 2014 08:21:38 +1100 |
| 1061 | -Subject: [PATCH] Use traditional headerbar on not GNOME DE's |
| 1062 | - |
| 1063 | ---- |
| 1064 | - data/totem.ui | 1 + |
| 1065 | - src/totem-grilo.c | 9 ++++++--- |
| 1066 | - src/totem-object.c | 16 +++++++++++++--- |
| 1067 | - 3 files changed, 20 insertions(+), 6 deletions(-) |
| 1068 | - |
| 1069 | -Index: totem-3.18.1/data/totem.ui |
| 1070 | -=================================================================== |
| 1071 | ---- totem-3.18.1.orig/data/totem.ui |
| 1072 | -+++ totem-3.18.1/data/totem.ui |
| 1073 | -@@ -60,6 +60,7 @@ |
| 1074 | - <property name="expand">True</property> |
| 1075 | - <property name="fill">True</property> |
| 1076 | - <property name="position">0</property> |
| 1077 | -+ <property name="pack-type">end</property> |
| 1078 | - </packing> |
| 1079 | - </child> |
| 1080 | - </object> |
| 1081 | -Index: totem-3.18.1/src/totem-grilo.c |
| 1082 | -=================================================================== |
| 1083 | ---- totem-3.18.1.orig/src/totem-grilo.c |
| 1084 | -+++ totem-3.18.1/src/totem-grilo.c |
| 1085 | -@@ -2225,6 +2225,29 @@ delete_cb (TotemSelectionToolbar *bar, |
| 1086 | - g_object_set (G_OBJECT (self->priv->browser), "selection-mode", FALSE, NULL); |
| 1087 | - } |
| 1088 | - |
| 1089 | -+static gboolean |
| 1090 | -+in_desktop (const gchar *name) |
| 1091 | -+{ |
| 1092 | -+ const gchar *desktop_name_list; |
| 1093 | -+ gchar **names; |
| 1094 | -+ gboolean in_list = FALSE; |
| 1095 | -+ gint i; |
| 1096 | -+ |
| 1097 | -+ desktop_name_list = g_getenv ("XDG_CURRENT_DESKTOP"); |
| 1098 | -+ if (!desktop_name_list) |
| 1099 | -+ return FALSE; |
| 1100 | -+ |
| 1101 | -+ names = g_strsplit (desktop_name_list, ":", -1); |
| 1102 | -+ for (i = 0; names[i] && !in_list; i++) |
| 1103 | -+ if (strcmp (names[i], name) == 0) { |
| 1104 | -+ in_list = TRUE; |
| 1105 | -+ break; |
| 1106 | -+ } |
| 1107 | -+ g_strfreev (names); |
| 1108 | -+ |
| 1109 | -+ return in_list; |
| 1110 | -+} |
| 1111 | -+ |
| 1112 | - static void |
| 1113 | - setup_browse (TotemGrilo *self) |
| 1114 | - { |
| 1115 | -@@ -2282,9 +2305,10 @@ setup_browse (TotemGrilo *self) |
| 1116 | - g_object_bind_property (self->priv->header, "select-mode", |
| 1117 | - self->priv->browser, "selection-mode", |
| 1118 | - G_BINDING_BIDIRECTIONAL); |
| 1119 | -- g_object_bind_property (self->priv->header, "select-mode", |
| 1120 | -- self->priv->header, "show-close-button", |
| 1121 | -- G_BINDING_INVERT_BOOLEAN); |
| 1122 | -+ if (in_desktop ("GNOME")) |
| 1123 | -+ g_object_bind_property (self->priv->header, "select-mode", |
| 1124 | -+ self->priv->header, "show-close-button", |
| 1125 | -+ G_BINDING_INVERT_BOOLEAN); |
| 1126 | - |
| 1127 | - g_signal_connect (self->priv->browser, "view-selection-changed", |
| 1128 | - G_CALLBACK (view_selection_changed_cb), self); |
| 1129 | -Index: totem-3.18.1/src/totem-object.c |
| 1130 | -=================================================================== |
| 1131 | ---- totem-3.18.1.orig/src/totem-object.c |
| 1132 | -+++ totem-3.18.1/src/totem-object.c |
| 1133 | -@@ -3594,6 +3594,29 @@ update_buttons (TotemObject *totem) |
| 1134 | - totem_object_set_sensitivity2 ("next-chapter", has_item); |
| 1135 | - } |
| 1136 | - |
| 1137 | -+static gboolean |
| 1138 | -+in_desktop (const gchar *name) |
| 1139 | -+{ |
| 1140 | -+ const gchar *desktop_name_list; |
| 1141 | -+ gchar **names; |
| 1142 | -+ gboolean in_list = FALSE; |
| 1143 | -+ gint i; |
| 1144 | -+ |
| 1145 | -+ desktop_name_list = g_getenv ("XDG_CURRENT_DESKTOP"); |
| 1146 | -+ if (!desktop_name_list) |
| 1147 | -+ return FALSE; |
| 1148 | -+ |
| 1149 | -+ names = g_strsplit (desktop_name_list, ":", -1); |
| 1150 | -+ for (i = 0; names[i] && !in_list; i++) |
| 1151 | -+ if (strcmp (names[i], name) == 0) { |
| 1152 | -+ in_list = TRUE; |
| 1153 | -+ break; |
| 1154 | -+ } |
| 1155 | -+ g_strfreev (names); |
| 1156 | -+ |
| 1157 | -+ return in_list; |
| 1158 | -+} |
| 1159 | -+ |
| 1160 | - void |
| 1161 | - totem_setup_window (TotemObject *totem) |
| 1162 | - { |
| 1163 | -@@ -3602,7 +3625,9 @@ totem_setup_window (TotemObject *totem) |
| 1164 | - char *filename; |
| 1165 | - GError *err = NULL; |
| 1166 | - GtkWidget *vbox; |
| 1167 | -+ GtkWidget *headerbox; |
| 1168 | - GdkRGBA black; |
| 1169 | -+ gboolean set_titlebar; |
| 1170 | - |
| 1171 | - filename = g_build_filename (totem_dot_dir (), "state.ini", NULL); |
| 1172 | - keyfile = g_key_file_new (); |
| 1173 | -@@ -3652,16 +3677,27 @@ totem_setup_window (TotemObject *totem) |
| 1174 | - gtk_widget_override_background_color (vbox, (GTK_STATE_FLAG_FOCUSED << 1), &black); |
| 1175 | - |
| 1176 | - /* Headerbar */ |
| 1177 | -+ set_titlebar = in_desktop ("GNOME"); |
| 1178 | -+ |
| 1179 | - totem->header = g_object_new (TOTEM_TYPE_MAIN_TOOLBAR, |
| 1180 | - "show-search-button", TRUE, |
| 1181 | - "show-select-button", TRUE, |
| 1182 | -- "show-close-button", TRUE, |
| 1183 | -+ "show-close-button", set_titlebar, |
| 1184 | - "title", _("Videos"), |
| 1185 | - NULL); |
| 1186 | - g_signal_connect (G_OBJECT (totem->header), "back-clicked", |
| 1187 | - G_CALLBACK (back_button_clicked_cb), totem); |
| 1188 | -- gtk_window_set_titlebar (GTK_WINDOW (totem->win), totem->header); |
| 1189 | -- |
| 1190 | -+ if (set_titlebar) |
| 1191 | -+ gtk_window_set_titlebar (GTK_WINDOW (totem->win), totem->header); |
| 1192 | -+ else { |
| 1193 | -+ headerbox = GTK_WIDGET (gtk_builder_get_object (totem->xml, "totem_main_vbox")); |
| 1194 | -+ gtk_box_pack_start (GTK_BOX(headerbox), totem->header, FALSE, FALSE, 0); |
| 1195 | -+ g_object_bind_property (totem, |
| 1196 | -+ "fullscreen", |
| 1197 | -+ totem->header, |
| 1198 | -+ "visible", |
| 1199 | -+ G_BINDING_INVERT_BOOLEAN); |
| 1200 | -+ } |
| 1201 | - return; |
| 1202 | - } |
| 1203 | - |


The Ubuntu Desktop Team is discussing on their mailing list about whether to keep the headerbar patches in Ubuntu or not. Therefore, I think we need to block this merge proposal until that is decided.