File indexing completed on 2025-02-02 12:34:19
0001 /* 0002 SPDX-FileCopyrightText: 2019 Michail Vourlakos <mvourlakos@gmail.com> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #ifndef VIEWINDICATORINFO_H 0007 #define VIEWINDICATORINFO_H 0008 0009 // Qt 0010 #include <QObject> 0011 0012 namespace Latte { 0013 namespace ViewPart { 0014 namespace IndicatorPart { 0015 0016 /** 0017 * Information provided by indicator itself in order to provide a nice experience 0018 **/ 0019 0020 class Info: public QObject 0021 { 0022 Q_OBJECT 0023 Q_PROPERTY(bool needsIconColors READ needsIconColors WRITE setNeedsIconColors NOTIFY needsIconColorsChanged) 0024 Q_PROPERTY(bool needsMouseEventCoordinates READ needsMouseEventCoordinates WRITE setNeedsMouseEventCoordinates NOTIFY needsMouseEventCoordinatesChanged) 0025 0026 Q_PROPERTY(bool providesClickedAnimation READ providesClickedAnimation WRITE setProvidesClickedAnimation NOTIFY providesClickedAnimationChanged) 0027 Q_PROPERTY(bool providesHoveredAnimation READ providesHoveredAnimation WRITE setProvidesHoveredAnimation NOTIFY providesHoveredAnimationChanged) 0028 Q_PROPERTY(bool providesInAttentionAnimation READ providesInAttentionAnimation WRITE setProvidesInAttentionAnimation NOTIFY providesInAttentionAnimationChanged) 0029 Q_PROPERTY(bool providesTaskLauncherAnimation READ providesTaskLauncherAnimation WRITE setProvidesTaskLauncherAnimation NOTIFY providesTaskLauncherAnimationChanged) 0030 Q_PROPERTY(bool providesGroupedWindowAddedAnimation READ providesGroupedWindowAddedAnimation WRITE setProvidesGroupedWindowAddedAnimation NOTIFY providesGroupedWindowAddedAnimationChanged) 0031 Q_PROPERTY(bool providesGroupedWindowRemovedAnimation READ providesGroupedWindowRemovedAnimation WRITE setProvidesGroupedWindowRemovedAnimation NOTIFY providesGroupedWindowRemovedAnimationChanged) 0032 0033 Q_PROPERTY(bool providesFrontLayer READ providesFrontLayer WRITE setProvidesFrontLayer NOTIFY providesFrontLayerChanged) 0034 0035 Q_PROPERTY(int extraMaskThickness READ extraMaskThickness WRITE setExtraMaskThickness NOTIFY extraMaskThicknessChanged) 0036 0037 Q_PROPERTY(float minLengthPadding READ minLengthPadding WRITE setMinLengthPadding NOTIFY minLengthPaddingChanged) 0038 Q_PROPERTY(float minThicknessPadding READ minThicknessPadding WRITE setMinThicknessPadding NOTIFY minThicknessPaddingChanged) 0039 0040 public: 0041 Info(QObject *parent); 0042 virtual ~Info(); 0043 0044 bool needsIconColors() const; 0045 void setNeedsIconColors(bool needs); 0046 0047 bool needsMouseEventCoordinates() const; 0048 void setNeedsMouseEventCoordinates(bool needs); 0049 0050 bool providesClickedAnimation() const; 0051 void setProvidesClickedAnimation(bool provides); 0052 0053 bool providesHoveredAnimation() const; 0054 void setProvidesHoveredAnimation(bool provides); 0055 0056 bool providesInAttentionAnimation() const; 0057 void setProvidesInAttentionAnimation(bool provides); 0058 0059 bool providesTaskLauncherAnimation() const; 0060 void setProvidesTaskLauncherAnimation(bool provides); 0061 0062 bool providesGroupedWindowAddedAnimation() const; 0063 void setProvidesGroupedWindowAddedAnimation(bool provides); 0064 0065 bool providesGroupedWindowRemovedAnimation() const; 0066 void setProvidesGroupedWindowRemovedAnimation(bool provides); 0067 0068 bool providesFrontLayer() const; 0069 void setProvidesFrontLayer(bool front); 0070 0071 int extraMaskThickness() const; 0072 void setExtraMaskThickness(int thick); 0073 0074 float minLengthPadding() const; 0075 void setMinLengthPadding(float padding); 0076 0077 float minThicknessPadding() const; 0078 void setMinThicknessPadding(float padding); 0079 0080 signals: 0081 void extraMaskThicknessChanged(); 0082 void minLengthPaddingChanged(); 0083 void minThicknessPaddingChanged(); 0084 void needsIconColorsChanged(); 0085 void needsMouseEventCoordinatesChanged(); 0086 void providesClickedAnimationChanged(); 0087 void providesHoveredAnimationChanged(); 0088 void providesInAttentionAnimationChanged(); 0089 void providesTaskLauncherAnimationChanged(); 0090 void providesGroupedWindowAddedAnimationChanged(); 0091 void providesGroupedWindowRemovedAnimationChanged(); 0092 void providesFrontLayerChanged(); 0093 0094 private: 0095 bool m_needsIconColors{false}; 0096 bool m_needsMouseEventCoordinates{false}; 0097 bool m_providesClickedAnimation{false}; 0098 bool m_providesHoveredAnimation{false}; 0099 bool m_providesInAttentionAnimation{false}; 0100 bool m_providesTaskLauncherAnimation{false}; 0101 bool m_providesGroupedWindowAddedAnimation{false}; 0102 bool m_providesGroupedWindowRemovedAnimation{false}; 0103 bool m_providesFrontLayer{false}; 0104 0105 int m_extraMaskThickness{0}; 0106 0107 float m_minLengthPadding{0}; 0108 float m_minThicknessPadding{0}; 0109 }; 0110 0111 } 0112 } 0113 } 0114 0115 #endif