From f90c4deff2c853a16a39978b868e15bd3d96979a Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Mon, 2 Jan 2017 22:26:10 +0200 Subject: [PATCH] hide Tasks config if plasmoid not present --- app/dockview.cpp | 13 +++++++++++++ app/dockview.h | 3 +++ .../configuration/LatteDockConfiguration.qml.cmake | 2 ++ 3 files changed, 18 insertions(+) diff --git a/app/dockview.cpp b/app/dockview.cpp index cc9dde755..615962d5c 100644 --- a/app/dockview.cpp +++ b/app/dockview.cpp @@ -458,6 +458,19 @@ void DockView::setOffset(int offset) emit offsetChanged(); } +bool DockView::tasksPresent() +{ + foreach (Plasma::Applet *applet, containment()->applets()) { + KPluginMetaData meta = applet->pluginMetaData(); + + if (meta.pluginId() == "org.kde.latte.plasmoid") { + return true; + } + } + + return false; +} + void DockView::updateOffset() { if (!containment()) diff --git a/app/dockview.h b/app/dockview.h index 66ee2a7d5..cdc260501 100644 --- a/app/dockview.h +++ b/app/dockview.h @@ -94,6 +94,8 @@ public: bool compositing() const; int currentThickness() const; + + bool tasksPresent() const; void adaptToScreen(QScreen *screen); @@ -109,6 +111,7 @@ public slots: Q_INVOKABLE void initialize(); Q_INVOKABLE void removeDock(); Q_INVOKABLE void setLocalDockGeometry(const QRect &geometry); + Q_INVOKABLE bool tasksPresent(); void resizeWindow(); void restoreConfig(); void saveConfig(); diff --git a/shell/contents/configuration/LatteDockConfiguration.qml.cmake b/shell/contents/configuration/LatteDockConfiguration.qml.cmake index e069b7a9c..a00374aa0 100644 --- a/shell/contents/configuration/LatteDockConfiguration.qml.cmake +++ b/shell/contents/configuration/LatteDockConfiguration.qml.cmake @@ -88,6 +88,8 @@ PlasmaCore.FrameSvgItem { PlasmaComponents.TabButton{ text: i18n("Tasks") tab: tasksPage + + visible: dock.tasksPresent(); } }