diff --git a/app/dbus/org.kde.LatteDock.xml b/app/dbus/org.kde.LatteDock.xml
index 8e0d746cc..fac1b171c 100644
--- a/app/dbus/org.kde.LatteDock.xml
+++ b/app/dbus/org.kde.LatteDock.xml
@@ -13,5 +13,8 @@
+
+
+
diff --git a/app/dockcorona.cpp b/app/dockcorona.cpp
index 43b87dba9..b0dd1618e 100644
--- a/app/dockcorona.cpp
+++ b/app/dockcorona.cpp
@@ -861,6 +861,24 @@ void DockCorona::showSettingsWindow(int page)
m_layoutManager->showLatteSettingsDialog(p);
}
+QStringList DockCorona::contextMenuData()
+{
+ QStringList data;
+
+ data << QString::number((int)m_layoutManager->memoryUsage());
+ data << m_layoutManager->currentLayoutName();
+
+ foreach (auto layoutName, m_layoutManager->menuLayouts()) {
+ if (m_layoutManager->activeLayout(layoutName)) {
+ data << QString("1," + layoutName);
+ } else {
+ data << QString("0," + layoutName);
+ }
+ }
+
+ return data;
+}
+
inline void DockCorona::qmlRegisterTypes() const
{
qmlRegisterType();
diff --git a/app/dockcorona.h b/app/dockcorona.h
index b887cf480..c6f6f6fc8 100644
--- a/app/dockcorona.h
+++ b/app/dockcorona.h
@@ -104,8 +104,10 @@ public:
KWayland::Client::PlasmaShell *waylandDockCoronaInterface() const;
+ //! these functions are used from context menu through containmentactions
void switchToLayout(QString layout);
void showSettingsWindow(int page);
+ QStringList contextMenuData();
public slots:
void aboutApplication();