-rw-r--r-- | noncore/decorations/flat/flat.cpp | 4 | ||||
-rw-r--r-- | noncore/decorations/flat/flat.h | 1 | ||||
-rw-r--r-- | noncore/decorations/liquid/liquid.cpp | 4 | ||||
-rw-r--r-- | noncore/decorations/liquid/liquid.h | 2 | ||||
-rw-r--r-- | noncore/decorations/polished/polished.cpp | 4 | ||||
-rw-r--r-- | noncore/decorations/polished/polished.h | 2 | ||||
-rw-r--r-- | noncore/styles/flat/flat.cpp | 2 | ||||
-rw-r--r-- | noncore/styles/flat/flat.h | 1 | ||||
-rw-r--r-- | noncore/styles/fresh/fresh.cpp | 4 | ||||
-rw-r--r-- | noncore/styles/fresh/fresh.h | 1 | ||||
-rw-r--r-- | noncore/styles/liquid/plugin.cpp | 4 | ||||
-rw-r--r-- | noncore/styles/liquid/plugin.h | 1 | ||||
-rw-r--r-- | noncore/styles/metal/plugin.cpp | 4 | ||||
-rw-r--r-- | noncore/styles/metal/plugin.h | 2 | ||||
-rw-r--r-- | noncore/styles/theme/plugin.cpp | 4 | ||||
-rw-r--r-- | noncore/styles/theme/plugin.h | 1 | ||||
-rw-r--r-- | noncore/todayplugins/fortune/fortunepluginimpl.h | 1 | ||||
-rw-r--r-- | noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginimpl.h | 1 | ||||
-rw-r--r-- | noncore/todayplugins/weather/weatherpluginimpl.h | 1 |
19 files changed, 22 insertions, 22 deletions
diff --git a/noncore/decorations/flat/flat.cpp b/noncore/decorations/flat/flat.cpp index b6a81a3..a2f12be 100644 --- a/noncore/decorations/flat/flat.cpp +++ b/noncore/decorations/flat/flat.cpp | |||
@@ -1,360 +1,362 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | 2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of the Qtopia Environment. | 4 | ** This file is part of the Qtopia Environment. |
5 | ** | 5 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | ** This file may be distributed and/or modified under the terms of the |
7 | ** GNU General Public License version 2 as published by the Free Software | 7 | ** GNU General Public License version 2 as published by the Free Software |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 8 | ** Foundation and appearing in the file LICENSE.GPL included in the |
9 | ** packaging of this file. | 9 | ** packaging of this file. |
10 | ** | 10 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | ||
21 | #include "flat.h" | 21 | #include "flat.h" |
22 | #include <qpainter.h> | 22 | #include <qpainter.h> |
23 | #include <qapplication.h> | 23 | #include <qapplication.h> |
24 | 24 | ||
25 | 25 | ||
26 | /* XPM */ | 26 | /* XPM */ |
27 | static const char * ok_xpm[] = { | 27 | static const char * ok_xpm[] = { |
28 | "32 32 3 1", | 28 | "32 32 3 1", |
29 | " c None", | 29 | " c None", |
30 | ".c #000000", | 30 | ".c #000000", |
31 | "+c #FFFFFF", | 31 | "+c #FFFFFF", |
32 | " ", | 32 | " ", |
33 | " ", | 33 | " ", |
34 | " ++++++++ ", | 34 | " ++++++++ ", |
35 | " ++++++++++++ ", | 35 | " ++++++++++++ ", |
36 | " +++++ +++++ ", | 36 | " +++++ +++++ ", |
37 | " +++ +++ ", | 37 | " +++ +++ ", |
38 | " +++ +++ ", | 38 | " +++ +++ ", |
39 | " +++ +++ ", | 39 | " +++ +++ ", |
40 | " +++ +++ ", | 40 | " +++ +++ ", |
41 | " ++ ++ ", | 41 | " ++ ++ ", |
42 | " ++ +++++ ++ ++ ++ ", | 42 | " ++ +++++ ++ ++ ++ ", |
43 | " ++ ++++++++ ++ +++ ++ ", | 43 | " ++ ++++++++ ++ +++ ++ ", |
44 | " +++ +++ +++ ++ +++ +++ ", | 44 | " +++ +++ +++ ++ +++ +++ ", |
45 | " ++ +++ ++ ++ +++ ++ ", | 45 | " ++ +++ ++ ++ +++ ++ ", |
46 | " ++ ++ ++ ++ ++ ++ ", | 46 | " ++ ++ ++ ++ ++ ++ ", |
47 | " ++ ++ ++ +++++ ++ ", | 47 | " ++ ++ ++ +++++ ++ ", |
48 | " ++ ++ ++ ++++ ++ ", | 48 | " ++ ++ ++ ++++ ++ ", |
49 | " ++ ++ ++ ++ ++ ++ ", | 49 | " ++ ++ ++ ++ ++ ++ ", |
50 | " ++ +++ ++ ++ +++ ++ ", | 50 | " ++ +++ ++ ++ +++ ++ ", |
51 | " +++ +++ +++ ++ +++ +++ ", | 51 | " +++ +++ +++ ++ +++ +++ ", |
52 | " ++ ++++++++ ++ ++ ++ ", | 52 | " ++ ++++++++ ++ ++ ++ ", |
53 | " ++ +++++ ++ ++ ++ ", | 53 | " ++ +++++ ++ ++ ++ ", |
54 | " ++ ++ ", | 54 | " ++ ++ ", |
55 | " +++ +++ ", | 55 | " +++ +++ ", |
56 | " +++ +++ ", | 56 | " +++ +++ ", |
57 | " +++ +++ ", | 57 | " +++ +++ ", |
58 | " +++ +++ ", | 58 | " +++ +++ ", |
59 | " +++++ +++++ ", | 59 | " +++++ +++++ ", |
60 | " ++++++++++++ ", | 60 | " ++++++++++++ ", |
61 | " ++++++++ ", | 61 | " ++++++++ ", |
62 | " ", | 62 | " ", |
63 | " "}; | 63 | " "}; |
64 | 64 | ||
65 | 65 | ||
66 | /* XPM */ | 66 | /* XPM */ |
67 | static const char * close_xpm[] = { | 67 | static const char * close_xpm[] = { |
68 | "32 32 3 1", | 68 | "32 32 3 1", |
69 | " c None", | 69 | " c None", |
70 | ".c #000000", | 70 | ".c #000000", |
71 | "+c #FFFFFF", | 71 | "+c #FFFFFF", |
72 | " ", | 72 | " ", |
73 | " ", | 73 | " ", |
74 | " ++++++++ ", | 74 | " ++++++++ ", |
75 | " ++++++++++++ ", | 75 | " ++++++++++++ ", |
76 | " +++++ +++++ ", | 76 | " +++++ +++++ ", |
77 | " +++ +++ ", | 77 | " +++ +++ ", |
78 | " +++ +++ ", | 78 | " +++ +++ ", |
79 | " +++ +++ ", | 79 | " +++ +++ ", |
80 | " +++ +++ ", | 80 | " +++ +++ ", |
81 | " ++ ++ ++ ++ ", | 81 | " ++ ++ ++ ++ ", |
82 | " ++ +++ +++ ++ ", | 82 | " ++ +++ +++ ++ ", |
83 | " ++ +++ +++ ++ ", | 83 | " ++ +++ +++ ++ ", |
84 | " +++ +++ +++ +++ ", | 84 | " +++ +++ +++ +++ ", |
85 | " ++ +++ +++ ++ ", | 85 | " ++ +++ +++ ++ ", |
86 | " ++ ++++++ ++ ", | 86 | " ++ ++++++ ++ ", |
87 | " ++ ++++ ++ ", | 87 | " ++ ++++ ++ ", |
88 | " ++ ++++ ++ ", | 88 | " ++ ++++ ++ ", |
89 | " ++ ++++++ ++ ", | 89 | " ++ ++++++ ++ ", |
90 | " ++ +++ +++ ++ ", | 90 | " ++ +++ +++ ++ ", |
91 | " +++ +++ +++ +++ ", | 91 | " +++ +++ +++ +++ ", |
92 | " ++ +++ +++ ++ ", | 92 | " ++ +++ +++ ++ ", |
93 | " ++ +++ +++ ++ ", | 93 | " ++ +++ +++ ++ ", |
94 | " ++ ++ ++ ++ ", | 94 | " ++ ++ ++ ++ ", |
95 | " +++ +++ ", | 95 | " +++ +++ ", |
96 | " +++ +++ ", | 96 | " +++ +++ ", |
97 | " +++ +++ ", | 97 | " +++ +++ ", |
98 | " +++ +++ ", | 98 | " +++ +++ ", |
99 | " +++++ +++++ ", | 99 | " +++++ +++++ ", |
100 | " ++++++++++++ ", | 100 | " ++++++++++++ ", |
101 | " ++++++++ ", | 101 | " ++++++++ ", |
102 | " ", | 102 | " ", |
103 | " "}; | 103 | " "}; |
104 | 104 | ||
105 | 105 | ||
106 | /* XPM */ | 106 | /* XPM */ |
107 | static const char * help_xpm[] = { | 107 | static const char * help_xpm[] = { |
108 | "32 32 3 1", | 108 | "32 32 3 1", |
109 | " c None", | 109 | " c None", |
110 | ".c #000000", | 110 | ".c #000000", |
111 | "+c #FFFFFF", | 111 | "+c #FFFFFF", |
112 | " ", | 112 | " ", |
113 | " ", | 113 | " ", |
114 | " ++++++++ ", | 114 | " ++++++++ ", |
115 | " ++++++++++++ ", | 115 | " ++++++++++++ ", |
116 | " +++++ +++++ ", | 116 | " +++++ +++++ ", |
117 | " +++ +++ ", | 117 | " +++ +++ ", |
118 | " +++ +++ ", | 118 | " +++ +++ ", |
119 | " +++ +++ ", | 119 | " +++ +++ ", |
120 | " +++ +++++ +++ ", | 120 | " +++ +++++ +++ ", |
121 | " ++ ++++++++ ++ ", | 121 | " ++ ++++++++ ++ ", |
122 | " ++ ++++ ++++ ++ ", | 122 | " ++ ++++ ++++ ++ ", |
123 | " ++ +++ +++ ++ ", | 123 | " ++ +++ +++ ++ ", |
124 | " +++ +++ +++ +++ ", | 124 | " +++ +++ +++ +++ ", |
125 | " ++ ++++ ++ ", | 125 | " ++ ++++ ++ ", |
126 | " ++ +++++ ++ ", | 126 | " ++ +++++ ++ ", |
127 | " ++ +++++ ++ ", | 127 | " ++ +++++ ++ ", |
128 | " ++ ++++ ++ ", | 128 | " ++ ++++ ++ ", |
129 | " ++ ++++ ++ ", | 129 | " ++ ++++ ++ ", |
130 | " ++ +++ ++ ", | 130 | " ++ +++ ++ ", |
131 | " +++ +++ +++ ", | 131 | " +++ +++ +++ ", |
132 | " ++ ++ ", | 132 | " ++ ++ ", |
133 | " ++ ++ ", | 133 | " ++ ++ ", |
134 | " ++ +++ ++ ", | 134 | " ++ +++ ++ ", |
135 | " +++ +++ +++ ", | 135 | " +++ +++ +++ ", |
136 | " +++ +++ ", | 136 | " +++ +++ ", |
137 | " +++ +++ ", | 137 | " +++ +++ ", |
138 | " +++ +++ ", | 138 | " +++ +++ ", |
139 | " +++++ +++++ ", | 139 | " +++++ +++++ ", |
140 | " ++++++++++++ ", | 140 | " ++++++++++++ ", |
141 | " ++++++++ ", | 141 | " ++++++++ ", |
142 | " ", | 142 | " ", |
143 | " "}; | 143 | " "}; |
144 | 144 | ||
145 | 145 | ||
146 | /* XPM */ | 146 | /* XPM */ |
147 | static const char * maximize_xpm[] = { | 147 | static const char * maximize_xpm[] = { |
148 | "32 32 3 1", | 148 | "32 32 3 1", |
149 | " c None", | 149 | " c None", |
150 | ".c #000000", | 150 | ".c #000000", |
151 | "+c #FFFFFF", | 151 | "+c #FFFFFF", |
152 | " ", | 152 | " ", |
153 | " ", | 153 | " ", |
154 | " ++++++++ ", | 154 | " ++++++++ ", |
155 | " ++++++++++++ ", | 155 | " ++++++++++++ ", |
156 | " +++++ +++++ ", | 156 | " +++++ +++++ ", |
157 | " +++ +++ ", | 157 | " +++ +++ ", |
158 | " +++ +++ ", | 158 | " +++ +++ ", |
159 | " +++ +++ ", | 159 | " +++ +++ ", |
160 | " +++ ++++++++++++++ +++ ", | 160 | " +++ ++++++++++++++ +++ ", |
161 | " ++ ++++++++++++++ ++ ", | 161 | " ++ ++++++++++++++ ++ ", |
162 | " ++ ++++++++++++++ ++ ", | 162 | " ++ ++++++++++++++ ++ ", |
163 | " ++ +++ +++ ++ ", | 163 | " ++ +++ +++ ++ ", |
164 | " +++ +++ +++ +++ ", | 164 | " +++ +++ +++ +++ ", |
165 | " ++ +++ +++ ++ ", | 165 | " ++ +++ +++ ++ ", |
166 | " ++ +++ +++ ++ ", | 166 | " ++ +++ +++ ++ ", |
167 | " ++ +++ +++ ++ ", | 167 | " ++ +++ +++ ++ ", |
168 | " ++ +++ +++ ++ ", | 168 | " ++ +++ +++ ++ ", |
169 | " ++ +++ +++ ++ ", | 169 | " ++ +++ +++ ++ ", |
170 | " ++ +++ +++ ++ ", | 170 | " ++ +++ +++ ++ ", |
171 | " +++ +++ +++ +++ ", | 171 | " +++ +++ +++ +++ ", |
172 | " ++ +++ +++ ++ ", | 172 | " ++ +++ +++ ++ ", |
173 | " ++ ++++++++++++++ ++ ", | 173 | " ++ ++++++++++++++ ++ ", |
174 | " ++ ++++++++++++++ ++ ", | 174 | " ++ ++++++++++++++ ++ ", |
175 | " +++ ++++++++++++++ +++ ", | 175 | " +++ ++++++++++++++ +++ ", |
176 | " +++ +++ ", | 176 | " +++ +++ ", |
177 | " +++ +++ ", | 177 | " +++ +++ ", |
178 | " +++ +++ ", | 178 | " +++ +++ ", |
179 | " +++++ +++++ ", | 179 | " +++++ +++++ ", |
180 | " ++++++++++++ ", | 180 | " ++++++++++++ ", |
181 | " ++++++++ ", | 181 | " ++++++++ ", |
182 | " ", | 182 | " ", |
183 | " "}; | 183 | " "}; |
184 | 184 | ||
185 | static QImage scaleButton( const QImage &img, int height ) | 185 | static QImage scaleButton( const QImage &img, int height ) |
186 | { | 186 | { |
187 | if ( img.height() != height ) { | 187 | if ( img.height() != height ) { |
188 | return img.smoothScale( img.width()*height/img.height(), height ); | 188 | return img.smoothScale( img.width()*height/img.height(), height ); |
189 | } else { | 189 | } else { |
190 | return img; | 190 | return img; |
191 | } | 191 | } |
192 | } | 192 | } |
193 | 193 | ||
194 | static void colorize( QImage &img, const QColor &c, bool rev ) | 194 | static void colorize( QImage &img, const QColor &c, bool rev ) |
195 | { | 195 | { |
196 | for ( int i = 0; i < img.numColors(); i++ ) { | 196 | for ( int i = 0; i < img.numColors(); i++ ) { |
197 | bool sc = (img.color(i) & 0xff000000); | 197 | bool sc = (img.color(i) & 0xff000000); |
198 | if ( rev ) sc = !sc; | 198 | if ( rev ) sc = !sc; |
199 | img.setColor(i, sc ? c.rgb() : 0x00000000 ); | 199 | img.setColor(i, sc ? c.rgb() : 0x00000000 ); |
200 | } | 200 | } |
201 | } | 201 | } |
202 | 202 | ||
203 | FlatDecoration::FlatDecoration() : ref(0), buttonCache(16) | 203 | FlatDecoration::FlatDecoration() : buttonCache(16) |
204 | { | 204 | { |
205 | buttonCache.setAutoDelete(TRUE); | 205 | buttonCache.setAutoDelete(TRUE); |
206 | } | 206 | } |
207 | 207 | ||
208 | FlatDecoration::~FlatDecoration() | 208 | FlatDecoration::~FlatDecoration() |
209 | { | 209 | { |
210 | } | 210 | } |
211 | 211 | ||
212 | int FlatDecoration::metric( Metric m, const WindowData *wd ) const | 212 | int FlatDecoration::metric( Metric m, const WindowData *wd ) const |
213 | { | 213 | { |
214 | switch ( m ) { | 214 | switch ( m ) { |
215 | case TopBorder: | 215 | case TopBorder: |
216 | return 1; | 216 | return 1; |
217 | break; | 217 | break; |
218 | case LeftBorder: | 218 | case LeftBorder: |
219 | case RightBorder: | 219 | case RightBorder: |
220 | return 2; | 220 | return 2; |
221 | case BottomBorder: | 221 | case BottomBorder: |
222 | return 4; | 222 | return 4; |
223 | case TitleHeight: | 223 | case TitleHeight: |
224 | if ( QApplication::desktop()->height() > 320 ) | 224 | if ( QApplication::desktop()->height() > 320 ) |
225 | return 20; | 225 | return 20; |
226 | else | 226 | else |
227 | return 18; | 227 | return 18; |
228 | case OKWidth: | 228 | case OKWidth: |
229 | case CloseWidth: | 229 | case CloseWidth: |
230 | case HelpWidth: | 230 | case HelpWidth: |
231 | case MaximizeWidth: | 231 | case MaximizeWidth: |
232 | return metric(TitleHeight,wd); | 232 | return metric(TitleHeight,wd); |
233 | break; | 233 | break; |
234 | default: | 234 | default: |
235 | return WindowDecorationInterface::metric( m, wd ); | 235 | return WindowDecorationInterface::metric( m, wd ); |
236 | break; | 236 | break; |
237 | } | 237 | } |
238 | 238 | ||
239 | return 0; | 239 | return 0; |
240 | } | 240 | } |
241 | 241 | ||
242 | void FlatDecoration::drawArea( Area a, QPainter *p, const WindowData *wd ) const | 242 | void FlatDecoration::drawArea( Area a, QPainter *p, const WindowData *wd ) const |
243 | { | 243 | { |
244 | int th = metric( TitleHeight, wd ); | 244 | int th = metric( TitleHeight, wd ); |
245 | QRect r = wd->rect; | 245 | QRect r = wd->rect; |
246 | 246 | ||
247 | switch ( a ) { | 247 | switch ( a ) { |
248 | case Border: | 248 | case Border: |
249 | { | 249 | { |
250 | const QColorGroup &cg = wd->palette.active(); | 250 | const QColorGroup &cg = wd->palette.active(); |
251 | if ( wd->flags & WindowData::Active ) { | 251 | if ( wd->flags & WindowData::Active ) { |
252 | p->setBrush( cg.color(QColorGroup::Highlight) ); | 252 | p->setBrush( cg.color(QColorGroup::Highlight) ); |
253 | } else { | 253 | } else { |
254 | p->setBrush( cg.color(QColorGroup::Background) ); | 254 | p->setBrush( cg.color(QColorGroup::Background) ); |
255 | } | 255 | } |
256 | p->setPen( cg.foreground() ); | 256 | p->setPen( cg.foreground() ); |
257 | int lb = metric(LeftBorder,wd); | 257 | int lb = metric(LeftBorder,wd); |
258 | int rb = metric(RightBorder,wd); | 258 | int rb = metric(RightBorder,wd); |
259 | int tb = metric(TopBorder,wd); | 259 | int tb = metric(TopBorder,wd); |
260 | int bb = metric(BottomBorder,wd); | 260 | int bb = metric(BottomBorder,wd); |
261 | p->drawRect( r.x()-lb, r.y()-tb-th, r.width()+lb+rb, | 261 | p->drawRect( r.x()-lb, r.y()-tb-th, r.width()+lb+rb, |
262 | r.height()+th+tb+bb ); | 262 | r.height()+th+tb+bb ); |
263 | } | 263 | } |
264 | break; | 264 | break; |
265 | case Title: | 265 | case Title: |
266 | if ( r.height() < 2 ) { | 266 | if ( r.height() < 2 ) { |
267 | WindowDecorationInterface::drawArea( a, p, wd ); | 267 | WindowDecorationInterface::drawArea( a, p, wd ); |
268 | } else { | 268 | } else { |
269 | const QColorGroup &cg = wd->palette.active(); | 269 | const QColorGroup &cg = wd->palette.active(); |
270 | QColor c; | 270 | QColor c; |
271 | if ( wd->flags & WindowData::Active ) | 271 | if ( wd->flags & WindowData::Active ) |
272 | c = cg.color(QColorGroup::Highlight); | 272 | c = cg.color(QColorGroup::Highlight); |
273 | else | 273 | else |
274 | c = cg.color(QColorGroup::Background); | 274 | c = cg.color(QColorGroup::Background); |
275 | p->fillRect( QRect(r.x(),r.y()-th,r.width(),th), c ); | 275 | p->fillRect( QRect(r.x(),r.y()-th,r.width(),th), c ); |
276 | } | 276 | } |
277 | break; | 277 | break; |
278 | case TitleText: | 278 | case TitleText: |
279 | p->drawText( r.left()+3+metric(HelpWidth,wd), r.top()-th, | 279 | p->drawText( r.left()+3+metric(HelpWidth,wd), r.top()-th, |
280 | r.width()-metric(HelpWidth,wd)-metric(CloseWidth,wd), th, | 280 | r.width()-metric(HelpWidth,wd)-metric(CloseWidth,wd), th, |
281 | Qt::AlignVCenter, wd->caption ); | 281 | Qt::AlignVCenter, wd->caption ); |
282 | break; | 282 | break; |
283 | default: | 283 | default: |
284 | FlatDecoration::drawArea( a, p, wd ); | 284 | FlatDecoration::drawArea( a, p, wd ); |
285 | break; | 285 | break; |
286 | } | 286 | } |
287 | } | 287 | } |
288 | 288 | ||
289 | void FlatDecoration::drawButton( Button b, QPainter *p, const WindowData *wd, int x, int y, int w, int h, QWSButton::State state ) const | 289 | void FlatDecoration::drawButton( Button b, QPainter *p, const WindowData *wd, int x, int y, int w, int h, QWSButton::State state ) const |
290 | { | 290 | { |
291 | QColor c; | 291 | QColor c; |
292 | const QColorGroup &cg = wd->palette.active(); | 292 | const QColorGroup &cg = wd->palette.active(); |
293 | if ( wd->flags & WindowDecorationInterface::WindowData::Active ) | 293 | if ( wd->flags & WindowDecorationInterface::WindowData::Active ) |
294 | c = cg.color(QColorGroup::HighlightedText); | 294 | c = cg.color(QColorGroup::HighlightedText); |
295 | else | 295 | else |
296 | c = cg.color(QColorGroup::Foreground); | 296 | c = cg.color(QColorGroup::Foreground); |
297 | bool r = (state & QWSButton::MouseOver) && (state & QWSButton::Clicked); | 297 | bool r = (state & QWSButton::MouseOver) && (state & QWSButton::Clicked); |
298 | int th = metric(TitleHeight, wd); | 298 | int th = metric(TitleHeight, wd); |
299 | 299 | ||
300 | QString key( "%1-%2-%3-%4" ); | 300 | QString key( "%1-%2-%3-%4" ); |
301 | key = key.arg(b).arg(th).arg(c.name()).arg(r ? "1" : "0"); | 301 | key = key.arg(b).arg(th).arg(c.name()).arg(r ? "1" : "0"); |
302 | QImage *img = buttonCache.find( key ); | 302 | QImage *img = buttonCache.find( key ); |
303 | if ( !img ) { | 303 | if ( !img ) { |
304 | QImage tmp; | 304 | QImage tmp; |
305 | switch ( b ) { | 305 | switch ( b ) { |
306 | case OK: | 306 | case OK: |
307 | tmp = QImage( ok_xpm ); | 307 | tmp = QImage( ok_xpm ); |
308 | break; | 308 | break; |
309 | case Close: | 309 | case Close: |
310 | tmp = QImage( close_xpm ); | 310 | tmp = QImage( close_xpm ); |
311 | break; | 311 | break; |
312 | case Help: | 312 | case Help: |
313 | tmp = QImage( help_xpm ); | 313 | tmp = QImage( help_xpm ); |
314 | break; | 314 | break; |
315 | case Maximize: | 315 | case Maximize: |
316 | tmp = QImage( maximize_xpm ); | 316 | tmp = QImage( maximize_xpm ); |
317 | break; | 317 | break; |
318 | } | 318 | } |
319 | colorize( tmp, c, r ); | 319 | colorize( tmp, c, r ); |
320 | img = new QImage( scaleButton(tmp,th) ); | 320 | img = new QImage( scaleButton(tmp,th) ); |
321 | FlatDecoration *that = (FlatDecoration *)this; | 321 | FlatDecoration *that = (FlatDecoration *)this; |
322 | that->buttonCache.insert( key, img, 1 ); | 322 | that->buttonCache.insert( key, img, 1 ); |
323 | } | 323 | } |
324 | 324 | ||
325 | p->drawImage( x, y, *img ); | 325 | p->drawImage( x, y, *img ); |
326 | } | 326 | } |
327 | 327 | ||
328 | QRegion FlatDecoration::mask( const WindowData *wd ) const | 328 | QRegion FlatDecoration::mask( const WindowData *wd ) const |
329 | { | 329 | { |
330 | return WindowDecorationInterface::mask( wd ); | 330 | return WindowDecorationInterface::mask( wd ); |
331 | } | 331 | } |
332 | 332 | ||
333 | QString FlatDecoration::name() const | 333 | QString FlatDecoration::name() const |
334 | { | 334 | { |
335 | return qApp->translate( "Decoration", "Flat" ); | 335 | return qApp->translate( "Decoration", "Flat" ); |
336 | } | 336 | } |
337 | 337 | ||
338 | QPixmap FlatDecoration::icon() const | 338 | QPixmap FlatDecoration::icon() const |
339 | { | 339 | { |
340 | return QPixmap(); | 340 | return QPixmap(); |
341 | } | 341 | } |
342 | 342 | ||
343 | QRESULT FlatDecoration::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) | 343 | QRESULT FlatDecoration::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) |
344 | { | 344 | { |
345 | *iface = 0; | 345 | *iface = 0; |
346 | if ( uuid == IID_QUnknown ) | 346 | if ( uuid == IID_QUnknown ) |
347 | *iface = this; | 347 | *iface = this; |
348 | else if ( uuid == IID_WindowDecoration ) | 348 | else if ( uuid == IID_WindowDecoration ) |
349 | *iface = this; | 349 | *iface = this; |
350 | else | ||
351 | return QS_FALSE; | ||
350 | 352 | ||
351 | if ( *iface ) | 353 | if ( *iface ) |
352 | (*iface)->addRef(); | 354 | (*iface)->addRef(); |
353 | return QS_OK; | 355 | return QS_OK; |
354 | } | 356 | } |
355 | 357 | ||
356 | Q_EXPORT_INTERFACE() | 358 | Q_EXPORT_INTERFACE() |
357 | { | 359 | { |
358 | Q_CREATE_INSTANCE( FlatDecoration ) | 360 | Q_CREATE_INSTANCE( FlatDecoration ) |
359 | } | 361 | } |
360 | 362 | ||
diff --git a/noncore/decorations/flat/flat.h b/noncore/decorations/flat/flat.h index 3d8a18b..96ceb1f 100644 --- a/noncore/decorations/flat/flat.h +++ b/noncore/decorations/flat/flat.h | |||
@@ -1,49 +1,48 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | 2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of the Qtopia Environment. | 4 | ** This file is part of the Qtopia Environment. |
5 | ** | 5 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | ** This file may be distributed and/or modified under the terms of the |
7 | ** GNU General Public License version 2 as published by the Free Software | 7 | ** GNU General Public License version 2 as published by the Free Software |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 8 | ** Foundation and appearing in the file LICENSE.GPL included in the |
9 | ** packaging of this file. | 9 | ** packaging of this file. |
10 | ** | 10 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | ||
21 | #ifndef FLAT_H | 21 | #ifndef FLAT_H |
22 | #define FLAT_H | 22 | #define FLAT_H |
23 | 23 | ||
24 | #include <qtopia/windowdecorationinterface.h> | 24 | #include <qtopia/windowdecorationinterface.h> |
25 | #include <qcache.h> | 25 | #include <qcache.h> |
26 | #include <qimage.h> | 26 | #include <qimage.h> |
27 | 27 | ||
28 | class FlatDecoration : public WindowDecorationInterface | 28 | class FlatDecoration : public WindowDecorationInterface |
29 | { | 29 | { |
30 | public: | 30 | public: |
31 | FlatDecoration(); | 31 | FlatDecoration(); |
32 | virtual ~FlatDecoration(); | 32 | virtual ~FlatDecoration(); |
33 | 33 | ||
34 | virtual int metric( Metric m, const WindowData * ) const; | 34 | virtual int metric( Metric m, const WindowData * ) const; |
35 | virtual void drawArea( Area a, QPainter *, const WindowData * ) const; | 35 | virtual void drawArea( Area a, QPainter *, const WindowData * ) const; |
36 | virtual void drawButton( Button b, QPainter *, const WindowData *, int x, int y, int w, int h, QWSButton::State ) const; | 36 | virtual void drawButton( Button b, QPainter *, const WindowData *, int x, int y, int w, int h, QWSButton::State ) const; |
37 | virtual QRegion mask( const WindowData * ) const; | 37 | virtual QRegion mask( const WindowData * ) const; |
38 | virtual QString name() const; | 38 | virtual QString name() const; |
39 | virtual QPixmap icon() const; | 39 | virtual QPixmap icon() const; |
40 | 40 | ||
41 | QRESULT queryInterface( const QUuid&, QUnknownInterface** ); | 41 | QRESULT queryInterface( const QUuid&, QUnknownInterface** ); |
42 | Q_REFCOUNT | 42 | Q_REFCOUNT |
43 | 43 | ||
44 | private: | 44 | private: |
45 | ulong ref; | ||
46 | QCache<QImage> buttonCache; | 45 | QCache<QImage> buttonCache; |
47 | }; | 46 | }; |
48 | 47 | ||
49 | #endif | 48 | #endif |
diff --git a/noncore/decorations/liquid/liquid.cpp b/noncore/decorations/liquid/liquid.cpp index 75b1fc9..ef2ac3c 100644 --- a/noncore/decorations/liquid/liquid.cpp +++ b/noncore/decorations/liquid/liquid.cpp | |||
@@ -1,136 +1,138 @@ | |||
1 | #include "liquid.h" | 1 | #include "liquid.h" |
2 | 2 | ||
3 | #include <qapplication.h> | 3 | #include <qapplication.h> |
4 | #include <qpainter.h> | 4 | #include <qpainter.h> |
5 | #include <qpalette.h> | 5 | #include <qpalette.h> |
6 | #include <qdrawutil.h> | 6 | #include <qdrawutil.h> |
7 | 7 | ||
8 | 8 | ||
9 | LiquidDecoInterface::LiquidDecoInterface ( ) : ref ( 0 ) | 9 | LiquidDecoInterface::LiquidDecoInterface ( ) |
10 | { | 10 | { |
11 | } | 11 | } |
12 | 12 | ||
13 | LiquidDecoInterface::~LiquidDecoInterface ( ) | 13 | LiquidDecoInterface::~LiquidDecoInterface ( ) |
14 | { | 14 | { |
15 | } | 15 | } |
16 | 16 | ||
17 | 17 | ||
18 | 18 | ||
19 | QString LiquidDecoInterface::name ( ) const | 19 | QString LiquidDecoInterface::name ( ) const |
20 | { | 20 | { |
21 | return qApp-> translate ( "Decoration", "Liquid" ); | 21 | return qApp-> translate ( "Decoration", "Liquid" ); |
22 | } | 22 | } |
23 | 23 | ||
24 | 24 | ||
25 | QPixmap LiquidDecoInterface::icon ( ) const | 25 | QPixmap LiquidDecoInterface::icon ( ) const |
26 | { | 26 | { |
27 | return QPixmap ( ); | 27 | return QPixmap ( ); |
28 | } | 28 | } |
29 | 29 | ||
30 | void LiquidDecoInterface::drawArea( Area a, QPainter *p, const WindowData *wd ) const | 30 | void LiquidDecoInterface::drawArea( Area a, QPainter *p, const WindowData *wd ) const |
31 | { | 31 | { |
32 | QRect r = wd-> rect; | 32 | QRect r = wd-> rect; |
33 | int th = metric ( TitleHeight, wd ); | 33 | int th = metric ( TitleHeight, wd ); |
34 | 34 | ||
35 | switch ( a ) { | 35 | switch ( a ) { |
36 | case WindowDecorationInterface::Border: { | 36 | case WindowDecorationInterface::Border: { |
37 | const QColorGroup &cg = wd-> palette. active ( ); | 37 | const QColorGroup &cg = wd-> palette. active ( ); |
38 | qDrawWinPanel ( p, r. x ( ) - metric ( LeftBorder, wd ), | 38 | qDrawWinPanel ( p, r. x ( ) - metric ( LeftBorder, wd ), |
39 | r. y ( ) - th - metric ( TopBorder, wd ), | 39 | r. y ( ) - th - metric ( TopBorder, wd ), |
40 | r. width ( ) + metric ( LeftBorder, wd ) + metric ( RightBorder, wd ), | 40 | r. width ( ) + metric ( LeftBorder, wd ) + metric ( RightBorder, wd ), |
41 | r. height ( ) + th + metric ( TopBorder,wd) + metric ( BottomBorder, wd ), | 41 | r. height ( ) + th + metric ( TopBorder,wd) + metric ( BottomBorder, wd ), |
42 | cg, false, &cg. brush ( QColorGroup::Background )); | 42 | cg, false, &cg. brush ( QColorGroup::Background )); |
43 | break; | 43 | break; |
44 | } | 44 | } |
45 | case WindowDecorationInterface::Title: { | 45 | case WindowDecorationInterface::Title: { |
46 | const QColorGroup &cg = wd-> palette. active ( ); | 46 | const QColorGroup &cg = wd-> palette. active ( ); |
47 | 47 | ||
48 | QBrush titleBrush; | 48 | QBrush titleBrush; |
49 | QPen titleLines1, titleLines2; | 49 | QPen titleLines1, titleLines2; |
50 | 50 | ||
51 | titleBrush = cg. brush (( wd-> flags & WindowData::Active ) ? QColorGroup::Highlight : QColorGroup::Background ); | 51 | titleBrush = cg. brush (( wd-> flags & WindowData::Active ) ? QColorGroup::Highlight : QColorGroup::Background ); |
52 | titleLines1 = titleBrush. color ( ). dark ( 105 ); | 52 | titleLines1 = titleBrush. color ( ). dark ( 105 ); |
53 | titleLines2 = titleBrush. color ( ). dark ( 103 ); | 53 | titleLines2 = titleBrush. color ( ). dark ( 103 ); |
54 | 54 | ||
55 | p-> fillRect ( r. x ( ), r. y ( ) - th, r. width ( ), th, titleBrush ); | 55 | p-> fillRect ( r. x ( ), r. y ( ) - th, r. width ( ), th, titleBrush ); |
56 | for ( int i = r.y()-th; i < r.y(); i += 4 ) { | 56 | for ( int i = r.y()-th; i < r.y(); i += 4 ) { |
57 | p-> setPen ( titleLines1 ); | 57 | p-> setPen ( titleLines1 ); |
58 | p-> drawLine ( r. left ( ), i, r. right ( ), i ); | 58 | p-> drawLine ( r. left ( ), i, r. right ( ), i ); |
59 | p-> setPen ( titleLines2 ); | 59 | p-> setPen ( titleLines2 ); |
60 | p-> drawLine ( r. left ( ), i+1, r. right ( ), i+1 ); | 60 | p-> drawLine ( r. left ( ), i+1, r. right ( ), i+1 ); |
61 | } | 61 | } |
62 | break; | 62 | break; |
63 | } | 63 | } |
64 | case WindowDecorationInterface::TitleText: { | 64 | case WindowDecorationInterface::TitleText: { |
65 | QColor textcol = wd-> palette. active ( ). color (( wd-> flags & WindowData::Active ) ? QColorGroup::HighlightedText : QColorGroup::Text ); | 65 | QColor textcol = wd-> palette. active ( ). color (( wd-> flags & WindowData::Active ) ? QColorGroup::HighlightedText : QColorGroup::Text ); |
66 | QColor shadecol = ( qGray ( textcol. rgb ( ) ) > 128 ) ? textcol. dark ( 230 ) : textcol.light( 300 ); | 66 | QColor shadecol = ( qGray ( textcol. rgb ( ) ) > 128 ) ? textcol. dark ( 230 ) : textcol.light( 300 ); |
67 | if ( textcol == shadecol ) { | 67 | if ( textcol == shadecol ) { |
68 | if ( qGray ( shadecol. rgb ( ) ) < 128 ) | 68 | if ( qGray ( shadecol. rgb ( ) ) < 128 ) |
69 | shadecol = QColor ( 225, 225, 225 ); | 69 | shadecol = QColor ( 225, 225, 225 ); |
70 | else | 70 | else |
71 | shadecol = QColor ( 30, 30, 30 ); | 71 | shadecol = QColor ( 30, 30, 30 ); |
72 | } | 72 | } |
73 | QColor fillcol = wd-> palette. active ( ). color (( wd-> flags & WindowData::Active ) ? QColorGroup::Highlight : QColorGroup::Background ); | 73 | QColor fillcol = wd-> palette. active ( ). color (( wd-> flags & WindowData::Active ) ? QColorGroup::Highlight : QColorGroup::Background ); |
74 | QColor bordercol = fillcol. dark ( 110 ); | 74 | QColor bordercol = fillcol. dark ( 110 ); |
75 | fillcol = fillcol. light ( 110 ); | 75 | fillcol = fillcol. light ( 110 ); |
76 | 76 | ||
77 | QRect tr ( r.x ( ) + 3 + metric ( HelpWidth, wd ), r. top ( ) - th, | 77 | QRect tr ( r.x ( ) + 3 + metric ( HelpWidth, wd ), r. top ( ) - th, |
78 | r. width ( ) - metric ( OKWidth, wd ) - metric ( CloseWidth, wd ), th ); | 78 | r. width ( ) - metric ( OKWidth, wd ) - metric ( CloseWidth, wd ), th ); |
79 | 79 | ||
80 | QFont f = p-> font ( ); | 80 | QFont f = p-> font ( ); |
81 | f. setWeight ( QFont::Bold ); | 81 | f. setWeight ( QFont::Bold ); |
82 | p-> setFont ( f ); | 82 | p-> setFont ( f ); |
83 | 83 | ||
84 | QRect br = p-> boundingRect ( tr, QPainter::AlignCenter, wd-> caption ); | 84 | QRect br = p-> boundingRect ( tr, QPainter::AlignCenter, wd-> caption ); |
85 | int trh2 = tr. height ( ) / 2; | 85 | int trh2 = tr. height ( ) / 2; |
86 | 86 | ||
87 | int align = QPainter::AlignCenter; | 87 | int align = QPainter::AlignCenter; |
88 | 88 | ||
89 | if ( br. width ( ) + 2 * trh2 > tr. width ( ) ) { | 89 | if ( br. width ( ) + 2 * trh2 > tr. width ( ) ) { |
90 | br. setLeft ( tr. left ( ) + trh2 ); | 90 | br. setLeft ( tr. left ( ) + trh2 ); |
91 | br. setWidth ( tr. width ( ) - 2 * trh2 ); | 91 | br. setWidth ( tr. width ( ) - 2 * trh2 ); |
92 | 92 | ||
93 | align = QPainter::AlignLeft | QPainter::AlignVCenter; | 93 | align = QPainter::AlignLeft | QPainter::AlignVCenter; |
94 | } | 94 | } |
95 | 95 | ||
96 | p-> setBrush ( fillcol ); | 96 | p-> setBrush ( fillcol ); |
97 | p-> setPen ( bordercol /*Qt::NoPen*/ ); | 97 | p-> setPen ( bordercol /*Qt::NoPen*/ ); |
98 | p->drawChord ( br. left ( ) - trh2, tr. top ( ), 2 * trh2, tr. height ( ), 90*16, 180*16 ); | 98 | p->drawChord ( br. left ( ) - trh2, tr. top ( ), 2 * trh2, tr. height ( ), 90*16, 180*16 ); |
99 | p->drawChord ( br. right ( ) + 1 - trh2, tr. top ( ), 2 * trh2, tr. height ( ), 90*16, -180*16 ); | 99 | p->drawChord ( br. right ( ) + 1 - trh2, tr. top ( ), 2 * trh2, tr. height ( ), 90*16, -180*16 ); |
100 | 100 | ||
101 | p-> fillRect ( br.left() - 1, tr. top ( ), br. width ( ) + 2, tr. height ( ), fillcol); | 101 | p-> fillRect ( br.left() - 1, tr. top ( ), br. width ( ) + 2, tr. height ( ), fillcol); |
102 | 102 | ||
103 | p-> setPen ( shadecol ); | 103 | p-> setPen ( shadecol ); |
104 | p-> drawText ( br, align, wd-> caption ); | 104 | p-> drawText ( br, align, wd-> caption ); |
105 | p-> setPen ( textcol ); | 105 | p-> setPen ( textcol ); |
106 | br. moveBy ( -1, -1 ); | 106 | br. moveBy ( -1, -1 ); |
107 | p-> drawText ( br, align, wd-> caption ); | 107 | p-> drawText ( br, align, wd-> caption ); |
108 | break; | 108 | break; |
109 | } | 109 | } |
110 | default: { | 110 | default: { |
111 | WindowDecorationInterface::drawArea ( a, p, wd ); | 111 | WindowDecorationInterface::drawArea ( a, p, wd ); |
112 | break; | 112 | break; |
113 | } | 113 | } |
114 | } | 114 | } |
115 | } | 115 | } |
116 | 116 | ||
117 | QRESULT LiquidDecoInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) | 117 | QRESULT LiquidDecoInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) |
118 | { | 118 | { |
119 | *iface = 0; | 119 | *iface = 0; |
120 | 120 | ||
121 | if ( uuid == IID_QUnknown ) | 121 | if ( uuid == IID_QUnknown ) |
122 | *iface = this; | 122 | *iface = this; |
123 | else if ( uuid == IID_WindowDecoration ) | 123 | else if ( uuid == IID_WindowDecoration ) |
124 | *iface = this; | 124 | *iface = this; |
125 | else | ||
126 | return QS_FALSE; | ||
125 | 127 | ||
126 | if ( *iface ) | 128 | if ( *iface ) |
127 | (*iface)-> addRef ( ); | 129 | (*iface)-> addRef ( ); |
128 | 130 | ||
129 | return QS_OK; | 131 | return QS_OK; |
130 | } | 132 | } |
131 | 133 | ||
132 | Q_EXPORT_INTERFACE() | 134 | Q_EXPORT_INTERFACE() |
133 | { | 135 | { |
134 | Q_CREATE_INSTANCE( LiquidDecoInterface ) | 136 | Q_CREATE_INSTANCE( LiquidDecoInterface ) |
135 | } | 137 | } |
136 | 138 | ||
diff --git a/noncore/decorations/liquid/liquid.h b/noncore/decorations/liquid/liquid.h index ec55132..bbe433e 100644 --- a/noncore/decorations/liquid/liquid.h +++ b/noncore/decorations/liquid/liquid.h | |||
@@ -1,25 +1,23 @@ | |||
1 | #ifndef __OPIE_LIQUIDDECO_PLUGIN_H__ | 1 | #ifndef __OPIE_LIQUIDDECO_PLUGIN_H__ |
2 | #define __OPIE_LIQUIDDECO_PLUGIN_H__ | 2 | #define __OPIE_LIQUIDDECO_PLUGIN_H__ |
3 | 3 | ||
4 | #include <qpe/windowdecorationinterface.h> | 4 | #include <qpe/windowdecorationinterface.h> |
5 | 5 | ||
6 | class LiquidSettings; | 6 | class LiquidSettings; |
7 | 7 | ||
8 | class LiquidDecoInterface : public WindowDecorationInterface { | 8 | class LiquidDecoInterface : public WindowDecorationInterface { |
9 | public: | 9 | public: |
10 | LiquidDecoInterface ( ); | 10 | LiquidDecoInterface ( ); |
11 | virtual ~LiquidDecoInterface ( ); | 11 | virtual ~LiquidDecoInterface ( ); |
12 | 12 | ||
13 | QRESULT queryInterface ( const QUuid &, QUnknownInterface ** ); | 13 | QRESULT queryInterface ( const QUuid &, QUnknownInterface ** ); |
14 | Q_REFCOUNT | 14 | Q_REFCOUNT |
15 | 15 | ||
16 | virtual void drawArea( Area a, QPainter *, const WindowData * ) const; | 16 | virtual void drawArea( Area a, QPainter *, const WindowData * ) const; |
17 | 17 | ||
18 | virtual QString name ( ) const; | 18 | virtual QString name ( ) const; |
19 | virtual QPixmap icon ( ) const; | 19 | virtual QPixmap icon ( ) const; |
20 | 20 | ||
21 | private: | ||
22 | ulong ref; | ||
23 | }; | 21 | }; |
24 | 22 | ||
25 | #endif | 23 | #endif |
diff --git a/noncore/decorations/polished/polished.cpp b/noncore/decorations/polished/polished.cpp index 30f1a84..43179be 100644 --- a/noncore/decorations/polished/polished.cpp +++ b/noncore/decorations/polished/polished.cpp | |||
@@ -1,171 +1,173 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | 2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of the Qtopia Environment. | 4 | ** This file is part of the Qtopia Environment. |
5 | ** | 5 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | ** This file may be distributed and/or modified under the terms of the |
7 | ** GNU General Public License version 2 as published by the Free Software | 7 | ** GNU General Public License version 2 as published by the Free Software |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 8 | ** Foundation and appearing in the file LICENSE.GPL included in the |
9 | ** packaging of this file. | 9 | ** packaging of this file. |
10 | ** | 10 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | ||
21 | #include "polished.h" | 21 | #include "polished.h" |
22 | #include <qpainter.h> | 22 | #include <qpainter.h> |
23 | #include <qapplication.h> | 23 | #include <qapplication.h> |
24 | 24 | ||
25 | PolishedDecoration::PolishedDecoration() : ref(0) | 25 | PolishedDecoration::PolishedDecoration() |
26 | { | 26 | { |
27 | } | 27 | } |
28 | 28 | ||
29 | PolishedDecoration::~PolishedDecoration() | 29 | PolishedDecoration::~PolishedDecoration() |
30 | { | 30 | { |
31 | } | 31 | } |
32 | 32 | ||
33 | int PolishedDecoration::metric( Metric m, const WindowData *wd ) const | 33 | int PolishedDecoration::metric( Metric m, const WindowData *wd ) const |
34 | { | 34 | { |
35 | switch ( m ) { | 35 | switch ( m ) { |
36 | case TopBorder: | 36 | case TopBorder: |
37 | return 1; | 37 | return 1; |
38 | break; | 38 | break; |
39 | case LeftBorder: | 39 | case LeftBorder: |
40 | case RightBorder: | 40 | case RightBorder: |
41 | return 2; | 41 | return 2; |
42 | case BottomBorder: | 42 | case BottomBorder: |
43 | return 6; | 43 | return 6; |
44 | case TitleHeight: | 44 | case TitleHeight: |
45 | if ( QApplication::desktop()->height() > 320 ) | 45 | if ( QApplication::desktop()->height() > 320 ) |
46 | return 20; | 46 | return 20; |
47 | else | 47 | else |
48 | return 18; | 48 | return 18; |
49 | default: | 49 | default: |
50 | return WindowDecorationInterface::metric( m, wd ); | 50 | return WindowDecorationInterface::metric( m, wd ); |
51 | break; | 51 | break; |
52 | } | 52 | } |
53 | 53 | ||
54 | return 0; | 54 | return 0; |
55 | } | 55 | } |
56 | 56 | ||
57 | void PolishedDecoration::drawArea( Area a, QPainter *p, const WindowData *wd ) const | 57 | void PolishedDecoration::drawArea( Area a, QPainter *p, const WindowData *wd ) const |
58 | { | 58 | { |
59 | int th = metric( TitleHeight, wd ); | 59 | int th = metric( TitleHeight, wd ); |
60 | QRect r = wd->rect; | 60 | QRect r = wd->rect; |
61 | 61 | ||
62 | switch ( a ) { | 62 | switch ( a ) { |
63 | case Border: | 63 | case Border: |
64 | { | 64 | { |
65 | const QColorGroup &cg = wd->palette.active(); | 65 | const QColorGroup &cg = wd->palette.active(); |
66 | QColor c; | 66 | QColor c; |
67 | if ( wd->flags & WindowData::Active ) { | 67 | if ( wd->flags & WindowData::Active ) { |
68 | c = cg.color(QColorGroup::Highlight); | 68 | c = cg.color(QColorGroup::Highlight); |
69 | } else { | 69 | } else { |
70 | c = cg.color(QColorGroup::Background); | 70 | c = cg.color(QColorGroup::Background); |
71 | } | 71 | } |
72 | drawBlend( p, QRect(r.x(),r.bottom()+1,r.width(),metric(BottomBorder,wd)), c.dark(180), c.light() ); | 72 | drawBlend( p, QRect(r.x(),r.bottom()+1,r.width(),metric(BottomBorder,wd)), c.dark(180), c.light() ); |
73 | int lb = metric(LeftBorder,wd); | 73 | int lb = metric(LeftBorder,wd); |
74 | int rb = metric(RightBorder,wd); | 74 | int rb = metric(RightBorder,wd); |
75 | int tb = metric(TopBorder,wd); | 75 | int tb = metric(TopBorder,wd); |
76 | int bb = metric(BottomBorder,wd); | 76 | int bb = metric(BottomBorder,wd); |
77 | p->fillRect( r.x()-lb, r.y()-th-tb, lb, | 77 | p->fillRect( r.x()-lb, r.y()-th-tb, lb, |
78 | r.height()+th+tb+bb, c.dark(180) ); | 78 | r.height()+th+tb+bb, c.dark(180) ); |
79 | p->fillRect( r.right()+1, r.y()-th-tb, rb, | 79 | p->fillRect( r.right()+1, r.y()-th-tb, rb, |
80 | r.height()+th+tb+bb, c.dark(180) ); | 80 | r.height()+th+tb+bb, c.dark(180) ); |
81 | p->fillRect( r.left(), r.y()-th-tb, r.width(), | 81 | p->fillRect( r.left(), r.y()-th-tb, r.width(), |
82 | tb, c.dark(180) ); | 82 | tb, c.dark(180) ); |
83 | } | 83 | } |
84 | break; | 84 | break; |
85 | case Title: | 85 | case Title: |
86 | if ( r.height() < 2 ) { | 86 | if ( r.height() < 2 ) { |
87 | WindowDecorationInterface::drawArea( a, p, wd ); | 87 | WindowDecorationInterface::drawArea( a, p, wd ); |
88 | } else { | 88 | } else { |
89 | const QColorGroup &cg = wd->palette.active(); | 89 | const QColorGroup &cg = wd->palette.active(); |
90 | QColor c1, c2; | 90 | QColor c1, c2; |
91 | if ( wd->flags & WindowData::Active ) { | 91 | if ( wd->flags & WindowData::Active ) { |
92 | c1 = cg.color(QColorGroup::Highlight).light(); | 92 | c1 = cg.color(QColorGroup::Highlight).light(); |
93 | c2 = cg.color(QColorGroup::Highlight).dark(180); | 93 | c2 = cg.color(QColorGroup::Highlight).dark(180); |
94 | } else { | 94 | } else { |
95 | c1 = cg.color(QColorGroup::Background); | 95 | c1 = cg.color(QColorGroup::Background); |
96 | c2 = cg.color(QColorGroup::Background).dark(180); | 96 | c2 = cg.color(QColorGroup::Background).dark(180); |
97 | } | 97 | } |
98 | drawBlend( p, QRect(r.x(),r.y()-th,r.width(),th), c2, c1 ); | 98 | drawBlend( p, QRect(r.x(),r.y()-th,r.width(),th), c2, c1 ); |
99 | } | 99 | } |
100 | break; | 100 | break; |
101 | case TitleText: | 101 | case TitleText: |
102 | p->drawText( r.left()+5+metric(HelpWidth,wd), r.top()-th, r.width(), th, | 102 | p->drawText( r.left()+5+metric(HelpWidth,wd), r.top()-th, r.width(), th, |
103 | Qt::AlignVCenter, wd->caption ); | 103 | Qt::AlignVCenter, wd->caption ); |
104 | break; | 104 | break; |
105 | default: | 105 | default: |
106 | PolishedDecoration::drawArea( a, p, wd ); | 106 | PolishedDecoration::drawArea( a, p, wd ); |
107 | break; | 107 | break; |
108 | } | 108 | } |
109 | } | 109 | } |
110 | 110 | ||
111 | void PolishedDecoration::drawButton( Button b, QPainter *p, const WindowData *wd, int x, int y, int w, int h, QWSButton::State state ) const | 111 | void PolishedDecoration::drawButton( Button b, QPainter *p, const WindowData *wd, int x, int y, int w, int h, QWSButton::State state ) const |
112 | { | 112 | { |
113 | WindowDecorationInterface::drawButton( b, p, wd, x, y, w, h, state ); | 113 | WindowDecorationInterface::drawButton( b, p, wd, x, y, w, h, state ); |
114 | } | 114 | } |
115 | 115 | ||
116 | QRegion PolishedDecoration::mask( const WindowData *wd ) const | 116 | QRegion PolishedDecoration::mask( const WindowData *wd ) const |
117 | { | 117 | { |
118 | return WindowDecorationInterface::mask( wd ); | 118 | return WindowDecorationInterface::mask( wd ); |
119 | } | 119 | } |
120 | 120 | ||
121 | QString PolishedDecoration::name() const | 121 | QString PolishedDecoration::name() const |
122 | { | 122 | { |
123 | return qApp->translate( "Decoration", "Polished" ); | 123 | return qApp->translate( "Decoration", "Polished" ); |
124 | } | 124 | } |
125 | 125 | ||
126 | QPixmap PolishedDecoration::icon() const | 126 | QPixmap PolishedDecoration::icon() const |
127 | { | 127 | { |
128 | return QPixmap(); | 128 | return QPixmap(); |
129 | } | 129 | } |
130 | 130 | ||
131 | void PolishedDecoration::drawBlend( QPainter *p, const QRect &r, const QColor &c1, const QColor &c2 ) const | 131 | void PolishedDecoration::drawBlend( QPainter *p, const QRect &r, const QColor &c1, const QColor &c2 ) const |
132 | { | 132 | { |
133 | int h1, h2, s1, s2, v1, v2; | 133 | int h1, h2, s1, s2, v1, v2; |
134 | c1.hsv( &h1, &s1, &v1 ); | 134 | c1.hsv( &h1, &s1, &v1 ); |
135 | c2.hsv( &h2, &s2, &v2 ); | 135 | c2.hsv( &h2, &s2, &v2 ); |
136 | 136 | ||
137 | int split = r.height()/3; | 137 | int split = r.height()/3; |
138 | 138 | ||
139 | for ( int j = 0; j < split; j++ ) { | 139 | for ( int j = 0; j < split; j++ ) { |
140 | p->setPen( QColor( h1 + ((h2-h1)*(j+split))/(2*split-1), | 140 | p->setPen( QColor( h1 + ((h2-h1)*(j+split))/(2*split-1), |
141 | s1 + ((s2-s1)*(j+split))/(2*split-1), | 141 | s1 + ((s2-s1)*(j+split))/(2*split-1), |
142 | v1 + ((v2-v1)*(j+split))/(2*split-1), QColor::Hsv ) ); | 142 | v1 + ((v2-v1)*(j+split))/(2*split-1), QColor::Hsv ) ); |
143 | p->drawLine( r.x(), r.y()+j, r.right(), r.y()+j ); | 143 | p->drawLine( r.x(), r.y()+j, r.right(), r.y()+j ); |
144 | } | 144 | } |
145 | 145 | ||
146 | for ( int j = 0; j < r.height()-split; j++ ) { | 146 | for ( int j = 0; j < r.height()-split; j++ ) { |
147 | p->setPen( QColor( h1 + ((h2-h1)*j)/(r.height()-split-1), | 147 | p->setPen( QColor( h1 + ((h2-h1)*j)/(r.height()-split-1), |
148 | s1 + ((s2-s1)*j)/(r.height()-split-1), | 148 | s1 + ((s2-s1)*j)/(r.height()-split-1), |
149 | v1 + ((v2-v1)*j)/(r.height()-split-1), QColor::Hsv ) ); | 149 | v1 + ((v2-v1)*j)/(r.height()-split-1), QColor::Hsv ) ); |
150 | p->drawLine( r.x(), r.bottom()-j, r.right(), r.bottom()-j ); | 150 | p->drawLine( r.x(), r.bottom()-j, r.right(), r.bottom()-j ); |
151 | } | 151 | } |
152 | } | 152 | } |
153 | 153 | ||
154 | QRESULT PolishedDecoration::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) | 154 | QRESULT PolishedDecoration::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) |
155 | { | 155 | { |
156 | *iface = 0; | 156 | *iface = 0; |
157 | if ( uuid == IID_QUnknown ) | 157 | if ( uuid == IID_QUnknown ) |
158 | *iface = this; | 158 | *iface = this; |
159 | else if ( uuid == IID_WindowDecoration ) | 159 | else if ( uuid == IID_WindowDecoration ) |
160 | *iface = this; | 160 | *iface = this; |
161 | else | ||
162 | return QS_FALSE; | ||
161 | 163 | ||
162 | if ( *iface ) | 164 | if ( *iface ) |
163 | (*iface)->addRef(); | 165 | (*iface)->addRef(); |
164 | return QS_OK; | 166 | return QS_OK; |
165 | } | 167 | } |
166 | 168 | ||
167 | Q_EXPORT_INTERFACE() | 169 | Q_EXPORT_INTERFACE() |
168 | { | 170 | { |
169 | Q_CREATE_INSTANCE( PolishedDecoration ) | 171 | Q_CREATE_INSTANCE( PolishedDecoration ) |
170 | } | 172 | } |
171 | 173 | ||
diff --git a/noncore/decorations/polished/polished.h b/noncore/decorations/polished/polished.h index e5c19c0..d661427 100644 --- a/noncore/decorations/polished/polished.h +++ b/noncore/decorations/polished/polished.h | |||
@@ -1,49 +1,47 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | 2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of the Qtopia Environment. | 4 | ** This file is part of the Qtopia Environment. |
5 | ** | 5 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | ** This file may be distributed and/or modified under the terms of the |
7 | ** GNU General Public License version 2 as published by the Free Software | 7 | ** GNU General Public License version 2 as published by the Free Software |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 8 | ** Foundation and appearing in the file LICENSE.GPL included in the |
9 | ** packaging of this file. | 9 | ** packaging of this file. |
10 | ** | 10 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | ||
21 | #ifndef POLISHED_H | 21 | #ifndef POLISHED_H |
22 | #define POLISHED_H | 22 | #define POLISHED_H |
23 | 23 | ||
24 | #include <qtopia/windowdecorationinterface.h> | 24 | #include <qtopia/windowdecorationinterface.h> |
25 | 25 | ||
26 | class PolishedDecoration : public WindowDecorationInterface | 26 | class PolishedDecoration : public WindowDecorationInterface |
27 | { | 27 | { |
28 | public: | 28 | public: |
29 | PolishedDecoration(); | 29 | PolishedDecoration(); |
30 | virtual ~PolishedDecoration(); | 30 | virtual ~PolishedDecoration(); |
31 | 31 | ||
32 | virtual int metric( Metric m, const WindowData * ) const; | 32 | virtual int metric( Metric m, const WindowData * ) const; |
33 | virtual void drawArea( Area a, QPainter *, const WindowData * ) const; | 33 | virtual void drawArea( Area a, QPainter *, const WindowData * ) const; |
34 | virtual void drawButton( Button b, QPainter *, const WindowData *, int x, int y, int w, int h, QWSButton::State ) const; | 34 | virtual void drawButton( Button b, QPainter *, const WindowData *, int x, int y, int w, int h, QWSButton::State ) const; |
35 | virtual QRegion mask( const WindowData * ) const; | 35 | virtual QRegion mask( const WindowData * ) const; |
36 | virtual QString name() const; | 36 | virtual QString name() const; |
37 | virtual QPixmap icon() const; | 37 | virtual QPixmap icon() const; |
38 | 38 | ||
39 | QRESULT queryInterface( const QUuid&, QUnknownInterface** ); | 39 | QRESULT queryInterface( const QUuid&, QUnknownInterface** ); |
40 | Q_REFCOUNT | 40 | Q_REFCOUNT |
41 | 41 | ||
42 | protected: | 42 | protected: |
43 | void PolishedDecoration::drawBlend( QPainter *, const QRect &r, const QColor &c1, const QColor&c2 ) const; | 43 | void PolishedDecoration::drawBlend( QPainter *, const QRect &r, const QColor &c1, const QColor&c2 ) const; |
44 | 44 | ||
45 | private: | ||
46 | ulong ref; | ||
47 | }; | 45 | }; |
48 | 46 | ||
49 | #endif | 47 | #endif |
diff --git a/noncore/styles/flat/flat.cpp b/noncore/styles/flat/flat.cpp index 24366f6..f3bacf9 100644 --- a/noncore/styles/flat/flat.cpp +++ b/noncore/styles/flat/flat.cpp | |||
@@ -1,1102 +1,1102 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | 2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of the Qtopia Environment. | 4 | ** This file is part of the Qtopia Environment. |
5 | ** | 5 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | ** This file may be distributed and/or modified under the terms of the |
7 | ** GNU General Public License version 2 as published by the Free Software | 7 | ** GNU General Public License version 2 as published by the Free Software |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 8 | ** Foundation and appearing in the file LICENSE.GPL included in the |
9 | ** packaging of this file. | 9 | ** packaging of this file. |
10 | ** | 10 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | ||
21 | #include <qtopia/qpeapplication.h> | 21 | #include <qtopia/qpeapplication.h> |
22 | #include <qpushbutton.h> | 22 | #include <qpushbutton.h> |
23 | #include <qtoolbutton.h> | 23 | #include <qtoolbutton.h> |
24 | #include <qpainter.h> | 24 | #include <qpainter.h> |
25 | #include <qfontmetrics.h> | 25 | #include <qfontmetrics.h> |
26 | #include <qpalette.h> | 26 | #include <qpalette.h> |
27 | #include <qdrawutil.h> | 27 | #include <qdrawutil.h> |
28 | #include <qscrollbar.h> | 28 | #include <qscrollbar.h> |
29 | #include <qbutton.h> | 29 | #include <qbutton.h> |
30 | #include <qframe.h> | 30 | #include <qframe.h> |
31 | #include <qtabbar.h> | 31 | #include <qtabbar.h> |
32 | #include <qspinbox.h> | 32 | #include <qspinbox.h> |
33 | #include <qlineedit.h> | 33 | #include <qlineedit.h> |
34 | #include <qmap.h> | 34 | #include <qmap.h> |
35 | 35 | ||
36 | #define INCLUDE_MENUITEM_DEF | 36 | #define INCLUDE_MENUITEM_DEF |
37 | #include <qmenudata.h> | 37 | #include <qmenudata.h> |
38 | #include <qpopupmenu.h> | 38 | #include <qpopupmenu.h> |
39 | 39 | ||
40 | #include "flat.h" | 40 | #include "flat.h" |
41 | 41 | ||
42 | #define QCOORDARRLEN(x) sizeof(x)/(sizeof(QCOORD)*2) | 42 | #define QCOORDARRLEN(x) sizeof(x)/(sizeof(QCOORD)*2) |
43 | 43 | ||
44 | class SpinBoxHack : public QSpinBox | 44 | class SpinBoxHack : public QSpinBox |
45 | { | 45 | { |
46 | public: | 46 | public: |
47 | void setFlatButtons( bool f ) { | 47 | void setFlatButtons( bool f ) { |
48 | upButton()->setFlat( f ); | 48 | upButton()->setFlat( f ); |
49 | downButton()->setFlat( f ); | 49 | downButton()->setFlat( f ); |
50 | } | 50 | } |
51 | }; | 51 | }; |
52 | 52 | ||
53 | class FlatStylePrivate : public QObject | 53 | class FlatStylePrivate : public QObject |
54 | { | 54 | { |
55 | Q_OBJECT | 55 | Q_OBJECT |
56 | public: | 56 | public: |
57 | FlatStylePrivate() : QObject() {} | 57 | FlatStylePrivate() : QObject() {} |
58 | 58 | ||
59 | bool eventFilter( QObject *o, QEvent *e ) { | 59 | bool eventFilter( QObject *o, QEvent *e ) { |
60 | if ( e->type() == QEvent::ParentPaletteChange ) { | 60 | if ( e->type() == QEvent::ParentPaletteChange ) { |
61 | if ( o->inherits( "QMenuBar" ) ) { | 61 | if ( o->inherits( "QMenuBar" ) ) { |
62 | QWidget *w = (QWidget *)o; | 62 | QWidget *w = (QWidget *)o; |
63 | if ( w->parentWidget() ) { | 63 | if ( w->parentWidget() ) { |
64 | QPalette p = w->parentWidget()->palette(); | 64 | QPalette p = w->parentWidget()->palette(); |
65 | QColorGroup a = p.active(); | 65 | QColorGroup a = p.active(); |
66 | a.setColor( QColorGroup::Light, a.foreground() ); | 66 | a.setColor( QColorGroup::Light, a.foreground() ); |
67 | a.setColor( QColorGroup::Dark, a.foreground() ); | 67 | a.setColor( QColorGroup::Dark, a.foreground() ); |
68 | p.setActive( a ); | 68 | p.setActive( a ); |
69 | p.setInactive( a ); | 69 | p.setInactive( a ); |
70 | w->setPalette( p ); | 70 | w->setPalette( p ); |
71 | } | 71 | } |
72 | } else if ( o->inherits( "QHeader" ) ) { | 72 | } else if ( o->inherits( "QHeader" ) ) { |
73 | QWidget *w = (QWidget *)o; | 73 | QWidget *w = (QWidget *)o; |
74 | if ( w->parentWidget() ) { | 74 | if ( w->parentWidget() ) { |
75 | QPalette p = w->parentWidget()->palette(); | 75 | QPalette p = w->parentWidget()->palette(); |
76 | QColorGroup a = p.active(); | 76 | QColorGroup a = p.active(); |
77 | a.setColor( QColorGroup::Light, a.button() ); | 77 | a.setColor( QColorGroup::Light, a.button() ); |
78 | p.setActive( a ); | 78 | p.setActive( a ); |
79 | p.setInactive( a ); | 79 | p.setInactive( a ); |
80 | w->setPalette( p ); | 80 | w->setPalette( p ); |
81 | } | 81 | } |
82 | } | 82 | } |
83 | } | 83 | } |
84 | return FALSE; | 84 | return FALSE; |
85 | } | 85 | } |
86 | 86 | ||
87 | QMap<QFrame *,int> frameStyles; | 87 | QMap<QFrame *,int> frameStyles; |
88 | }; | 88 | }; |
89 | 89 | ||
90 | FlatStyle::FlatStyle() : revItem(FALSE), fillBtnBorder(FALSE) | 90 | FlatStyle::FlatStyle() : revItem(FALSE), fillBtnBorder(FALSE) |
91 | { | 91 | { |
92 | setButtonMargin(3); | 92 | setButtonMargin(3); |
93 | setScrollBarExtent(13,13); | 93 | setScrollBarExtent(13,13); |
94 | setButtonDefaultIndicatorWidth(0); | 94 | setButtonDefaultIndicatorWidth(0); |
95 | d = new FlatStylePrivate; | 95 | d = new FlatStylePrivate; |
96 | } | 96 | } |
97 | 97 | ||
98 | FlatStyle::~FlatStyle() | 98 | FlatStyle::~FlatStyle() |
99 | { | 99 | { |
100 | delete d; | 100 | delete d; |
101 | } | 101 | } |
102 | 102 | ||
103 | int FlatStyle::buttonMargin() const | 103 | int FlatStyle::buttonMargin() const |
104 | { | 104 | { |
105 | return 3; | 105 | return 3; |
106 | } | 106 | } |
107 | 107 | ||
108 | QSize FlatStyle::scrollBarExtent() const | 108 | QSize FlatStyle::scrollBarExtent() const |
109 | { | 109 | { |
110 | return QSize(13,13); | 110 | return QSize(13,13); |
111 | } | 111 | } |
112 | 112 | ||
113 | void FlatStyle::polish ( QPalette & ) | 113 | void FlatStyle::polish ( QPalette & ) |
114 | { | 114 | { |
115 | } | 115 | } |
116 | 116 | ||
117 | void FlatStyle::polish( QWidget *w ) | 117 | void FlatStyle::polish( QWidget *w ) |
118 | { | 118 | { |
119 | if ( w->inherits( "QFrame" ) ) { | 119 | if ( w->inherits( "QFrame" ) ) { |
120 | QFrame *f = (QFrame *)w; | 120 | QFrame *f = (QFrame *)w; |
121 | if ( f->frameShape() == QFrame::HLine || f->frameShape() == QFrame::VLine ) | 121 | if ( f->frameShape() == QFrame::HLine || f->frameShape() == QFrame::VLine ) |
122 | f->setFrameShadow( QFrame::Plain ); | 122 | f->setFrameShadow( QFrame::Plain ); |
123 | else if ( f->frameShape() != QFrame::NoFrame ) | 123 | else if ( f->frameShape() != QFrame::NoFrame ) |
124 | f->setFrameShape( QFrame::StyledPanel ); | 124 | f->setFrameShape( QFrame::StyledPanel ); |
125 | f->setLineWidth( 1 ); | 125 | f->setLineWidth( 1 ); |
126 | } | 126 | } |
127 | if ( w->inherits( "QSpinBox" ) ) | 127 | if ( w->inherits( "QSpinBox" ) ) |
128 | ((SpinBoxHack*)w)->setFlatButtons( TRUE ); | 128 | ((SpinBoxHack*)w)->setFlatButtons( TRUE ); |
129 | if ( w->inherits( "QMenuBar" ) ) { | 129 | if ( w->inherits( "QMenuBar" ) ) { |
130 | // make selected item look flat | 130 | // make selected item look flat |
131 | QPalette p = w->palette(); | 131 | QPalette p = w->palette(); |
132 | QColorGroup a = p.active(); | 132 | QColorGroup a = p.active(); |
133 | a.setColor( QColorGroup::Light, a.foreground() ); | 133 | a.setColor( QColorGroup::Light, a.foreground() ); |
134 | a.setColor( QColorGroup::Dark, a.foreground() ); | 134 | a.setColor( QColorGroup::Dark, a.foreground() ); |
135 | p.setActive( a ); | 135 | p.setActive( a ); |
136 | p.setInactive( a ); | 136 | p.setInactive( a ); |
137 | w->setPalette( p ); | 137 | w->setPalette( p ); |
138 | w->installEventFilter( d ); | 138 | w->installEventFilter( d ); |
139 | } else if ( w->inherits( "QHeader" ) ) { | 139 | } else if ( w->inherits( "QHeader" ) ) { |
140 | // make headers look flat | 140 | // make headers look flat |
141 | QPalette p = w->palette(); | 141 | QPalette p = w->palette(); |
142 | QColorGroup a = p.active(); | 142 | QColorGroup a = p.active(); |
143 | a.setColor( QColorGroup::Light, a.button() ); | 143 | a.setColor( QColorGroup::Light, a.button() ); |
144 | p.setActive( a ); | 144 | p.setActive( a ); |
145 | p.setInactive( a ); | 145 | p.setInactive( a ); |
146 | w->setPalette( p ); | 146 | w->setPalette( p ); |
147 | w->installEventFilter( d ); | 147 | w->installEventFilter( d ); |
148 | } | 148 | } |
149 | } | 149 | } |
150 | 150 | ||
151 | void FlatStyle::unPolish( QWidget *w ) | 151 | void FlatStyle::unPolish( QWidget *w ) |
152 | { | 152 | { |
153 | if ( w->inherits("QFrame") ) { | 153 | if ( w->inherits("QFrame") ) { |
154 | QFrame *f = (QFrame *)w; | 154 | QFrame *f = (QFrame *)w; |
155 | if ( f->frameShape() == QFrame::HLine || f->frameShape() == QFrame::VLine ) { | 155 | if ( f->frameShape() == QFrame::HLine || f->frameShape() == QFrame::VLine ) { |
156 | f->setFrameShadow( QFrame::Sunken ); | 156 | f->setFrameShadow( QFrame::Sunken ); |
157 | } else if ( f->frameShape() != QFrame::NoFrame ) { | 157 | } else if ( f->frameShape() != QFrame::NoFrame ) { |
158 | f->setFrameShape( QFrame::StyledPanel ); | 158 | f->setFrameShape( QFrame::StyledPanel ); |
159 | f->setLineWidth( 2 ); | 159 | f->setLineWidth( 2 ); |
160 | } | 160 | } |
161 | } | 161 | } |
162 | if ( w->inherits("QSpinBox") ) | 162 | if ( w->inherits("QSpinBox") ) |
163 | ((SpinBoxHack*)w)->setFlatButtons( FALSE ); | 163 | ((SpinBoxHack*)w)->setFlatButtons( FALSE ); |
164 | if ( w->inherits("QMenuBar") || w->inherits("QHeader") ) { | 164 | if ( w->inherits("QMenuBar") || w->inherits("QHeader") ) { |
165 | w->unsetPalette(); | 165 | w->unsetPalette(); |
166 | w->removeEventFilter( d ); | 166 | w->removeEventFilter( d ); |
167 | } | 167 | } |
168 | } | 168 | } |
169 | 169 | ||
170 | int FlatStyle::defaultFrameWidth() const | 170 | int FlatStyle::defaultFrameWidth() const |
171 | { | 171 | { |
172 | return 2; | 172 | return 2; |
173 | } | 173 | } |
174 | 174 | ||
175 | void FlatStyle::drawItem( QPainter *p, int x, int y, int w, int h, | 175 | void FlatStyle::drawItem( QPainter *p, int x, int y, int w, int h, |
176 | int flags, const QColorGroup &g, bool enabled, | 176 | int flags, const QColorGroup &g, bool enabled, |
177 | const QPixmap *pixmap, const QString& text, int len, | 177 | const QPixmap *pixmap, const QString& text, int len, |
178 | const QColor* penColor ) | 178 | const QColor* penColor ) |
179 | { | 179 | { |
180 | QColor pc( penColor ? *penColor : g.foreground() ); | 180 | QColor pc( penColor ? *penColor : g.foreground() ); |
181 | QColorGroup cg( g ); | 181 | QColorGroup cg( g ); |
182 | if ( !enabled ) | 182 | if ( !enabled ) |
183 | cg.setColor( QColorGroup::Light, cg.background() ); | 183 | cg.setColor( QColorGroup::Light, cg.background() ); |
184 | if ( revItem ) { | 184 | if ( revItem ) { |
185 | pc = cg.button(); | 185 | pc = cg.button(); |
186 | revItem = FALSE; | 186 | revItem = FALSE; |
187 | } | 187 | } |
188 | QWindowsStyle::drawItem( p, x, y, w, h, flags, cg, enabled, pixmap, text, len, &pc ); | 188 | QWindowsStyle::drawItem( p, x, y, w, h, flags, cg, enabled, pixmap, text, len, &pc ); |
189 | } | 189 | } |
190 | 190 | ||
191 | void FlatStyle::drawPanel ( QPainter * p, int x, int y, int w, int h, | 191 | void FlatStyle::drawPanel ( QPainter * p, int x, int y, int w, int h, |
192 | const QColorGroup &g, bool /*sunken*/, int lineWidth, const QBrush * fill ) | 192 | const QColorGroup &g, bool /*sunken*/, int lineWidth, const QBrush * fill ) |
193 | { | 193 | { |
194 | if ( fill ) | 194 | if ( fill ) |
195 | p->setBrush( *fill ); | 195 | p->setBrush( *fill ); |
196 | p->setPen( QPen(g.foreground(), lineWidth) ); | 196 | p->setPen( QPen(g.foreground(), lineWidth) ); |
197 | p->drawRect( x, y, w, h ); | 197 | p->drawRect( x, y, w, h ); |
198 | } | 198 | } |
199 | 199 | ||
200 | void FlatStyle::drawButton( QPainter *p, int x, int y, int w, int h, | 200 | void FlatStyle::drawButton( QPainter *p, int x, int y, int w, int h, |
201 | const QColorGroup &cg, bool /*sunken*/, const QBrush* fill ) | 201 | const QColorGroup &cg, bool /*sunken*/, const QBrush* fill ) |
202 | { | 202 | { |
203 | QPen oldPen = p->pen(); | 203 | QPen oldPen = p->pen(); |
204 | 204 | ||
205 | int x2 = x+w-1; | 205 | int x2 = x+w-1; |
206 | int y2 = y+h-1; | 206 | int y2 = y+h-1; |
207 | 207 | ||
208 | if ( fillBtnBorder && btnBg != cg.color(QColorGroup::Button) ) { | 208 | if ( fillBtnBorder && btnBg != cg.color(QColorGroup::Button) ) { |
209 | p->setPen( btnBg ); | 209 | p->setPen( btnBg ); |
210 | p->drawLine( x, y, x2, y ); | 210 | p->drawLine( x, y, x2, y ); |
211 | p->drawLine( x, y2, x2, y2 ); | 211 | p->drawLine( x, y2, x2, y2 ); |
212 | p->drawLine( x, y+1, x, y2-1 ); | 212 | p->drawLine( x, y+1, x, y2-1 ); |
213 | p->drawLine( x2, y+1, x2, y2-1 ); | 213 | p->drawLine( x2, y+1, x2, y2-1 ); |
214 | p->fillRect( x+1, y+1, 3, 3, btnBg ); | 214 | p->fillRect( x+1, y+1, 3, 3, btnBg ); |
215 | p->fillRect( x+1, y2-3, 3, 3, btnBg ); | 215 | p->fillRect( x+1, y2-3, 3, 3, btnBg ); |
216 | p->fillRect( x2-3, y2-3, 3, 3, btnBg ); | 216 | p->fillRect( x2-3, y2-3, 3, 3, btnBg ); |
217 | p->fillRect( x2-3, y+1, 3, 3, btnBg ); | 217 | p->fillRect( x2-3, y+1, 3, 3, btnBg ); |
218 | p->fillRect( x+2, y+2, w-4, h-4, fill?(*fill):cg.brush(QColorGroup::Button) ); | 218 | p->fillRect( x+2, y+2, w-4, h-4, fill?(*fill):cg.brush(QColorGroup::Button) ); |
219 | } else { | 219 | } else { |
220 | p->fillRect( x+1, y+1, w-2, h-2, fill?(*fill):cg.brush(QColorGroup::Button) ); | 220 | p->fillRect( x+1, y+1, w-2, h-2, fill?(*fill):cg.brush(QColorGroup::Button) ); |
221 | } | 221 | } |
222 | 222 | ||
223 | if ( h >= 10 ) { | 223 | if ( h >= 10 ) { |
224 | x++; y++; | 224 | x++; y++; |
225 | x2--; y2--; | 225 | x2--; y2--; |
226 | w -= 2; h -= 2; | 226 | w -= 2; h -= 2; |
227 | } | 227 | } |
228 | 228 | ||
229 | p->setPen( cg.foreground() ); | 229 | p->setPen( cg.foreground() ); |
230 | 230 | ||
231 | if ( h < 10 ) { | 231 | if ( h < 10 ) { |
232 | p->setBrush( NoBrush ); | 232 | p->setBrush( NoBrush ); |
233 | p->drawRect( x, y, w, h ); | 233 | p->drawRect( x, y, w, h ); |
234 | } else { | 234 | } else { |
235 | p->drawLine( x+3, y, x2-3, y ); | 235 | p->drawLine( x+3, y, x2-3, y ); |
236 | p->drawLine( x+3, y2, x2-3, y2 ); | 236 | p->drawLine( x+3, y2, x2-3, y2 ); |
237 | p->drawLine( x, y+3, x, y2-3 ); | 237 | p->drawLine( x, y+3, x, y2-3 ); |
238 | p->drawLine( x2, y+3, x2, y2-3 ); | 238 | p->drawLine( x2, y+3, x2, y2-3 ); |
239 | 239 | ||
240 | p->drawLine( x+1, y+1, x+2, y+1 ); | 240 | p->drawLine( x+1, y+1, x+2, y+1 ); |
241 | p->drawPoint( x+1, y+2 ); | 241 | p->drawPoint( x+1, y+2 ); |
242 | p->drawLine( x2-2, y+1, x2-1, y+1 ); | 242 | p->drawLine( x2-2, y+1, x2-1, y+1 ); |
243 | p->drawPoint( x2-1, y+2 ); | 243 | p->drawPoint( x2-1, y+2 ); |
244 | 244 | ||
245 | p->drawLine( x+1, y2-1, x+2, y2-1 ); | 245 | p->drawLine( x+1, y2-1, x+2, y2-1 ); |
246 | p->drawPoint( x+1, y2-2 ); | 246 | p->drawPoint( x+1, y2-2 ); |
247 | p->drawLine( x2-2, y2-1, x2-1, y2-1 ); | 247 | p->drawLine( x2-2, y2-1, x2-1, y2-1 ); |
248 | p->drawPoint( x2-1, y2-2 ); | 248 | p->drawPoint( x2-1, y2-2 ); |
249 | } | 249 | } |
250 | 250 | ||
251 | p->setPen( oldPen ); | 251 | p->setPen( oldPen ); |
252 | } | 252 | } |
253 | 253 | ||
254 | void FlatStyle::drawButtonMask ( QPainter * p, int x, int y, int w, int h ) | 254 | void FlatStyle::drawButtonMask ( QPainter * p, int x, int y, int w, int h ) |
255 | { | 255 | { |
256 | x++; y++; | 256 | x++; y++; |
257 | x-=2; y-=2; | 257 | x-=2; y-=2; |
258 | p->fillRect( x, y, w, h, color1 ); | 258 | p->fillRect( x, y, w, h, color1 ); |
259 | } | 259 | } |
260 | 260 | ||
261 | void FlatStyle::drawBevelButton( QPainter *p, int x, int y, int w, int h, | 261 | void FlatStyle::drawBevelButton( QPainter *p, int x, int y, int w, int h, |
262 | const QColorGroup &g, bool /*sunken*/, const QBrush* fill ) | 262 | const QColorGroup &g, bool /*sunken*/, const QBrush* fill ) |
263 | { | 263 | { |
264 | p->fillRect( x+1, y+1, w-2, h-2, fill?(*fill):g.brush(QColorGroup::Button) ); | 264 | p->fillRect( x+1, y+1, w-2, h-2, fill?(*fill):g.brush(QColorGroup::Button) ); |
265 | p->setPen( g.foreground() ); | 265 | p->setPen( g.foreground() ); |
266 | p->setBrush( NoBrush ); | 266 | p->setBrush( NoBrush ); |
267 | p->drawRect( x, y, w, h ); | 267 | p->drawRect( x, y, w, h ); |
268 | } | 268 | } |
269 | 269 | ||
270 | void FlatStyle::drawToolButton( QPainter *p, int x, int y, int w, int h, | 270 | void FlatStyle::drawToolButton( QPainter *p, int x, int y, int w, int h, |
271 | const QColorGroup &g, bool sunken, const QBrush* fill ) | 271 | const QColorGroup &g, bool sunken, const QBrush* fill ) |
272 | { | 272 | { |
273 | if ( p->device()->devType() == QInternal::Widget ) { | 273 | if ( p->device()->devType() == QInternal::Widget ) { |
274 | QWidget *w = (QWidget *)p->device(); | 274 | QWidget *w = (QWidget *)p->device(); |
275 | if ( w->isA("QToolButton") ) { | 275 | if ( w->isA("QToolButton") ) { |
276 | QToolButton *btn = (QToolButton *)w; | 276 | QToolButton *btn = (QToolButton *)w; |
277 | if ( btn->parentWidget() ) { | 277 | if ( btn->parentWidget() ) { |
278 | btnBg = btn->parentWidget()->backgroundColor(); | 278 | btnBg = btn->parentWidget()->backgroundColor(); |
279 | fillBtnBorder = TRUE; | 279 | fillBtnBorder = TRUE; |
280 | } | 280 | } |
281 | } | 281 | } |
282 | } | 282 | } |
283 | QBrush fb( fill ? *fill : g.button() ); | 283 | QBrush fb( fill ? *fill : g.button() ); |
284 | if ( sunken && fb == g.brush( QColorGroup::Button ) ) { | 284 | if ( sunken && fb == g.brush( QColorGroup::Button ) ) { |
285 | fb = g.buttonText(); | 285 | fb = g.buttonText(); |
286 | revItem = TRUE;// ugh | 286 | revItem = TRUE;// ugh |
287 | } | 287 | } |
288 | drawButton( p, x, y, w, h, g, sunken, &fb ); | 288 | drawButton( p, x, y, w, h, g, sunken, &fb ); |
289 | fillBtnBorder = FALSE; | 289 | fillBtnBorder = FALSE; |
290 | } | 290 | } |
291 | 291 | ||
292 | void FlatStyle::drawPushButton( QPushButton *btn, QPainter *p ) | 292 | void FlatStyle::drawPushButton( QPushButton *btn, QPainter *p ) |
293 | { | 293 | { |
294 | QColorGroup g = btn->colorGroup(); | 294 | QColorGroup g = btn->colorGroup(); |
295 | int x1, y1, x2, y2; | 295 | int x1, y1, x2, y2; |
296 | 296 | ||
297 | btn->rect().coords( &x1, &y1, &x2, &y2 );// get coordinates | 297 | btn->rect().coords( &x1, &y1, &x2, &y2 );// get coordinates |
298 | 298 | ||
299 | p->setPen( g.foreground() ); | 299 | p->setPen( g.foreground() ); |
300 | p->setBrush( QBrush(g.button(),NoBrush) ); | 300 | p->setBrush( QBrush(g.button(),NoBrush) ); |
301 | 301 | ||
302 | // int diw = buttonDefaultIndicatorWidth(); | 302 | // int diw = buttonDefaultIndicatorWidth(); |
303 | /* | 303 | /* |
304 | if ( btn->isDefault() || btn->autoDefault() ) { | 304 | if ( btn->isDefault() || btn->autoDefault() ) { |
305 | if ( btn->isDefault() ) { | 305 | if ( btn->isDefault() ) { |
306 | p->setPen( g.shadow() ); | 306 | p->setPen( g.shadow() ); |
307 | p->drawRect( x1, y1, x2-x1+1, y2-y1+1 ); | 307 | p->drawRect( x1, y1, x2-x1+1, y2-y1+1 ); |
308 | } | 308 | } |
309 | x1 += diw; | 309 | x1 += diw; |
310 | y1 += diw; | 310 | y1 += diw; |
311 | x2 -= diw; | 311 | x2 -= diw; |
312 | y2 -= diw; | 312 | y2 -= diw; |
313 | } | 313 | } |
314 | */ | 314 | */ |
315 | 315 | ||
316 | if ( btn->parentWidget() ) { | 316 | if ( btn->parentWidget() ) { |
317 | btnBg = btn->parentWidget()->backgroundColor(); | 317 | btnBg = btn->parentWidget()->backgroundColor(); |
318 | fillBtnBorder = TRUE; | 318 | fillBtnBorder = TRUE; |
319 | } | 319 | } |
320 | 320 | ||
321 | bool clearButton = TRUE; | 321 | bool clearButton = TRUE; |
322 | if ( btn->isDown() ) { | 322 | if ( btn->isDown() ) { |
323 | drawButton( p, x1, y1, x2-x1+1, y2-y1+1, g, TRUE, | 323 | drawButton( p, x1, y1, x2-x1+1, y2-y1+1, g, TRUE, |
324 | &g.brush( QColorGroup::Text ) ); | 324 | &g.brush( QColorGroup::Text ) ); |
325 | } else { | 325 | } else { |
326 | if ( btn->isToggleButton() && btn->isOn() && btn->isEnabled() ) { | 326 | if ( btn->isToggleButton() && btn->isOn() && btn->isEnabled() ) { |
327 | QBrush fill(g.light(), Dense4Pattern ); | 327 | QBrush fill(g.light(), Dense4Pattern ); |
328 | drawButton( p, x1, y1, x2-x1+1, y2-y1+1, g, TRUE, &fill ); | 328 | drawButton( p, x1, y1, x2-x1+1, y2-y1+1, g, TRUE, &fill ); |
329 | clearButton = FALSE; | 329 | clearButton = FALSE; |
330 | } else { | 330 | } else { |
331 | if ( !btn->isFlat() ) | 331 | if ( !btn->isFlat() ) |
332 | drawButton( p, x1, y1, x2-x1+1, y2-y1+1, g, btn->isOn(), | 332 | drawButton( p, x1, y1, x2-x1+1, y2-y1+1, g, btn->isOn(), |
333 | &g.brush( QColorGroup::Button ) ); | 333 | &g.brush( QColorGroup::Button ) ); |
334 | } | 334 | } |
335 | } | 335 | } |
336 | /* | 336 | /* |
337 | if ( clearButton ) { | 337 | if ( clearButton ) { |
338 | if (btn->isDown()) | 338 | if (btn->isDown()) |
339 | p->setBrushOrigin(p->brushOrigin() + QPoint(1,1)); | 339 | p->setBrushOrigin(p->brushOrigin() + QPoint(1,1)); |
340 | p->fillRect( x1+2, y1+2, x2-x1-3, y2-y1-3, | 340 | p->fillRect( x1+2, y1+2, x2-x1-3, y2-y1-3, |
341 | g.brush( QColorGroup::Button ) ); | 341 | g.brush( QColorGroup::Button ) ); |
342 | if (btn->isDown()) | 342 | if (btn->isDown()) |
343 | p->setBrushOrigin(p->brushOrigin() - QPoint(1,1)); | 343 | p->setBrushOrigin(p->brushOrigin() - QPoint(1,1)); |
344 | } | 344 | } |
345 | */ | 345 | */ |
346 | 346 | ||
347 | fillBtnBorder = FALSE; | 347 | fillBtnBorder = FALSE; |
348 | if ( p->brush().style() != NoBrush ) | 348 | if ( p->brush().style() != NoBrush ) |
349 | p->setBrush( NoBrush ); | 349 | p->setBrush( NoBrush ); |
350 | } | 350 | } |
351 | 351 | ||
352 | void FlatStyle::drawPushButtonLabel( QPushButton *btn, QPainter *p ) | 352 | void FlatStyle::drawPushButtonLabel( QPushButton *btn, QPainter *p ) |
353 | { | 353 | { |
354 | QRect r = pushButtonContentsRect( btn ); | 354 | QRect r = pushButtonContentsRect( btn ); |
355 | int x, y, w, h; | 355 | int x, y, w, h; |
356 | r.rect( &x, &y, &w, &h ); | 356 | r.rect( &x, &y, &w, &h ); |
357 | QColorGroup cg = btn->colorGroup(); | 357 | QColorGroup cg = btn->colorGroup(); |
358 | if ( btn->isToggleButton() && btn->isOn() && btn->isEnabled() && !btn->isDown() ) | 358 | if ( btn->isToggleButton() && btn->isOn() && btn->isEnabled() && !btn->isDown() ) |
359 | cg.setColor( QColorGroup::ButtonText, btn->colorGroup().text() ); | 359 | cg.setColor( QColorGroup::ButtonText, btn->colorGroup().text() ); |
360 | else if ( btn->isDown() || btn->isOn() ) | 360 | else if ( btn->isDown() || btn->isOn() ) |
361 | cg.setColor( QColorGroup::ButtonText, btn->colorGroup().button() ); | 361 | cg.setColor( QColorGroup::ButtonText, btn->colorGroup().button() ); |
362 | if ( btn->isMenuButton() ) { | 362 | if ( btn->isMenuButton() ) { |
363 | int dx = menuButtonIndicatorWidth( btn->height() ); | 363 | int dx = menuButtonIndicatorWidth( btn->height() ); |
364 | drawArrow( p, DownArrow, FALSE, | 364 | drawArrow( p, DownArrow, FALSE, |
365 | x+w-dx, y+2, dx-4, h-4, | 365 | x+w-dx, y+2, dx-4, h-4, |
366 | cg, | 366 | cg, |
367 | btn->isEnabled() ); | 367 | btn->isEnabled() ); |
368 | w -= dx; | 368 | w -= dx; |
369 | } | 369 | } |
370 | 370 | ||
371 | if ( btn->iconSet() && !btn->iconSet()->isNull() ) { | 371 | if ( btn->iconSet() && !btn->iconSet()->isNull() ) { |
372 | QIconSet::Mode mode = btn->isEnabled() | 372 | QIconSet::Mode mode = btn->isEnabled() |
373 | ? QIconSet::Normal : QIconSet::Disabled; | 373 | ? QIconSet::Normal : QIconSet::Disabled; |
374 | if ( mode == QIconSet::Normal && btn->hasFocus() ) | 374 | if ( mode == QIconSet::Normal && btn->hasFocus() ) |
375 | mode = QIconSet::Active; | 375 | mode = QIconSet::Active; |
376 | QPixmap pixmap = btn->iconSet()->pixmap( QIconSet::Small, mode ); | 376 | QPixmap pixmap = btn->iconSet()->pixmap( QIconSet::Small, mode ); |
377 | int pixw = pixmap.width(); | 377 | int pixw = pixmap.width(); |
378 | int pixh = pixmap.height(); | 378 | int pixh = pixmap.height(); |
379 | p->drawPixmap( x+2, y+h/2-pixh/2, pixmap ); | 379 | p->drawPixmap( x+2, y+h/2-pixh/2, pixmap ); |
380 | x += pixw + 4; | 380 | x += pixw + 4; |
381 | w -= pixw + 4; | 381 | w -= pixw + 4; |
382 | } | 382 | } |
383 | drawItem( p, x, y, w, h, | 383 | drawItem( p, x, y, w, h, |
384 | AlignCenter | ShowPrefix, | 384 | AlignCenter | ShowPrefix, |
385 | cg, btn->isEnabled(), | 385 | cg, btn->isEnabled(), |
386 | btn->pixmap(), btn->text(), -1, &cg.buttonText() ); | 386 | btn->pixmap(), btn->text(), -1, &cg.buttonText() ); |
387 | 387 | ||
388 | } | 388 | } |
389 | 389 | ||
390 | QRect FlatStyle::comboButtonRect( int x, int y, int w, int h) | 390 | QRect FlatStyle::comboButtonRect( int x, int y, int w, int h) |
391 | { | 391 | { |
392 | return QRect(x+2, y+2, w-4-13, h-4); | 392 | return QRect(x+2, y+2, w-4-13, h-4); |
393 | } | 393 | } |
394 | 394 | ||
395 | 395 | ||
396 | QRect FlatStyle::comboButtonFocusRect( int x, int y, int w, int h) | 396 | QRect FlatStyle::comboButtonFocusRect( int x, int y, int w, int h) |
397 | { | 397 | { |
398 | return QRect(x+2, y+2, w-4-14, h-4); | 398 | return QRect(x+2, y+2, w-4-14, h-4); |
399 | } | 399 | } |
400 | 400 | ||
401 | void FlatStyle::drawComboButton( QPainter *p, int x, int y, int w, int h, | 401 | void FlatStyle::drawComboButton( QPainter *p, int x, int y, int w, int h, |
402 | const QColorGroup &g, bool sunken, | 402 | const QColorGroup &g, bool sunken, |
403 | bool /*editable*/, | 403 | bool /*editable*/, |
404 | bool enabled, | 404 | bool enabled, |
405 | const QBrush * /*fill*/ ) | 405 | const QBrush * /*fill*/ ) |
406 | { | 406 | { |
407 | x++; y++; | 407 | x++; y++; |
408 | w-=2; h-=2; | 408 | w-=2; h-=2; |
409 | p->setPen( g.foreground() ); | 409 | p->setPen( g.foreground() ); |
410 | p->setBrush( QBrush(NoBrush) ); | 410 | p->setBrush( QBrush(NoBrush) ); |
411 | p->drawRect( x, y, w, h ); | 411 | p->drawRect( x, y, w, h ); |
412 | p->setPen( g.background() ); | 412 | p->setPen( g.background() ); |
413 | p->drawRect( x+1, y+1, w-14, h-2 ); | 413 | p->drawRect( x+1, y+1, w-14, h-2 ); |
414 | p->fillRect( x+2, y+2, w-16, h-4, g.brush( QColorGroup::Base ) ); | 414 | p->fillRect( x+2, y+2, w-16, h-4, g.brush( QColorGroup::Base ) ); |
415 | QColorGroup cg( g ); | 415 | QColorGroup cg( g ); |
416 | if ( sunken ) { | 416 | if ( sunken ) { |
417 | cg.setColor( QColorGroup::ButtonText, g.button() ); | 417 | cg.setColor( QColorGroup::ButtonText, g.button() ); |
418 | cg.setColor( QColorGroup::Button, g.buttonText() ); | 418 | cg.setColor( QColorGroup::Button, g.buttonText() ); |
419 | } | 419 | } |
420 | drawArrow( p, QStyle::DownArrow, FALSE, | 420 | drawArrow( p, QStyle::DownArrow, FALSE, |
421 | x+w-13, y+1, 12, h-2, cg, enabled, | 421 | x+w-13, y+1, 12, h-2, cg, enabled, |
422 | &cg.brush( QColorGroup::Button ) ); | 422 | &cg.brush( QColorGroup::Button ) ); |
423 | 423 | ||
424 | } | 424 | } |
425 | 425 | ||
426 | 426 | ||
427 | void FlatStyle::drawExclusiveIndicator ( QPainter * p, int x, int y, int w, | 427 | void FlatStyle::drawExclusiveIndicator ( QPainter * p, int x, int y, int w, |
428 | int h, const QColorGroup &cg, bool on, bool down, bool enabled ) | 428 | int h, const QColorGroup &cg, bool on, bool down, bool enabled ) |
429 | { | 429 | { |
430 | static const QCOORD pts1[] = { // dark lines | 430 | static const QCOORD pts1[] = { // dark lines |
431 | 1,9, 1,8, 0,7, 0,4, 1,3, 1,2, 2,1, 3,1, 4,0, 7,0, 8,1, 9,1 }; | 431 | 1,9, 1,8, 0,7, 0,4, 1,3, 1,2, 2,1, 3,1, 4,0, 7,0, 8,1, 9,1 }; |
432 | static const QCOORD pts4[] = { // white lines | 432 | static const QCOORD pts4[] = { // white lines |
433 | 2,10, 3,10, 4,11, 7,11, 8,10, 9,10, 10,9, 10,8, 11,7, | 433 | 2,10, 3,10, 4,11, 7,11, 8,10, 9,10, 10,9, 10,8, 11,7, |
434 | 11,4, 10,3, 10,2 }; | 434 | 11,4, 10,3, 10,2 }; |
435 | static const QCOORD pts5[] = { // inner fill | 435 | static const QCOORD pts5[] = { // inner fill |
436 | 4,2, 7,2, 9,4, 9,7, 7,9, 4,9, 2,7, 2,4 }; | 436 | 4,2, 7,2, 9,4, 9,7, 7,9, 4,9, 2,7, 2,4 }; |
437 | 437 | ||
438 | p->eraseRect( x, y, w, h ); | 438 | p->eraseRect( x, y, w, h ); |
439 | QPointArray a( QCOORDARRLEN(pts1), pts4 ); | 439 | QPointArray a( QCOORDARRLEN(pts1), pts4 ); |
440 | a.translate( x, y ); | 440 | a.translate( x, y ); |
441 | p->setPen( cg.foreground() ); | 441 | p->setPen( cg.foreground() ); |
442 | p->drawPolyline( a ); | 442 | p->drawPolyline( a ); |
443 | a.setPoints( QCOORDARRLEN(pts4), pts1 ); | 443 | a.setPoints( QCOORDARRLEN(pts4), pts1 ); |
444 | a.translate( x, y ); | 444 | a.translate( x, y ); |
445 | p->setPen( cg.foreground() ); | 445 | p->setPen( cg.foreground() ); |
446 | p->drawPolyline( a ); | 446 | p->drawPolyline( a ); |
447 | a.setPoints( QCOORDARRLEN(pts5), pts5 ); | 447 | a.setPoints( QCOORDARRLEN(pts5), pts5 ); |
448 | a.translate( x, y ); | 448 | a.translate( x, y ); |
449 | QColor fillColor = ( down || !enabled ) ? cg.button() : cg.base(); | 449 | QColor fillColor = ( down || !enabled ) ? cg.button() : cg.base(); |
450 | p->setPen( fillColor ); | 450 | p->setPen( fillColor ); |
451 | p->setBrush( fillColor ) ; | 451 | p->setBrush( fillColor ) ; |
452 | p->drawPolygon( a ); | 452 | p->drawPolygon( a ); |
453 | if ( on ) { | 453 | if ( on ) { |
454 | p->setPen( NoPen ); | 454 | p->setPen( NoPen ); |
455 | p->setBrush( cg.text() ); | 455 | p->setBrush( cg.text() ); |
456 | p->drawRect( x+5, y+4, 2, 4 ); | 456 | p->drawRect( x+5, y+4, 2, 4 ); |
457 | p->drawRect( x+4, y+5, 4, 2 ); | 457 | p->drawRect( x+4, y+5, 4, 2 ); |
458 | } | 458 | } |
459 | } | 459 | } |
460 | 460 | ||
461 | void FlatStyle::drawIndicator ( QPainter * p, int x, int y, int w, int h, | 461 | void FlatStyle::drawIndicator ( QPainter * p, int x, int y, int w, int h, |
462 | const QColorGroup &cg, int state, bool down, bool enabled ) | 462 | const QColorGroup &cg, int state, bool down, bool enabled ) |
463 | { | 463 | { |
464 | QColorGroup mycg( cg ); | 464 | QColorGroup mycg( cg ); |
465 | mycg.setBrush( QColorGroup::Button, QBrush() ); | 465 | mycg.setBrush( QColorGroup::Button, QBrush() ); |
466 | QBrush fill; | 466 | QBrush fill; |
467 | drawButton( p, x, y, w, h, mycg, TRUE, 0 ); | 467 | drawButton( p, x, y, w, h, mycg, TRUE, 0 ); |
468 | if ( down ) | 468 | if ( down ) |
469 | fill = cg.brush( QColorGroup::Button ); | 469 | fill = cg.brush( QColorGroup::Button ); |
470 | else | 470 | else |
471 | fill = cg.brush( enabled ? QColorGroup::Base : QColorGroup::Background ); | 471 | fill = cg.brush( enabled ? QColorGroup::Base : QColorGroup::Background ); |
472 | mycg.setBrush( QColorGroup::Button, fill ); | 472 | mycg.setBrush( QColorGroup::Button, fill ); |
473 | p->fillRect( x+1, y+1, w-2, h-2, fill ); | 473 | p->fillRect( x+1, y+1, w-2, h-2, fill ); |
474 | if ( state != QButton::Off ) { | 474 | if ( state != QButton::Off ) { |
475 | QPointArray a( 7*2 ); | 475 | QPointArray a( 7*2 ); |
476 | int i, xx, yy; | 476 | int i, xx, yy; |
477 | xx = x+3; | 477 | xx = x+3; |
478 | yy = y+5; | 478 | yy = y+5; |
479 | for ( i=0; i<3; i++ ) { | 479 | for ( i=0; i<3; i++ ) { |
480 | a.setPoint( 2*i, xx, yy ); | 480 | a.setPoint( 2*i, xx, yy ); |
481 | a.setPoint( 2*i+1, xx, yy+2 ); | 481 | a.setPoint( 2*i+1, xx, yy+2 ); |
482 | xx++; yy++; | 482 | xx++; yy++; |
483 | } | 483 | } |
484 | yy -= 2; | 484 | yy -= 2; |
485 | for ( i=3; i<7; i++ ) { | 485 | for ( i=3; i<7; i++ ) { |
486 | a.setPoint( 2*i, xx, yy ); | 486 | a.setPoint( 2*i, xx, yy ); |
487 | a.setPoint( 2*i+1, xx, yy+2 ); | 487 | a.setPoint( 2*i+1, xx, yy+2 ); |
488 | xx++; yy--; | 488 | xx++; yy--; |
489 | } | 489 | } |
490 | if ( state == QButton::NoChange ) { | 490 | if ( state == QButton::NoChange ) { |
491 | p->setPen( mycg.dark() ); | 491 | p->setPen( mycg.dark() ); |
492 | } else { | 492 | } else { |
493 | p->setPen( mycg.text() ); | 493 | p->setPen( mycg.text() ); |
494 | } | 494 | } |
495 | p->drawLineSegments( a ); | 495 | p->drawLineSegments( a ); |
496 | } | 496 | } |
497 | } | 497 | } |
498 | 498 | ||
499 | #define HORIZONTAL(sb->orientation() == QScrollBar::Horizontal) | 499 | #define HORIZONTAL(sb->orientation() == QScrollBar::Horizontal) |
500 | #define VERTICAL!HORIZONTAL | 500 | #define VERTICAL!HORIZONTAL |
501 | #define MOTIF_BORDER2 | 501 | #define MOTIF_BORDER2 |
502 | #define SLIDER_MIN9 // ### motif says 6 but that's too small | 502 | #define SLIDER_MIN9 // ### motif says 6 but that's too small |
503 | 503 | ||
504 | /*! \reimp */ | 504 | /*! \reimp */ |
505 | 505 | ||
506 | void FlatStyle::scrollBarMetrics( const QScrollBar* sb, int &sliderMin, int &sliderMax, int &sliderLength, int& buttonDim ) | 506 | void FlatStyle::scrollBarMetrics( const QScrollBar* sb, int &sliderMin, int &sliderMax, int &sliderLength, int& buttonDim ) |
507 | { | 507 | { |
508 | int maxLength; | 508 | int maxLength; |
509 | int length = HORIZONTAL ? sb->width() : sb->height(); | 509 | int length = HORIZONTAL ? sb->width() : sb->height(); |
510 | int extent = HORIZONTAL ? sb->height() : sb->width(); | 510 | int extent = HORIZONTAL ? sb->height() : sb->width(); |
511 | 511 | ||
512 | if ( length > (extent - 1)*2 ) | 512 | if ( length > (extent - 1)*2 ) |
513 | buttonDim = extent; | 513 | buttonDim = extent; |
514 | else | 514 | else |
515 | buttonDim = length/2 - 1; | 515 | buttonDim = length/2 - 1; |
516 | 516 | ||
517 | sliderMin = 0; | 517 | sliderMin = 0; |
518 | maxLength = length - buttonDim*2 + 2; | 518 | maxLength = length - buttonDim*2 + 2; |
519 | 519 | ||
520 | if ( sb->maxValue() == sb->minValue() ) { | 520 | if ( sb->maxValue() == sb->minValue() ) { |
521 | sliderLength = maxLength; | 521 | sliderLength = maxLength; |
522 | } else { | 522 | } else { |
523 | sliderLength = (sb->pageStep()*maxLength)/ | 523 | sliderLength = (sb->pageStep()*maxLength)/ |
524 | (sb->maxValue()-sb->minValue()+sb->pageStep()); | 524 | (sb->maxValue()-sb->minValue()+sb->pageStep()); |
525 | uint range = sb->maxValue()-sb->minValue(); | 525 | uint range = sb->maxValue()-sb->minValue(); |
526 | if ( sliderLength < SLIDER_MIN || range > INT_MAX/2 ) | 526 | if ( sliderLength < SLIDER_MIN || range > INT_MAX/2 ) |
527 | sliderLength = SLIDER_MIN; | 527 | sliderLength = SLIDER_MIN; |
528 | if ( sliderLength > maxLength ) | 528 | if ( sliderLength > maxLength ) |
529 | sliderLength = maxLength; | 529 | sliderLength = maxLength; |
530 | } | 530 | } |
531 | 531 | ||
532 | sliderMax = sliderMin + maxLength - sliderLength; | 532 | sliderMax = sliderMin + maxLength - sliderLength; |
533 | } | 533 | } |
534 | 534 | ||
535 | /*!\reimp | 535 | /*!\reimp |
536 | */ | 536 | */ |
537 | QStyle::ScrollControl FlatStyle::scrollBarPointOver( const QScrollBar* sb, int sliderStart, const QPoint& p ) | 537 | QStyle::ScrollControl FlatStyle::scrollBarPointOver( const QScrollBar* sb, int sliderStart, const QPoint& p ) |
538 | { | 538 | { |
539 | if ( !sb->rect().contains( p ) ) | 539 | if ( !sb->rect().contains( p ) ) |
540 | return NoScroll; | 540 | return NoScroll; |
541 | int sliderMin, sliderMax, sliderLength, buttonDim, pos; | 541 | int sliderMin, sliderMax, sliderLength, buttonDim, pos; |
542 | scrollBarMetrics( sb, sliderMin, sliderMax, sliderLength, buttonDim ); | 542 | scrollBarMetrics( sb, sliderMin, sliderMax, sliderLength, buttonDim ); |
543 | 543 | ||
544 | if (sb->orientation() == QScrollBar::Horizontal) | 544 | if (sb->orientation() == QScrollBar::Horizontal) |
545 | pos = p.x(); | 545 | pos = p.x(); |
546 | else | 546 | else |
547 | pos = p.y(); | 547 | pos = p.y(); |
548 | 548 | ||
549 | if (pos < sliderStart) | 549 | if (pos < sliderStart) |
550 | return SubPage; | 550 | return SubPage; |
551 | if (pos < sliderStart + sliderLength) | 551 | if (pos < sliderStart + sliderLength) |
552 | return Slider; | 552 | return Slider; |
553 | if (pos < sliderMax + sliderLength) | 553 | if (pos < sliderMax + sliderLength) |
554 | return AddPage; | 554 | return AddPage; |
555 | if (pos < sliderMax + sliderLength + buttonDim) | 555 | if (pos < sliderMax + sliderLength + buttonDim) |
556 | return SubLine; | 556 | return SubLine; |
557 | return AddLine; | 557 | return AddLine; |
558 | } | 558 | } |
559 | 559 | ||
560 | /*! \reimp */ | 560 | /*! \reimp */ |
561 | 561 | ||
562 | void FlatStyle::drawScrollBarControls( QPainter* p, const QScrollBar* sb, int sliderStart, uint controls, uint activeControl ) | 562 | void FlatStyle::drawScrollBarControls( QPainter* p, const QScrollBar* sb, int sliderStart, uint controls, uint activeControl ) |
563 | { | 563 | { |
564 | #define ADD_LINE_ACTIVE ( activeControl == AddLine ) | 564 | #define ADD_LINE_ACTIVE ( activeControl == AddLine ) |
565 | #define SUB_LINE_ACTIVE ( activeControl == SubLine ) | 565 | #define SUB_LINE_ACTIVE ( activeControl == SubLine ) |
566 | QColorGroup g = sb->colorGroup(); | 566 | QColorGroup g = sb->colorGroup(); |
567 | 567 | ||
568 | int sliderMin, sliderMax, sliderLength, buttonDim; | 568 | int sliderMin, sliderMax, sliderLength, buttonDim; |
569 | scrollBarMetrics( sb, sliderMin, sliderMax, sliderLength, buttonDim ); | 569 | scrollBarMetrics( sb, sliderMin, sliderMax, sliderLength, buttonDim ); |
570 | 570 | ||
571 | if ( controls == (AddLine | SubLine | AddPage | SubPage | Slider | First | Last ) ) { | 571 | if ( controls == (AddLine | SubLine | AddPage | SubPage | Slider | First | Last ) ) { |
572 | p->setPen( g.foreground() ); | 572 | p->setPen( g.foreground() ); |
573 | p->setBrush( g.brush( QColorGroup::Mid ) ); | 573 | p->setBrush( g.brush( QColorGroup::Mid ) ); |
574 | p->drawRect( 0, 0, sb->width(), sb->height() ); | 574 | p->drawRect( 0, 0, sb->width(), sb->height() ); |
575 | } | 575 | } |
576 | 576 | ||
577 | if (sliderStart > sliderMax) { // sanity check | 577 | if (sliderStart > sliderMax) { // sanity check |
578 | sliderStart = sliderMax; | 578 | sliderStart = sliderMax; |
579 | } | 579 | } |
580 | 580 | ||
581 | int dimB = buttonDim; | 581 | int dimB = buttonDim; |
582 | QRect addB; | 582 | QRect addB; |
583 | QRect subB; | 583 | QRect subB; |
584 | QRect addPageR; | 584 | QRect addPageR; |
585 | QRect subPageR; | 585 | QRect subPageR; |
586 | QRect sliderR; | 586 | QRect sliderR; |
587 | int addX, addY, subX, subY; | 587 | int addX, addY, subX, subY; |
588 | int length = HORIZONTAL ? sb->width() : sb->height(); | 588 | int length = HORIZONTAL ? sb->width() : sb->height(); |
589 | int extent = HORIZONTAL ? sb->height() : sb->width(); | 589 | int extent = HORIZONTAL ? sb->height() : sb->width(); |
590 | 590 | ||
591 | if ( HORIZONTAL ) { | 591 | if ( HORIZONTAL ) { |
592 | subY = addY = ( extent - dimB ) / 2; | 592 | subY = addY = ( extent - dimB ) / 2; |
593 | subX = length - dimB - dimB + 1; | 593 | subX = length - dimB - dimB + 1; |
594 | addX = length - dimB; | 594 | addX = length - dimB; |
595 | } else { | 595 | } else { |
596 | subX = addX = ( extent - dimB ) / 2; | 596 | subX = addX = ( extent - dimB ) / 2; |
597 | subY = length - dimB - dimB + 1; | 597 | subY = length - dimB - dimB + 1; |
598 | addY = length - dimB; | 598 | addY = length - dimB; |
599 | } | 599 | } |
600 | 600 | ||
601 | int sliderEnd = sliderStart + sliderLength; | 601 | int sliderEnd = sliderStart + sliderLength; |
602 | int sliderW = extent; | 602 | int sliderW = extent; |
603 | if ( HORIZONTAL ) { | 603 | if ( HORIZONTAL ) { |
604 | subB.setRect( subX,subY,dimB,dimB ); | 604 | subB.setRect( subX,subY,dimB,dimB ); |
605 | addB.setRect( addX,addY,dimB,dimB ); | 605 | addB.setRect( addX,addY,dimB,dimB ); |
606 | subPageR.setRect( 0, 0, sliderStart+1, sliderW ); | 606 | subPageR.setRect( 0, 0, sliderStart+1, sliderW ); |
607 | addPageR.setRect( sliderEnd-1, 0, subX - sliderEnd+2, sliderW ); | 607 | addPageR.setRect( sliderEnd-1, 0, subX - sliderEnd+2, sliderW ); |
608 | sliderR .setRect( sliderStart, 0, sliderLength, sliderW ); | 608 | sliderR .setRect( sliderStart, 0, sliderLength, sliderW ); |
609 | 609 | ||
610 | } else { | 610 | } else { |
611 | subB.setRect( subX,subY,dimB,dimB ); | 611 | subB.setRect( subX,subY,dimB,dimB ); |
612 | addB.setRect( addX,addY,dimB,dimB ); | 612 | addB.setRect( addX,addY,dimB,dimB ); |
613 | subPageR.setRect( 0, 0, sliderW, sliderStart+1 ); | 613 | subPageR.setRect( 0, 0, sliderW, sliderStart+1 ); |
614 | addPageR.setRect( 0, sliderEnd-1, sliderW, subY - sliderEnd+2 ); | 614 | addPageR.setRect( 0, sliderEnd-1, sliderW, subY - sliderEnd+2 ); |
615 | sliderR .setRect( 0, sliderStart, sliderW, sliderLength ); | 615 | sliderR .setRect( 0, sliderStart, sliderW, sliderLength ); |
616 | } | 616 | } |
617 | 617 | ||
618 | bool maxedOut = (sb->maxValue() == sb->minValue()); | 618 | bool maxedOut = (sb->maxValue() == sb->minValue()); |
619 | p->setPen( g.foreground() ); | 619 | p->setPen( g.foreground() ); |
620 | if ( controls & AddLine ) { | 620 | if ( controls & AddLine ) { |
621 | p->setBrush( ADD_LINE_ACTIVE ? g.foreground() : g.button() ); | 621 | p->setBrush( ADD_LINE_ACTIVE ? g.foreground() : g.button() ); |
622 | p->drawRect( addB.x(), addB.y(), addB.width(), addB.height() ); | 622 | p->drawRect( addB.x(), addB.y(), addB.width(), addB.height() ); |
623 | p->setPen( ADD_LINE_ACTIVE ? g.button() : g.foreground() ); | 623 | p->setPen( ADD_LINE_ACTIVE ? g.button() : g.foreground() ); |
624 | QColorGroup cg( g ); | 624 | QColorGroup cg( g ); |
625 | if ( maxedOut ) | 625 | if ( maxedOut ) |
626 | cg.setColor( QColorGroup::ButtonText, g.mid() ); | 626 | cg.setColor( QColorGroup::ButtonText, g.mid() ); |
627 | else if ( ADD_LINE_ACTIVE ) | 627 | else if ( ADD_LINE_ACTIVE ) |
628 | cg.setColor( QColorGroup::ButtonText, g.button() ); | 628 | cg.setColor( QColorGroup::ButtonText, g.button() ); |
629 | int xo = VERTICAL ? 1 : 0; | 629 | int xo = VERTICAL ? 1 : 0; |
630 | drawArrow( p, VERTICAL ? DownArrow : RightArrow, FALSE, | 630 | drawArrow( p, VERTICAL ? DownArrow : RightArrow, FALSE, |
631 | addB.x()+2+xo, addB.y()+2, addB.width()-4-xo, addB.height()-4, | 631 | addB.x()+2+xo, addB.y()+2, addB.width()-4-xo, addB.height()-4, |
632 | cg, TRUE, &p->brush() ); | 632 | cg, TRUE, &p->brush() ); |
633 | } | 633 | } |
634 | if ( controls & SubLine ) { | 634 | if ( controls & SubLine ) { |
635 | p->setBrush( SUB_LINE_ACTIVE ? g.foreground() : g.button() ); | 635 | p->setBrush( SUB_LINE_ACTIVE ? g.foreground() : g.button() ); |
636 | p->drawRect( subB.x(), subB.y(), subB.width(), subB.height() ); | 636 | p->drawRect( subB.x(), subB.y(), subB.width(), subB.height() ); |
637 | p->setPen( SUB_LINE_ACTIVE ? g.button() : g.foreground() ); | 637 | p->setPen( SUB_LINE_ACTIVE ? g.button() : g.foreground() ); |
638 | QColorGroup cg( g ); | 638 | QColorGroup cg( g ); |
639 | if ( maxedOut ) | 639 | if ( maxedOut ) |
640 | cg.setColor( QColorGroup::ButtonText, g.mid() ); | 640 | cg.setColor( QColorGroup::ButtonText, g.mid() ); |
641 | else if ( SUB_LINE_ACTIVE ) | 641 | else if ( SUB_LINE_ACTIVE ) |
642 | cg.setColor( QColorGroup::ButtonText, g.button() ); | 642 | cg.setColor( QColorGroup::ButtonText, g.button() ); |
643 | int xo = VERTICAL ? 1 : 0; | 643 | int xo = VERTICAL ? 1 : 0; |
644 | drawArrow( p, VERTICAL ? UpArrow : LeftArrow, FALSE, | 644 | drawArrow( p, VERTICAL ? UpArrow : LeftArrow, FALSE, |
645 | subB.x()+2+xo, subB.y()+2, subB.width()-4-xo, subB.height()-4, | 645 | subB.x()+2+xo, subB.y()+2, subB.width()-4-xo, subB.height()-4, |
646 | cg, TRUE, &p->brush() ); | 646 | cg, TRUE, &p->brush() ); |
647 | } | 647 | } |
648 | 648 | ||
649 | 649 | ||
650 | p->setPen( g.foreground() ); | 650 | p->setPen( g.foreground() ); |
651 | p->setBrush( g.brush( QColorGroup::Mid ) ); | 651 | p->setBrush( g.brush( QColorGroup::Mid ) ); |
652 | if ( controls & SubPage ) | 652 | if ( controls & SubPage ) |
653 | p->drawRect( subPageR.x(), subPageR.y(), subPageR.width(), subPageR.height() ); | 653 | p->drawRect( subPageR.x(), subPageR.y(), subPageR.width(), subPageR.height() ); |
654 | if ( controls & AddPage && addPageR.y() < addPageR.bottom() && | 654 | if ( controls & AddPage && addPageR.y() < addPageR.bottom() && |
655 | addPageR.x() < addPageR.right() ) | 655 | addPageR.x() < addPageR.right() ) |
656 | p->drawRect( addPageR.x(), addPageR.y(), addPageR.width(), addPageR.height() ); | 656 | p->drawRect( addPageR.x(), addPageR.y(), addPageR.width(), addPageR.height() ); |
657 | if ( controls & Slider ) { | 657 | if ( controls & Slider ) { |
658 | QPoint bo = p->brushOrigin(); | 658 | QPoint bo = p->brushOrigin(); |
659 | p->setBrushOrigin(sliderR.topLeft()); | 659 | p->setBrushOrigin(sliderR.topLeft()); |
660 | p->setPen( g.foreground() ); | 660 | p->setPen( g.foreground() ); |
661 | p->setBrush( g.button() ); | 661 | p->setBrush( g.button() ); |
662 | p->drawRect( sliderR.x(), sliderR.y(), sliderR.width(), sliderR.height() ); | 662 | p->drawRect( sliderR.x(), sliderR.y(), sliderR.width(), sliderR.height() ); |
663 | p->setBrushOrigin(bo); | 663 | p->setBrushOrigin(bo); |
664 | QColorGroup cg( g ); | 664 | QColorGroup cg( g ); |
665 | if ( maxedOut ) | 665 | if ( maxedOut ) |
666 | cg.setColor( QColorGroup::ButtonText, g.mid() ); | 666 | cg.setColor( QColorGroup::ButtonText, g.mid() ); |
667 | drawRiffles( p, sliderR.x(), sliderR.y(), | 667 | drawRiffles( p, sliderR.x(), sliderR.y(), |
668 | sliderR.width(), sliderR.height(), cg, HORIZONTAL ); | 668 | sliderR.width(), sliderR.height(), cg, HORIZONTAL ); |
669 | } | 669 | } |
670 | 670 | ||
671 | // ### perhaps this should not be able to accept focus if maxedOut? | 671 | // ### perhaps this should not be able to accept focus if maxedOut? |
672 | if ( sb->hasFocus() && (controls & Slider) ) | 672 | if ( sb->hasFocus() && (controls & Slider) ) |
673 | p->drawWinFocusRect( sliderR.x()+2, sliderR.y()+2, | 673 | p->drawWinFocusRect( sliderR.x()+2, sliderR.y()+2, |
674 | sliderR.width()-5, sliderR.height()-5, | 674 | sliderR.width()-5, sliderR.height()-5, |
675 | sb->backgroundColor() ); | 675 | sb->backgroundColor() ); |
676 | 676 | ||
677 | } | 677 | } |
678 | 678 | ||
679 | void FlatStyle::drawRiffles( QPainter* p, int x, int y, int w, int h, | 679 | void FlatStyle::drawRiffles( QPainter* p, int x, int y, int w, int h, |
680 | const QColorGroup &g, bool horizontal ) | 680 | const QColorGroup &g, bool horizontal ) |
681 | { | 681 | { |
682 | if (!horizontal) { | 682 | if (!horizontal) { |
683 | if (h > 20) { | 683 | if (h > 20) { |
684 | y += (h-20)/2 ; | 684 | y += (h-20)/2 ; |
685 | h = 20; | 685 | h = 20; |
686 | } | 686 | } |
687 | if (h > 12) { | 687 | if (h > 12) { |
688 | int n = 3; | 688 | int n = 3; |
689 | int my = y+h/2-2; | 689 | int my = y+h/2-2; |
690 | int i ; | 690 | int i ; |
691 | p->setPen(g.buttonText()); | 691 | p->setPen(g.buttonText()); |
692 | for (i=0; i<n; i++) { | 692 | for (i=0; i<n; i++) { |
693 | p->drawLine(x+4, my+3*i, x+w-5, my+3*i); | 693 | p->drawLine(x+4, my+3*i, x+w-5, my+3*i); |
694 | } | 694 | } |
695 | } | 695 | } |
696 | } else { | 696 | } else { |
697 | if (w > 20) { | 697 | if (w > 20) { |
698 | x += (w-20)/2 ; | 698 | x += (w-20)/2 ; |
699 | w = 20; | 699 | w = 20; |
700 | } | 700 | } |
701 | if (w > 12) { | 701 | if (w > 12) { |
702 | int n = 3; | 702 | int n = 3; |
703 | int mx = x+w/2-4; | 703 | int mx = x+w/2-4; |
704 | int i ; | 704 | int i ; |
705 | p->setPen(g.buttonText()); | 705 | p->setPen(g.buttonText()); |
706 | for (i=0; i<n; i++) { | 706 | for (i=0; i<n; i++) { |
707 | p->drawLine(mx+3*i, y+4, mx + 3*i, y+h-5); | 707 | p->drawLine(mx+3*i, y+4, mx + 3*i, y+h-5); |
708 | } | 708 | } |
709 | } | 709 | } |
710 | } | 710 | } |
711 | } | 711 | } |
712 | 712 | ||
713 | int FlatStyle::sliderLength() const | 713 | int FlatStyle::sliderLength() const |
714 | { | 714 | { |
715 | return 12; | 715 | return 12; |
716 | } | 716 | } |
717 | 717 | ||
718 | void FlatStyle::drawSlider( QPainter *p, int x, int y, int w, int h, | 718 | void FlatStyle::drawSlider( QPainter *p, int x, int y, int w, int h, |
719 | const QColorGroup &g, Orientation o, bool tickAbove, bool tickBelow ) | 719 | const QColorGroup &g, Orientation o, bool tickAbove, bool tickBelow ) |
720 | { | 720 | { |
721 | int a = tickAbove ? 3 : 0; | 721 | int a = tickAbove ? 3 : 0; |
722 | int b = tickBelow ? 3 : 0; | 722 | int b = tickBelow ? 3 : 0; |
723 | 723 | ||
724 | p->setPen( g.foreground() ); | 724 | p->setPen( g.foreground() ); |
725 | p->setBrush( g.button() ); | 725 | p->setBrush( g.button() ); |
726 | if ( o == Horizontal ) { | 726 | if ( o == Horizontal ) { |
727 | p->drawRect( x, y+a, w, h-a-b ); | 727 | p->drawRect( x, y+a, w, h-a-b ); |
728 | int xp = x + w/2; | 728 | int xp = x + w/2; |
729 | p->drawLine( xp-1, y+a+3, xp-1, y+h-b-4 ); | 729 | p->drawLine( xp-1, y+a+3, xp-1, y+h-b-4 ); |
730 | p->drawLine( xp, y+a+3, xp, y+h-b-4 ); | 730 | p->drawLine( xp, y+a+3, xp, y+h-b-4 ); |
731 | } else { | 731 | } else { |
732 | p->drawRect( x+a, y, w-a-b, h ); | 732 | p->drawRect( x+a, y, w-a-b, h ); |
733 | int yp = y + h/2; | 733 | int yp = y + h/2; |
734 | p->drawLine( x+a+3, yp-1, x+w-b-4, yp-1 ); | 734 | p->drawLine( x+a+3, yp-1, x+w-b-4, yp-1 ); |
735 | p->drawLine( x+a+3, yp, x+w-b-4, yp ); | 735 | p->drawLine( x+a+3, yp, x+w-b-4, yp ); |
736 | } | 736 | } |
737 | } | 737 | } |
738 | 738 | ||
739 | void FlatStyle::drawSliderMask ( QPainter * p, int x, int y, int w, int h, | 739 | void FlatStyle::drawSliderMask ( QPainter * p, int x, int y, int w, int h, |
740 | Orientation o, bool tickAbove, bool tickBelow ) | 740 | Orientation o, bool tickAbove, bool tickBelow ) |
741 | { | 741 | { |
742 | int a = tickAbove ? 3 : 0; | 742 | int a = tickAbove ? 3 : 0; |
743 | int b = tickBelow ? 3 : 0; | 743 | int b = tickBelow ? 3 : 0; |
744 | if ( o == Horizontal ) | 744 | if ( o == Horizontal ) |
745 | p->fillRect( x, y+a, w, h-a-b, color1 ); | 745 | p->fillRect( x, y+a, w, h-a-b, color1 ); |
746 | else | 746 | else |
747 | p->fillRect( x+a, y, w-a-b, h, color1 ); | 747 | p->fillRect( x+a, y, w-a-b, h, color1 ); |
748 | } | 748 | } |
749 | 749 | ||
750 | /*!\reimp | 750 | /*!\reimp |
751 | */ | 751 | */ |
752 | void FlatStyle::drawSliderGrooveMask( QPainter *p, | 752 | void FlatStyle::drawSliderGrooveMask( QPainter *p, |
753 | int x, int y, int w, int h, | 753 | int x, int y, int w, int h, |
754 | const QColorGroup& , QCOORD c, | 754 | const QColorGroup& , QCOORD c, |
755 | Orientation orient ) | 755 | Orientation orient ) |
756 | { | 756 | { |
757 | if ( orient == Horizontal ) | 757 | if ( orient == Horizontal ) |
758 | p->fillRect( x, y + c - 2, w, 4, color1 ); | 758 | p->fillRect( x, y + c - 2, w, 4, color1 ); |
759 | else | 759 | else |
760 | p->fillRect( x + c - 2, y, 4, h, color1 ); | 760 | p->fillRect( x + c - 2, y, 4, h, color1 ); |
761 | } | 761 | } |
762 | 762 | ||
763 | void FlatStyle::drawSliderGroove( QPainter *p, int x, int y, int w, int h, const QColorGroup &g, QCOORD c, Orientation orient ) | 763 | void FlatStyle::drawSliderGroove( QPainter *p, int x, int y, int w, int h, const QColorGroup &g, QCOORD c, Orientation orient ) |
764 | { | 764 | { |
765 | if ( orient == Horizontal ) | 765 | if ( orient == Horizontal ) |
766 | p->fillRect( x, y + c - 2, w, 4, g.foreground() ); | 766 | p->fillRect( x, y + c - 2, w, 4, g.foreground() ); |
767 | else | 767 | else |
768 | p->fillRect( x + c - 2, y, 4, h, g.foreground() ); | 768 | p->fillRect( x + c - 2, y, 4, h, g.foreground() ); |
769 | } | 769 | } |
770 | 770 | ||
771 | void FlatStyle::drawTab( QPainter *p, const QTabBar *tb, QTab *t, bool selected ) | 771 | void FlatStyle::drawTab( QPainter *p, const QTabBar *tb, QTab *t, bool selected ) |
772 | { | 772 | { |
773 | QRect r( t->rect() ); | 773 | QRect r( t->rect() ); |
774 | if ( tb->shape() == QTabBar::RoundedAbove ) { | 774 | if ( tb->shape() == QTabBar::RoundedAbove ) { |
775 | p->setPen( tb->colorGroup().foreground() ); | 775 | p->setPen( tb->colorGroup().foreground() ); |
776 | p->drawLine( r.left(), r.bottom(), r.right(), r.bottom() ); | 776 | p->drawLine( r.left(), r.bottom(), r.right(), r.bottom() ); |
777 | if ( r.left() == 0 ) | 777 | if ( r.left() == 0 ) |
778 | p->drawPoint( tb->rect().bottomLeft() ); | 778 | p->drawPoint( tb->rect().bottomLeft() ); |
779 | else | 779 | else |
780 | p->drawLine( r.left(), r.bottom(), r.right(), r.bottom() ); | 780 | p->drawLine( r.left(), r.bottom(), r.right(), r.bottom() ); |
781 | 781 | ||
782 | if ( selected ) { | 782 | if ( selected ) { |
783 | p->setPen( tb->colorGroup().background() ); | 783 | p->setPen( tb->colorGroup().background() ); |
784 | p->drawLine( r.left()+2, r.top()+1, r.right()-2, r.top()+1 ); | 784 | p->drawLine( r.left()+2, r.top()+1, r.right()-2, r.top()+1 ); |
785 | p->fillRect( QRect( r.left()+1, r.top()+2, r.width()-2, r.height()-2), | 785 | p->fillRect( QRect( r.left()+1, r.top()+2, r.width()-2, r.height()-2), |
786 | tb->colorGroup().brush( QColorGroup::Background )); | 786 | tb->colorGroup().brush( QColorGroup::Background )); |
787 | } else { | 787 | } else { |
788 | r.setRect( r.left() + 2, r.top() + 2, | 788 | r.setRect( r.left() + 2, r.top() + 2, |
789 | r.width() - 4, r.height() - 2 ); | 789 | r.width() - 4, r.height() - 2 ); |
790 | p->setPen( tb->colorGroup().button() ); | 790 | p->setPen( tb->colorGroup().button() ); |
791 | p->drawLine( r.left()+2, r.top()+1, r.right()-2, r.top()+1 ); | 791 | p->drawLine( r.left()+2, r.top()+1, r.right()-2, r.top()+1 ); |
792 | p->fillRect( QRect( r.left()+1, r.top()+2, r.width()-2, r.height()-3), | 792 | p->fillRect( QRect( r.left()+1, r.top()+2, r.width()-2, r.height()-3), |
793 | tb->colorGroup().brush( QColorGroup::Button )); | 793 | tb->colorGroup().brush( QColorGroup::Button )); |
794 | } | 794 | } |
795 | 795 | ||
796 | p->setPen( tb->colorGroup().foreground() ); | 796 | p->setPen( tb->colorGroup().foreground() ); |
797 | p->drawLine( r.left(), r.bottom()-1, r.left(), r.top() + 2 ); | 797 | p->drawLine( r.left(), r.bottom()-1, r.left(), r.top() + 2 ); |
798 | p->drawPoint( r.left()+1, r.top() + 1 ); | 798 | p->drawPoint( r.left()+1, r.top() + 1 ); |
799 | p->drawLine( r.left()+2, r.top(), | 799 | p->drawLine( r.left()+2, r.top(), |
800 | r.right() - 2, r.top() ); | 800 | r.right() - 2, r.top() ); |
801 | 801 | ||
802 | p->drawPoint( r.right() - 1, r.top() + 1 ); | 802 | p->drawPoint( r.right() - 1, r.top() + 1 ); |
803 | p->drawLine( r.right(), r.top() + 2, r.right(), r.bottom() - 1); | 803 | p->drawLine( r.right(), r.top() + 2, r.right(), r.bottom() - 1); |
804 | } else if ( tb->shape() == QTabBar::RoundedBelow ) { | 804 | } else if ( tb->shape() == QTabBar::RoundedBelow ) { |
805 | if ( selected ) { | 805 | if ( selected ) { |
806 | p->setPen( tb->colorGroup().background() ); | 806 | p->setPen( tb->colorGroup().background() ); |
807 | p->drawLine( r.left()+2, r.bottom()-1, r.right()-2, r.bottom()-1 ); | 807 | p->drawLine( r.left()+2, r.bottom()-1, r.right()-2, r.bottom()-1 ); |
808 | p->fillRect( QRect( r.left()+1, r.top(), r.width()-2, r.height()-2), | 808 | p->fillRect( QRect( r.left()+1, r.top(), r.width()-2, r.height()-2), |
809 | tb->palette().normal().brush( QColorGroup::Background )); | 809 | tb->palette().normal().brush( QColorGroup::Background )); |
810 | } else { | 810 | } else { |
811 | p->setPen( tb->colorGroup().foreground() ); | 811 | p->setPen( tb->colorGroup().foreground() ); |
812 | p->drawLine( r.left(), r.top(), | 812 | p->drawLine( r.left(), r.top(), |
813 | r.right(), r.top() ); | 813 | r.right(), r.top() ); |
814 | r.setRect( r.left() + 2, r.top(), | 814 | r.setRect( r.left() + 2, r.top(), |
815 | r.width() - 4, r.height() - 2 ); | 815 | r.width() - 4, r.height() - 2 ); |
816 | p->setPen( tb->colorGroup().button() ); | 816 | p->setPen( tb->colorGroup().button() ); |
817 | p->drawLine( r.left()+2, r.bottom()-1, r.right()-2, r.bottom()-1 ); | 817 | p->drawLine( r.left()+2, r.bottom()-1, r.right()-2, r.bottom()-1 ); |
818 | p->fillRect( QRect( r.left()+1, r.top()+1, r.width()-2, r.height()-3), | 818 | p->fillRect( QRect( r.left()+1, r.top()+1, r.width()-2, r.height()-3), |
819 | tb->palette().normal().brush( QColorGroup::Button )); | 819 | tb->palette().normal().brush( QColorGroup::Button )); |
820 | } | 820 | } |
821 | 821 | ||
822 | p->setPen( tb->colorGroup().foreground() ); | 822 | p->setPen( tb->colorGroup().foreground() ); |
823 | p->drawLine( r.right(), r.top(), | 823 | p->drawLine( r.right(), r.top(), |
824 | r.right(), r.bottom() - 2 ); | 824 | r.right(), r.bottom() - 2 ); |
825 | p->drawPoint( r.right() - 1, r.bottom() - 1 ); | 825 | p->drawPoint( r.right() - 1, r.bottom() - 1 ); |
826 | p->drawLine( r.right() - 2, r.bottom(), | 826 | p->drawLine( r.right() - 2, r.bottom(), |
827 | r.left() + 2, r.bottom() ); | 827 | r.left() + 2, r.bottom() ); |
828 | 828 | ||
829 | p->drawLine( r.left(), r.top()+1, | 829 | p->drawLine( r.left(), r.top()+1, |
830 | r.left(), r.bottom() - 2 ); | 830 | r.left(), r.bottom() - 2 ); |
831 | p->drawPoint( r.left() + 1, r.bottom() - 1 ); | 831 | p->drawPoint( r.left() + 1, r.bottom() - 1 ); |
832 | if ( r.left() == 0 ) | 832 | if ( r.left() == 0 ) |
833 | p->drawPoint( tb->rect().topLeft() ); | 833 | p->drawPoint( tb->rect().topLeft() ); |
834 | 834 | ||
835 | } else { | 835 | } else { |
836 | QCommonStyle::drawTab( p, tb, t, selected ); | 836 | QCommonStyle::drawTab( p, tb, t, selected ); |
837 | } | 837 | } |
838 | } | 838 | } |
839 | 839 | ||
840 | static const int motifItemFrame = 0;// menu item frame width | 840 | static const int motifItemFrame = 0;// menu item frame width |
841 | static const int motifSepHeight = 2;// separator item height | 841 | static const int motifSepHeight = 2;// separator item height |
842 | static const int motifItemHMargin = 1;// menu item hor text margin | 842 | static const int motifItemHMargin = 1;// menu item hor text margin |
843 | static const int motifItemVMargin = 2;// menu item ver text margin | 843 | static const int motifItemVMargin = 2;// menu item ver text margin |
844 | static const int motifArrowHMargin = 0;// arrow horizontal margin | 844 | static const int motifArrowHMargin = 0;// arrow horizontal margin |
845 | static const int motifTabSpacing = 12;// space between text and tab | 845 | static const int motifTabSpacing = 12;// space between text and tab |
846 | static const int motifCheckMarkHMargin = 1;// horiz. margins of check mark | 846 | static const int motifCheckMarkHMargin = 1;// horiz. margins of check mark |
847 | static const int windowsRightBorder= 8; // right border on windows | 847 | static const int windowsRightBorder= 8; // right border on windows |
848 | static const int windowsCheckMarkWidth = 2; // checkmarks width on windows | 848 | static const int windowsCheckMarkWidth = 2; // checkmarks width on windows |
849 | 849 | ||
850 | void FlatStyle::polishPopupMenu ( QPopupMenu *m ) | 850 | void FlatStyle::polishPopupMenu ( QPopupMenu *m ) |
851 | { | 851 | { |
852 | QWindowsStyle::polishPopupMenu( m ); | 852 | QWindowsStyle::polishPopupMenu( m ); |
853 | m->setLineWidth( 1 ); | 853 | m->setLineWidth( 1 ); |
854 | } | 854 | } |
855 | 855 | ||
856 | /*! \reimp | 856 | /*! \reimp |
857 | */ | 857 | */ |
858 | int FlatStyle::extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem* mi, const QFontMetrics& /*fm*/ ) | 858 | int FlatStyle::extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem* mi, const QFontMetrics& /*fm*/ ) |
859 | { | 859 | { |
860 | #ifndef QT_NO_MENUDATA | 860 | #ifndef QT_NO_MENUDATA |
861 | int w = 2*motifItemHMargin + 2*motifItemFrame; // a little bit of border can never harm | 861 | int w = 2*motifItemHMargin + 2*motifItemFrame; // a little bit of border can never harm |
862 | 862 | ||
863 | if ( mi->isSeparator() ) | 863 | if ( mi->isSeparator() ) |
864 | return 10; // arbitrary | 864 | return 10; // arbitrary |
865 | else if ( mi->pixmap() ) | 865 | else if ( mi->pixmap() ) |
866 | w += mi->pixmap()->width();// pixmap only | 866 | w += mi->pixmap()->width();// pixmap only |
867 | 867 | ||
868 | if ( !mi->text().isNull() ) { | 868 | if ( !mi->text().isNull() ) { |
869 | if ( mi->text().find('\t') >= 0 )// string contains tab | 869 | if ( mi->text().find('\t') >= 0 )// string contains tab |
870 | w += motifTabSpacing; | 870 | w += motifTabSpacing; |
871 | } | 871 | } |
872 | 872 | ||
873 | if ( maxpmw ) { // we have iconsets | 873 | if ( maxpmw ) { // we have iconsets |
874 | w += maxpmw; | 874 | w += maxpmw; |
875 | w += 6; // add a little extra border around the iconset | 875 | w += 6; // add a little extra border around the iconset |
876 | } | 876 | } |
877 | 877 | ||
878 | if ( checkable && maxpmw < windowsCheckMarkWidth ) { | 878 | if ( checkable && maxpmw < windowsCheckMarkWidth ) { |
879 | w += windowsCheckMarkWidth - maxpmw; // space for the checkmarks | 879 | w += windowsCheckMarkWidth - maxpmw; // space for the checkmarks |
880 | } | 880 | } |
881 | 881 | ||
882 | if ( maxpmw > 0 || checkable ) // we have a check-column ( iconsets or checkmarks) | 882 | if ( maxpmw > 0 || checkable ) // we have a check-column ( iconsets or checkmarks) |
883 | w += motifCheckMarkHMargin; // add space to separate the columns | 883 | w += motifCheckMarkHMargin; // add space to separate the columns |
884 | 884 | ||
885 | w += windowsRightBorder; // windows has a strange wide border on the right side | 885 | w += windowsRightBorder; // windows has a strange wide border on the right side |
886 | 886 | ||
887 | return w; | 887 | return w; |
888 | #endif | 888 | #endif |
889 | } | 889 | } |
890 | 890 | ||
891 | /*! \reimp | 891 | /*! \reimp |
892 | */ | 892 | */ |
893 | int FlatStyle::popupMenuItemHeight( bool /*checkable*/, QMenuItem* mi, const QFontMetrics& fm ) | 893 | int FlatStyle::popupMenuItemHeight( bool /*checkable*/, QMenuItem* mi, const QFontMetrics& fm ) |
894 | { | 894 | { |
895 | #ifndef QT_NO_MENUDATA | 895 | #ifndef QT_NO_MENUDATA |
896 | int h = 0; | 896 | int h = 0; |
897 | if ( mi->isSeparator() ) // separator height | 897 | if ( mi->isSeparator() ) // separator height |
898 | h = motifSepHeight; | 898 | h = motifSepHeight; |
899 | else if ( mi->pixmap() ) // pixmap height | 899 | else if ( mi->pixmap() ) // pixmap height |
900 | h = mi->pixmap()->height() + 2*motifItemFrame; | 900 | h = mi->pixmap()->height() + 2*motifItemFrame; |
901 | else // text height | 901 | else // text height |
902 | h = fm.height() + 2*motifItemVMargin + 2*motifItemFrame - 1; | 902 | h = fm.height() + 2*motifItemVMargin + 2*motifItemFrame - 1; |
903 | 903 | ||
904 | if ( !mi->isSeparator() && mi->iconSet() != 0 ) { | 904 | if ( !mi->isSeparator() && mi->iconSet() != 0 ) { |
905 | h = QMAX( h, mi->iconSet()->pixmap( QIconSet::Small, QIconSet::Normal ).height() + 2*motifItemFrame ); | 905 | h = QMAX( h, mi->iconSet()->pixmap( QIconSet::Small, QIconSet::Normal ).height() + 2*motifItemFrame ); |
906 | } | 906 | } |
907 | if ( mi->custom() ) | 907 | if ( mi->custom() ) |
908 | h = QMAX( h, mi->custom()->sizeHint().height() + 2*motifItemVMargin + 2*motifItemFrame ) - 1; | 908 | h = QMAX( h, mi->custom()->sizeHint().height() + 2*motifItemVMargin + 2*motifItemFrame ) - 1; |
909 | return h; | 909 | return h; |
910 | #endif | 910 | #endif |
911 | } | 911 | } |
912 | 912 | ||
913 | void FlatStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, | 913 | void FlatStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, |
914 | const QPalette& pal, | 914 | const QPalette& pal, |
915 | bool act, bool enabled, int x, int y, int w, int h) | 915 | bool act, bool enabled, int x, int y, int w, int h) |
916 | { | 916 | { |
917 | #ifndef QT_NO_MENUDATA | 917 | #ifndef QT_NO_MENUDATA |
918 | const QColorGroup & g = pal.active(); | 918 | const QColorGroup & g = pal.active(); |
919 | bool dis = !enabled; | 919 | bool dis = !enabled; |
920 | QColorGroup itemg = dis ? pal.disabled() : pal.active(); | 920 | QColorGroup itemg = dis ? pal.disabled() : pal.active(); |
921 | 921 | ||
922 | if ( checkable ) | 922 | if ( checkable ) |
923 | maxpmw = QMAX( maxpmw, 8 ); // space for the checkmarks | 923 | maxpmw = QMAX( maxpmw, 8 ); // space for the checkmarks |
924 | 924 | ||
925 | int checkcol = maxpmw; | 925 | int checkcol = maxpmw; |
926 | 926 | ||
927 | if ( mi && mi->isSeparator() ) { // draw separator | 927 | if ( mi && mi->isSeparator() ) { // draw separator |
928 | p->setPen( g.dark() ); | 928 | p->setPen( g.dark() ); |
929 | p->drawLine( x, y, x+w, y ); | 929 | p->drawLine( x, y, x+w, y ); |
930 | return; | 930 | return; |
931 | } | 931 | } |
932 | 932 | ||
933 | QBrush fill = act? g.brush( QColorGroup::Highlight ) : | 933 | QBrush fill = act? g.brush( QColorGroup::Highlight ) : |
934 | g.brush( QColorGroup::Button ); | 934 | g.brush( QColorGroup::Button ); |
935 | p->fillRect( x, y, w, h, fill); | 935 | p->fillRect( x, y, w, h, fill); |
936 | 936 | ||
937 | if ( !mi ) | 937 | if ( !mi ) |
938 | return; | 938 | return; |
939 | 939 | ||
940 | if ( mi->isChecked() ) { | 940 | if ( mi->isChecked() ) { |
941 | if ( act && !dis ) { | 941 | if ( act && !dis ) { |
942 | qDrawShadePanel( p, x, y, checkcol, h, | 942 | qDrawShadePanel( p, x, y, checkcol, h, |
943 | g, TRUE, 1, &g.brush( QColorGroup::Button ) ); | 943 | g, TRUE, 1, &g.brush( QColorGroup::Button ) ); |
944 | } else { | 944 | } else { |
945 | qDrawShadePanel( p, x, y, checkcol, h, | 945 | qDrawShadePanel( p, x, y, checkcol, h, |
946 | g, TRUE, 1, &g.brush( QColorGroup::Midlight ) ); | 946 | g, TRUE, 1, &g.brush( QColorGroup::Midlight ) ); |
947 | } | 947 | } |
948 | } else if ( !act ) { | 948 | } else if ( !act ) { |
949 | p->fillRect(x, y, checkcol , h, | 949 | p->fillRect(x, y, checkcol , h, |
950 | g.brush( QColorGroup::Button )); | 950 | g.brush( QColorGroup::Button )); |
951 | } | 951 | } |
952 | 952 | ||
953 | if ( mi->iconSet() ) { // draw iconset | 953 | if ( mi->iconSet() ) { // draw iconset |
954 | QIconSet::Mode mode = dis ? QIconSet::Disabled : QIconSet::Normal; | 954 | QIconSet::Mode mode = dis ? QIconSet::Disabled : QIconSet::Normal; |
955 | if (act && !dis ) | 955 | if (act && !dis ) |
956 | mode = QIconSet::Active; | 956 | mode = QIconSet::Active; |
957 | QPixmap pixmap = mi->iconSet()->pixmap( QIconSet::Small, mode ); | 957 | QPixmap pixmap = mi->iconSet()->pixmap( QIconSet::Small, mode ); |
958 | int pixw = pixmap.width(); | 958 | int pixw = pixmap.width(); |
959 | int pixh = pixmap.height(); | 959 | int pixh = pixmap.height(); |
960 | if ( act && !dis ) { | 960 | if ( act && !dis ) { |
961 | if ( !mi->isChecked() ) | 961 | if ( !mi->isChecked() ) |
962 | qDrawShadePanel( p, x, y, checkcol, h, g, FALSE, 1, &g.brush( QColorGroup::Button ) ); | 962 | qDrawShadePanel( p, x, y, checkcol, h, g, FALSE, 1, &g.brush( QColorGroup::Button ) ); |
963 | } | 963 | } |
964 | QRect cr( x, y, checkcol, h ); | 964 | QRect cr( x, y, checkcol, h ); |
965 | QRect pmr( 0, 0, pixw, pixh ); | 965 | QRect pmr( 0, 0, pixw, pixh ); |
966 | pmr.moveCenter( cr.center() ); | 966 | pmr.moveCenter( cr.center() ); |
967 | p->setPen( itemg.text() ); | 967 | p->setPen( itemg.text() ); |
968 | p->drawPixmap( pmr.topLeft(), pixmap ); | 968 | p->drawPixmap( pmr.topLeft(), pixmap ); |
969 | 969 | ||
970 | QBrush fill = act? g.brush( QColorGroup::Highlight ) : | 970 | QBrush fill = act? g.brush( QColorGroup::Highlight ) : |
971 | g.brush( QColorGroup::Button ); | 971 | g.brush( QColorGroup::Button ); |
972 | p->fillRect( x+checkcol + 1, y, w - checkcol - 1, h, fill); | 972 | p->fillRect( x+checkcol + 1, y, w - checkcol - 1, h, fill); |
973 | } else if ( checkable ) {// just "checking"... | 973 | } else if ( checkable ) {// just "checking"... |
974 | int mw = checkcol + motifItemFrame; | 974 | int mw = checkcol + motifItemFrame; |
975 | int mh = h - 2*motifItemFrame; | 975 | int mh = h - 2*motifItemFrame; |
976 | if ( mi->isChecked() ) { | 976 | if ( mi->isChecked() ) { |
977 | drawCheckMark( p, x + motifItemFrame + 2, | 977 | drawCheckMark( p, x + motifItemFrame + 2, |
978 | y+motifItemFrame, mw, mh, itemg, act, dis ); | 978 | y+motifItemFrame, mw, mh, itemg, act, dis ); |
979 | } | 979 | } |
980 | } | 980 | } |
981 | 981 | ||
982 | p->setPen( act ? g.highlightedText() : g.buttonText() ); | 982 | p->setPen( act ? g.highlightedText() : g.buttonText() ); |
983 | 983 | ||
984 | QColor discol; | 984 | QColor discol; |
985 | if ( dis ) { | 985 | if ( dis ) { |
986 | discol = itemg.text(); | 986 | discol = itemg.text(); |
987 | p->setPen( discol ); | 987 | p->setPen( discol ); |
988 | } | 988 | } |
989 | 989 | ||
990 | int xm = motifItemFrame + checkcol + motifItemHMargin; | 990 | int xm = motifItemFrame + checkcol + motifItemHMargin; |
991 | 991 | ||
992 | if ( mi->custom() ) { | 992 | if ( mi->custom() ) { |
993 | int m = motifItemVMargin; | 993 | int m = motifItemVMargin; |
994 | p->save(); | 994 | p->save(); |
995 | if ( dis && !act ) { | 995 | if ( dis && !act ) { |
996 | p->setPen( g.light() ); | 996 | p->setPen( g.light() ); |
997 | mi->custom()->paint( p, itemg, act, enabled, | 997 | mi->custom()->paint( p, itemg, act, enabled, |
998 | x+xm+1, y+m+1, w-xm-tab+1, h-2*m ); | 998 | x+xm+1, y+m+1, w-xm-tab+1, h-2*m ); |
999 | p->setPen( discol ); | 999 | p->setPen( discol ); |
1000 | } | 1000 | } |
1001 | mi->custom()->paint( p, itemg, act, enabled, | 1001 | mi->custom()->paint( p, itemg, act, enabled, |
1002 | x+xm, y+m, w-xm-tab+1, h-2*m ); | 1002 | x+xm, y+m, w-xm-tab+1, h-2*m ); |
1003 | p->restore(); | 1003 | p->restore(); |
1004 | } | 1004 | } |
1005 | QString s = mi->text(); | 1005 | QString s = mi->text(); |
1006 | if ( !s.isNull() ) { // draw text | 1006 | if ( !s.isNull() ) { // draw text |
1007 | int t = s.find( '\t' ); | 1007 | int t = s.find( '\t' ); |
1008 | int m = motifItemVMargin; | 1008 | int m = motifItemVMargin; |
1009 | const int text_flags = AlignVCenter|ShowPrefix | DontClip | SingleLine; | 1009 | const int text_flags = AlignVCenter|ShowPrefix | DontClip | SingleLine; |
1010 | if ( t >= 0 ) { // draw tab text | 1010 | if ( t >= 0 ) { // draw tab text |
1011 | if ( dis && !act ) { | 1011 | if ( dis && !act ) { |
1012 | p->setPen( g.light() ); | 1012 | p->setPen( g.light() ); |
1013 | p->drawText( x+w-tab-windowsRightBorder-motifItemHMargin-motifItemFrame+1, | 1013 | p->drawText( x+w-tab-windowsRightBorder-motifItemHMargin-motifItemFrame+1, |
1014 | y+m+1, tab, h-2*m, text_flags, s.mid( t+1 )); | 1014 | y+m+1, tab, h-2*m, text_flags, s.mid( t+1 )); |
1015 | p->setPen( discol ); | 1015 | p->setPen( discol ); |
1016 | } | 1016 | } |
1017 | p->drawText( x+w-tab-windowsRightBorder-motifItemHMargin-motifItemFrame, | 1017 | p->drawText( x+w-tab-windowsRightBorder-motifItemHMargin-motifItemFrame, |
1018 | y+m, tab, h-2*m, text_flags, s.mid( t+1 ) ); | 1018 | y+m, tab, h-2*m, text_flags, s.mid( t+1 ) ); |
1019 | } | 1019 | } |
1020 | if ( dis && !act ) | 1020 | if ( dis && !act ) |
1021 | p->setPen( discol ); | 1021 | p->setPen( discol ); |
1022 | p->drawText( x+xm, y+m, w-xm-tab+1, h-2*m, text_flags, s, t ); | 1022 | p->drawText( x+xm, y+m, w-xm-tab+1, h-2*m, text_flags, s, t ); |
1023 | } else if ( mi->pixmap() ) { // draw pixmap | 1023 | } else if ( mi->pixmap() ) { // draw pixmap |
1024 | QPixmap *pixmap = mi->pixmap(); | 1024 | QPixmap *pixmap = mi->pixmap(); |
1025 | if ( pixmap->depth() == 1 ) | 1025 | if ( pixmap->depth() == 1 ) |
1026 | p->setBackgroundMode( OpaqueMode ); | 1026 | p->setBackgroundMode( OpaqueMode ); |
1027 | p->drawPixmap( x+xm, y+motifItemFrame, *pixmap ); | 1027 | p->drawPixmap( x+xm, y+motifItemFrame, *pixmap ); |
1028 | if ( pixmap->depth() == 1 ) | 1028 | if ( pixmap->depth() == 1 ) |
1029 | p->setBackgroundMode( TransparentMode ); | 1029 | p->setBackgroundMode( TransparentMode ); |
1030 | } | 1030 | } |
1031 | if ( mi->popup() ) { // draw sub menu arrow | 1031 | if ( mi->popup() ) { // draw sub menu arrow |
1032 | int dim = (h-2*motifItemFrame) / 2; | 1032 | int dim = (h-2*motifItemFrame) / 2; |
1033 | if ( act ) { | 1033 | if ( act ) { |
1034 | if ( !dis ) | 1034 | if ( !dis ) |
1035 | discol = white; | 1035 | discol = white; |
1036 | QColorGroup g2( discol, g.highlight(), | 1036 | QColorGroup g2( discol, g.highlight(), |
1037 | white, white, | 1037 | white, white, |
1038 | dis ? discol : white, | 1038 | dis ? discol : white, |
1039 | discol, white ); | 1039 | discol, white ); |
1040 | drawArrow( p, RightArrow, FALSE, | 1040 | drawArrow( p, RightArrow, FALSE, |
1041 | x+w - motifArrowHMargin - motifItemFrame - dim, y+h/2-dim/2, | 1041 | x+w - motifArrowHMargin - motifItemFrame - dim, y+h/2-dim/2, |
1042 | dim, dim, g2, TRUE ); | 1042 | dim, dim, g2, TRUE ); |
1043 | } else { | 1043 | } else { |
1044 | drawArrow( p, RightArrow, | 1044 | drawArrow( p, RightArrow, |
1045 | FALSE, | 1045 | FALSE, |
1046 | x+w - motifArrowHMargin - motifItemFrame - dim, y+h/2-dim/2, | 1046 | x+w - motifArrowHMargin - motifItemFrame - dim, y+h/2-dim/2, |
1047 | dim, dim, g, mi->isEnabled() ); | 1047 | dim, dim, g, mi->isEnabled() ); |
1048 | } | 1048 | } |
1049 | } | 1049 | } |
1050 | #endif | 1050 | #endif |
1051 | } | 1051 | } |
1052 | 1052 | ||
1053 | void FlatStyle::getButtonShift( int &x, int &y ) | 1053 | void FlatStyle::getButtonShift( int &x, int &y ) |
1054 | { | 1054 | { |
1055 | x = 0; y = 0; | 1055 | x = 0; y = 0; |
1056 | } | 1056 | } |
1057 | 1057 | ||
1058 | //=========================================================================== | 1058 | //=========================================================================== |
1059 | 1059 | ||
1060 | FlatStyleImpl::FlatStyleImpl() | 1060 | FlatStyleImpl::FlatStyleImpl() |
1061 | : flat(0), ref(0) | 1061 | : flat(0) |
1062 | { | 1062 | { |
1063 | } | 1063 | } |
1064 | 1064 | ||
1065 | FlatStyleImpl::~FlatStyleImpl() | 1065 | FlatStyleImpl::~FlatStyleImpl() |
1066 | { | 1066 | { |
1067 | // We do not delete the style because Qt does that when a new style | 1067 | // We do not delete the style because Qt does that when a new style |
1068 | // is set. | 1068 | // is set. |
1069 | } | 1069 | } |
1070 | 1070 | ||
1071 | QStyle *FlatStyleImpl::style() | 1071 | QStyle *FlatStyleImpl::style() |
1072 | { | 1072 | { |
1073 | if ( !flat ) | 1073 | if ( !flat ) |
1074 | flat = new FlatStyle(); | 1074 | flat = new FlatStyle(); |
1075 | return flat; | 1075 | return flat; |
1076 | } | 1076 | } |
1077 | 1077 | ||
1078 | QString FlatStyleImpl::name() const | 1078 | QString FlatStyleImpl::name() const |
1079 | { | 1079 | { |
1080 | return qApp->translate("FlatStyle", "Flat", "Name of the style Flat"); | 1080 | return qApp->translate("FlatStyle", "Flat", "Name of the style Flat"); |
1081 | } | 1081 | } |
1082 | 1082 | ||
1083 | QRESULT FlatStyleImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) | 1083 | QRESULT FlatStyleImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) |
1084 | { | 1084 | { |
1085 | *iface = 0; | 1085 | *iface = 0; |
1086 | if ( uuid == IID_QUnknown ) | 1086 | if ( uuid == IID_QUnknown ) |
1087 | *iface = this; | 1087 | *iface = this; |
1088 | else if ( uuid == IID_Style ) | 1088 | else if ( uuid == IID_Style ) |
1089 | *iface = this; | 1089 | *iface = this; |
1090 | else | 1090 | else |
1091 | return QS_FALSE; | 1091 | return QS_FALSE; |
1092 | 1092 | ||
1093 | (*iface)->addRef(); | 1093 | (*iface)->addRef(); |
1094 | return QS_OK; | 1094 | return QS_OK; |
1095 | } | 1095 | } |
1096 | 1096 | ||
1097 | Q_EXPORT_INTERFACE() | 1097 | Q_EXPORT_INTERFACE() |
1098 | { | 1098 | { |
1099 | Q_CREATE_INSTANCE( FlatStyleImpl ) | 1099 | Q_CREATE_INSTANCE( FlatStyleImpl ) |
1100 | } | 1100 | } |
1101 | 1101 | ||
1102 | #include "flat.moc" | 1102 | #include "flat.moc" |
diff --git a/noncore/styles/flat/flat.h b/noncore/styles/flat/flat.h index ebea95b..4591852 100644 --- a/noncore/styles/flat/flat.h +++ b/noncore/styles/flat/flat.h | |||
@@ -1,118 +1,117 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | 2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of the Qtopia Environment. | 4 | ** This file is part of the Qtopia Environment. |
5 | ** | 5 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | ** This file may be distributed and/or modified under the terms of the |
7 | ** GNU General Public License version 2 as published by the Free Software | 7 | ** GNU General Public License version 2 as published by the Free Software |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 8 | ** Foundation and appearing in the file LICENSE.GPL included in the |
9 | ** packaging of this file. | 9 | ** packaging of this file. |
10 | ** | 10 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | ||
21 | #ifndef FLATSTYLE_H | 21 | #ifndef FLATSTYLE_H |
22 | #define FLATSTYLE_H | 22 | #define FLATSTYLE_H |
23 | 23 | ||
24 | #include <qcolor.h> | 24 | #include <qcolor.h> |
25 | #include <qwindowsstyle.h> | 25 | #include <qwindowsstyle.h> |
26 | #include <qpe/styleinterface.h> | 26 | #include <qpe/styleinterface.h> |
27 | 27 | ||
28 | class FlatStylePrivate; | 28 | class FlatStylePrivate; |
29 | 29 | ||
30 | class FlatStyle : public QWindowsStyle | 30 | class FlatStyle : public QWindowsStyle |
31 | { | 31 | { |
32 | public: | 32 | public: |
33 | FlatStyle(); | 33 | FlatStyle(); |
34 | virtual ~FlatStyle(); | 34 | virtual ~FlatStyle(); |
35 | virtual void polish( QPalette &p ); | 35 | virtual void polish( QPalette &p ); |
36 | virtual void polish( QWidget *w ); | 36 | virtual void polish( QWidget *w ); |
37 | virtual void unPolish( QWidget *w ); | 37 | virtual void unPolish( QWidget *w ); |
38 | 38 | ||
39 | int defaultFrameWidth () const; | 39 | int defaultFrameWidth () const; |
40 | void drawItem( QPainter *p, int x, int y, int w, int h, | 40 | void drawItem( QPainter *p, int x, int y, int w, int h, |
41 | int flags, const QColorGroup &g, bool enabled, | 41 | int flags, const QColorGroup &g, bool enabled, |
42 | const QPixmap *pixmap, const QString& text, int len, const QColor* penColor ); | 42 | const QPixmap *pixmap, const QString& text, int len, const QColor* penColor ); |
43 | void drawPanel ( QPainter * p, int x, int y, int w, int h, | 43 | void drawPanel ( QPainter * p, int x, int y, int w, int h, |
44 | const QColorGroup &, bool sunken=FALSE, int lineWidth = 1, const QBrush * fill = 0 ); | 44 | const QColorGroup &, bool sunken=FALSE, int lineWidth = 1, const QBrush * fill = 0 ); |
45 | void drawButton( QPainter *p, int x, int y, int w, int h, | 45 | void drawButton( QPainter *p, int x, int y, int w, int h, |
46 | const QColorGroup &g, bool sunken, const QBrush* fill ); | 46 | const QColorGroup &g, bool sunken, const QBrush* fill ); |
47 | void drawButtonMask ( QPainter * p, int x, int y, int w, int h ); | 47 | void drawButtonMask ( QPainter * p, int x, int y, int w, int h ); |
48 | void drawBevelButton( QPainter *p, int x, int y, int w, int h, | 48 | void drawBevelButton( QPainter *p, int x, int y, int w, int h, |
49 | const QColorGroup &g, bool sunken=FALSE, const QBrush* fill=0 ); | 49 | const QColorGroup &g, bool sunken=FALSE, const QBrush* fill=0 ); |
50 | void drawToolButton( QPainter *p, int x, int y, int w, int h, | 50 | void drawToolButton( QPainter *p, int x, int y, int w, int h, |
51 | const QColorGroup &g, bool sunken=FALSE, const QBrush* fill=0 ); | 51 | const QColorGroup &g, bool sunken=FALSE, const QBrush* fill=0 ); |
52 | void drawPushButton( QPushButton *btn, QPainter *p ); | 52 | void drawPushButton( QPushButton *btn, QPainter *p ); |
53 | void drawPushButtonLabel( QPushButton *btn, QPainter *p ); | 53 | void drawPushButtonLabel( QPushButton *btn, QPainter *p ); |
54 | QRect comboButtonRect( int x, int y, int w, int h); | 54 | QRect comboButtonRect( int x, int y, int w, int h); |
55 | QRect comboButtonFocusRect( int x, int y, int w, int h); | 55 | QRect comboButtonFocusRect( int x, int y, int w, int h); |
56 | void drawComboButton( QPainter *p, int x, int y, int w, int h, | 56 | void drawComboButton( QPainter *p, int x, int y, int w, int h, |
57 | const QColorGroup &g, bool sunken, bool, bool enabled, | 57 | const QColorGroup &g, bool sunken, bool, bool enabled, |
58 | const QBrush *fill ); | 58 | const QBrush *fill ); |
59 | void drawExclusiveIndicator ( QPainter * p, int x, int y, int w, int h, | 59 | void drawExclusiveIndicator ( QPainter * p, int x, int y, int w, int h, |
60 | const QColorGroup & g, bool on, bool down = FALSE, bool enabled = TRUE ); | 60 | const QColorGroup & g, bool on, bool down = FALSE, bool enabled = TRUE ); |
61 | void drawIndicator ( QPainter * p, int x, int y, int w, int h, | 61 | void drawIndicator ( QPainter * p, int x, int y, int w, int h, |
62 | const QColorGroup & g, int state, bool down = FALSE, bool enabled = TRUE ); | 62 | const QColorGroup & g, int state, bool down = FALSE, bool enabled = TRUE ); |
63 | void scrollBarMetrics( const QScrollBar*, int&, int&, int&, int&); | 63 | void scrollBarMetrics( const QScrollBar*, int&, int&, int&, int&); |
64 | void drawScrollBarControls( QPainter*, const QScrollBar*, int sliderStart, uint controls, uint activeControl ); | 64 | void drawScrollBarControls( QPainter*, const QScrollBar*, int sliderStart, uint controls, uint activeControl ); |
65 | ScrollControl scrollBarPointOver( const QScrollBar* sb, int sliderStart, const QPoint& p ); | 65 | ScrollControl scrollBarPointOver( const QScrollBar* sb, int sliderStart, const QPoint& p ); |
66 | void drawRiffles( QPainter* p, int x, int y, int w, int h, | 66 | void drawRiffles( QPainter* p, int x, int y, int w, int h, |
67 | const QColorGroup &g, bool horizontal ); | 67 | const QColorGroup &g, bool horizontal ); |
68 | int sliderLength() const; | 68 | int sliderLength() const; |
69 | void drawSlider( QPainter *p, int x, int y, int w, int h, | 69 | void drawSlider( QPainter *p, int x, int y, int w, int h, |
70 | const QColorGroup &g, Orientation, bool tickAbove, bool tickBelow ); | 70 | const QColorGroup &g, Orientation, bool tickAbove, bool tickBelow ); |
71 | void drawSliderMask( QPainter *p, int x, int y, int w, int h, | 71 | void drawSliderMask( QPainter *p, int x, int y, int w, int h, |
72 | Orientation, bool tickAbove, bool tickBelow ); | 72 | Orientation, bool tickAbove, bool tickBelow ); |
73 | void drawSliderGrooveMask( QPainter *p, int x, int y, int w, int h, | 73 | void drawSliderGrooveMask( QPainter *p, int x, int y, int w, int h, |
74 | const QColorGroup& , QCOORD c, Orientation orient ); | 74 | const QColorGroup& , QCOORD c, Orientation orient ); |
75 | void drawSliderGroove ( QPainter * p, int x, int y, int w, int h, const QColorGroup & g, QCOORD c, Orientation ); | 75 | void drawSliderGroove ( QPainter * p, int x, int y, int w, int h, const QColorGroup & g, QCOORD c, Orientation ); |
76 | void drawTab( QPainter *, const QTabBar *, QTab *, bool selected ); | 76 | void drawTab( QPainter *, const QTabBar *, QTab *, bool selected ); |
77 | void polishPopupMenu ( QPopupMenu * ); | 77 | void polishPopupMenu ( QPopupMenu * ); |
78 | int extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem*, const QFontMetrics& ); | 78 | int extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem*, const QFontMetrics& ); |
79 | int popupMenuItemHeight( bool checkable, QMenuItem*, const QFontMetrics& ); | 79 | int popupMenuItemHeight( bool checkable, QMenuItem*, const QFontMetrics& ); |
80 | void drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, | 80 | void drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, |
81 | const QPalette& pal, | 81 | const QPalette& pal, |
82 | bool act, bool enabled, int x, int y, int w, int h); | 82 | bool act, bool enabled, int x, int y, int w, int h); |
83 | 83 | ||
84 | int buttonMargin() const; | 84 | int buttonMargin() const; |
85 | QSize scrollBarExtent() const; | 85 | QSize scrollBarExtent() const; |
86 | void getButtonShift( int &x, int &y ); | 86 | void getButtonShift( int &x, int &y ); |
87 | 87 | ||
88 | private: | 88 | private: |
89 | FlatStylePrivate *d; | 89 | FlatStylePrivate *d; |
90 | bool revItem; | 90 | bool revItem; |
91 | bool fillBtnBorder; | 91 | bool fillBtnBorder; |
92 | QColor btnBg; | 92 | QColor btnBg; |
93 | // Disabled copy constructor and operator= | 93 | // Disabled copy constructor and operator= |
94 | #if defined(Q_DISABLE_COPY) | 94 | #if defined(Q_DISABLE_COPY) |
95 | FlatStyle( const FlatStyle & ); | 95 | FlatStyle( const FlatStyle & ); |
96 | FlatStyle& operator=( const FlatStyle & ); | 96 | FlatStyle& operator=( const FlatStyle & ); |
97 | #endif | 97 | #endif |
98 | }; | 98 | }; |
99 | 99 | ||
100 | 100 | ||
101 | class FlatStyleImpl : public StyleInterface | 101 | class FlatStyleImpl : public StyleInterface |
102 | { | 102 | { |
103 | public: | 103 | public: |
104 | FlatStyleImpl(); | 104 | FlatStyleImpl(); |
105 | virtual ~FlatStyleImpl(); | 105 | virtual ~FlatStyleImpl(); |
106 | 106 | ||
107 | QRESULT queryInterface( const QUuid&, QUnknownInterface** ); | 107 | QRESULT queryInterface( const QUuid&, QUnknownInterface** ); |
108 | Q_REFCOUNT | 108 | Q_REFCOUNT |
109 | 109 | ||
110 | virtual QStyle *style(); | 110 | virtual QStyle *style(); |
111 | virtual QString name() const; | 111 | virtual QString name() const; |
112 | 112 | ||
113 | private: | 113 | private: |
114 | FlatStyle *flat; | 114 | FlatStyle *flat; |
115 | ulong ref; | ||
116 | }; | 115 | }; |
117 | 116 | ||
118 | #endif // FLATSTYLE_H | 117 | #endif // FLATSTYLE_H |
diff --git a/noncore/styles/fresh/fresh.cpp b/noncore/styles/fresh/fresh.cpp index 0730329..831b620 100644 --- a/noncore/styles/fresh/fresh.cpp +++ b/noncore/styles/fresh/fresh.cpp | |||
@@ -1,846 +1,848 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | 2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of the Qtopia Environment. | 4 | ** This file is part of the Qtopia Environment. |
5 | ** | 5 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | ** This file may be distributed and/or modified under the terms of the |
7 | ** GNU General Public License version 2 as published by the Free Software | 7 | ** GNU General Public License version 2 as published by the Free Software |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 8 | ** Foundation and appearing in the file LICENSE.GPL included in the |
9 | ** packaging of this file. | 9 | ** packaging of this file. |
10 | ** | 10 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | ||
21 | #include "fresh.h" | 21 | #include "fresh.h" |
22 | #include <qpe/qpeapplication.h> | 22 | #include <qpe/qpeapplication.h> |
23 | #include <qpushbutton.h> | 23 | #include <qpushbutton.h> |
24 | #include <qpainter.h> | 24 | #include <qpainter.h> |
25 | #include <qfontmetrics.h> | 25 | #include <qfontmetrics.h> |
26 | #include <qpalette.h> | 26 | #include <qpalette.h> |
27 | #include <qdrawutil.h> | 27 | #include <qdrawutil.h> |
28 | #include <qscrollbar.h> | 28 | #include <qscrollbar.h> |
29 | #include <qbutton.h> | 29 | #include <qbutton.h> |
30 | #include <qframe.h> | 30 | #include <qframe.h> |
31 | #include <qtabbar.h> | 31 | #include <qtabbar.h> |
32 | 32 | ||
33 | #define INCLUDE_MENUITEM_DEF | 33 | #define INCLUDE_MENUITEM_DEF |
34 | #include <qmenudata.h> | 34 | #include <qmenudata.h> |
35 | 35 | ||
36 | #define QCOORDARRLEN(x) sizeof(x)/(sizeof(QCOORD)*2) | 36 | #define QCOORDARRLEN(x) sizeof(x)/(sizeof(QCOORD)*2) |
37 | 37 | ||
38 | FreshStyle::FreshStyle() | 38 | FreshStyle::FreshStyle() |
39 | { | 39 | { |
40 | setButtonMargin(2); | 40 | setButtonMargin(2); |
41 | setScrollBarExtent(13,13); | 41 | setScrollBarExtent(13,13); |
42 | } | 42 | } |
43 | 43 | ||
44 | FreshStyle::~FreshStyle() | 44 | FreshStyle::~FreshStyle() |
45 | { | 45 | { |
46 | } | 46 | } |
47 | 47 | ||
48 | int FreshStyle::buttonMargin() const | 48 | int FreshStyle::buttonMargin() const |
49 | { | 49 | { |
50 | return 2; | 50 | return 2; |
51 | } | 51 | } |
52 | 52 | ||
53 | QSize FreshStyle::scrollBarExtent() const | 53 | QSize FreshStyle::scrollBarExtent() const |
54 | { | 54 | { |
55 | return QSize(13,13); | 55 | return QSize(13,13); |
56 | } | 56 | } |
57 | 57 | ||
58 | void FreshStyle::polish ( QPalette & ) | 58 | void FreshStyle::polish ( QPalette & ) |
59 | { | 59 | { |
60 | } | 60 | } |
61 | 61 | ||
62 | void FreshStyle::polish( QWidget *w ) | 62 | void FreshStyle::polish( QWidget *w ) |
63 | { | 63 | { |
64 | if ( w->inherits( "QListBox" ) || | 64 | if ( w->inherits( "QListBox" ) || |
65 | w->inherits( "QListView" ) || | 65 | w->inherits( "QListView" ) || |
66 | w->inherits( "QPopupMenu" ) || | 66 | w->inherits( "QPopupMenu" ) || |
67 | w->inherits( "QSpinBox" ) ) { | 67 | w->inherits( "QSpinBox" ) ) { |
68 | QFrame *f = (QFrame *)w; | 68 | QFrame *f = (QFrame *)w; |
69 | f->setFrameShape( QFrame::StyledPanel ); | 69 | f->setFrameShape( QFrame::StyledPanel ); |
70 | f->setLineWidth( 1 ); | 70 | f->setLineWidth( 1 ); |
71 | } | 71 | } |
72 | } | 72 | } |
73 | 73 | ||
74 | void FreshStyle::unPolish( QWidget *w ) | 74 | void FreshStyle::unPolish( QWidget *w ) |
75 | { | 75 | { |
76 | if ( w->inherits( "QListBox" ) || | 76 | if ( w->inherits( "QListBox" ) || |
77 | w->inherits( "QListView" ) || | 77 | w->inherits( "QListView" ) || |
78 | w->inherits( "QPopupMenu" ) || | 78 | w->inherits( "QPopupMenu" ) || |
79 | w->inherits( "QSpinBox" ) ) { | 79 | w->inherits( "QSpinBox" ) ) { |
80 | QFrame *f = (QFrame *)w; | 80 | QFrame *f = (QFrame *)w; |
81 | f->setFrameShape( QFrame::StyledPanel ); | 81 | f->setFrameShape( QFrame::StyledPanel ); |
82 | f->setLineWidth( 2 ); | 82 | f->setLineWidth( 2 ); |
83 | } | 83 | } |
84 | } | 84 | } |
85 | 85 | ||
86 | int FreshStyle::defaultFrameWidth() const | 86 | int FreshStyle::defaultFrameWidth() const |
87 | { | 87 | { |
88 | return 1; | 88 | return 1; |
89 | } | 89 | } |
90 | 90 | ||
91 | void FreshStyle::drawPanel ( QPainter * p, int x, int y, int w, int h, | 91 | void FreshStyle::drawPanel ( QPainter * p, int x, int y, int w, int h, |
92 | const QColorGroup &g, bool sunken, int lineWidth, const QBrush * fill ) | 92 | const QColorGroup &g, bool sunken, int lineWidth, const QBrush * fill ) |
93 | { | 93 | { |
94 | qDrawShadePanel( p, QRect(x, y, w, h), g, sunken, lineWidth, fill ); | 94 | qDrawShadePanel( p, QRect(x, y, w, h), g, sunken, lineWidth, fill ); |
95 | } | 95 | } |
96 | 96 | ||
97 | void FreshStyle::drawButton( QPainter *p, int x, int y, int w, int h, | 97 | void FreshStyle::drawButton( QPainter *p, int x, int y, int w, int h, |
98 | const QColorGroup &cg, bool sunken, const QBrush* fill ) | 98 | const QColorGroup &cg, bool sunken, const QBrush* fill ) |
99 | { | 99 | { |
100 | QPen oldPen = p->pen(); | 100 | QPen oldPen = p->pen(); |
101 | int off = sunken ? 1 : 0; | 101 | int off = sunken ? 1 : 0; |
102 | p->fillRect( x+1+off, y+1+off, w-3, h-3, fill?(*fill):cg.brush(QColorGroup::Button) ); | 102 | p->fillRect( x+1+off, y+1+off, w-3, h-3, fill?(*fill):cg.brush(QColorGroup::Button) ); |
103 | 103 | ||
104 | int x2 = x+w-1; | 104 | int x2 = x+w-1; |
105 | int y2 = y+h-1; | 105 | int y2 = y+h-1; |
106 | 106 | ||
107 | if ( sunken ) | 107 | if ( sunken ) |
108 | p->setPen( cg.dark() ); | 108 | p->setPen( cg.dark() ); |
109 | else | 109 | else |
110 | p->setPen( cg.light() ); | 110 | p->setPen( cg.light() ); |
111 | p->drawLine( x, y, x, y2-1 ); | 111 | p->drawLine( x, y, x, y2-1 ); |
112 | p->drawLine( x, y, x2, y ); | 112 | p->drawLine( x, y, x2, y ); |
113 | 113 | ||
114 | if ( sunken ) { | 114 | if ( sunken ) { |
115 | p->setPen( white ); | 115 | p->setPen( white ); |
116 | p->drawLine( x+1, y+1, x+1, y2-2 ); | 116 | p->drawLine( x+1, y+1, x+1, y2-2 ); |
117 | p->drawLine( x+1, y+1, x2-2, y+1 ); | 117 | p->drawLine( x+1, y+1, x2-2, y+1 ); |
118 | } | 118 | } |
119 | 119 | ||
120 | if ( sunken ) | 120 | if ( sunken ) |
121 | p->setPen( cg.light() ); | 121 | p->setPen( cg.light() ); |
122 | else | 122 | else |
123 | p->setPen( cg.dark() ); | 123 | p->setPen( cg.dark() ); |
124 | p->drawLine( x2, y+1, x2, y2 ); | 124 | p->drawLine( x2, y+1, x2, y2 ); |
125 | p->drawLine( x, y2, x2, y2 ); | 125 | p->drawLine( x, y2, x2, y2 ); |
126 | 126 | ||
127 | if ( !sunken ) { | 127 | if ( !sunken ) { |
128 | p->setPen( white ); | 128 | p->setPen( white ); |
129 | p->drawLine( x2-1, y+1, x2-1, y2-1 ); | 129 | p->drawLine( x2-1, y+1, x2-1, y2-1 ); |
130 | p->drawLine( x+1, y2-1, x2-1, y2-1 ); | 130 | p->drawLine( x+1, y2-1, x2-1, y2-1 ); |
131 | } | 131 | } |
132 | p->setPen( oldPen ); | 132 | p->setPen( oldPen ); |
133 | } | 133 | } |
134 | 134 | ||
135 | void FreshStyle::drawButtonMask ( QPainter * p, int x, int y, int w, int h ) | 135 | void FreshStyle::drawButtonMask ( QPainter * p, int x, int y, int w, int h ) |
136 | { | 136 | { |
137 | p->fillRect( x, y, w, h, color1 ); | 137 | p->fillRect( x, y, w, h, color1 ); |
138 | } | 138 | } |
139 | 139 | ||
140 | void FreshStyle::drawBevelButton( QPainter *p, int x, int y, int w, int h, | 140 | void FreshStyle::drawBevelButton( QPainter *p, int x, int y, int w, int h, |
141 | const QColorGroup &g, bool sunken, const QBrush* fill ) | 141 | const QColorGroup &g, bool sunken, const QBrush* fill ) |
142 | { | 142 | { |
143 | drawButton( p, x, y, w, h, g, sunken, fill ); | 143 | drawButton( p, x, y, w, h, g, sunken, fill ); |
144 | } | 144 | } |
145 | 145 | ||
146 | QRect FreshStyle::comboButtonRect( int x, int y, int w, int h) | 146 | QRect FreshStyle::comboButtonRect( int x, int y, int w, int h) |
147 | { | 147 | { |
148 | return QRect(x+1, y+1, w-2-14, h-2); | 148 | return QRect(x+1, y+1, w-2-14, h-2); |
149 | } | 149 | } |
150 | 150 | ||
151 | 151 | ||
152 | QRect FreshStyle::comboButtonFocusRect( int x, int y, int w, int h) | 152 | QRect FreshStyle::comboButtonFocusRect( int x, int y, int w, int h) |
153 | { | 153 | { |
154 | return QRect(x+2, y+2, w-4-14, h-4); | 154 | return QRect(x+2, y+2, w-4-14, h-4); |
155 | } | 155 | } |
156 | 156 | ||
157 | void FreshStyle::drawComboButton( QPainter *p, int x, int y, int w, int h, | 157 | void FreshStyle::drawComboButton( QPainter *p, int x, int y, int w, int h, |
158 | const QColorGroup &g, bool sunken, | 158 | const QColorGroup &g, bool sunken, |
159 | bool /*editable*/, | 159 | bool /*editable*/, |
160 | bool enabled, | 160 | bool enabled, |
161 | const QBrush *fill ) | 161 | const QBrush *fill ) |
162 | { | 162 | { |
163 | drawBevelButton( p, x, y, w, h, g, FALSE, fill ); | 163 | drawBevelButton( p, x, y, w, h, g, FALSE, fill ); |
164 | drawBevelButton( p, x+w-14, y, 14, h, g, sunken, fill ); | 164 | drawBevelButton( p, x+w-14, y, 14, h, g, sunken, fill ); |
165 | drawArrow( p, QStyle::DownArrow, sunken, | 165 | drawArrow( p, QStyle::DownArrow, sunken, |
166 | x+w-14+ 2, y+ 2, 14- 4, h- 4, g, enabled, | 166 | x+w-14+ 2, y+ 2, 14- 4, h- 4, g, enabled, |
167 | &g.brush( QColorGroup::Button ) ); | 167 | &g.brush( QColorGroup::Button ) ); |
168 | 168 | ||
169 | } | 169 | } |
170 | 170 | ||
171 | 171 | ||
172 | void FreshStyle::drawExclusiveIndicator ( QPainter * p, int x, int y, int w, | 172 | void FreshStyle::drawExclusiveIndicator ( QPainter * p, int x, int y, int w, |
173 | int h, const QColorGroup &cg, bool on, bool down, bool enabled ) | 173 | int h, const QColorGroup &cg, bool on, bool down, bool enabled ) |
174 | { | 174 | { |
175 | static const QCOORD pts1[] = { // dark lines | 175 | static const QCOORD pts1[] = { // dark lines |
176 | 1,9, 1,8, 0,7, 0,4, 1,3, 1,2, 2,1, 3,1, 4,0, 7,0, 8,1, 9,1 }; | 176 | 1,9, 1,8, 0,7, 0,4, 1,3, 1,2, 2,1, 3,1, 4,0, 7,0, 8,1, 9,1 }; |
177 | static const QCOORD pts4[] = { // white lines | 177 | static const QCOORD pts4[] = { // white lines |
178 | 2,10, 3,10, 4,11, 7,11, 8,10, 9,10, 10,9, 10,8, 11,7, | 178 | 2,10, 3,10, 4,11, 7,11, 8,10, 9,10, 10,9, 10,8, 11,7, |
179 | 11,4, 10,3, 10,2 }; | 179 | 11,4, 10,3, 10,2 }; |
180 | static const QCOORD pts5[] = { // inner fill | 180 | static const QCOORD pts5[] = { // inner fill |
181 | 4,2, 7,2, 9,4, 9,7, 7,9, 4,9, 2,7, 2,4 }; | 181 | 4,2, 7,2, 9,4, 9,7, 7,9, 4,9, 2,7, 2,4 }; |
182 | 182 | ||
183 | p->eraseRect( x, y, w, h ); | 183 | p->eraseRect( x, y, w, h ); |
184 | QPointArray a( QCOORDARRLEN(pts1), pts4 ); | 184 | QPointArray a( QCOORDARRLEN(pts1), pts4 ); |
185 | a.translate( x, y ); | 185 | a.translate( x, y ); |
186 | p->setPen( cg.dark() ); | 186 | p->setPen( cg.dark() ); |
187 | p->drawPolyline( a ); | 187 | p->drawPolyline( a ); |
188 | a.setPoints( QCOORDARRLEN(pts4), pts1 ); | 188 | a.setPoints( QCOORDARRLEN(pts4), pts1 ); |
189 | a.translate( x, y ); | 189 | a.translate( x, y ); |
190 | p->setPen( cg.light() ); | 190 | p->setPen( cg.light() ); |
191 | p->drawPolyline( a ); | 191 | p->drawPolyline( a ); |
192 | a.setPoints( QCOORDARRLEN(pts5), pts5 ); | 192 | a.setPoints( QCOORDARRLEN(pts5), pts5 ); |
193 | a.translate( x, y ); | 193 | a.translate( x, y ); |
194 | QColor fillColor = ( down || !enabled ) ? cg.button() : cg.base(); | 194 | QColor fillColor = ( down || !enabled ) ? cg.button() : cg.base(); |
195 | p->setPen( fillColor ); | 195 | p->setPen( fillColor ); |
196 | p->setBrush( fillColor ) ; | 196 | p->setBrush( fillColor ) ; |
197 | p->drawPolygon( a ); | 197 | p->drawPolygon( a ); |
198 | if ( on ) { | 198 | if ( on ) { |
199 | p->setPen( NoPen ); | 199 | p->setPen( NoPen ); |
200 | p->setBrush( cg.text() ); | 200 | p->setBrush( cg.text() ); |
201 | p->drawRect( x+5, y+4, 2, 4 ); | 201 | p->drawRect( x+5, y+4, 2, 4 ); |
202 | p->drawRect( x+4, y+5, 4, 2 ); | 202 | p->drawRect( x+4, y+5, 4, 2 ); |
203 | } | 203 | } |
204 | } | 204 | } |
205 | 205 | ||
206 | void FreshStyle::drawIndicator ( QPainter * p, int x, int y, int w, int h, | 206 | void FreshStyle::drawIndicator ( QPainter * p, int x, int y, int w, int h, |
207 | const QColorGroup &cg, int state, bool down, bool enabled ) | 207 | const QColorGroup &cg, int state, bool down, bool enabled ) |
208 | { | 208 | { |
209 | QColorGroup mycg( cg ); | 209 | QColorGroup mycg( cg ); |
210 | mycg.setBrush( QColorGroup::Button, QBrush() ); | 210 | mycg.setBrush( QColorGroup::Button, QBrush() ); |
211 | QBrush fill; | 211 | QBrush fill; |
212 | drawButton( p, x, y, w, h, mycg, TRUE, 0 ); | 212 | drawButton( p, x, y, w, h, mycg, TRUE, 0 ); |
213 | if ( down ) | 213 | if ( down ) |
214 | fill = cg.brush( QColorGroup::Button ); | 214 | fill = cg.brush( QColorGroup::Button ); |
215 | else | 215 | else |
216 | fill = cg.brush( enabled ? QColorGroup::Base : QColorGroup::Background ); | 216 | fill = cg.brush( enabled ? QColorGroup::Base : QColorGroup::Background ); |
217 | mycg.setBrush( QColorGroup::Button, fill ); | 217 | mycg.setBrush( QColorGroup::Button, fill ); |
218 | p->fillRect( x+1, y+1, w-2, h-2, fill ); | 218 | p->fillRect( x+1, y+1, w-2, h-2, fill ); |
219 | if ( state != QButton::Off ) { | 219 | if ( state != QButton::Off ) { |
220 | QPointArray a( 7*2 ); | 220 | QPointArray a( 7*2 ); |
221 | int i, xx, yy; | 221 | int i, xx, yy; |
222 | xx = x+3; | 222 | xx = x+3; |
223 | yy = y+5; | 223 | yy = y+5; |
224 | for ( i=0; i<3; i++ ) { | 224 | for ( i=0; i<3; i++ ) { |
225 | a.setPoint( 2*i, xx, yy ); | 225 | a.setPoint( 2*i, xx, yy ); |
226 | a.setPoint( 2*i+1, xx, yy+2 ); | 226 | a.setPoint( 2*i+1, xx, yy+2 ); |
227 | xx++; yy++; | 227 | xx++; yy++; |
228 | } | 228 | } |
229 | yy -= 2; | 229 | yy -= 2; |
230 | for ( i=3; i<7; i++ ) { | 230 | for ( i=3; i<7; i++ ) { |
231 | a.setPoint( 2*i, xx, yy ); | 231 | a.setPoint( 2*i, xx, yy ); |
232 | a.setPoint( 2*i+1, xx, yy+2 ); | 232 | a.setPoint( 2*i+1, xx, yy+2 ); |
233 | xx++; yy--; | 233 | xx++; yy--; |
234 | } | 234 | } |
235 | if ( state == QButton::NoChange ) { | 235 | if ( state == QButton::NoChange ) { |
236 | p->setPen( mycg.dark() ); | 236 | p->setPen( mycg.dark() ); |
237 | } else { | 237 | } else { |
238 | p->setPen( mycg.text() ); | 238 | p->setPen( mycg.text() ); |
239 | } | 239 | } |
240 | p->drawLineSegments( a ); | 240 | p->drawLineSegments( a ); |
241 | } | 241 | } |
242 | } | 242 | } |
243 | 243 | ||
244 | #define HORIZONTAL(sb->orientation() == QScrollBar::Horizontal) | 244 | #define HORIZONTAL(sb->orientation() == QScrollBar::Horizontal) |
245 | #define VERTICAL!HORIZONTAL | 245 | #define VERTICAL!HORIZONTAL |
246 | #define MOTIF_BORDER2 | 246 | #define MOTIF_BORDER2 |
247 | #define SLIDER_MIN9 // ### motif says 6 but that's too small | 247 | #define SLIDER_MIN9 // ### motif says 6 but that's too small |
248 | 248 | ||
249 | /*! \reimp */ | 249 | /*! \reimp */ |
250 | 250 | ||
251 | void FreshStyle::scrollBarMetrics( const QScrollBar* sb, int &sliderMin, int &sliderMax, int &sliderLength, int& buttonDim ) | 251 | void FreshStyle::scrollBarMetrics( const QScrollBar* sb, int &sliderMin, int &sliderMax, int &sliderLength, int& buttonDim ) |
252 | { | 252 | { |
253 | int maxLength; | 253 | int maxLength; |
254 | int length = HORIZONTAL ? sb->width() : sb->height(); | 254 | int length = HORIZONTAL ? sb->width() : sb->height(); |
255 | int extent = HORIZONTAL ? sb->height() : sb->width(); | 255 | int extent = HORIZONTAL ? sb->height() : sb->width(); |
256 | 256 | ||
257 | if ( length > (extent - 1)*2 ) | 257 | if ( length > (extent - 1)*2 ) |
258 | buttonDim = extent; | 258 | buttonDim = extent; |
259 | else | 259 | else |
260 | buttonDim = length/2 - 1; | 260 | buttonDim = length/2 - 1; |
261 | 261 | ||
262 | sliderMin = 0; | 262 | sliderMin = 0; |
263 | maxLength = length - buttonDim*2; | 263 | maxLength = length - buttonDim*2; |
264 | 264 | ||
265 | if ( sb->maxValue() == sb->minValue() ) { | 265 | if ( sb->maxValue() == sb->minValue() ) { |
266 | sliderLength = maxLength; | 266 | sliderLength = maxLength; |
267 | } else { | 267 | } else { |
268 | sliderLength = (sb->pageStep()*maxLength)/ | 268 | sliderLength = (sb->pageStep()*maxLength)/ |
269 | (sb->maxValue()-sb->minValue()+sb->pageStep()); | 269 | (sb->maxValue()-sb->minValue()+sb->pageStep()); |
270 | uint range = sb->maxValue()-sb->minValue(); | 270 | uint range = sb->maxValue()-sb->minValue(); |
271 | if ( sliderLength < SLIDER_MIN || range > INT_MAX/2 ) | 271 | if ( sliderLength < SLIDER_MIN || range > INT_MAX/2 ) |
272 | sliderLength = SLIDER_MIN; | 272 | sliderLength = SLIDER_MIN; |
273 | if ( sliderLength > maxLength ) | 273 | if ( sliderLength > maxLength ) |
274 | sliderLength = maxLength; | 274 | sliderLength = maxLength; |
275 | } | 275 | } |
276 | 276 | ||
277 | sliderMax = sliderMin + maxLength - sliderLength; | 277 | sliderMax = sliderMin + maxLength - sliderLength; |
278 | } | 278 | } |
279 | 279 | ||
280 | /*!\reimp | 280 | /*!\reimp |
281 | */ | 281 | */ |
282 | QStyle::ScrollControl FreshStyle::scrollBarPointOver( const QScrollBar* sb, int sliderStart, const QPoint& p ) | 282 | QStyle::ScrollControl FreshStyle::scrollBarPointOver( const QScrollBar* sb, int sliderStart, const QPoint& p ) |
283 | { | 283 | { |
284 | if ( !sb->rect().contains( p ) ) | 284 | if ( !sb->rect().contains( p ) ) |
285 | return NoScroll; | 285 | return NoScroll; |
286 | int sliderMin, sliderMax, sliderLength, buttonDim, pos; | 286 | int sliderMin, sliderMax, sliderLength, buttonDim, pos; |
287 | scrollBarMetrics( sb, sliderMin, sliderMax, sliderLength, buttonDim ); | 287 | scrollBarMetrics( sb, sliderMin, sliderMax, sliderLength, buttonDim ); |
288 | 288 | ||
289 | if (sb->orientation() == QScrollBar::Horizontal) | 289 | if (sb->orientation() == QScrollBar::Horizontal) |
290 | pos = p.x(); | 290 | pos = p.x(); |
291 | else | 291 | else |
292 | pos = p.y(); | 292 | pos = p.y(); |
293 | 293 | ||
294 | if (pos < sliderStart) | 294 | if (pos < sliderStart) |
295 | return SubPage; | 295 | return SubPage; |
296 | if (pos < sliderStart + sliderLength) | 296 | if (pos < sliderStart + sliderLength) |
297 | return Slider; | 297 | return Slider; |
298 | if (pos < sliderMax + sliderLength) | 298 | if (pos < sliderMax + sliderLength) |
299 | return AddPage; | 299 | return AddPage; |
300 | if (pos < sliderMax + sliderLength + buttonDim) | 300 | if (pos < sliderMax + sliderLength + buttonDim) |
301 | return SubLine; | 301 | return SubLine; |
302 | return AddLine; | 302 | return AddLine; |
303 | } | 303 | } |
304 | 304 | ||
305 | /*! \reimp */ | 305 | /*! \reimp */ |
306 | 306 | ||
307 | void FreshStyle::drawScrollBarControls( QPainter* p, const QScrollBar* sb, int sliderStart, uint controls, uint activeControl ) | 307 | void FreshStyle::drawScrollBarControls( QPainter* p, const QScrollBar* sb, int sliderStart, uint controls, uint activeControl ) |
308 | { | 308 | { |
309 | #define ADD_LINE_ACTIVE ( activeControl == AddLine ) | 309 | #define ADD_LINE_ACTIVE ( activeControl == AddLine ) |
310 | #define SUB_LINE_ACTIVE ( activeControl == SubLine ) | 310 | #define SUB_LINE_ACTIVE ( activeControl == SubLine ) |
311 | QColorGroup g = sb->colorGroup(); | 311 | QColorGroup g = sb->colorGroup(); |
312 | 312 | ||
313 | int sliderMin, sliderMax, sliderLength, buttonDim; | 313 | int sliderMin, sliderMax, sliderLength, buttonDim; |
314 | scrollBarMetrics( sb, sliderMin, sliderMax, sliderLength, buttonDim ); | 314 | scrollBarMetrics( sb, sliderMin, sliderMax, sliderLength, buttonDim ); |
315 | 315 | ||
316 | if ( controls == (AddLine | SubLine | AddPage | SubPage | Slider | First | Last ) ) | 316 | if ( controls == (AddLine | SubLine | AddPage | SubPage | Slider | First | Last ) ) |
317 | p->fillRect( 0, 0, sb->width(), sb->height(), g.brush( QColorGroup::Mid )); | 317 | p->fillRect( 0, 0, sb->width(), sb->height(), g.brush( QColorGroup::Mid )); |
318 | 318 | ||
319 | if (sliderStart > sliderMax) { // sanity check | 319 | if (sliderStart > sliderMax) { // sanity check |
320 | sliderStart = sliderMax; | 320 | sliderStart = sliderMax; |
321 | } | 321 | } |
322 | 322 | ||
323 | int dimB = buttonDim; | 323 | int dimB = buttonDim; |
324 | QRect addB; | 324 | QRect addB; |
325 | QRect subB; | 325 | QRect subB; |
326 | QRect addPageR; | 326 | QRect addPageR; |
327 | QRect subPageR; | 327 | QRect subPageR; |
328 | QRect sliderR; | 328 | QRect sliderR; |
329 | int addX, addY, subX, subY; | 329 | int addX, addY, subX, subY; |
330 | int length = HORIZONTAL ? sb->width() : sb->height(); | 330 | int length = HORIZONTAL ? sb->width() : sb->height(); |
331 | int extent = HORIZONTAL ? sb->height() : sb->width(); | 331 | int extent = HORIZONTAL ? sb->height() : sb->width(); |
332 | 332 | ||
333 | if ( HORIZONTAL ) { | 333 | if ( HORIZONTAL ) { |
334 | subY = addY = ( extent - dimB ) / 2; | 334 | subY = addY = ( extent - dimB ) / 2; |
335 | subX = length - dimB - dimB; | 335 | subX = length - dimB - dimB; |
336 | addX = length - dimB; | 336 | addX = length - dimB; |
337 | } else { | 337 | } else { |
338 | subX = addX = ( extent - dimB ) / 2; | 338 | subX = addX = ( extent - dimB ) / 2; |
339 | subY = length - dimB - dimB; | 339 | subY = length - dimB - dimB; |
340 | addY = length - dimB; | 340 | addY = length - dimB; |
341 | } | 341 | } |
342 | 342 | ||
343 | int sliderEnd = sliderStart + sliderLength; | 343 | int sliderEnd = sliderStart + sliderLength; |
344 | int sliderW = extent; | 344 | int sliderW = extent; |
345 | if ( HORIZONTAL ) { | 345 | if ( HORIZONTAL ) { |
346 | subB.setRect( subX,subY+1,dimB,dimB-1 ); | 346 | subB.setRect( subX,subY+1,dimB,dimB-1 ); |
347 | addB.setRect( addX,addY+1,dimB,dimB-1 ); | 347 | addB.setRect( addX,addY+1,dimB,dimB-1 ); |
348 | 348 | ||
349 | subPageR.setRect( 0, 0, | 349 | subPageR.setRect( 0, 0, |
350 | sliderStart+1, sliderW ); | 350 | sliderStart+1, sliderW ); |
351 | addPageR.setRect( sliderEnd-1, 0, subX - sliderEnd+1, sliderW ); | 351 | addPageR.setRect( sliderEnd-1, 0, subX - sliderEnd+1, sliderW ); |
352 | sliderR .setRect( sliderStart, 1, sliderLength, sliderW-1 ); | 352 | sliderR .setRect( sliderStart, 1, sliderLength, sliderW-1 ); |
353 | 353 | ||
354 | } else { | 354 | } else { |
355 | subB.setRect( subX+1,subY,dimB-1,dimB ); | 355 | subB.setRect( subX+1,subY,dimB-1,dimB ); |
356 | addB.setRect( addX+1,addY,dimB-1,dimB ); | 356 | addB.setRect( addX+1,addY,dimB-1,dimB ); |
357 | 357 | ||
358 | subPageR.setRect( 0, 0, sliderW, | 358 | subPageR.setRect( 0, 0, sliderW, |
359 | sliderStart+1 ); | 359 | sliderStart+1 ); |
360 | addPageR.setRect( 0, sliderEnd-1, sliderW, subY - sliderEnd+1 ); | 360 | addPageR.setRect( 0, sliderEnd-1, sliderW, subY - sliderEnd+1 ); |
361 | sliderR .setRect( 1, sliderStart, sliderW-1, sliderLength ); | 361 | sliderR .setRect( 1, sliderStart, sliderW-1, sliderLength ); |
362 | } | 362 | } |
363 | 363 | ||
364 | bool maxedOut = (sb->maxValue() == sb->minValue()); | 364 | bool maxedOut = (sb->maxValue() == sb->minValue()); |
365 | if ( controls & AddLine ) { | 365 | if ( controls & AddLine ) { |
366 | drawBevelButton( p, addB.x(), addB.y(), | 366 | drawBevelButton( p, addB.x(), addB.y(), |
367 | addB.width(), addB.height(), g, | 367 | addB.width(), addB.height(), g, |
368 | ADD_LINE_ACTIVE); | 368 | ADD_LINE_ACTIVE); |
369 | p->setPen(g.shadow()); | 369 | p->setPen(g.shadow()); |
370 | drawArrow( p, VERTICAL ? DownArrow : RightArrow, | 370 | drawArrow( p, VERTICAL ? DownArrow : RightArrow, |
371 | FALSE, addB.x()+2, addB.y()+2, | 371 | FALSE, addB.x()+2, addB.y()+2, |
372 | addB.width()-4, addB.height()-4, g, !maxedOut, | 372 | addB.width()-4, addB.height()-4, g, !maxedOut, |
373 | &g.brush( QColorGroup::Button )); | 373 | &g.brush( QColorGroup::Button )); |
374 | } | 374 | } |
375 | if ( controls & SubLine ) { | 375 | if ( controls & SubLine ) { |
376 | drawBevelButton( p, subB.x(), subB.y(), | 376 | drawBevelButton( p, subB.x(), subB.y(), |
377 | subB.width(), subB.height(), g, | 377 | subB.width(), subB.height(), g, |
378 | SUB_LINE_ACTIVE ); | 378 | SUB_LINE_ACTIVE ); |
379 | p->setPen(g.shadow()); | 379 | p->setPen(g.shadow()); |
380 | drawArrow( p, VERTICAL ? UpArrow : LeftArrow, | 380 | drawArrow( p, VERTICAL ? UpArrow : LeftArrow, |
381 | FALSE, subB.x()+2, subB.y()+2, | 381 | FALSE, subB.x()+2, subB.y()+2, |
382 | subB.width()-4, subB.height()-4, g, !maxedOut, | 382 | subB.width()-4, subB.height()-4, g, !maxedOut, |
383 | &g.brush( QColorGroup::Button )); | 383 | &g.brush( QColorGroup::Button )); |
384 | } | 384 | } |
385 | 385 | ||
386 | 386 | ||
387 | if ( controls & SubPage ) | 387 | if ( controls & SubPage ) |
388 | p->fillRect( subPageR.x(), subPageR.y(), subPageR.width(), | 388 | p->fillRect( subPageR.x(), subPageR.y(), subPageR.width(), |
389 | subPageR.height(), g.brush( QColorGroup::Mid )); | 389 | subPageR.height(), g.brush( QColorGroup::Mid )); |
390 | if ( controls & AddPage ) | 390 | if ( controls & AddPage ) |
391 | p->fillRect( addPageR.x(), addPageR.y(), addPageR.width(), | 391 | p->fillRect( addPageR.x(), addPageR.y(), addPageR.width(), |
392 | addPageR.height(), g.brush( QColorGroup::Mid )); | 392 | addPageR.height(), g.brush( QColorGroup::Mid )); |
393 | if ( controls & Slider ) { | 393 | if ( controls & Slider ) { |
394 | QPoint bo = p->brushOrigin(); | 394 | QPoint bo = p->brushOrigin(); |
395 | p->setBrushOrigin(sliderR.topLeft()); | 395 | p->setBrushOrigin(sliderR.topLeft()); |
396 | drawBevelButton( p, sliderR.x(), sliderR.y(), | 396 | drawBevelButton( p, sliderR.x(), sliderR.y(), |
397 | sliderR.width(), sliderR.height(), g, | 397 | sliderR.width(), sliderR.height(), g, |
398 | FALSE, &g.brush( QColorGroup::Button ) ); | 398 | FALSE, &g.brush( QColorGroup::Button ) ); |
399 | p->setBrushOrigin(bo); | 399 | p->setBrushOrigin(bo); |
400 | drawRiffles( p, sliderR.x(), sliderR.y(), | 400 | drawRiffles( p, sliderR.x(), sliderR.y(), |
401 | sliderR.width(), sliderR.height(), g, HORIZONTAL ); | 401 | sliderR.width(), sliderR.height(), g, HORIZONTAL ); |
402 | } | 402 | } |
403 | 403 | ||
404 | // ### perhaps this should not be able to accept focus if maxedOut? | 404 | // ### perhaps this should not be able to accept focus if maxedOut? |
405 | if ( sb->hasFocus() && (controls & Slider) ) | 405 | if ( sb->hasFocus() && (controls & Slider) ) |
406 | p->drawWinFocusRect( sliderR.x()+2, sliderR.y()+2, | 406 | p->drawWinFocusRect( sliderR.x()+2, sliderR.y()+2, |
407 | sliderR.width()-5, sliderR.height()-5, | 407 | sliderR.width()-5, sliderR.height()-5, |
408 | sb->backgroundColor() ); | 408 | sb->backgroundColor() ); |
409 | 409 | ||
410 | } | 410 | } |
411 | 411 | ||
412 | void FreshStyle::drawRiffles( QPainter* p, int x, int y, int w, int h, | 412 | void FreshStyle::drawRiffles( QPainter* p, int x, int y, int w, int h, |
413 | const QColorGroup &g, bool horizontal ) | 413 | const QColorGroup &g, bool horizontal ) |
414 | { | 414 | { |
415 | return; | 415 | return; |
416 | if (!horizontal) { | 416 | if (!horizontal) { |
417 | if (h > 20) { | 417 | if (h > 20) { |
418 | y += (h-20)/2 ; | 418 | y += (h-20)/2 ; |
419 | h = 20; | 419 | h = 20; |
420 | } | 420 | } |
421 | if (h > 12) { | 421 | if (h > 12) { |
422 | int n = 3; | 422 | int n = 3; |
423 | int my = y+h/2-4; | 423 | int my = y+h/2-4; |
424 | int i ; | 424 | int i ; |
425 | p->setPen(g.light()); | 425 | p->setPen(g.light()); |
426 | for (i=0; i<n; i++) { | 426 | for (i=0; i<n; i++) { |
427 | p->drawLine(x+2, my+3*i, x+w-4, my+3*i); | 427 | p->drawLine(x+2, my+3*i, x+w-4, my+3*i); |
428 | } | 428 | } |
429 | p->setPen(g.dark()); | 429 | p->setPen(g.dark()); |
430 | my++; | 430 | my++; |
431 | for (i=0; i<n; i++) { | 431 | for (i=0; i<n; i++) { |
432 | p->drawLine(x+2, my+3*i, x+w-4, my+3*i); | 432 | p->drawLine(x+2, my+3*i, x+w-4, my+3*i); |
433 | } | 433 | } |
434 | } | 434 | } |
435 | } | 435 | } |
436 | else { | 436 | else { |
437 | if (w > 20) { | 437 | if (w > 20) { |
438 | x += (w-20)/2 ; | 438 | x += (w-20)/2 ; |
439 | w = 20; | 439 | w = 20; |
440 | } | 440 | } |
441 | if (w > 12) { | 441 | if (w > 12) { |
442 | int n = 3; | 442 | int n = 3; |
443 | int mx = x+w/2-4; | 443 | int mx = x+w/2-4; |
444 | int i ; | 444 | int i ; |
445 | p->setPen(g.light()); | 445 | p->setPen(g.light()); |
446 | for (i=0; i<n; i++) { | 446 | for (i=0; i<n; i++) { |
447 | p->drawLine(mx+3*i, y+2, mx + 3*i, y+h-4); | 447 | p->drawLine(mx+3*i, y+2, mx + 3*i, y+h-4); |
448 | } | 448 | } |
449 | p->setPen(g.dark()); | 449 | p->setPen(g.dark()); |
450 | mx++; | 450 | mx++; |
451 | for (i=0; i<n; i++) { | 451 | for (i=0; i<n; i++) { |
452 | p->drawLine(mx+3*i, y+2, mx + 3*i, y+h-4); | 452 | p->drawLine(mx+3*i, y+2, mx + 3*i, y+h-4); |
453 | } | 453 | } |
454 | } | 454 | } |
455 | } | 455 | } |
456 | } | 456 | } |
457 | 457 | ||
458 | int FreshStyle::sliderLength() const | 458 | int FreshStyle::sliderLength() const |
459 | { | 459 | { |
460 | return 12; | 460 | return 12; |
461 | } | 461 | } |
462 | 462 | ||
463 | void FreshStyle::drawSlider( QPainter *p, int x, int y, int w, int h, | 463 | void FreshStyle::drawSlider( QPainter *p, int x, int y, int w, int h, |
464 | const QColorGroup &g, Orientation o, bool tickAbove, bool tickBelow ) | 464 | const QColorGroup &g, Orientation o, bool tickAbove, bool tickBelow ) |
465 | { | 465 | { |
466 | int a = tickAbove ? 3 : 0; | 466 | int a = tickAbove ? 3 : 0; |
467 | int b = tickBelow ? 3 : 0; | 467 | int b = tickBelow ? 3 : 0; |
468 | 468 | ||
469 | if ( o == Horizontal ) { | 469 | if ( o == Horizontal ) { |
470 | drawBevelButton( p, x, y+a, w, h-a-b, g, FALSE, &g.brush( QColorGroup::Button ) ); | 470 | drawBevelButton( p, x, y+a, w, h-a-b, g, FALSE, &g.brush( QColorGroup::Button ) ); |
471 | int xp = x + w/2; | 471 | int xp = x + w/2; |
472 | qDrawShadeLine( p, xp, y+a+2, xp, y+h-b-3, g ); | 472 | qDrawShadeLine( p, xp, y+a+2, xp, y+h-b-3, g ); |
473 | } else { | 473 | } else { |
474 | drawBevelButton( p, x+a, y, w-a-b, h, g, FALSE, &g.brush( QColorGroup::Button ) ); | 474 | drawBevelButton( p, x+a, y, w-a-b, h, g, FALSE, &g.brush( QColorGroup::Button ) ); |
475 | int yp = y + h/2; | 475 | int yp = y + h/2; |
476 | qDrawShadeLine( p, x+a+2, yp, x+w-b-3, yp, g ); | 476 | qDrawShadeLine( p, x+a+2, yp, x+w-b-3, yp, g ); |
477 | } | 477 | } |
478 | } | 478 | } |
479 | 479 | ||
480 | void FreshStyle::drawSliderMask ( QPainter * p, int x, int y, int w, int h, | 480 | void FreshStyle::drawSliderMask ( QPainter * p, int x, int y, int w, int h, |
481 | Orientation o, bool tickAbove, bool tickBelow ) | 481 | Orientation o, bool tickAbove, bool tickBelow ) |
482 | { | 482 | { |
483 | int a = tickAbove ? 3 : 0; | 483 | int a = tickAbove ? 3 : 0; |
484 | int b = tickBelow ? 3 : 0; | 484 | int b = tickBelow ? 3 : 0; |
485 | if ( o == Horizontal ) | 485 | if ( o == Horizontal ) |
486 | p->fillRect( x, y+a, w, h-a-b, color1 ); | 486 | p->fillRect( x, y+a, w, h-a-b, color1 ); |
487 | else | 487 | else |
488 | p->fillRect( x+a, y, w-a-b, h, color1 ); | 488 | p->fillRect( x+a, y, w-a-b, h, color1 ); |
489 | } | 489 | } |
490 | 490 | ||
491 | /*!\reimp | 491 | /*!\reimp |
492 | */ | 492 | */ |
493 | void FreshStyle::drawSliderGrooveMask( QPainter *p, | 493 | void FreshStyle::drawSliderGrooveMask( QPainter *p, |
494 | int x, int y, int w, int h, | 494 | int x, int y, int w, int h, |
495 | const QColorGroup& , QCOORD c, | 495 | const QColorGroup& , QCOORD c, |
496 | Orientation orient ) | 496 | Orientation orient ) |
497 | { | 497 | { |
498 | if ( orient == Horizontal ) | 498 | if ( orient == Horizontal ) |
499 | p->fillRect( x, y + c - 2, w, 4, color1 ); | 499 | p->fillRect( x, y + c - 2, w, 4, color1 ); |
500 | else | 500 | else |
501 | p->fillRect( x + c - 2, y, 4, h, color1 ); | 501 | p->fillRect( x + c - 2, y, 4, h, color1 ); |
502 | } | 502 | } |
503 | 503 | ||
504 | void FreshStyle::drawTab( QPainter *p, const QTabBar *tb, QTab *t, bool selected ) | 504 | void FreshStyle::drawTab( QPainter *p, const QTabBar *tb, QTab *t, bool selected ) |
505 | { | 505 | { |
506 | QRect r( t->rect() ); | 506 | QRect r( t->rect() ); |
507 | if ( tb->shape() == QTabBar::RoundedAbove ) { | 507 | if ( tb->shape() == QTabBar::RoundedAbove ) { |
508 | p->setPen( tb->colorGroup().light() ); | 508 | p->setPen( tb->colorGroup().light() ); |
509 | p->drawLine( r.left(), r.bottom(), r.right(), r.bottom() ); | 509 | p->drawLine( r.left(), r.bottom(), r.right(), r.bottom() ); |
510 | if ( r.left() == 0 ) | 510 | if ( r.left() == 0 ) |
511 | p->drawPoint( tb->rect().bottomLeft() ); | 511 | p->drawPoint( tb->rect().bottomLeft() ); |
512 | else { | 512 | else { |
513 | p->setPen( tb->colorGroup().light() ); | 513 | p->setPen( tb->colorGroup().light() ); |
514 | p->drawLine( r.left(), r.bottom(), r.right(), r.bottom() ); | 514 | p->drawLine( r.left(), r.bottom(), r.right(), r.bottom() ); |
515 | } | 515 | } |
516 | 516 | ||
517 | if ( selected ) { | 517 | if ( selected ) { |
518 | p->setPen( tb->colorGroup().background() ); | 518 | p->setPen( tb->colorGroup().background() ); |
519 | p->drawLine( r.left()+2, r.top()+1, r.right()-2, r.top()+1 ); | 519 | p->drawLine( r.left()+2, r.top()+1, r.right()-2, r.top()+1 ); |
520 | p->fillRect( QRect( r.left()+1, r.top()+2, r.width()-2, r.height()-2), | 520 | p->fillRect( QRect( r.left()+1, r.top()+2, r.width()-2, r.height()-2), |
521 | tb->colorGroup().brush( QColorGroup::Background )); | 521 | tb->colorGroup().brush( QColorGroup::Background )); |
522 | } else { | 522 | } else { |
523 | r.setRect( r.left() + 2, r.top() + 2, | 523 | r.setRect( r.left() + 2, r.top() + 2, |
524 | r.width() - 4, r.height() - 2 ); | 524 | r.width() - 4, r.height() - 2 ); |
525 | p->setPen( tb->colorGroup().button() ); | 525 | p->setPen( tb->colorGroup().button() ); |
526 | p->drawLine( r.left()+2, r.top()+1, r.right()-2, r.top()+1 ); | 526 | p->drawLine( r.left()+2, r.top()+1, r.right()-2, r.top()+1 ); |
527 | p->fillRect( QRect( r.left()+1, r.top()+2, r.width()-2, r.height()-3), | 527 | p->fillRect( QRect( r.left()+1, r.top()+2, r.width()-2, r.height()-3), |
528 | tb->colorGroup().brush( QColorGroup::Button )); | 528 | tb->colorGroup().brush( QColorGroup::Button )); |
529 | 529 | ||
530 | //do shading; will not work for pixmap brushes | 530 | //do shading; will not work for pixmap brushes |
531 | QColor bg = tb->colorGroup().button(); | 531 | QColor bg = tb->colorGroup().button(); |
532 | // int h,s,v; | 532 | // int h,s,v; |
533 | // bg.hsv( &h, &s, &v ); | 533 | // bg.hsv( &h, &s, &v ); |
534 | int n = r.height()/2; | 534 | int n = r.height()/2; |
535 | int dark = 100; | 535 | int dark = 100; |
536 | for ( int i = 1; i < n; i++ ) { | 536 | for ( int i = 1; i < n; i++ ) { |
537 | dark = (dark * (100+(i*15)/n) )/100; | 537 | dark = (dark * (100+(i*15)/n) )/100; |
538 | p->setPen( bg.dark( dark ) ); | 538 | p->setPen( bg.dark( dark ) ); |
539 | int y = r.bottom()-n+i; | 539 | int y = r.bottom()-n+i; |
540 | int x1 = r.left()+1; | 540 | int x1 = r.left()+1; |
541 | int x2 = r.right()-1; | 541 | int x2 = r.right()-1; |
542 | p->drawLine( x1, y, x2, y ); | 542 | p->drawLine( x1, y, x2, y ); |
543 | } | 543 | } |
544 | } | 544 | } |
545 | 545 | ||
546 | p->setPen( tb->colorGroup().light() ); | 546 | p->setPen( tb->colorGroup().light() ); |
547 | p->drawLine( r.left(), r.bottom()-1, r.left(), r.top() + 2 ); | 547 | p->drawLine( r.left(), r.bottom()-1, r.left(), r.top() + 2 ); |
548 | p->drawPoint( r.left()+1, r.top() + 1 ); | 548 | p->drawPoint( r.left()+1, r.top() + 1 ); |
549 | p->drawLine( r.left()+2, r.top(), | 549 | p->drawLine( r.left()+2, r.top(), |
550 | r.right() - 2, r.top() ); | 550 | r.right() - 2, r.top() ); |
551 | 551 | ||
552 | p->setPen( tb->colorGroup().dark() ); | 552 | p->setPen( tb->colorGroup().dark() ); |
553 | p->drawPoint( r.right() - 1, r.top() + 1 ); | 553 | p->drawPoint( r.right() - 1, r.top() + 1 ); |
554 | p->drawLine( r.right(), r.top() + 2, r.right(), r.bottom() - 1); | 554 | p->drawLine( r.right(), r.top() + 2, r.right(), r.bottom() - 1); |
555 | } else if ( tb->shape() == QTabBar::RoundedBelow ) { | 555 | } else if ( tb->shape() == QTabBar::RoundedBelow ) { |
556 | if ( selected ) { | 556 | if ( selected ) { |
557 | p->setPen( tb->colorGroup().background() ); | 557 | p->setPen( tb->colorGroup().background() ); |
558 | p->drawLine( r.left()+2, r.bottom()-1, r.right()-2, r.bottom()-1 ); | 558 | p->drawLine( r.left()+2, r.bottom()-1, r.right()-2, r.bottom()-1 ); |
559 | p->fillRect( QRect( r.left()+1, r.top(), r.width()-2, r.height()-2), | 559 | p->fillRect( QRect( r.left()+1, r.top(), r.width()-2, r.height()-2), |
560 | tb->palette().normal().brush( QColorGroup::Background )); | 560 | tb->palette().normal().brush( QColorGroup::Background )); |
561 | } else { | 561 | } else { |
562 | p->setPen( tb->colorGroup().dark() ); | 562 | p->setPen( tb->colorGroup().dark() ); |
563 | p->drawLine( r.left(), r.top(), | 563 | p->drawLine( r.left(), r.top(), |
564 | r.right(), r.top() ); | 564 | r.right(), r.top() ); |
565 | r.setRect( r.left() + 2, r.top(), | 565 | r.setRect( r.left() + 2, r.top(), |
566 | r.width() - 4, r.height() - 2 ); | 566 | r.width() - 4, r.height() - 2 ); |
567 | p->setPen( tb->colorGroup().button() ); | 567 | p->setPen( tb->colorGroup().button() ); |
568 | p->drawLine( r.left()+2, r.bottom()-1, r.right()-2, r.bottom()-1 ); | 568 | p->drawLine( r.left()+2, r.bottom()-1, r.right()-2, r.bottom()-1 ); |
569 | p->fillRect( QRect( r.left()+1, r.top()+1, r.width()-2, r.height()-3), | 569 | p->fillRect( QRect( r.left()+1, r.top()+1, r.width()-2, r.height()-3), |
570 | tb->palette().normal().brush( QColorGroup::Button )); | 570 | tb->palette().normal().brush( QColorGroup::Button )); |
571 | } | 571 | } |
572 | 572 | ||
573 | p->setPen( tb->colorGroup().dark() ); | 573 | p->setPen( tb->colorGroup().dark() ); |
574 | p->drawLine( r.right(), r.top(), | 574 | p->drawLine( r.right(), r.top(), |
575 | r.right(), r.bottom() - 2 ); | 575 | r.right(), r.bottom() - 2 ); |
576 | p->drawPoint( r.right() - 1, r.bottom() - 1 ); | 576 | p->drawPoint( r.right() - 1, r.bottom() - 1 ); |
577 | p->drawLine( r.right() - 2, r.bottom(), | 577 | p->drawLine( r.right() - 2, r.bottom(), |
578 | r.left() + 2, r.bottom() ); | 578 | r.left() + 2, r.bottom() ); |
579 | 579 | ||
580 | p->setPen( tb->colorGroup().light() ); | 580 | p->setPen( tb->colorGroup().light() ); |
581 | p->drawLine( r.left(), r.top()+1, | 581 | p->drawLine( r.left(), r.top()+1, |
582 | r.left(), r.bottom() - 2 ); | 582 | r.left(), r.bottom() - 2 ); |
583 | p->drawPoint( r.left() + 1, r.bottom() - 1 ); | 583 | p->drawPoint( r.left() + 1, r.bottom() - 1 ); |
584 | if ( r.left() == 0 ) | 584 | if ( r.left() == 0 ) |
585 | p->drawPoint( tb->rect().topLeft() ); | 585 | p->drawPoint( tb->rect().topLeft() ); |
586 | 586 | ||
587 | } else { | 587 | } else { |
588 | QCommonStyle::drawTab( p, tb, t, selected ); | 588 | QCommonStyle::drawTab( p, tb, t, selected ); |
589 | } | 589 | } |
590 | } | 590 | } |
591 | 591 | ||
592 | static const int motifItemFrame = 0;// menu item frame width | 592 | static const int motifItemFrame = 0;// menu item frame width |
593 | static const int motifSepHeight = 2;// separator item height | 593 | static const int motifSepHeight = 2;// separator item height |
594 | static const int motifItemHMargin = 1;// menu item hor text margin | 594 | static const int motifItemHMargin = 1;// menu item hor text margin |
595 | static const int motifItemVMargin = 2;// menu item ver text margin | 595 | static const int motifItemVMargin = 2;// menu item ver text margin |
596 | static const int motifArrowHMargin = 0;// arrow horizontal margin | 596 | static const int motifArrowHMargin = 0;// arrow horizontal margin |
597 | static const int motifTabSpacing = 12;// space between text and tab | 597 | static const int motifTabSpacing = 12;// space between text and tab |
598 | static const int motifCheckMarkHMargin = 1;// horiz. margins of check mark | 598 | static const int motifCheckMarkHMargin = 1;// horiz. margins of check mark |
599 | static const int windowsRightBorder= 8; // right border on windows | 599 | static const int windowsRightBorder= 8; // right border on windows |
600 | static const int windowsCheckMarkWidth = 2; // checkmarks width on windows | 600 | static const int windowsCheckMarkWidth = 2; // checkmarks width on windows |
601 | 601 | ||
602 | /*! \reimp | 602 | /*! \reimp |
603 | */ | 603 | */ |
604 | int FreshStyle::extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem* mi, const QFontMetrics& /*fm*/ ) | 604 | int FreshStyle::extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem* mi, const QFontMetrics& /*fm*/ ) |
605 | { | 605 | { |
606 | #ifndef QT_NO_MENUDATA | 606 | #ifndef QT_NO_MENUDATA |
607 | int w = 2*motifItemHMargin + 2*motifItemFrame; // a little bit of border can never harm | 607 | int w = 2*motifItemHMargin + 2*motifItemFrame; // a little bit of border can never harm |
608 | 608 | ||
609 | if ( mi->isSeparator() ) | 609 | if ( mi->isSeparator() ) |
610 | return 10; // arbitrary | 610 | return 10; // arbitrary |
611 | else if ( mi->pixmap() ) | 611 | else if ( mi->pixmap() ) |
612 | w += mi->pixmap()->width();// pixmap only | 612 | w += mi->pixmap()->width();// pixmap only |
613 | 613 | ||
614 | if ( !mi->text().isNull() ) { | 614 | if ( !mi->text().isNull() ) { |
615 | if ( mi->text().find('\t') >= 0 )// string contains tab | 615 | if ( mi->text().find('\t') >= 0 )// string contains tab |
616 | w += motifTabSpacing; | 616 | w += motifTabSpacing; |
617 | } | 617 | } |
618 | 618 | ||
619 | if ( maxpmw ) { // we have iconsets | 619 | if ( maxpmw ) { // we have iconsets |
620 | w += maxpmw; | 620 | w += maxpmw; |
621 | w += 6; // add a little extra border around the iconset | 621 | w += 6; // add a little extra border around the iconset |
622 | } | 622 | } |
623 | 623 | ||
624 | if ( checkable && maxpmw < windowsCheckMarkWidth ) { | 624 | if ( checkable && maxpmw < windowsCheckMarkWidth ) { |
625 | w += windowsCheckMarkWidth - maxpmw; // space for the checkmarks | 625 | w += windowsCheckMarkWidth - maxpmw; // space for the checkmarks |
626 | } | 626 | } |
627 | 627 | ||
628 | if ( maxpmw > 0 || checkable ) // we have a check-column ( iconsets or checkmarks) | 628 | if ( maxpmw > 0 || checkable ) // we have a check-column ( iconsets or checkmarks) |
629 | w += motifCheckMarkHMargin; // add space to separate the columns | 629 | w += motifCheckMarkHMargin; // add space to separate the columns |
630 | 630 | ||
631 | w += windowsRightBorder; // windows has a strange wide border on the right side | 631 | w += windowsRightBorder; // windows has a strange wide border on the right side |
632 | 632 | ||
633 | return w; | 633 | return w; |
634 | #endif | 634 | #endif |
635 | } | 635 | } |
636 | 636 | ||
637 | /*! \reimp | 637 | /*! \reimp |
638 | */ | 638 | */ |
639 | int FreshStyle::popupMenuItemHeight( bool /*checkable*/, QMenuItem* mi, const QFontMetrics& fm ) | 639 | int FreshStyle::popupMenuItemHeight( bool /*checkable*/, QMenuItem* mi, const QFontMetrics& fm ) |
640 | { | 640 | { |
641 | #ifndef QT_NO_MENUDATA | 641 | #ifndef QT_NO_MENUDATA |
642 | int h = 0; | 642 | int h = 0; |
643 | if ( mi->isSeparator() ) // separator height | 643 | if ( mi->isSeparator() ) // separator height |
644 | h = motifSepHeight; | 644 | h = motifSepHeight; |
645 | else if ( mi->pixmap() ) // pixmap height | 645 | else if ( mi->pixmap() ) // pixmap height |
646 | h = mi->pixmap()->height() + 2*motifItemFrame; | 646 | h = mi->pixmap()->height() + 2*motifItemFrame; |
647 | else // text height | 647 | else // text height |
648 | h = fm.height() + 2*motifItemVMargin + 2*motifItemFrame - 1; | 648 | h = fm.height() + 2*motifItemVMargin + 2*motifItemFrame - 1; |
649 | 649 | ||
650 | if ( !mi->isSeparator() && mi->iconSet() != 0 ) { | 650 | if ( !mi->isSeparator() && mi->iconSet() != 0 ) { |
651 | h = QMAX( h, mi->iconSet()->pixmap( QIconSet::Small, QIconSet::Normal ).height() + 2*motifItemFrame ); | 651 | h = QMAX( h, mi->iconSet()->pixmap( QIconSet::Small, QIconSet::Normal ).height() + 2*motifItemFrame ); |
652 | } | 652 | } |
653 | if ( mi->custom() ) | 653 | if ( mi->custom() ) |
654 | h = QMAX( h, mi->custom()->sizeHint().height() + 2*motifItemVMargin + 2*motifItemFrame ) - 1; | 654 | h = QMAX( h, mi->custom()->sizeHint().height() + 2*motifItemVMargin + 2*motifItemFrame ) - 1; |
655 | return h; | 655 | return h; |
656 | #endif | 656 | #endif |
657 | } | 657 | } |
658 | 658 | ||
659 | void FreshStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, | 659 | void FreshStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, |
660 | const QPalette& pal, | 660 | const QPalette& pal, |
661 | bool act, bool enabled, int x, int y, int w, int h) | 661 | bool act, bool enabled, int x, int y, int w, int h) |
662 | { | 662 | { |
663 | #ifndef QT_NO_MENUDATA | 663 | #ifndef QT_NO_MENUDATA |
664 | const QColorGroup & g = pal.active(); | 664 | const QColorGroup & g = pal.active(); |
665 | bool dis = !enabled; | 665 | bool dis = !enabled; |
666 | QColorGroup itemg = dis ? pal.disabled() : pal.active(); | 666 | QColorGroup itemg = dis ? pal.disabled() : pal.active(); |
667 | 667 | ||
668 | if ( checkable ) | 668 | if ( checkable ) |
669 | maxpmw = QMAX( maxpmw, 8 ); // space for the checkmarks | 669 | maxpmw = QMAX( maxpmw, 8 ); // space for the checkmarks |
670 | 670 | ||
671 | int checkcol = maxpmw; | 671 | int checkcol = maxpmw; |
672 | 672 | ||
673 | if ( mi && mi->isSeparator() ) { // draw separator | 673 | if ( mi && mi->isSeparator() ) { // draw separator |
674 | p->setPen( g.dark() ); | 674 | p->setPen( g.dark() ); |
675 | p->drawLine( x, y, x+w, y ); | 675 | p->drawLine( x, y, x+w, y ); |
676 | p->setPen( g.light() ); | 676 | p->setPen( g.light() ); |
677 | p->drawLine( x, y+1, x+w, y+1 ); | 677 | p->drawLine( x, y+1, x+w, y+1 ); |
678 | return; | 678 | return; |
679 | } | 679 | } |
680 | 680 | ||
681 | QBrush fill = act? g.brush( QColorGroup::Highlight ) : | 681 | QBrush fill = act? g.brush( QColorGroup::Highlight ) : |
682 | g.brush( QColorGroup::Button ); | 682 | g.brush( QColorGroup::Button ); |
683 | p->fillRect( x, y, w, h, fill); | 683 | p->fillRect( x, y, w, h, fill); |
684 | 684 | ||
685 | if ( !mi ) | 685 | if ( !mi ) |
686 | return; | 686 | return; |
687 | 687 | ||
688 | if ( mi->isChecked() ) { | 688 | if ( mi->isChecked() ) { |
689 | if ( act && !dis ) { | 689 | if ( act && !dis ) { |
690 | qDrawShadePanel( p, x, y, checkcol, h, | 690 | qDrawShadePanel( p, x, y, checkcol, h, |
691 | g, TRUE, 1, &g.brush( QColorGroup::Button ) ); | 691 | g, TRUE, 1, &g.brush( QColorGroup::Button ) ); |
692 | } else { | 692 | } else { |
693 | qDrawShadePanel( p, x, y, checkcol, h, | 693 | qDrawShadePanel( p, x, y, checkcol, h, |
694 | g, TRUE, 1, &g.brush( QColorGroup::Midlight ) ); | 694 | g, TRUE, 1, &g.brush( QColorGroup::Midlight ) ); |
695 | } | 695 | } |
696 | } else if ( !act ) { | 696 | } else if ( !act ) { |
697 | p->fillRect(x, y, checkcol , h, | 697 | p->fillRect(x, y, checkcol , h, |
698 | g.brush( QColorGroup::Button )); | 698 | g.brush( QColorGroup::Button )); |
699 | } | 699 | } |
700 | 700 | ||
701 | if ( mi->iconSet() ) { // draw iconset | 701 | if ( mi->iconSet() ) { // draw iconset |
702 | QIconSet::Mode mode = dis ? QIconSet::Disabled : QIconSet::Normal; | 702 | QIconSet::Mode mode = dis ? QIconSet::Disabled : QIconSet::Normal; |
703 | if (act && !dis ) | 703 | if (act && !dis ) |
704 | mode = QIconSet::Active; | 704 | mode = QIconSet::Active; |
705 | QPixmap pixmap = mi->iconSet()->pixmap( QIconSet::Small, mode ); | 705 | QPixmap pixmap = mi->iconSet()->pixmap( QIconSet::Small, mode ); |
706 | int pixw = pixmap.width(); | 706 | int pixw = pixmap.width(); |
707 | int pixh = pixmap.height(); | 707 | int pixh = pixmap.height(); |
708 | if ( act && !dis ) { | 708 | if ( act && !dis ) { |
709 | if ( !mi->isChecked() ) | 709 | if ( !mi->isChecked() ) |
710 | qDrawShadePanel( p, x, y, checkcol, h, g, FALSE, 1, &g.brush( QColorGroup::Button ) ); | 710 | qDrawShadePanel( p, x, y, checkcol, h, g, FALSE, 1, &g.brush( QColorGroup::Button ) ); |
711 | } | 711 | } |
712 | QRect cr( x, y, checkcol, h ); | 712 | QRect cr( x, y, checkcol, h ); |
713 | QRect pmr( 0, 0, pixw, pixh ); | 713 | QRect pmr( 0, 0, pixw, pixh ); |
714 | pmr.moveCenter( cr.center() ); | 714 | pmr.moveCenter( cr.center() ); |
715 | p->setPen( itemg.text() ); | 715 | p->setPen( itemg.text() ); |
716 | p->drawPixmap( pmr.topLeft(), pixmap ); | 716 | p->drawPixmap( pmr.topLeft(), pixmap ); |
717 | 717 | ||
718 | QBrush fill = act? g.brush( QColorGroup::Highlight ) : | 718 | QBrush fill = act? g.brush( QColorGroup::Highlight ) : |
719 | g.brush( QColorGroup::Button ); | 719 | g.brush( QColorGroup::Button ); |
720 | p->fillRect( x+checkcol + 1, y, w - checkcol - 1, h, fill); | 720 | p->fillRect( x+checkcol + 1, y, w - checkcol - 1, h, fill); |
721 | } else if ( checkable ) {// just "checking"... | 721 | } else if ( checkable ) {// just "checking"... |
722 | int mw = checkcol + motifItemFrame; | 722 | int mw = checkcol + motifItemFrame; |
723 | int mh = h - 2*motifItemFrame; | 723 | int mh = h - 2*motifItemFrame; |
724 | if ( mi->isChecked() ) { | 724 | if ( mi->isChecked() ) { |
725 | drawCheckMark( p, x + motifItemFrame + 2, | 725 | drawCheckMark( p, x + motifItemFrame + 2, |
726 | y+motifItemFrame, mw, mh, itemg, act, dis ); | 726 | y+motifItemFrame, mw, mh, itemg, act, dis ); |
727 | } | 727 | } |
728 | } | 728 | } |
729 | 729 | ||
730 | p->setPen( act ? g.highlightedText() : g.buttonText() ); | 730 | p->setPen( act ? g.highlightedText() : g.buttonText() ); |
731 | 731 | ||
732 | QColor discol; | 732 | QColor discol; |
733 | if ( dis ) { | 733 | if ( dis ) { |
734 | discol = itemg.text(); | 734 | discol = itemg.text(); |
735 | p->setPen( discol ); | 735 | p->setPen( discol ); |
736 | } | 736 | } |
737 | 737 | ||
738 | int xm = motifItemFrame + checkcol + motifItemHMargin; | 738 | int xm = motifItemFrame + checkcol + motifItemHMargin; |
739 | 739 | ||
740 | if ( mi->custom() ) { | 740 | if ( mi->custom() ) { |
741 | int m = motifItemVMargin; | 741 | int m = motifItemVMargin; |
742 | p->save(); | 742 | p->save(); |
743 | if ( dis && !act ) { | 743 | if ( dis && !act ) { |
744 | p->setPen( g.light() ); | 744 | p->setPen( g.light() ); |
745 | mi->custom()->paint( p, itemg, act, enabled, | 745 | mi->custom()->paint( p, itemg, act, enabled, |
746 | x+xm+1, y+m+1, w-xm-tab+1, h-2*m ); | 746 | x+xm+1, y+m+1, w-xm-tab+1, h-2*m ); |
747 | p->setPen( discol ); | 747 | p->setPen( discol ); |
748 | } | 748 | } |
749 | mi->custom()->paint( p, itemg, act, enabled, | 749 | mi->custom()->paint( p, itemg, act, enabled, |
750 | x+xm, y+m, w-xm-tab+1, h-2*m ); | 750 | x+xm, y+m, w-xm-tab+1, h-2*m ); |
751 | p->restore(); | 751 | p->restore(); |
752 | } | 752 | } |
753 | QString s = mi->text(); | 753 | QString s = mi->text(); |
754 | if ( !s.isNull() ) { // draw text | 754 | if ( !s.isNull() ) { // draw text |
755 | int t = s.find( '\t' ); | 755 | int t = s.find( '\t' ); |
756 | int m = motifItemVMargin; | 756 | int m = motifItemVMargin; |
757 | const int text_flags = AlignVCenter|ShowPrefix | DontClip | SingleLine; | 757 | const int text_flags = AlignVCenter|ShowPrefix | DontClip | SingleLine; |
758 | if ( t >= 0 ) { // draw tab text | 758 | if ( t >= 0 ) { // draw tab text |
759 | if ( dis && !act ) { | 759 | if ( dis && !act ) { |
760 | p->setPen( g.light() ); | 760 | p->setPen( g.light() ); |
761 | p->drawText( x+w-tab-windowsRightBorder-motifItemHMargin-motifItemFrame+1, | 761 | p->drawText( x+w-tab-windowsRightBorder-motifItemHMargin-motifItemFrame+1, |
762 | y+m+1, tab, h-2*m, text_flags, s.mid( t+1 )); | 762 | y+m+1, tab, h-2*m, text_flags, s.mid( t+1 )); |
763 | p->setPen( discol ); | 763 | p->setPen( discol ); |
764 | } | 764 | } |
765 | p->drawText( x+w-tab-windowsRightBorder-motifItemHMargin-motifItemFrame, | 765 | p->drawText( x+w-tab-windowsRightBorder-motifItemHMargin-motifItemFrame, |
766 | y+m, tab, h-2*m, text_flags, s.mid( t+1 ) ); | 766 | y+m, tab, h-2*m, text_flags, s.mid( t+1 ) ); |
767 | } | 767 | } |
768 | if ( dis && !act ) { | 768 | if ( dis && !act ) { |
769 | p->setPen( g.light() ); | 769 | p->setPen( g.light() ); |
770 | p->drawText( x+xm+1, y+m+1, w-xm+1, h-2*m, text_flags, s, t ); | 770 | p->drawText( x+xm+1, y+m+1, w-xm+1, h-2*m, text_flags, s, t ); |
771 | p->setPen( discol ); | 771 | p->setPen( discol ); |
772 | } | 772 | } |
773 | p->drawText( x+xm, y+m, w-xm-tab+1, h-2*m, text_flags, s, t ); | 773 | p->drawText( x+xm, y+m, w-xm-tab+1, h-2*m, text_flags, s, t ); |
774 | } else if ( mi->pixmap() ) { // draw pixmap | 774 | } else if ( mi->pixmap() ) { // draw pixmap |
775 | QPixmap *pixmap = mi->pixmap(); | 775 | QPixmap *pixmap = mi->pixmap(); |
776 | if ( pixmap->depth() == 1 ) | 776 | if ( pixmap->depth() == 1 ) |
777 | p->setBackgroundMode( OpaqueMode ); | 777 | p->setBackgroundMode( OpaqueMode ); |
778 | p->drawPixmap( x+xm, y+motifItemFrame, *pixmap ); | 778 | p->drawPixmap( x+xm, y+motifItemFrame, *pixmap ); |
779 | if ( pixmap->depth() == 1 ) | 779 | if ( pixmap->depth() == 1 ) |
780 | p->setBackgroundMode( TransparentMode ); | 780 | p->setBackgroundMode( TransparentMode ); |
781 | } | 781 | } |
782 | if ( mi->popup() ) { // draw sub menu arrow | 782 | if ( mi->popup() ) { // draw sub menu arrow |
783 | int dim = (h-2*motifItemFrame) / 2; | 783 | int dim = (h-2*motifItemFrame) / 2; |
784 | if ( act ) { | 784 | if ( act ) { |
785 | if ( !dis ) | 785 | if ( !dis ) |
786 | discol = white; | 786 | discol = white; |
787 | QColorGroup g2( discol, g.highlight(), | 787 | QColorGroup g2( discol, g.highlight(), |
788 | white, white, | 788 | white, white, |
789 | dis ? discol : white, | 789 | dis ? discol : white, |
790 | discol, white ); | 790 | discol, white ); |
791 | drawArrow( p, RightArrow, FALSE, | 791 | drawArrow( p, RightArrow, FALSE, |
792 | x+w - motifArrowHMargin - motifItemFrame - dim, y+h/2-dim/2, | 792 | x+w - motifArrowHMargin - motifItemFrame - dim, y+h/2-dim/2, |
793 | dim, dim, g2, TRUE ); | 793 | dim, dim, g2, TRUE ); |
794 | } else { | 794 | } else { |
795 | drawArrow( p, RightArrow, | 795 | drawArrow( p, RightArrow, |
796 | FALSE, | 796 | FALSE, |
797 | x+w - motifArrowHMargin - motifItemFrame - dim, y+h/2-dim/2, | 797 | x+w - motifArrowHMargin - motifItemFrame - dim, y+h/2-dim/2, |
798 | dim, dim, g, mi->isEnabled() ); | 798 | dim, dim, g, mi->isEnabled() ); |
799 | } | 799 | } |
800 | } | 800 | } |
801 | #endif | 801 | #endif |
802 | } | 802 | } |
803 | 803 | ||
804 | //=========================================================================== | 804 | //=========================================================================== |
805 | 805 | ||
806 | FreshStyleImpl::FreshStyleImpl() | 806 | FreshStyleImpl::FreshStyleImpl() |
807 | : fresh(0), ref(0) | 807 | : fresh(0) |
808 | { | 808 | { |
809 | } | 809 | } |
810 | 810 | ||
811 | FreshStyleImpl::~FreshStyleImpl() | 811 | FreshStyleImpl::~FreshStyleImpl() |
812 | { | 812 | { |
813 | // We do not delete the style because Qt does that when a new style | 813 | // We do not delete the style because Qt does that when a new style |
814 | // is set. | 814 | // is set. |
815 | } | 815 | } |
816 | 816 | ||
817 | QStyle *FreshStyleImpl::style() | 817 | QStyle *FreshStyleImpl::style() |
818 | { | 818 | { |
819 | if ( !fresh ) | 819 | if ( !fresh ) |
820 | fresh = new FreshStyle(); | 820 | fresh = new FreshStyle(); |
821 | return fresh; | 821 | return fresh; |
822 | } | 822 | } |
823 | 823 | ||
824 | QString FreshStyleImpl::name() const | 824 | QString FreshStyleImpl::name() const |
825 | { | 825 | { |
826 | return QString("Fresh"); | 826 | return QString("Fresh"); |
827 | } | 827 | } |
828 | 828 | ||
829 | QRESULT FreshStyleImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) | 829 | QRESULT FreshStyleImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) |
830 | { | 830 | { |
831 | *iface = 0; | 831 | *iface = 0; |
832 | if ( uuid == IID_QUnknown ) | 832 | if ( uuid == IID_QUnknown ) |
833 | *iface = this; | 833 | *iface = this; |
834 | else if ( uuid == IID_Style ) | 834 | else if ( uuid == IID_Style ) |
835 | *iface = this; | 835 | *iface = this; |
836 | else | ||
837 | return QS_FALSE; | ||
836 | 838 | ||
837 | if ( *iface ) | 839 | if ( *iface ) |
838 | (*iface)->addRef(); | 840 | (*iface)->addRef(); |
839 | return QS_OK; | 841 | return QS_OK; |
840 | } | 842 | } |
841 | 843 | ||
842 | Q_EXPORT_INTERFACE() | 844 | Q_EXPORT_INTERFACE() |
843 | { | 845 | { |
844 | Q_CREATE_INSTANCE( FreshStyleImpl ) | 846 | Q_CREATE_INSTANCE( FreshStyleImpl ) |
845 | } | 847 | } |
846 | 848 | ||
diff --git a/noncore/styles/fresh/fresh.h b/noncore/styles/fresh/fresh.h index b4be7f3..a72a83f 100644 --- a/noncore/styles/fresh/fresh.h +++ b/noncore/styles/fresh/fresh.h | |||
@@ -1,100 +1,99 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | 2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of the Qtopia Environment. | 4 | ** This file is part of the Qtopia Environment. |
5 | ** | 5 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | ** This file may be distributed and/or modified under the terms of the |
7 | ** GNU General Public License version 2 as published by the Free Software | 7 | ** GNU General Public License version 2 as published by the Free Software |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 8 | ** Foundation and appearing in the file LICENSE.GPL included in the |
9 | ** packaging of this file. | 9 | ** packaging of this file. |
10 | ** | 10 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | ||
21 | #ifndef FRESHSTYLE_H | 21 | #ifndef FRESHSTYLE_H |
22 | #define FRESHSTYLE_H | 22 | #define FRESHSTYLE_H |
23 | 23 | ||
24 | #include <qwindowsstyle.h> | 24 | #include <qwindowsstyle.h> |
25 | #include <qpe/styleinterface.h> | 25 | #include <qpe/styleinterface.h> |
26 | 26 | ||
27 | class Q_EXPORT FreshStyle : public QWindowsStyle | 27 | class Q_EXPORT FreshStyle : public QWindowsStyle |
28 | { | 28 | { |
29 | public: | 29 | public: |
30 | FreshStyle(); | 30 | FreshStyle(); |
31 | virtual ~FreshStyle(); | 31 | virtual ~FreshStyle(); |
32 | virtual void polish( QPalette &p ); | 32 | virtual void polish( QPalette &p ); |
33 | virtual void polish( QWidget *w ); | 33 | virtual void polish( QWidget *w ); |
34 | virtual void unPolish( QWidget *w ); | 34 | virtual void unPolish( QWidget *w ); |
35 | 35 | ||
36 | int defaultFrameWidth () const; | 36 | int defaultFrameWidth () const; |
37 | void drawPanel ( QPainter * p, int x, int y, int w, int h, | 37 | void drawPanel ( QPainter * p, int x, int y, int w, int h, |
38 | const QColorGroup &, bool sunken=FALSE, int lineWidth = 1, const QBrush * fill = 0 ); | 38 | const QColorGroup &, bool sunken=FALSE, int lineWidth = 1, const QBrush * fill = 0 ); |
39 | void drawButton( QPainter *p, int x, int y, int w, int h, | 39 | void drawButton( QPainter *p, int x, int y, int w, int h, |
40 | const QColorGroup &g, bool sunken, const QBrush* fill ); | 40 | const QColorGroup &g, bool sunken, const QBrush* fill ); |
41 | void drawButtonMask ( QPainter * p, int x, int y, int w, int h ); | 41 | void drawButtonMask ( QPainter * p, int x, int y, int w, int h ); |
42 | void drawBevelButton( QPainter *p, int x, int y, int w, int h, | 42 | void drawBevelButton( QPainter *p, int x, int y, int w, int h, |
43 | const QColorGroup &g, bool sunken=FALSE, const QBrush* fill=0 ); | 43 | const QColorGroup &g, bool sunken=FALSE, const QBrush* fill=0 ); |
44 | QRect comboButtonRect( int x, int y, int w, int h); | 44 | QRect comboButtonRect( int x, int y, int w, int h); |
45 | QRect comboButtonFocusRect( int x, int y, int w, int h); | 45 | QRect comboButtonFocusRect( int x, int y, int w, int h); |
46 | void drawComboButton( QPainter *p, int x, int y, int w, int h, | 46 | void drawComboButton( QPainter *p, int x, int y, int w, int h, |
47 | const QColorGroup &g, bool sunken, bool, bool enabled, | 47 | const QColorGroup &g, bool sunken, bool, bool enabled, |
48 | const QBrush *fill ); | 48 | const QBrush *fill ); |
49 | void drawExclusiveIndicator ( QPainter * p, int x, int y, int w, int h, | 49 | void drawExclusiveIndicator ( QPainter * p, int x, int y, int w, int h, |
50 | const QColorGroup & g, bool on, bool down = FALSE, bool enabled = TRUE ); | 50 | const QColorGroup & g, bool on, bool down = FALSE, bool enabled = TRUE ); |
51 | void drawIndicator ( QPainter * p, int x, int y, int w, int h, | 51 | void drawIndicator ( QPainter * p, int x, int y, int w, int h, |
52 | const QColorGroup & g, int state, bool down = FALSE, bool enabled = TRUE ); | 52 | const QColorGroup & g, int state, bool down = FALSE, bool enabled = TRUE ); |
53 | void scrollBarMetrics( const QScrollBar*, int&, int&, int&, int&); | 53 | void scrollBarMetrics( const QScrollBar*, int&, int&, int&, int&); |
54 | void drawScrollBarControls( QPainter*, const QScrollBar*, int sliderStart, uint controls, uint activeControl ); | 54 | void drawScrollBarControls( QPainter*, const QScrollBar*, int sliderStart, uint controls, uint activeControl ); |
55 | ScrollControl scrollBarPointOver( const QScrollBar* sb, int sliderStart, const QPoint& p ); | 55 | ScrollControl scrollBarPointOver( const QScrollBar* sb, int sliderStart, const QPoint& p ); |
56 | void drawRiffles( QPainter* p, int x, int y, int w, int h, | 56 | void drawRiffles( QPainter* p, int x, int y, int w, int h, |
57 | const QColorGroup &g, bool horizontal ); | 57 | const QColorGroup &g, bool horizontal ); |
58 | int sliderLength() const; | 58 | int sliderLength() const; |
59 | void drawSlider( QPainter *p, int x, int y, int w, int h, | 59 | void drawSlider( QPainter *p, int x, int y, int w, int h, |
60 | const QColorGroup &g, Orientation, bool tickAbove, bool tickBelow ); | 60 | const QColorGroup &g, Orientation, bool tickAbove, bool tickBelow ); |
61 | void drawSliderMask( QPainter *p, int x, int y, int w, int h, | 61 | void drawSliderMask( QPainter *p, int x, int y, int w, int h, |
62 | Orientation, bool tickAbove, bool tickBelow ); | 62 | Orientation, bool tickAbove, bool tickBelow ); |
63 | void drawSliderGrooveMask( QPainter *p, int x, int y, int w, int h, | 63 | void drawSliderGrooveMask( QPainter *p, int x, int y, int w, int h, |
64 | const QColorGroup& , QCOORD c, Orientation orient ); | 64 | const QColorGroup& , QCOORD c, Orientation orient ); |
65 | void drawTab( QPainter *, const QTabBar *, QTab *, bool selected ); | 65 | void drawTab( QPainter *, const QTabBar *, QTab *, bool selected ); |
66 | int extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem*, const QFontMetrics& ); | 66 | int extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem*, const QFontMetrics& ); |
67 | int popupMenuItemHeight( bool checkable, QMenuItem*, const QFontMetrics& ); | 67 | int popupMenuItemHeight( bool checkable, QMenuItem*, const QFontMetrics& ); |
68 | void drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, | 68 | void drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, |
69 | const QPalette& pal, | 69 | const QPalette& pal, |
70 | bool act, bool enabled, int x, int y, int w, int h); | 70 | bool act, bool enabled, int x, int y, int w, int h); |
71 | 71 | ||
72 | int buttonMargin() const; | 72 | int buttonMargin() const; |
73 | QSize scrollBarExtent() const; | 73 | QSize scrollBarExtent() const; |
74 | 74 | ||
75 | private:// Disabled copy constructor and operator= | 75 | private:// Disabled copy constructor and operator= |
76 | #if defined(Q_DISABLE_COPY) | 76 | #if defined(Q_DISABLE_COPY) |
77 | FreshStyle( const FreshStyle & ); | 77 | FreshStyle( const FreshStyle & ); |
78 | FreshStyle& operator=( const FreshStyle & ); | 78 | FreshStyle& operator=( const FreshStyle & ); |
79 | #endif | 79 | #endif |
80 | }; | 80 | }; |
81 | 81 | ||
82 | 82 | ||
83 | class FreshStyleImpl : public StyleInterface | 83 | class FreshStyleImpl : public StyleInterface |
84 | { | 84 | { |
85 | public: | 85 | public: |
86 | FreshStyleImpl(); | 86 | FreshStyleImpl(); |
87 | virtual ~FreshStyleImpl(); | 87 | virtual ~FreshStyleImpl(); |
88 | 88 | ||
89 | QRESULT queryInterface( const QUuid&, QUnknownInterface** ); | 89 | QRESULT queryInterface( const QUuid&, QUnknownInterface** ); |
90 | Q_REFCOUNT | 90 | Q_REFCOUNT |
91 | 91 | ||
92 | virtual QStyle *style(); | 92 | virtual QStyle *style(); |
93 | virtual QString name() const; | 93 | virtual QString name() const; |
94 | 94 | ||
95 | private: | 95 | private: |
96 | FreshStyle *fresh; | 96 | FreshStyle *fresh; |
97 | ulong ref; | ||
98 | }; | 97 | }; |
99 | 98 | ||
100 | #endif // FRESHSTYLE_H | 99 | #endif // FRESHSTYLE_H |
diff --git a/noncore/styles/liquid/plugin.cpp b/noncore/styles/liquid/plugin.cpp index 6813fc5..fb322a9 100644 --- a/noncore/styles/liquid/plugin.cpp +++ b/noncore/styles/liquid/plugin.cpp | |||
@@ -1,79 +1,81 @@ | |||
1 | #include <qapplication.h> | 1 | #include <qapplication.h> |
2 | 2 | ||
3 | #include "liquid.h" | 3 | #include "liquid.h" |
4 | #include "liquidset.h" | 4 | #include "liquidset.h" |
5 | #include "plugin.h" | 5 | #include "plugin.h" |
6 | 6 | ||
7 | 7 | ||
8 | 8 | ||
9 | LiquidInterface::LiquidInterface ( ) : ref ( 0 ) | 9 | LiquidInterface::LiquidInterface ( ) |
10 | { | 10 | { |
11 | m_widget = 0; | 11 | m_widget = 0; |
12 | } | 12 | } |
13 | 13 | ||
14 | LiquidInterface::~LiquidInterface ( ) | 14 | LiquidInterface::~LiquidInterface ( ) |
15 | { | 15 | { |
16 | } | 16 | } |
17 | 17 | ||
18 | QStyle *LiquidInterface::style ( ) | 18 | QStyle *LiquidInterface::style ( ) |
19 | { | 19 | { |
20 | return new LiquidStyle ( ); | 20 | return new LiquidStyle ( ); |
21 | } | 21 | } |
22 | 22 | ||
23 | QString LiquidInterface::name ( ) const | 23 | QString LiquidInterface::name ( ) const |
24 | { | 24 | { |
25 | return qApp-> translate ( "Styles", "Liquid" ); | 25 | return qApp-> translate ( "Styles", "Liquid" ); |
26 | } | 26 | } |
27 | 27 | ||
28 | QString LiquidInterface::description ( ) const | 28 | QString LiquidInterface::description ( ) const |
29 | { | 29 | { |
30 | return qApp-> translate ( "Styles", "High Performance Liquid style by Mosfet" ); | 30 | return qApp-> translate ( "Styles", "High Performance Liquid style by Mosfet" ); |
31 | } | 31 | } |
32 | 32 | ||
33 | bool LiquidInterface::hasSettings ( ) const | 33 | bool LiquidInterface::hasSettings ( ) const |
34 | { | 34 | { |
35 | return true; | 35 | return true; |
36 | } | 36 | } |
37 | 37 | ||
38 | QWidget *LiquidInterface::create ( QWidget *parent, const char *name ) | 38 | QWidget *LiquidInterface::create ( QWidget *parent, const char *name ) |
39 | { | 39 | { |
40 | m_widget = new LiquidSettings ( parent, name ? name : "LIQUID-SETTINGS" ); | 40 | m_widget = new LiquidSettings ( parent, name ? name : "LIQUID-SETTINGS" ); |
41 | 41 | ||
42 | return m_widget; | 42 | return m_widget; |
43 | } | 43 | } |
44 | 44 | ||
45 | bool LiquidInterface::accept ( ) | 45 | bool LiquidInterface::accept ( ) |
46 | { | 46 | { |
47 | if ( !m_widget ) | 47 | if ( !m_widget ) |
48 | return false; | 48 | return false; |
49 | 49 | ||
50 | return m_widget-> writeConfig ( ); | 50 | return m_widget-> writeConfig ( ); |
51 | } | 51 | } |
52 | 52 | ||
53 | void LiquidInterface::reject ( ) | 53 | void LiquidInterface::reject ( ) |
54 | { | 54 | { |
55 | } | 55 | } |
56 | 56 | ||
57 | 57 | ||
58 | QRESULT LiquidInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) | 58 | QRESULT LiquidInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) |
59 | { | 59 | { |
60 | *iface = 0; | 60 | *iface = 0; |
61 | 61 | ||
62 | if ( uuid == IID_QUnknown ) | 62 | if ( uuid == IID_QUnknown ) |
63 | *iface = this; | 63 | *iface = this; |
64 | else if ( uuid == IID_Style ) | 64 | else if ( uuid == IID_Style ) |
65 | *iface = this; | 65 | *iface = this; |
66 | else if ( uuid == IID_StyleExtended ) | 66 | else if ( uuid == IID_StyleExtended ) |
67 | *iface = this; | 67 | *iface = this; |
68 | else | ||
69 | return QS_FALSE; | ||
68 | 70 | ||
69 | if ( *iface ) | 71 | if ( *iface ) |
70 | (*iface)-> addRef ( ); | 72 | (*iface)-> addRef ( ); |
71 | 73 | ||
72 | return QS_OK; | 74 | return QS_OK; |
73 | } | 75 | } |
74 | 76 | ||
75 | Q_EXPORT_INTERFACE() | 77 | Q_EXPORT_INTERFACE() |
76 | { | 78 | { |
77 | Q_CREATE_INSTANCE( LiquidInterface ) | 79 | Q_CREATE_INSTANCE( LiquidInterface ) |
78 | } | 80 | } |
79 | 81 | ||
diff --git a/noncore/styles/liquid/plugin.h b/noncore/styles/liquid/plugin.h index 6a9b7ac..9188a09 100644 --- a/noncore/styles/liquid/plugin.h +++ b/noncore/styles/liquid/plugin.h | |||
@@ -1,34 +1,33 @@ | |||
1 | #ifndef __OPIE_LIQUID_PLUGIN_H__ | 1 | #ifndef __OPIE_LIQUID_PLUGIN_H__ |
2 | #define __OPIE_LIQUID_PLUGIN_H__ | 2 | #define __OPIE_LIQUID_PLUGIN_H__ |
3 | 3 | ||
4 | #include <qpe/styleinterface.h> | 4 | #include <qpe/styleinterface.h> |
5 | 5 | ||
6 | class LiquidSettings; | 6 | class LiquidSettings; |
7 | 7 | ||
8 | class LiquidInterface : public StyleExtendedInterface { | 8 | class LiquidInterface : public StyleExtendedInterface { |
9 | public: | 9 | public: |
10 | LiquidInterface ( ); | 10 | LiquidInterface ( ); |
11 | virtual ~LiquidInterface ( ); | 11 | virtual ~LiquidInterface ( ); |
12 | 12 | ||
13 | QRESULT queryInterface ( const QUuid &, QUnknownInterface ** ); | 13 | QRESULT queryInterface ( const QUuid &, QUnknownInterface ** ); |
14 | Q_REFCOUNT | 14 | Q_REFCOUNT |
15 | 15 | ||
16 | virtual QStyle *style ( ); | 16 | virtual QStyle *style ( ); |
17 | 17 | ||
18 | virtual QString name ( ) const; | 18 | virtual QString name ( ) const; |
19 | 19 | ||
20 | virtual QString description ( ) const; | 20 | virtual QString description ( ) const; |
21 | 21 | ||
22 | virtual bool hasSettings ( ) const; | 22 | virtual bool hasSettings ( ) const; |
23 | 23 | ||
24 | virtual QWidget *create ( QWidget *parent, const char *name = 0 ); | 24 | virtual QWidget *create ( QWidget *parent, const char *name = 0 ); |
25 | 25 | ||
26 | virtual bool accept ( ); | 26 | virtual bool accept ( ); |
27 | virtual void reject ( ); | 27 | virtual void reject ( ); |
28 | 28 | ||
29 | private: | 29 | private: |
30 | LiquidSettings *m_widget; | 30 | LiquidSettings *m_widget; |
31 | ulong ref; | ||
32 | }; | 31 | }; |
33 | 32 | ||
34 | #endif | 33 | #endif |
diff --git a/noncore/styles/metal/plugin.cpp b/noncore/styles/metal/plugin.cpp index 4c9f64d..2f0f530 100644 --- a/noncore/styles/metal/plugin.cpp +++ b/noncore/styles/metal/plugin.cpp | |||
@@ -1,45 +1,47 @@ | |||
1 | #include <qapplication.h> | 1 | #include <qapplication.h> |
2 | 2 | ||
3 | #include "metal.h" | 3 | #include "metal.h" |
4 | #include "plugin.h" | 4 | #include "plugin.h" |
5 | 5 | ||
6 | 6 | ||
7 | MetalInterface::MetalInterface ( ) : ref ( 0 ) | 7 | MetalInterface::MetalInterface ( ) |
8 | { | 8 | { |
9 | } | 9 | } |
10 | 10 | ||
11 | MetalInterface::~MetalInterface ( ) | 11 | MetalInterface::~MetalInterface ( ) |
12 | { | 12 | { |
13 | } | 13 | } |
14 | 14 | ||
15 | QStyle *MetalInterface::style ( ) | 15 | QStyle *MetalInterface::style ( ) |
16 | { | 16 | { |
17 | return new MetalStyle ( ); | 17 | return new MetalStyle ( ); |
18 | } | 18 | } |
19 | 19 | ||
20 | QString MetalInterface::name ( ) const | 20 | QString MetalInterface::name ( ) const |
21 | { | 21 | { |
22 | return qApp-> translate ( "Styles", "Metal" ); | 22 | return qApp-> translate ( "Styles", "Metal" ); |
23 | } | 23 | } |
24 | 24 | ||
25 | 25 | ||
26 | QRESULT MetalInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) | 26 | QRESULT MetalInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) |
27 | { | 27 | { |
28 | *iface = 0; | 28 | *iface = 0; |
29 | 29 | ||
30 | if ( uuid == IID_QUnknown ) | 30 | if ( uuid == IID_QUnknown ) |
31 | *iface = this; | 31 | *iface = this; |
32 | else if ( uuid == IID_Style ) | 32 | else if ( uuid == IID_Style ) |
33 | *iface = this; | 33 | *iface = this; |
34 | else | ||
35 | return QS_FALSE; | ||
34 | 36 | ||
35 | if ( *iface ) | 37 | if ( *iface ) |
36 | (*iface)-> addRef ( ); | 38 | (*iface)-> addRef ( ); |
37 | 39 | ||
38 | return QS_OK; | 40 | return QS_OK; |
39 | } | 41 | } |
40 | 42 | ||
41 | Q_EXPORT_INTERFACE() | 43 | Q_EXPORT_INTERFACE() |
42 | { | 44 | { |
43 | Q_CREATE_INSTANCE( MetalInterface ) | 45 | Q_CREATE_INSTANCE( MetalInterface ) |
44 | } | 46 | } |
45 | 47 | ||
diff --git a/noncore/styles/metal/plugin.h b/noncore/styles/metal/plugin.h index 545aea9..7a38d62 100644 --- a/noncore/styles/metal/plugin.h +++ b/noncore/styles/metal/plugin.h | |||
@@ -1,22 +1,20 @@ | |||
1 | #ifndef __OPIE_METAL_PLUGIN_H__ | 1 | #ifndef __OPIE_METAL_PLUGIN_H__ |
2 | #define __OPIE_METAL_PLUGIN_H__ | 2 | #define __OPIE_METAL_PLUGIN_H__ |
3 | 3 | ||
4 | #include <qpe/styleinterface.h> | 4 | #include <qpe/styleinterface.h> |
5 | 5 | ||
6 | 6 | ||
7 | class MetalInterface : public StyleInterface { | 7 | class MetalInterface : public StyleInterface { |
8 | public: | 8 | public: |
9 | MetalInterface ( ); | 9 | MetalInterface ( ); |
10 | virtual ~MetalInterface ( ); | 10 | virtual ~MetalInterface ( ); |
11 | 11 | ||
12 | QRESULT queryInterface ( const QUuid &, QUnknownInterface ** ); | 12 | QRESULT queryInterface ( const QUuid &, QUnknownInterface ** ); |
13 | Q_REFCOUNT | 13 | Q_REFCOUNT |
14 | 14 | ||
15 | virtual QStyle *style ( ); | 15 | virtual QStyle *style ( ); |
16 | virtual QString name ( ) const; | 16 | virtual QString name ( ) const; |
17 | 17 | ||
18 | private: | ||
19 | ulong ref; | ||
20 | }; | 18 | }; |
21 | 19 | ||
22 | #endif | 20 | #endif |
diff --git a/noncore/styles/theme/plugin.cpp b/noncore/styles/theme/plugin.cpp index 2560720..dca8685 100644 --- a/noncore/styles/theme/plugin.cpp +++ b/noncore/styles/theme/plugin.cpp | |||
@@ -1,81 +1,83 @@ | |||
1 | #include <qapplication.h> | 1 | #include <qapplication.h> |
2 | 2 | ||
3 | #include "othemestyle.h" | 3 | #include "othemestyle.h" |
4 | #include "themeset.h" | 4 | #include "themeset.h" |
5 | #include "plugin.h" | 5 | #include "plugin.h" |
6 | 6 | ||
7 | 7 | ||
8 | 8 | ||
9 | ThemeInterface::ThemeInterface ( ) : ref ( 0 ) | 9 | ThemeInterface::ThemeInterface ( ) |
10 | { | 10 | { |
11 | m_widget = 0; | 11 | m_widget = 0; |
12 | } | 12 | } |
13 | 13 | ||
14 | ThemeInterface::~ThemeInterface ( ) | 14 | ThemeInterface::~ThemeInterface ( ) |
15 | { | 15 | { |
16 | } | 16 | } |
17 | 17 | ||
18 | QStyle *ThemeInterface::style ( ) | 18 | QStyle *ThemeInterface::style ( ) |
19 | { | 19 | { |
20 | return new OThemeStyle ( "" ); | 20 | return new OThemeStyle ( "" ); |
21 | } | 21 | } |
22 | 22 | ||
23 | QString ThemeInterface::name ( ) const | 23 | QString ThemeInterface::name ( ) const |
24 | { | 24 | { |
25 | return qApp-> translate ( "Styles", "Themed style" ); | 25 | return qApp-> translate ( "Styles", "Themed style" ); |
26 | } | 26 | } |
27 | 27 | ||
28 | QString ThemeInterface::description ( ) const | 28 | QString ThemeInterface::description ( ) const |
29 | { | 29 | { |
30 | return qApp-> translate ( "Styles", "KDE2 theme compatible style engine" ); | 30 | return qApp-> translate ( "Styles", "KDE2 theme compatible style engine" ); |
31 | } | 31 | } |
32 | 32 | ||
33 | bool ThemeInterface::hasSettings ( ) const | 33 | bool ThemeInterface::hasSettings ( ) const |
34 | { | 34 | { |
35 | return true; | 35 | return true; |
36 | } | 36 | } |
37 | 37 | ||
38 | QWidget *ThemeInterface::create ( QWidget *parent, const char *name ) | 38 | QWidget *ThemeInterface::create ( QWidget *parent, const char *name ) |
39 | { | 39 | { |
40 | m_widget = new ThemeSettings ( parent, name ? name : "THEME-SETTINGS" ); | 40 | m_widget = new ThemeSettings ( parent, name ? name : "THEME-SETTINGS" ); |
41 | 41 | ||
42 | return m_widget; | 42 | return m_widget; |
43 | } | 43 | } |
44 | 44 | ||
45 | bool ThemeInterface::accept ( ) | 45 | bool ThemeInterface::accept ( ) |
46 | { | 46 | { |
47 | if ( !m_widget ) | 47 | if ( !m_widget ) |
48 | return false; | 48 | return false; |
49 | 49 | ||
50 | return m_widget-> writeConfig ( ); | 50 | return m_widget-> writeConfig ( ); |
51 | } | 51 | } |
52 | 52 | ||
53 | void ThemeInterface::reject ( ) | 53 | void ThemeInterface::reject ( ) |
54 | { | 54 | { |
55 | } | 55 | } |
56 | 56 | ||
57 | 57 | ||
58 | QRESULT ThemeInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) | 58 | QRESULT ThemeInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) |
59 | { | 59 | { |
60 | *iface = 0; | 60 | *iface = 0; |
61 | 61 | ||
62 | if ( uuid == IID_QUnknown ) | 62 | if ( uuid == IID_QUnknown ) |
63 | *iface = this; | 63 | *iface = this; |
64 | else if ( uuid == IID_Style ) | 64 | else if ( uuid == IID_Style ) |
65 | *iface = this; | 65 | *iface = this; |
66 | else if ( uuid == IID_StyleExtended ) | 66 | else if ( uuid == IID_StyleExtended ) |
67 | *iface = this; | 67 | *iface = this; |
68 | else | ||
69 | return QS_FALSE; | ||
68 | 70 | ||
69 | if ( *iface ) | 71 | if ( *iface ) |
70 | (*iface)-> addRef ( ); | 72 | (*iface)-> addRef ( ); |
71 | 73 | ||
72 | return QS_OK; | 74 | return QS_OK; |
73 | } | 75 | } |
74 | 76 | ||
75 | Q_EXPORT_INTERFACE() | 77 | Q_EXPORT_INTERFACE() |
76 | { | 78 | { |
77 | Q_CREATE_INSTANCE( ThemeInterface ) | 79 | Q_CREATE_INSTANCE( ThemeInterface ) |
78 | } | 80 | } |
79 | 81 | ||
80 | 82 | ||
81 | 83 | ||
diff --git a/noncore/styles/theme/plugin.h b/noncore/styles/theme/plugin.h index 60cae97..c67f1e4 100644 --- a/noncore/styles/theme/plugin.h +++ b/noncore/styles/theme/plugin.h | |||
@@ -1,33 +1,32 @@ | |||
1 | #ifndef __OPIE_THEME_PLUGIN_H__ | 1 | #ifndef __OPIE_THEME_PLUGIN_H__ |
2 | #define __OPIE_THEME_PLUGIN_H__ | 2 | #define __OPIE_THEME_PLUGIN_H__ |
3 | 3 | ||
4 | #include <qpe/styleinterface.h> | 4 | #include <qpe/styleinterface.h> |
5 | 5 | ||
6 | class ThemeSettings; | 6 | class ThemeSettings; |
7 | 7 | ||
8 | class ThemeInterface : public StyleExtendedInterface { | 8 | class ThemeInterface : public StyleExtendedInterface { |
9 | public: | 9 | public: |
10 | ThemeInterface ( ); | 10 | ThemeInterface ( ); |
11 | virtual ~ThemeInterface ( ); | 11 | virtual ~ThemeInterface ( ); |
12 | 12 | ||
13 | QRESULT queryInterface ( const QUuid &, QUnknownInterface ** ); | 13 | QRESULT queryInterface ( const QUuid &, QUnknownInterface ** ); |
14 | Q_REFCOUNT | 14 | Q_REFCOUNT |
15 | 15 | ||
16 | virtual QStyle *style ( ); | 16 | virtual QStyle *style ( ); |
17 | virtual QString name ( ) const; | 17 | virtual QString name ( ) const; |
18 | 18 | ||
19 | virtual QString description ( ) const; | 19 | virtual QString description ( ) const; |
20 | 20 | ||
21 | virtual bool hasSettings ( ) const; | 21 | virtual bool hasSettings ( ) const; |
22 | 22 | ||
23 | virtual QWidget *create ( QWidget *parent, const char *name = 0 ); | 23 | virtual QWidget *create ( QWidget *parent, const char *name = 0 ); |
24 | 24 | ||
25 | virtual bool accept ( ); | 25 | virtual bool accept ( ); |
26 | virtual void reject ( ); | 26 | virtual void reject ( ); |
27 | 27 | ||
28 | private: | 28 | private: |
29 | ThemeSettings *m_widget; | 29 | ThemeSettings *m_widget; |
30 | ulong ref; | ||
31 | }; | 30 | }; |
32 | 31 | ||
33 | #endif | 32 | #endif |
diff --git a/noncore/todayplugins/fortune/fortunepluginimpl.h b/noncore/todayplugins/fortune/fortunepluginimpl.h index 070f03e..8e380f5 100644 --- a/noncore/todayplugins/fortune/fortunepluginimpl.h +++ b/noncore/todayplugins/fortune/fortunepluginimpl.h | |||
@@ -1,41 +1,40 @@ | |||
1 | /* | 1 | /* |
2 | * todopluginimpl.h | 2 | * todopluginimpl.h |
3 | * | 3 | * |
4 | * copyright : (c) 2002 by Maximilian Reiß | 4 | * copyright : (c) 2002 by Maximilian Reiß |
5 | * email : harlekin@handhelds.org | 5 | * email : harlekin@handhelds.org |
6 | * | 6 | * |
7 | */ | 7 | */ |
8 | /*************************************************************************** | 8 | /*************************************************************************** |
9 | * * | 9 | * * |
10 | * This program is free software; you can redistribute it and/or modify * | 10 | * This program is free software; you can redistribute it and/or modify * |
11 | * it under the terms of the GNU General Public License as published by * | 11 | * it under the terms of the GNU General Public License as published by * |
12 | * the Free Software Foundation; either version 2 of the License, or * | 12 | * the Free Software Foundation; either version 2 of the License, or * |
13 | * (at your option) any later version. * | 13 | * (at your option) any later version. * |
14 | * * | 14 | * * |
15 | ***************************************************************************/ | 15 | ***************************************************************************/ |
16 | 16 | ||
17 | #ifndef FORTUNE_PLUGIN_IMPL_H | 17 | #ifndef FORTUNE_PLUGIN_IMPL_H |
18 | #define FORTUNE_PLUGIN_IMPL_H | 18 | #define FORTUNE_PLUGIN_IMPL_H |
19 | 19 | ||
20 | #include <opie/todayplugininterface.h> | 20 | #include <opie/todayplugininterface.h> |
21 | 21 | ||
22 | class FortunePlugin; | 22 | class FortunePlugin; |
23 | 23 | ||
24 | class FortunePluginImpl : public TodayPluginInterface | 24 | class FortunePluginImpl : public TodayPluginInterface |
25 | { | 25 | { |
26 | 26 | ||
27 | public: | 27 | public: |
28 | FortunePluginImpl(); | 28 | FortunePluginImpl(); |
29 | virtual ~FortunePluginImpl(); | 29 | virtual ~FortunePluginImpl(); |
30 | 30 | ||
31 | QRESULT queryInterface( const QUuid &, QUnknownInterface** ); | 31 | QRESULT queryInterface( const QUuid &, QUnknownInterface** ); |
32 | Q_REFCOUNT | 32 | Q_REFCOUNT |
33 | 33 | ||
34 | virtual TodayPluginObject *guiPart(); | 34 | virtual TodayPluginObject *guiPart(); |
35 | 35 | ||
36 | private: | 36 | private: |
37 | FortunePlugin *fortunePlugin; | 37 | FortunePlugin *fortunePlugin; |
38 | ulong ref; | ||
39 | }; | 38 | }; |
40 | 39 | ||
41 | #endif | 40 | #endif |
diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginimpl.h b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginimpl.h index 300c545..db5b8f9 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginimpl.h +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginimpl.h | |||
@@ -1,40 +1,39 @@ | |||
1 | /* | 1 | /* |
2 | * stocktickerpluginimpl.h | 2 | * stocktickerpluginimpl.h |
3 | * | 3 | * |
4 | * copyright : (c) 2002 by L.J. Potter | 4 | * copyright : (c) 2002 by L.J. Potter |
5 | * email : llornkcor@handhelds.org | 5 | * email : llornkcor@handhelds.org |
6 | * | 6 | * |
7 | */ | 7 | */ |
8 | /*************************************************************************** | 8 | /*************************************************************************** |
9 | * * | 9 | * * |
10 | * This program is free software; you can redistribute it and/or modify * | 10 | * This program is free software; you can redistribute it and/or modify * |
11 | * it under the terms of the GNU General Public License as published by * | 11 | * it under the terms of the GNU General Public License as published by * |
12 | * the Free Software Foundation; either version 2 of the License, or * | 12 | * the Free Software Foundation; either version 2 of the License, or * |
13 | * (at your option) any later version. * | 13 | * (at your option) any later version. * |
14 | * * | 14 | * * |
15 | ***************************************************************************/ | 15 | ***************************************************************************/ |
16 | 16 | ||
17 | #ifndef STOCKTICKER_PLUGIN_IMPL_H | 17 | #ifndef STOCKTICKER_PLUGIN_IMPL_H |
18 | #define STOCKTICKER_PLUGIN_IMPL_H | 18 | #define STOCKTICKER_PLUGIN_IMPL_H |
19 | 19 | ||
20 | #include <opie/todayplugininterface.h> | 20 | #include <opie/todayplugininterface.h> |
21 | 21 | ||
22 | class StockTickerPlugin; | 22 | class StockTickerPlugin; |
23 | 23 | ||
24 | class StockTickerPluginImpl : public TodayPluginInterface{ | 24 | class StockTickerPluginImpl : public TodayPluginInterface{ |
25 | 25 | ||
26 | public: | 26 | public: |
27 | StockTickerPluginImpl(); | 27 | StockTickerPluginImpl(); |
28 | virtual ~StockTickerPluginImpl(); | 28 | virtual ~StockTickerPluginImpl(); |
29 | 29 | ||
30 | QRESULT queryInterface( const QUuid &, QUnknownInterface** ); | 30 | QRESULT queryInterface( const QUuid &, QUnknownInterface** ); |
31 | Q_REFCOUNT | 31 | Q_REFCOUNT |
32 | 32 | ||
33 | virtual TodayPluginObject *guiPart(); | 33 | virtual TodayPluginObject *guiPart(); |
34 | 34 | ||
35 | private: | 35 | private: |
36 | StockTickerPlugin *stocktickerPlugin; | 36 | StockTickerPlugin *stocktickerPlugin; |
37 | ulong ref; | ||
38 | }; | 37 | }; |
39 | 38 | ||
40 | #endif | 39 | #endif |
diff --git a/noncore/todayplugins/weather/weatherpluginimpl.h b/noncore/todayplugins/weather/weatherpluginimpl.h index aad8958..eaaae1d 100644 --- a/noncore/todayplugins/weather/weatherpluginimpl.h +++ b/noncore/todayplugins/weather/weatherpluginimpl.h | |||
@@ -1,52 +1,51 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of the OPIE Project | 2 | This file is part of the OPIE Project |
3 | =. | 3 | =. |
4 | .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> | 4 | .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> |
5 | .>+-= | 5 | .>+-= |
6 | _;:, .> :=|. This file is free software; you can | 6 | _;:, .> :=|. This file is free software; you can |
7 | .> <`_, > . <= redistribute it and/or modify it under | 7 | .> <`_, > . <= redistribute it and/or modify it under |
8 | :`=1 )Y*s>-.-- : the terms of the GNU General Public | 8 | :`=1 )Y*s>-.-- : the terms of the GNU General Public |
9 | .="- .-=="i, .._ License as published by the Free Software | 9 | .="- .-=="i, .._ License as published by the Free Software |
10 | - . .-<_> .<> Foundation; either version 2 of the License, | 10 | - . .-<_> .<> Foundation; either version 2 of the License, |
11 | ._= =} : or (at your option) any later version. | 11 | ._= =} : or (at your option) any later version. |
12 | .%`+i> _;_. | 12 | .%`+i> _;_. |
13 | .i_,=:_. -<s. This file is distributed in the hope that | 13 | .i_,=:_. -<s. This file is distributed in the hope that |
14 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | 14 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; |
15 | : .. .:, . . . without even the implied warranty of | 15 | : .. .:, . . . without even the implied warranty of |
16 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | 16 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A |
17 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General | 17 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General |
18 | ..}^=.= = ; Public License for more details. | 18 | ..}^=.= = ; Public License for more details. |
19 | ++= -. .` .: | 19 | ++= -. .` .: |
20 | : = ...= . :.=- You should have received a copy of the GNU | 20 | : = ...= . :.=- You should have received a copy of the GNU |
21 | -. .:....=;==+<; General Public License along with this file; | 21 | -. .:....=;==+<; General Public License along with this file; |
22 | -_. . . )=. = see the file COPYING. If not, write to the | 22 | -_. . . )=. = see the file COPYING. If not, write to the |
23 | -- :-=` Free Software Foundation, Inc., | 23 | -- :-=` Free Software Foundation, Inc., |
24 | 59 Temple Place - Suite 330, | 24 | 59 Temple Place - Suite 330, |
25 | Boston, MA 02111-1307, USA. | 25 | Boston, MA 02111-1307, USA. |
26 | 26 | ||
27 | */ | 27 | */ |
28 | 28 | ||
29 | #ifndef WEATHER_PLUGIN_IMPL_H | 29 | #ifndef WEATHER_PLUGIN_IMPL_H |
30 | #define WEATHER_PLUGIN_IMPL_H | 30 | #define WEATHER_PLUGIN_IMPL_H |
31 | 31 | ||
32 | #include <opie/todayplugininterface.h> | 32 | #include <opie/todayplugininterface.h> |
33 | 33 | ||
34 | class WeatherPlugin; | 34 | class WeatherPlugin; |
35 | 35 | ||
36 | class WeatherPluginImpl : public TodayPluginInterface | 36 | class WeatherPluginImpl : public TodayPluginInterface |
37 | { | 37 | { |
38 | public: | 38 | public: |
39 | WeatherPluginImpl(); | 39 | WeatherPluginImpl(); |
40 | virtual ~WeatherPluginImpl(); | 40 | virtual ~WeatherPluginImpl(); |
41 | 41 | ||
42 | QRESULT queryInterface( const QUuid &, QUnknownInterface ** ); | 42 | QRESULT queryInterface( const QUuid &, QUnknownInterface ** ); |
43 | Q_REFCOUNT | 43 | Q_REFCOUNT |
44 | 44 | ||
45 | virtual TodayPluginObject *guiPart(); | 45 | virtual TodayPluginObject *guiPart(); |
46 | 46 | ||
47 | private: | 47 | private: |
48 | WeatherPlugin *weatherPlugin; | 48 | WeatherPlugin *weatherPlugin; |
49 | ulong ref; | ||
50 | }; | 49 | }; |
51 | 50 | ||
52 | #endif | 51 | #endif |