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();