Only use Qt's DBusMenuBar in Qt >= 5.7
ClosedPublic

Authored by davidedmundson on Jan 18 2017, 5:12 PM.

Details

Summary

It didn't exist in Qt 5.6

Test Plan

Compiled on master and still had a working menu
CI will check 5.8

Diff Detail

Repository
R135 Integration for Qt applications in Plasma
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
davidedmundson retitled this revision from to Only use Qt's DBusMenuBar in Qt >= 5.7.
davidedmundson updated this object.
davidedmundson edited the test plan for this revision. (Show Details)
davidedmundson added a reviewer: Plasma.
Restricted Application added a project: Plasma. · View Herald TranscriptJan 18 2017, 5:12 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
bshah accepted this revision.Jan 18 2017, 5:28 PM
bshah added a reviewer: bshah.
This revision is now accepted and ready to land.Jan 18 2017, 5:28 PM
This revision was automatically updated to reflect the committed changes.

It looks like it wasn't the only usage...

[ 58%] Building CXX object autotests/CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/kfontsettingsdata.cpp.o
18:46:32 [ 60%] /home/jenkins/sources/plasma-integration/stable-kf5-qt5/src/platformtheme/kdeplatformtheme.cpp: In function 'bool checkDBusGlobalMenuAvailable()':
18:46:32 /home/jenkins/sources/plasma-integration/stable-kf5-qt5/src/platformtheme/kdeplatformtheme.cpp:67:34: error: invalid use of incomplete type 'class QDBusConnectionInterface'
18:46:32      return connection.interface()->isServiceRegistered(registrarService);
18:46:32                                   ^
18:46:32 In file included from /srv/jenkins/install/ubuntu/x86_64/g++/stable-kf5-qt5/qt5/inst/usr/include/QtDBus/QDBusConnection:1:0,
18:46:32                  from /home/jenkins/sources/plasma-integration/stable-kf5-qt5/src/platformtheme/kdeplatformtheme.cpp:43:
18:46:32 /srv/jenkins/install/ubuntu/x86_64/g++/stable-kf5-qt5/qt5/inst/usr/include/QtDBus/qdbusconnection.h:62:7: note: forward declaration of 'class QDBusConnectionInterface'
18:46:32  class QDBusConnectionInterface;
18:46:32        ^
18:46:32 Building CXX object autotests/CMakeFiles/kdirselectdialog_unittest.dir/__/src/platformtheme/kdirselectdialog.cpp.o
18:46:32 [ 62%] Building CXX object autotests/CMakeFiles/kdirselectdialog_unittest.dir/__/src/platformtheme/kfiletreeview.cpp.o
18:46:33 /home/jenkins/sources/plasma-integration/stable-kf5-qt5/src/platformtheme/kdeplatformtheme.cpp: At global scope:
18:46:33 /home/jenkins/sources/plasma-integration/stable-kf5-qt5/src/platformtheme/kdeplatformtheme.cpp:70:13: warning: 'bool isDBusGlobalMenuAvailable()' defined but not used [-Wunused-function]
18:46:33  static bool isDBusGlobalMenuAvailable()
18:46:33              ^
18:46:33 src/platformtheme/CMakeFiles/KDEPlasmaPlatformTheme.dir/build.make:54: recipe for target 'src/platformtheme/CMakeFiles/KDEPlasmaPlatformTheme.dir/kdeplatformtheme.cpp.o' failed
18:46:33 make[2]: *** [src/platformtheme/CMakeFiles/KDEPlasmaPlatformTheme.dir/kdeplatformtheme.cpp.o] Error 1

I deliberately left them in because they were just normal DBus calls that wouldn't do any harm (or be used) and didn't require any extra deps.

However it meant nothing was implicitly including <QDBusConnection.h> and failed.
It's rebuildling now.

Sorry David, it failed again:

19:20:10 [ 56%] Built target kfontsettingsdata_unittest
19:20:10 [ 58%] Building CXX object autotests/CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/qdbusmenubar.cpp.o
19:20:11 In file included from /home/jenkins/sources/plasma-integration/stable-kf5-qt5/src/platformtheme/qdbusmenubar.cpp:40:0:
19:20:11 /home/jenkins/sources/plasma-integration/stable-kf5-qt5/src/platformtheme/qdbusmenubar_p.h:63:65: fatal error: QtPlatformSupport/private/qdbusmenuregistrarproxy_p.h: No such file or directory
19:20:11 compilation terminated.
19:20:11 autotests/CMakeFiles/kdeplatformtheme_unittest.dir/build.make:100: recipe for target 'autotests/CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/qdbusmenubar.cpp.o' failed
19:20:11 make[2]: *** [autotests/CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/qdbusmenubar.cpp.o] Error 1
19:20:11 make[2]: *** Waiting for unfinished jobs....