summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu.cpp')
-rw-r--r--src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu.cpp b/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu.cpp
index 15440a03cd..c1ebbbf91b 100644
--- a/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu.cpp
+++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu.cpp
@@ -39,6 +39,7 @@
#include "qdbusplatformmenu_p.h"
+#include <QDateTime>
#include <QDebug>
#include <QWindow>
@@ -210,6 +211,8 @@ void QDBusPlatformMenu::removeMenuItem(QPlatformMenuItem *menuItem)
this, &QDBusPlatformMenu::propertiesUpdated);
disconnect(menu, &QDBusPlatformMenu::updated,
this, &QDBusPlatformMenu::updated);
+ disconnect(menu, &QDBusPlatformMenu::popupRequested,
+ this, &QDBusPlatformMenu::popupRequested);
}
emitUpdated();
}
@@ -222,6 +225,8 @@ void QDBusPlatformMenu::syncSubMenu(const QDBusPlatformMenu *menu)
this, &QDBusPlatformMenu::propertiesUpdated, Qt::UniqueConnection);
connect(menu, &QDBusPlatformMenu::updated,
this, &QDBusPlatformMenu::updated, Qt::UniqueConnection);
+ connect(menu, &QDBusPlatformMenu::popupRequested,
+ this, &QDBusPlatformMenu::popupRequested, Qt::UniqueConnection);
}
void QDBusPlatformMenu::syncMenuItem(QPlatformMenuItem *menuItem)
@@ -278,6 +283,15 @@ void QDBusPlatformMenu::setContainingMenuItem(QDBusPlatformMenuItem *item)
m_containingMenuItem = item;
}
+void QDBusPlatformMenu::showPopup(const QWindow *parentWindow, const QRect &targetRect, const QPlatformMenuItem *item)
+{
+ Q_UNUSED(parentWindow);
+ Q_UNUSED(targetRect);
+ Q_UNUSED(item);
+ setVisible(true);
+ emit popupRequested(m_containingMenuItem->dbusID(), QDateTime::currentMSecsSinceEpoch());
+}
+
QPlatformMenuItem *QDBusPlatformMenu::menuItemAt(int position) const
{
return m_items.value(position);