From bf2c7ebbd95278cfb0bab0a45b2bc08b04bb9472 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Tue, 7 Jul 2020 18:33:41 +0300 Subject: [PATCH] expose Colorizer to itw own View c++ class --- app/view/view.cpp | 15 +++++++++++++++ app/view/view.h | 9 +++++++++ .../package/contents/ui/VisibilityManager.qml | 7 +++++++ 3 files changed, 31 insertions(+) diff --git a/app/view/view.cpp b/app/view/view.cpp index 19bcd1b89..de34b8ba4 100644 --- a/app/view/view.cpp +++ b/app/view/view.cpp @@ -1230,6 +1230,21 @@ bool View::mimeContainsPlasmoid(QMimeData *mimeData, QString name) return false; } +QQuickItem *View::colorizer() const +{ + return m_colorizer; +} + +void View::setColorizer(QQuickItem *colorizer) +{ + if (m_colorizer == colorizer) { + return; + } + + m_colorizer = colorizer; + emit colorizerChanged(); +} + ViewPart::Effects *View::effects() const { return m_effects; diff --git a/app/view/view.h b/app/view/view.h index 48a2330b5..f135bf9ce 100644 --- a/app/view/view.h +++ b/app/view/view.h @@ -117,6 +117,8 @@ class View : public PlasmaQuick::ContainmentView Q_PROPERTY(float maxLength READ maxLength WRITE setMaxLength NOTIFY maxLengthChanged) Q_PROPERTY(float offset READ offset WRITE setOffset NOTIFY offsetChanged) + Q_PROPERTY(QQuickItem *colorizer READ colorizer WRITE setColorizer NOTIFY colorizerChanged) + Q_PROPERTY(Latte::Layout::GenericLayout *layout READ layout WRITE setLayout NOTIFY layoutChanged) Q_PROPERTY(Latte::ViewPart::Effects *effects READ effects NOTIFY effectsChanged) Q_PROPERTY(Latte::ViewPart::ContainmentInterface *extendedInterface READ extendedInterface NOTIFY extendedInterfaceChanged) @@ -227,6 +229,9 @@ public: bool settingsWindowIsShown(); void showSettingsWindow(); + QQuickItem *colorizer() const; + void setColorizer(QQuickItem *colorizer); + QQuickView *configView(); ViewPart::Effects *effects() const; @@ -288,6 +293,7 @@ signals: void alignmentChanged(); void behaveAsPlasmaPanelChanged(); void byPassWMChanged(); + void colorizerChanged(); void configWindowGeometryChanged(); // is called from config windows void containsDragChanged(); void contextMenuIsShownChanged(); @@ -414,6 +420,9 @@ private: int m_releaseGrab_y; Layout::GenericLayout *m_layout{nullptr}; + + QQuickItem *m_colorizer{nullptr}; + QPointer m_appletConfigView; QPointer m_primaryConfigView; diff --git a/containment/package/contents/ui/VisibilityManager.qml b/containment/package/contents/ui/VisibilityManager.qml index 29babc900..1f0c87ed9 100644 --- a/containment/package/contents/ui/VisibilityManager.qml +++ b/containment/package/contents/ui/VisibilityManager.qml @@ -272,6 +272,13 @@ Item{ } } + Binding{ + target: latteView + property: "colorizer" + when: latteView + value: colorizerManager + } + //! View::Effects bindings Binding{ target: latteView && latteView.effects ? latteView.effects : null