From af9fa001dac49eedc76e15613b67abfd097105f3 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Sun, 24 Oct 2021 04:25:58 +0400 Subject: [PATCH] Fix build with Qt 6 --- src/dbusmenuexporter.cpp | 3 ++- src/dbusmenuimporter.cpp | 1 + src/dbusmenushortcut_p.cpp | 27 +++++++++++++++++++++++++++ src/dbusmenushortcut_p.h | 4 ++++ 4 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/dbusmenuexporter.cpp b/src/dbusmenuexporter.cpp index f30ce11..9bb5c10 100644 --- a/src/dbusmenuexporter.cpp +++ b/src/dbusmenuexporter.cpp @@ -29,6 +29,7 @@ #include #include #include +#include // Local #include "dbusmenu_config.h" @@ -484,7 +485,7 @@ void DBusMenuExporter::activateAction(QAction *action) { int id = d->idForAction(action); DMRETURN_IF_FAIL(id >= 0); - uint timeStamp = QDateTime::currentDateTime().toTime_t(); + uint timeStamp = QDateTime::currentDateTime().toSecsSinceEpoch(); d->m_dbusObject->ItemActivationRequested(id, timeStamp); } diff --git a/src/dbusmenuimporter.cpp b/src/dbusmenuimporter.cpp index ce6ef18..94abb59 100644 --- a/src/dbusmenuimporter.cpp +++ b/src/dbusmenuimporter.cpp @@ -34,6 +34,7 @@ #include #include #include +#include // Local #include "dbusmenutypes_p.h" diff --git a/src/dbusmenushortcut_p.cpp b/src/dbusmenushortcut_p.cpp index 29d2e58..9f4fc0a 100644 --- a/src/dbusmenushortcut_p.cpp +++ b/src/dbusmenushortcut_p.cpp @@ -22,6 +22,7 @@ // Qt #include +#include // Local #include "debug_p.h" @@ -83,3 +84,29 @@ QKeySequence DBusMenuShortcut::toKeySequence() const QString string = tmp.join(QLatin1String(", ")); return QKeySequence::fromString(string); } + +QDBusArgument &operator<<(QDBusArgument &argument, const DBusMenuShortcut &obj) +{ + int id = qMetaTypeId(); + argument.beginArray(id); + typename DBusMenuShortcut::ConstIterator it = obj.constBegin(); + typename DBusMenuShortcut::ConstIterator end = obj.constEnd(); + for ( ; it != end; ++it) + argument << *it; + argument.endArray(); + return argument; +} + +const QDBusArgument &operator>>(const QDBusArgument &argument, DBusMenuShortcut &obj) +{ + argument.beginArray(); + obj.clear(); + while (!argument.atEnd()) { + QStringList item; + argument >> item; + obj.push_back(item); + } + argument.endArray(); + + return argument; +} diff --git a/src/dbusmenushortcut_p.h b/src/dbusmenushortcut_p.h index e26dd8c..d62c272 100644 --- a/src/dbusmenushortcut_p.h +++ b/src/dbusmenushortcut_p.h @@ -30,6 +30,7 @@ class QKeySequence; +class QDBusArgument; class DBUSMENU_EXPORT DBusMenuShortcut : public QList { @@ -40,4 +41,7 @@ class DBUSMENU_EXPORT DBusMenuShortcut : public QList Q_DECLARE_METATYPE(DBusMenuShortcut) +DBUSMENU_EXPORT QDBusArgument &operator<<(QDBusArgument &argument, const DBusMenuShortcut &); +DBUSMENU_EXPORT const QDBusArgument &operator>>(const QDBusArgument &argument, DBusMenuShortcut &); + #endif /* DBUSMENUSHORTCUT_H */