author | sandman <sandman> | 2002-12-22 17:19:22 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-12-22 17:19:22 (UTC) |
commit | d7859bf6df42c36f87ecaa560754b3b3b3c2e78e (patch) (unidiff) | |
tree | 2419e9402ec70fb1e98a908b165c98b67b5b9e9a | |
parent | 275ce580b85be3b439bbb907efce5036c3282c56 (diff) | |
download | opie-d7859bf6df42c36f87ecaa560754b3b3b3c2e78e.zip opie-d7859bf6df42c36f87ecaa560754b3b3b3c2e78e.tar.gz opie-d7859bf6df42c36f87ecaa560754b3b3b3c2e78e.tar.bz2 |
use the new Config::hasGroup method instead of a custom Config class
-rw-r--r-- | noncore/styles/theme/othemebase.cpp | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/noncore/styles/theme/othemebase.cpp b/noncore/styles/theme/othemebase.cpp index acac847..62b3a11 100644 --- a/noncore/styles/theme/othemebase.cpp +++ b/noncore/styles/theme/othemebase.cpp | |||
@@ -52,76 +52,64 @@ static const char *widgetEntries[] = | |||
52 | "HScrollGroove", "VScrollGroove", "Slider", "SliderGroove", "CheckBoxDown", | 52 | "HScrollGroove", "VScrollGroove", "Slider", "SliderGroove", "CheckBoxDown", |
53 | "CheckBox", "RadioDown", "Radio", "HBarHandle", "VBarHandle", | 53 | "CheckBox", "RadioDown", "Radio", "HBarHandle", "VBarHandle", |
54 | "ToolBar", "Splitter", "CheckMark", "MenuBar", "DisableArrowUp", | 54 | "ToolBar", "Splitter", "CheckMark", "MenuBar", "DisableArrowUp", |
55 | "DisableArrowDown", "DisableArrowLeft", "DisableArrowRight", "ProgressBar", | 55 | "DisableArrowDown", "DisableArrowLeft", "DisableArrowRight", "ProgressBar", |
56 | "ProgressBackground", "MenuBarItem", "Background" | 56 | "ProgressBackground", "MenuBarItem", "Background" |
57 | }; | 57 | }; |
58 | 58 | ||
59 | #define INHERIT_ITEMS 16 | 59 | #define INHERIT_ITEMS 16 |
60 | 60 | ||
61 | 61 | ||
62 | // This is used to encode the keys. I used to use masks but I think this | 62 | // This is used to encode the keys. I used to use masks but I think this |
63 | // bitfield is nicer :) I don't know why C++ coders don't use these more.. | 63 | // bitfield is nicer :) I don't know why C++ coders don't use these more.. |
64 | // (mosfet) | 64 | // (mosfet) |
65 | struct kthemeKeyData | 65 | struct kthemeKeyData |
66 | { | 66 | { |
67 | unsigned int id : | 67 | unsigned int id : |
68 | 6; | 68 | 6; |
69 | unsigned int width : | 69 | unsigned int width : |
70 | 12; | 70 | 12; |
71 | unsigned int height : | 71 | unsigned int height : |
72 | 12; | 72 | 12; |
73 | unsigned int border : | 73 | unsigned int border : |
74 | 1; | 74 | 1; |
75 | unsigned int mask : | 75 | unsigned int mask : |
76 | 1; | 76 | 1; |
77 | }; | 77 | }; |
78 | 78 | ||
79 | union kthemeKey{ | 79 | union kthemeKey{ |
80 | kthemeKeyData data; | 80 | kthemeKeyData data; |
81 | unsigned int cacheKey; | 81 | unsigned int cacheKey; |
82 | }; | 82 | }; |
83 | 83 | ||
84 | class MyConfig : public Config | ||
85 | { | ||
86 | public: | ||
87 | MyConfig ( const QString &f, Domain d ) : Config ( f, d ) | ||
88 | { } | ||
89 | |||
90 | bool hasGroup ( const QString &gname ) const | ||
91 | { | ||
92 | QMap< QString, ConfigGroup>::ConstIterator it = groups. find ( gname ); | ||
93 | return ( it != groups.end() ); | ||
94 | } | ||
95 | }; | ||
96 | 84 | ||
97 | void OThemeBase::generateBorderPix( int i ) | 85 | void OThemeBase::generateBorderPix( int i ) |
98 | { | 86 | { |
99 | // separate pixmap into separate components | 87 | // separate pixmap into separate components |
100 | if ( pbPixmaps[ i ] ) { | 88 | if ( pbPixmaps[ i ] ) { |
101 | // evidently I have to do masks manually... | 89 | // evidently I have to do masks manually... |
102 | const QBitmap * srcMask = pbPixmaps[ i ] ->mask(); | 90 | const QBitmap * srcMask = pbPixmaps[ i ] ->mask(); |
103 | QBitmap destMask( pbWidth[ i ], pbWidth[ i ] ); | 91 | QBitmap destMask( pbWidth[ i ], pbWidth[ i ] ); |
104 | QPixmap tmp( pbWidth[ i ], pbWidth[ i ] ); | 92 | QPixmap tmp( pbWidth[ i ], pbWidth[ i ] ); |
105 | 93 | ||
106 | bitBlt( &tmp, 0, 0, pbPixmaps[ i ], 0, 0, pbWidth[ i ], pbWidth[ i ], | 94 | bitBlt( &tmp, 0, 0, pbPixmaps[ i ], 0, 0, pbWidth[ i ], pbWidth[ i ], |
107 | Qt::CopyROP, false ); | 95 | Qt::CopyROP, false ); |
108 | if ( srcMask ) { | 96 | if ( srcMask ) { |
109 | bitBlt( &destMask, 0, 0, srcMask, 0, 0, pbWidth[ i ], pbWidth[ i ], | 97 | bitBlt( &destMask, 0, 0, srcMask, 0, 0, pbWidth[ i ], pbWidth[ i ], |
110 | Qt::CopyROP, false ); | 98 | Qt::CopyROP, false ); |
111 | tmp.setMask( destMask ); | 99 | tmp.setMask( destMask ); |
112 | } | 100 | } |
113 | pbPixmaps[ i ] ->setBorder( OThemePixmap::TopLeft, tmp ); | 101 | pbPixmaps[ i ] ->setBorder( OThemePixmap::TopLeft, tmp ); |
114 | 102 | ||
115 | bitBlt( &tmp, 0, 0, pbPixmaps[ i ], pbPixmaps[ i ] ->width() - pbWidth[ i ], 0, | 103 | bitBlt( &tmp, 0, 0, pbPixmaps[ i ], pbPixmaps[ i ] ->width() - pbWidth[ i ], 0, |
116 | pbWidth[ i ], pbWidth[ i ], Qt::CopyROP, false ); | 104 | pbWidth[ i ], pbWidth[ i ], Qt::CopyROP, false ); |
117 | if ( srcMask ) { | 105 | if ( srcMask ) { |
118 | bitBlt( &destMask, 0, 0, srcMask, pbPixmaps[ i ] ->width() - pbWidth[ i ], | 106 | bitBlt( &destMask, 0, 0, srcMask, pbPixmaps[ i ] ->width() - pbWidth[ i ], |
119 | 0, pbWidth[ i ], pbWidth[ i ], Qt::CopyROP, false ); | 107 | 0, pbWidth[ i ], pbWidth[ i ], Qt::CopyROP, false ); |
120 | tmp.setMask( destMask ); | 108 | tmp.setMask( destMask ); |
121 | } | 109 | } |
122 | pbPixmaps[ i ] ->setBorder( OThemePixmap::TopRight, tmp ); | 110 | pbPixmaps[ i ] ->setBorder( OThemePixmap::TopRight, tmp ); |
123 | 111 | ||
124 | bitBlt( &tmp, 0, 0, pbPixmaps[ i ], 0, pbPixmaps[ i ] ->height() - pbWidth[ i ], | 112 | bitBlt( &tmp, 0, 0, pbPixmaps[ i ], 0, pbPixmaps[ i ] ->height() - pbWidth[ i ], |
125 | pbWidth[ i ], pbWidth[ i ], Qt::CopyROP, false ); | 113 | pbWidth[ i ], pbWidth[ i ], Qt::CopyROP, false ); |
126 | if ( srcMask ) { | 114 | if ( srcMask ) { |
127 | bitBlt( &destMask, 0, 0, srcMask, 0, pbPixmaps[ i ] ->height() - pbWidth[ i ], | 115 | bitBlt( &destMask, 0, 0, srcMask, 0, pbPixmaps[ i ] ->height() - pbWidth[ i ], |
@@ -243,65 +231,65 @@ void OThemeBase::copyWidgetConfig( int sourceID, int destID, QString *pixnames, | |||
243 | brdnames[ destID ] = brdnames[ sourceID ]; | 231 | brdnames[ destID ] = brdnames[ sourceID ]; |
244 | if ( !brdnames[ destID ].isEmpty() ) { | 232 | if ( !brdnames[ destID ].isEmpty() ) { |
245 | pbPixmaps[ destID ] = pbPixmaps[ sourceID ]; | 233 | pbPixmaps[ destID ] = pbPixmaps[ sourceID ]; |
246 | pbDuplicate[ destID ] = true; | 234 | pbDuplicate[ destID ] = true; |
247 | } | 235 | } |
248 | 236 | ||
249 | if ( sourceID == ActiveTab && destID == InactiveTab ) | 237 | if ( sourceID == ActiveTab && destID == InactiveTab ) |
250 | aTabLine = iTabLine; | 238 | aTabLine = iTabLine; |
251 | else if ( sourceID == InactiveTab && destID == ActiveTab ) | 239 | else if ( sourceID == InactiveTab && destID == ActiveTab ) |
252 | iTabLine = aTabLine; | 240 | iTabLine = aTabLine; |
253 | } | 241 | } |
254 | 242 | ||
255 | void OThemeBase::readConfig( Qt::GUIStyle /*style*/ ) | 243 | void OThemeBase::readConfig( Qt::GUIStyle /*style*/ ) |
256 | { | 244 | { |
257 | #define PREBLEND_ITEMS 12 | 245 | #define PREBLEND_ITEMS 12 |
258 | static WidgetType preBlend[] = {Slider, IndicatorOn, IndicatorOff, | 246 | static WidgetType preBlend[] = {Slider, IndicatorOn, IndicatorOff, |
259 | ExIndicatorOn, ExIndicatorOff, HScrollDeco, VScrollDeco, HScrollDecoDown, | 247 | ExIndicatorOn, ExIndicatorOff, HScrollDeco, VScrollDeco, HScrollDecoDown, |
260 | VScrollDecoDown, ComboDeco, ComboDecoDown, CheckMark}; | 248 | VScrollDecoDown, ComboDeco, ComboDecoDown, CheckMark}; |
261 | 249 | ||
262 | int i; | 250 | int i; |
263 | QString tmpStr; | 251 | QString tmpStr; |
264 | QString copyfrom[ WIDGETS ]; | 252 | QString copyfrom[ WIDGETS ]; |
265 | QString pixnames[ WIDGETS ]; // used for duplicate check | 253 | QString pixnames[ WIDGETS ]; // used for duplicate check |
266 | QString brdnames[ WIDGETS ]; | 254 | QString brdnames[ WIDGETS ]; |
267 | bool loaded[ WIDGETS ]; // used for preloading for CopyWidget | 255 | bool loaded[ WIDGETS ]; // used for preloading for CopyWidget |
268 | 256 | ||
269 | if ( configFileName.isEmpty() ) { | 257 | if ( configFileName.isEmpty() ) { |
270 | Config cfg ( "qpe" ); | 258 | Config cfg ( "qpe" ); |
271 | cfg. setGroup ( "Appearance" ); | 259 | cfg. setGroup ( "Appearance" ); |
272 | 260 | ||
273 | configFileName = cfg. readEntry ( "Theme", "default" ); | 261 | configFileName = cfg. readEntry ( "Theme", "default" ); |
274 | } | 262 | } |
275 | MyConfig config( configFilePath + "/themes/" + configFileName + ".themerc" , Config::File ); | 263 | Config config( configFilePath + "/themes/" + configFileName + ".themerc" , Config::File ); |
276 | 264 | ||
277 | //printf ( "Opened config file: %s\n", ( configFilePath + "/themes/" + configFileName + ".themerc" ). ascii()); | 265 | //printf ( "Opened config file: %s\n", ( configFilePath + "/themes/" + configFileName + ".themerc" ). ascii()); |
278 | 266 | ||
279 | // Are we initalized? | 267 | // Are we initalized? |
280 | applyMiscResourceGroup( &config ); | 268 | applyMiscResourceGroup( &config ); |
281 | for ( i = 0; i < INHERIT_ITEMS; ++i ) { | 269 | for ( i = 0; i < INHERIT_ITEMS; ++i ) { |
282 | applyResourceGroup( &config, i, copyfrom, pixnames, brdnames ); | 270 | applyResourceGroup( &config, i, copyfrom, pixnames, brdnames ); |
283 | // printf ( "%d [%s]: copy=%s, pix=%s, brd=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1() ); | 271 | // printf ( "%d [%s]: copy=%s, pix=%s, brd=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1() ); |
284 | } | 272 | } |
285 | for ( ; i < INHERIT_ITEMS*2; ++i ) { | 273 | for ( ; i < INHERIT_ITEMS*2; ++i ) { |
286 | if ( config.hasGroup( QString( widgetEntries[ i ] ) ) ) { | 274 | if ( config.hasGroup( QString( widgetEntries[ i ] ) ) ) { |
287 | applyResourceGroup( &config, i, copyfrom, pixnames, brdnames ); | 275 | applyResourceGroup( &config, i, copyfrom, pixnames, brdnames ); |
288 | // printf ( "%d [%s]: copy=%s, pix=%s, brd=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1() ); | 276 | // printf ( "%d [%s]: copy=%s, pix=%s, brd=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1() ); |
289 | } | 277 | } |
290 | else { | 278 | else { |
291 | copyfrom [ i ] = widgetEntries[ i - INHERIT_ITEMS ]; | 279 | copyfrom [ i ] = widgetEntries[ i - INHERIT_ITEMS ]; |
292 | // printf ( "%d [%s]: copy=%s\n", i, widgetEntries [i], copyfrom [i].latin1()); | 280 | // printf ( "%d [%s]: copy=%s\n", i, widgetEntries [i], copyfrom [i].latin1()); |
293 | } | 281 | } |
294 | } | 282 | } |
295 | for ( ; i < WIDGETS; ++i ) { | 283 | for ( ; i < WIDGETS; ++i ) { |
296 | applyResourceGroup( &config, i, copyfrom, pixnames, brdnames ); | 284 | applyResourceGroup( &config, i, copyfrom, pixnames, brdnames ); |
297 | // printf ( "%d [%s]: copy=%s, pix=%s, brd=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1() ); | 285 | // printf ( "%d [%s]: copy=%s, pix=%s, brd=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1() ); |
298 | } | 286 | } |
299 | 287 | ||
300 | // initalize defaults that may not be read | 288 | // initalize defaults that may not be read |
301 | for ( i = 0; i < WIDGETS; ++i ) | 289 | for ( i = 0; i < WIDGETS; ++i ) |
302 | loaded[ i ] = false; | 290 | loaded[ i ] = false; |
303 | btnXShift = btnYShift = focus3DOffset = 0; | 291 | btnXShift = btnYShift = focus3DOffset = 0; |
304 | aTabLine = iTabLine = true; | 292 | aTabLine = iTabLine = true; |
305 | roundedButton = roundedCombo = roundedSlider = focus3D = false; | 293 | roundedButton = roundedCombo = roundedSlider = focus3D = false; |
306 | splitterWidth = 10; | 294 | splitterWidth = 10; |
307 | 295 | ||