From 88f44f48c2489af63309bded00882caaa7d7addf Mon Sep 17 00:00:00 2001
From: Michail Vourlakos <mvourlakos@gmail.com>
Date: Sat, 30 Jan 2021 19:39:19 +0200
Subject: [PATCH] provide palette through MyView Ability

---
 declarativeimports/abilities/client/MyView.qml         | 3 +++
 declarativeimports/abilities/definition/MyView.qml     | 4 ++++
 declarativeimports/abilities/host/MyView.qml           | 2 ++
 plasmoid/package/contents/ui/main.qml                  | 1 -
 plasmoid/package/contents/ui/task/AbilityBasicItem.qml | 2 +-
 plasmoid/package/contents/ui/task/TaskItem.qml         | 2 +-
 6 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/declarativeimports/abilities/client/MyView.qml b/declarativeimports/abilities/client/MyView.qml
index 2e67cccbe..4ef924a66 100644
--- a/declarativeimports/abilities/client/MyView.qml
+++ b/declarativeimports/abilities/client/MyView.qml
@@ -19,6 +19,7 @@
 
 import QtQuick 2.0
 
+import org.kde.plasma.plasmoid 2.0
 import org.kde.latte.abilities.definition 0.1 as AbilityDefinition
 
 AbilityDefinition.MyView {
@@ -52,6 +53,8 @@ AbilityDefinition.MyView {
 
     itemShadow: ref.myView.itemShadow
 
+    palette: bridge && bridge.applyPalette ? bridge.palette : theme
+
     readonly property AbilityDefinition.MyView local: AbilityDefinition.MyView {}
 
     Item {
diff --git a/declarativeimports/abilities/definition/MyView.qml b/declarativeimports/abilities/definition/MyView.qml
index c7c2155bb..e48c7f9ab 100644
--- a/declarativeimports/abilities/definition/MyView.qml
+++ b/declarativeimports/abilities/definition/MyView.qml
@@ -19,6 +19,8 @@
 
 import QtQuick 2.0
 
+import org.kde.plasma.plasmoid 2.0
+
 import org.kde.latte.core 0.2 as LatteCore
 
 import "./myview" as MyViewTypes
@@ -50,6 +52,8 @@ Item {
 
     property var containmentActions: []
 
+    property QtObject palette: theme
+
     property MyViewTypes.ItemShadow itemShadow: MyViewTypes.ItemShadow {
         isEnabled: true
         size: 6
diff --git a/declarativeimports/abilities/host/MyView.qml b/declarativeimports/abilities/host/MyView.qml
index 5e2f21b31..6a706b308 100644
--- a/declarativeimports/abilities/host/MyView.qml
+++ b/declarativeimports/abilities/host/MyView.qml
@@ -57,6 +57,8 @@ AbilityDefinition.MyView {
 
         readonly property alias itemShadow: apis.itemShadow
 
+        readonly property alias palette: apis.palette
+
         function inCurrentLayout() {
             return apis.inCurrentLayout();
         }
diff --git a/plasmoid/package/contents/ui/main.qml b/plasmoid/package/contents/ui/main.qml
index fb8ad4c37..bae36cc6b 100644
--- a/plasmoid/package/contents/ui/main.qml
+++ b/plasmoid/package/contents/ui/main.qml
@@ -198,7 +198,6 @@ Item {
                                                        || plasmoid.location === PlasmaCore.Types.RightEdge
                                                        || plasmoid.location === PlasmaCore.Types.BottomEdge
                                                        || plasmoid.location === PlasmaCore.Types.TopEdge)
-    readonly property bool enforceLattePalette: latteBridge && latteBridge.applyPalette && latteBridge.palette
     readonly property bool latteInEditMode: latteBridge && latteBridge.inEditMode
     //END  Latte Dock Communicator
 
diff --git a/plasmoid/package/contents/ui/task/AbilityBasicItem.qml b/plasmoid/package/contents/ui/task/AbilityBasicItem.qml
index effe3f220..68b2cf7cc 100644
--- a/plasmoid/package/contents/ui/task/AbilityBasicItem.qml
+++ b/plasmoid/package/contents/ui/task/AbilityBasicItem.qml
@@ -215,7 +215,7 @@ Item{
             anchors.centerIn: parent
             width: plasmoid.formFactor === PlasmaCore.Types.Vertical ? abilityItem.abilities.metrics.iconSize - 4  : 1
             height: plasmoid.formFactor === PlasmaCore.Types.Horizontal ? abilityItem.abilities.metrics.iconSize - 4 : 1
-            color: enforceLattePalette ? latteBridge.palette.textColor : theme.textColor
+            color: abilityItem.abilities.myView.palette.textColor
         }
     }
 
diff --git a/plasmoid/package/contents/ui/task/TaskItem.qml b/plasmoid/package/contents/ui/task/TaskItem.qml
index b02de52f2..1c881cd63 100644
--- a/plasmoid/package/contents/ui/task/TaskItem.qml
+++ b/plasmoid/package/contents/ui/task/TaskItem.qml
@@ -178,7 +178,7 @@ AbilityBasicItem {
     indicator.progressVisible: taskIcon.progressVisible /*since 0.9.2*/
     indicator.progress: taskIcon.progress /*since 0.9.2*/
 
-    indicator.palette: root.enforceLattePalette ? latteBridge.palette.applyTheme : theme
+    indicator.palette: taskItem.abilities.myView.palette
 
     indicator.iconBackgroundColor: taskIcon.backgroundColor
     indicator.iconGlowColor: taskIcon.glowColor