Changeset View
Changeset View
Standalone View
Standalone View
kdecoration/breezedecoration.h
Show First 20 Lines • Show All 68 Lines • ▼ Show 20 Line(s) | 46 | { | |||
---|---|---|---|---|---|
69 | 69 | | |||
70 | //* button height | 70 | //* button height | ||
71 | int buttonHeight() const; | 71 | int buttonHeight() const; | ||
72 | 72 | | |||
73 | //*@name active state change animation | 73 | //*@name active state change animation | ||
74 | //@{ | 74 | //@{ | ||
75 | void setOpacity( qreal ); | 75 | void setOpacity( qreal ); | ||
76 | 76 | | |||
77 | qreal opacity( void ) const | 77 | qreal opacity() const | ||
78 | { return m_opacity; } | 78 | { return m_opacity; } | ||
79 | 79 | | |||
80 | //@} | 80 | //@} | ||
81 | 81 | | |||
82 | //*@name colors | 82 | //*@name colors | ||
83 | //@{ | 83 | //@{ | ||
84 | QColor titleBarColor( void ) const; | 84 | QColor titleBarColor() const; | ||
85 | QColor outlineColor( void ) const; | 85 | QColor outlineColor() const; | ||
86 | QColor fontColor( void ) const; | 86 | QColor fontColor() const; | ||
87 | //@} | 87 | //@} | ||
88 | 88 | | |||
89 | //*@name maximization modes | 89 | //*@name maximization modes | ||
90 | //@{ | 90 | //@{ | ||
91 | inline bool isMaximized( void ) const; | 91 | inline bool isMaximized() const; | ||
92 | inline bool isMaximizedHorizontally( void ) const; | 92 | inline bool isMaximizedHorizontally() const; | ||
93 | inline bool isMaximizedVertically( void ) const; | 93 | inline bool isMaximizedVertically() const; | ||
94 | 94 | | |||
95 | inline bool isLeftEdge( void ) const; | 95 | inline bool isLeftEdge() const; | ||
96 | inline bool isRightEdge( void ) const; | 96 | inline bool isRightEdge() const; | ||
97 | inline bool isTopEdge( void ) const; | 97 | inline bool isTopEdge() const; | ||
98 | inline bool isBottomEdge( void ) const; | 98 | inline bool isBottomEdge() const; | ||
99 | 99 | | |||
100 | inline bool hideTitleBar( void ) const; | 100 | inline bool hideTitleBar() const; | ||
101 | //@} | 101 | //@} | ||
102 | 102 | | |||
103 | public Q_SLOTS: | 103 | public Q_SLOTS: | ||
104 | void init() override; | 104 | void init() override; | ||
105 | 105 | | |||
106 | private Q_SLOTS: | 106 | private Q_SLOTS: | ||
107 | void reconfigure(); | 107 | void reconfigure(); | ||
108 | void recalculateBorders(); | 108 | void recalculateBorders(); | ||
109 | void updateButtonsGeometry(); | 109 | void updateButtonsGeometry(); | ||
110 | void updateButtonsGeometryDelayed(); | 110 | void updateButtonsGeometryDelayed(); | ||
111 | void updateTitleBar(); | 111 | void updateTitleBar(); | ||
112 | void updateAnimationState(); | 112 | void updateAnimationState(); | ||
113 | void updateSizeGripVisibility(); | 113 | void updateSizeGripVisibility(); | ||
114 | 114 | | |||
115 | private: | 115 | private: | ||
116 | 116 | | |||
117 | //* return the rect in which caption will be drawn | 117 | //* return the rect in which caption will be drawn | ||
118 | QPair<QRect,Qt::Alignment> captionRect( void ) const; | 118 | QPair<QRect,Qt::Alignment> captionRect() const; | ||
119 | 119 | | |||
120 | void createButtons(); | 120 | void createButtons(); | ||
121 | void paintTitleBar(QPainter *painter, const QRect &repaintRegion); | 121 | void paintTitleBar(QPainter *painter, const QRect &repaintRegion); | ||
122 | void createShadow(); | 122 | void createShadow(); | ||
123 | 123 | | |||
124 | //*@name border size | 124 | //*@name border size | ||
125 | //@{ | 125 | //@{ | ||
126 | int borderSize(bool bottom = false) const; | 126 | int borderSize(bool bottom = false) const; | ||
127 | inline bool hasBorders( void ) const; | 127 | inline bool hasBorders() const; | ||
128 | inline bool hasNoBorders( void ) const; | 128 | inline bool hasNoBorders() const; | ||
129 | inline bool hasNoSideBorders( void ) const; | 129 | inline bool hasNoSideBorders() const; | ||
130 | //@} | 130 | //@} | ||
131 | 131 | | |||
132 | //*@name size grip | 132 | //*@name size grip | ||
133 | //@{ | 133 | //@{ | ||
134 | void createSizeGrip( void ); | 134 | void createSizeGrip(); | ||
135 | void deleteSizeGrip( void ); | 135 | void deleteSizeGrip(); | ||
136 | SizeGrip* sizeGrip( void ) const | 136 | SizeGrip* sizeGrip() const | ||
137 | { return m_sizeGrip; } | 137 | { return m_sizeGrip; } | ||
138 | //@} | 138 | //@} | ||
139 | 139 | | |||
140 | InternalSettingsPtr m_internalSettings; | 140 | InternalSettingsPtr m_internalSettings; | ||
141 | QList<KDecoration2::DecorationButton*> m_buttons; | 141 | QList<KDecoration2::DecorationButton*> m_buttons; | ||
142 | KDecoration2::DecorationButtonGroup *m_leftButtons = nullptr; | 142 | KDecoration2::DecorationButtonGroup *m_leftButtons = nullptr; | ||
143 | KDecoration2::DecorationButtonGroup *m_rightButtons = nullptr; | 143 | KDecoration2::DecorationButtonGroup *m_rightButtons = nullptr; | ||
144 | 144 | | |||
145 | //* size grip widget | 145 | //* size grip widget | ||
146 | SizeGrip *m_sizeGrip = nullptr; | 146 | SizeGrip *m_sizeGrip = nullptr; | ||
147 | 147 | | |||
148 | //* active state change animation | 148 | //* active state change animation | ||
149 | QPropertyAnimation *m_animation; | 149 | QPropertyAnimation *m_animation; | ||
150 | 150 | | |||
151 | //* active state change opacity | 151 | //* active state change opacity | ||
152 | qreal m_opacity = 0; | 152 | qreal m_opacity = 0; | ||
153 | 153 | | |||
154 | }; | 154 | }; | ||
155 | 155 | | |||
156 | bool Decoration::hasBorders( void ) const | 156 | bool Decoration::hasBorders() const | ||
157 | { | 157 | { | ||
158 | if( m_internalSettings && m_internalSettings->mask() & BorderSize ) return m_internalSettings->borderSize() > InternalSettings::BorderNoSides; | 158 | if( m_internalSettings && m_internalSettings->mask() & BorderSize ) return m_internalSettings->borderSize() > InternalSettings::BorderNoSides; | ||
159 | else return settings()->borderSize() > KDecoration2::BorderSize::NoSides; | 159 | else return settings()->borderSize() > KDecoration2::BorderSize::NoSides; | ||
160 | } | 160 | } | ||
161 | 161 | | |||
162 | bool Decoration::hasNoBorders( void ) const | 162 | bool Decoration::hasNoBorders() const | ||
163 | { | 163 | { | ||
164 | if( m_internalSettings && m_internalSettings->mask() & BorderSize ) return m_internalSettings->borderSize() == InternalSettings::BorderNone; | 164 | if( m_internalSettings && m_internalSettings->mask() & BorderSize ) return m_internalSettings->borderSize() == InternalSettings::BorderNone; | ||
165 | else return settings()->borderSize() == KDecoration2::BorderSize::None; | 165 | else return settings()->borderSize() == KDecoration2::BorderSize::None; | ||
166 | } | 166 | } | ||
167 | 167 | | |||
168 | bool Decoration::hasNoSideBorders( void ) const | 168 | bool Decoration::hasNoSideBorders() const | ||
169 | { | 169 | { | ||
170 | if( m_internalSettings && m_internalSettings->mask() & BorderSize ) return m_internalSettings->borderSize() == InternalSettings::BorderNoSides; | 170 | if( m_internalSettings && m_internalSettings->mask() & BorderSize ) return m_internalSettings->borderSize() == InternalSettings::BorderNoSides; | ||
171 | else return settings()->borderSize() == KDecoration2::BorderSize::NoSides; | 171 | else return settings()->borderSize() == KDecoration2::BorderSize::NoSides; | ||
172 | } | 172 | } | ||
173 | 173 | | |||
174 | bool Decoration::isMaximized( void ) const | 174 | bool Decoration::isMaximized() const | ||
175 | { return client().data()->isMaximized() && !m_internalSettings->drawBorderOnMaximizedWindows(); } | 175 | { return client().data()->isMaximized() && !m_internalSettings->drawBorderOnMaximizedWindows(); } | ||
176 | 176 | | |||
177 | bool Decoration::isMaximizedHorizontally( void ) const | 177 | bool Decoration::isMaximizedHorizontally() const | ||
178 | { return client().data()->isMaximizedHorizontally() && !m_internalSettings->drawBorderOnMaximizedWindows(); } | 178 | { return client().data()->isMaximizedHorizontally() && !m_internalSettings->drawBorderOnMaximizedWindows(); } | ||
179 | 179 | | |||
180 | bool Decoration::isMaximizedVertically( void ) const | 180 | bool Decoration::isMaximizedVertically() const | ||
181 | { return client().data()->isMaximizedVertically() && !m_internalSettings->drawBorderOnMaximizedWindows(); } | 181 | { return client().data()->isMaximizedVertically() && !m_internalSettings->drawBorderOnMaximizedWindows(); } | ||
182 | 182 | | |||
183 | bool Decoration::isLeftEdge( void ) const | 183 | bool Decoration::isLeftEdge() const | ||
184 | { return (client().data()->isMaximizedHorizontally() || client().data()->adjacentScreenEdges().testFlag( Qt::LeftEdge ) ) && !m_internalSettings->drawBorderOnMaximizedWindows(); } | 184 | { return (client().data()->isMaximizedHorizontally() || client().data()->adjacentScreenEdges().testFlag( Qt::LeftEdge ) ) && !m_internalSettings->drawBorderOnMaximizedWindows(); } | ||
185 | 185 | | |||
186 | bool Decoration::isRightEdge( void ) const | 186 | bool Decoration::isRightEdge() const | ||
187 | { return (client().data()->isMaximizedHorizontally() || client().data()->adjacentScreenEdges().testFlag( Qt::RightEdge ) ) && !m_internalSettings->drawBorderOnMaximizedWindows(); } | 187 | { return (client().data()->isMaximizedHorizontally() || client().data()->adjacentScreenEdges().testFlag( Qt::RightEdge ) ) && !m_internalSettings->drawBorderOnMaximizedWindows(); } | ||
188 | 188 | | |||
189 | bool Decoration::isTopEdge( void ) const | 189 | bool Decoration::isTopEdge() const | ||
190 | { return (client().data()->isMaximizedVertically() || client().data()->adjacentScreenEdges().testFlag( Qt::TopEdge ) ) && !m_internalSettings->drawBorderOnMaximizedWindows(); } | 190 | { return (client().data()->isMaximizedVertically() || client().data()->adjacentScreenEdges().testFlag( Qt::TopEdge ) ) && !m_internalSettings->drawBorderOnMaximizedWindows(); } | ||
191 | 191 | | |||
192 | bool Decoration::isBottomEdge( void ) const | 192 | bool Decoration::isBottomEdge() const | ||
193 | { return (client().data()->isMaximizedVertically() || client().data()->adjacentScreenEdges().testFlag( Qt::BottomEdge ) ) && !m_internalSettings->drawBorderOnMaximizedWindows(); } | 193 | { return (client().data()->isMaximizedVertically() || client().data()->adjacentScreenEdges().testFlag( Qt::BottomEdge ) ) && !m_internalSettings->drawBorderOnMaximizedWindows(); } | ||
194 | 194 | | |||
195 | bool Decoration::hideTitleBar( void ) const | 195 | bool Decoration::hideTitleBar() const | ||
196 | { return m_internalSettings->hideTitleBar() && !client().data()->isShaded(); } | 196 | { return m_internalSettings->hideTitleBar() && !client().data()->isShaded(); } | ||
197 | 197 | | |||
198 | } | 198 | } | ||
199 | 199 | | |||
200 | #endif | 200 | #endif |