summaryrefslogtreecommitdiff
authorsandman <sandman>2002-12-22 17:19:22 (UTC)
committer sandman <sandman>2002-12-22 17:19:22 (UTC)
commitd7859bf6df42c36f87ecaa560754b3b3b3c2e78e (patch) (unidiff)
tree2419e9402ec70fb1e98a908b165c98b67b5b9e9a
parent275ce580b85be3b439bbb907efce5036c3282c56 (diff)
downloadopie-d7859bf6df42c36f87ecaa560754b3b3b3c2e78e.zip
opie-d7859bf6df42c36f87ecaa560754b3b3b3c2e78e.tar.gz
opie-d7859bf6df42c36f87ecaa560754b3b3b3c2e78e.tar.bz2
use the new Config::hasGroup method instead of a custom Config class
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/styles/theme/othemebase.cpp14
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)
65struct kthemeKeyData 65struct kthemeKeyData
66{ 66{
67unsigned int id : 67unsigned int id :
68 6; 68 6;
69unsigned int width : 69unsigned int width :
70 12; 70 12;
71unsigned int height : 71unsigned int height :
72 12; 72 12;
73unsigned int border : 73unsigned int border :
74 1; 74 1;
75unsigned int mask : 75unsigned int mask :
76 1; 76 1;
77}; 77};
78 78
79union kthemeKey{ 79union kthemeKey{
80 kthemeKeyData data; 80 kthemeKeyData data;
81 unsigned int cacheKey; 81 unsigned int cacheKey;
82}; 82};
83 83
84class MyConfig : public Config
85{
86public:
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
97void OThemeBase::generateBorderPix( int i ) 85void 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
255void OThemeBase::readConfig( Qt::GUIStyle /*style*/ ) 243void 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