HI,

I also tried a few days ago. This is the just a quick response :)
It is due to this change. [1] I think.

Here is my ugly patch to rework libdbusmenu-qt.
I think that the better solution is refine QDBusMenuShortcut, not
inheriting QList<T>...

[1] https://codereview.qt-project.org/#/c/144823/

Regards.

-----

=== modified file 'src/dbusmenutypes_p.cpp'
--- src/dbusmenutypes_p.cpp     2011-02-23 13:23:56 +0000
+++ src/dbusmenutypes_p.cpp     2016-04-26 15:04:39 +0000
@@ -21,7 +21,6 @@
#include "dbusmenutypes_p.h"

// Local
-#include <dbusmenushortcut_p.h>
#include <debug_p.h>

// Qt
@@ -95,6 +94,17 @@
    return argument;
}

+/// DBusMenuShortcut
+QDBusArgument &operator<<(QDBusArgument &argument, const DBusMenuShortcut
&obj)
+{
+    return argument << static_cast<const QList<QStringList>&>(obj);
+}
+
+const QDBusArgument &operator>>(const QDBusArgument &argument,
DBusMenuShortcut &obj)
+{
+    return argument >> static_cast<QList<QStringList>&>(obj);
+}
+
void DBusMenuTypes_register()
{
    static bool registered = false;

=== modified file 'src/dbusmenutypes_p.h'
--- src/dbusmenutypes_p.h       2011-02-23 13:23:56 +0000
+++ src/dbusmenutypes_p.h       2016-04-26 14:57:04 +0000
@@ -27,6 +27,7 @@
#include <QtCore/QVariant>

// Local
+#include <dbusmenushortcut_p.h>
#include <dbusmenu_export.h>

class QDBusArgument;
@@ -92,5 +93,12 @@

Q_DECLARE_METATYPE(DBusMenuLayoutItemList)

+/// DBusMenuShortcut
+/**
+ * DBusArgument operator for DBusMenuShortcut
+ */
+DBUSMENU_EXPORT QDBusArgument &operator<<(QDBusArgument &argument, const
DBusMenuShortcut &);
+DBUSMENU_EXPORT const QDBusArgument &operator>>(const QDBusArgument
&argument, DBusMenuShortcut &);
+
void DBusMenuTypes_register();
#endif /* DBUSMENUTYPES_P_H */




2016-04-27 16:52 GMT+09:00 Eike Hein <h...@kde.org>:

>
> Hi,
>
> I built Qt from the 5.7 branch yesterday and did a fresh kdesrc-build
> run against it.
>
> Notes:
>
> - The 5.7 branch build system seems kind of hosed right now, I had to
>   kick off the build 5-6 times to get the full set of modules built -
>   no build errors, it was just stopping early for some reason.
>
> - libdbusmenu-qt doesn't build: https://paste.kde.org/pmc7fjwog
>   So I resorted to a binary build from my distro.
>
> - The rest builds fine.
>
> - plasmashell seems to run just fine (single-screen laptop).
>
>
> Cheers,
> Eike
> _______________________________________________
> Plasma-devel mailing list
> Plasma-devel@kde.org
> https://mail.kde.org/mailman/listinfo/plasma-devel
>
=== modified file 'src/dbusmenutypes_p.cpp'
--- src/dbusmenutypes_p.cpp	2011-02-23 13:23:56 +0000
+++ src/dbusmenutypes_p.cpp	2016-04-26 15:04:39 +0000
@@ -21,7 +21,6 @@
 #include "dbusmenutypes_p.h"
 
 // Local
-#include <dbusmenushortcut_p.h>
 #include <debug_p.h>
 
 // Qt
@@ -95,6 +94,17 @@
     return argument;
 }
 
+/// DBusMenuShortcut
+QDBusArgument &operator<<(QDBusArgument &argument, const DBusMenuShortcut &obj)
+{
+    return argument << static_cast<const QList<QStringList>&>(obj);
+}
+
+const QDBusArgument &operator>>(const QDBusArgument &argument, DBusMenuShortcut &obj)
+{
+    return argument >> static_cast<QList<QStringList>&>(obj);
+}
+
 void DBusMenuTypes_register()
 {
     static bool registered = false;

=== modified file 'src/dbusmenutypes_p.h'
--- src/dbusmenutypes_p.h	2011-02-23 13:23:56 +0000
+++ src/dbusmenutypes_p.h	2016-04-26 14:57:04 +0000
@@ -27,6 +27,7 @@
 #include <QtCore/QVariant>
 
 // Local
+#include <dbusmenushortcut_p.h>
 #include <dbusmenu_export.h>
 
 class QDBusArgument;
@@ -92,5 +93,12 @@
 
 Q_DECLARE_METATYPE(DBusMenuLayoutItemList)
 
+/// DBusMenuShortcut
+/**
+ * DBusArgument operator for DBusMenuShortcut
+ */
+DBUSMENU_EXPORT QDBusArgument &operator<<(QDBusArgument &argument, const DBusMenuShortcut &);
+DBUSMENU_EXPORT const QDBusArgument &operator>>(const QDBusArgument &argument, DBusMenuShortcut &);
+
 void DBusMenuTypes_register();
 #endif /* DBUSMENUTYPES_P_H */

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to