summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/styles/theme/othemebase.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/styles/theme/othemebase.cpp b/noncore/styles/theme/othemebase.cpp
index 58005b5..acac847 100644
--- a/noncore/styles/theme/othemebase.cpp
+++ b/noncore/styles/theme/othemebase.cpp
@@ -184,211 +184,211 @@ void OThemeBase::generateBorderPix( int i )
184 pbWidth[ i ], pbWidth[ i ], pbPixmaps[ i ] ->height() - pbWidth[ i ] * 2, 184 pbWidth[ i ], pbWidth[ i ], pbPixmaps[ i ] ->height() - pbWidth[ i ] * 2,
185 Qt::CopyROP, false ); 185 Qt::CopyROP, false );
186 tmp.setMask( destMask ); 186 tmp.setMask( destMask );
187 } 187 }
188 pbPixmaps[ i ] ->setBorder( OThemePixmap::Right, tmp ); 188 pbPixmaps[ i ] ->setBorder( OThemePixmap::Right, tmp );
189 } 189 }
190 else 190 else
191 qDebug ( "OThemeBase: Tried making border from empty pixmap" ); 191 qDebug ( "OThemeBase: Tried making border from empty pixmap" );
192} 192}
193 193
194 194
195void OThemeBase::copyWidgetConfig( int sourceID, int destID, QString *pixnames, 195void OThemeBase::copyWidgetConfig( int sourceID, int destID, QString *pixnames,
196 QString *brdnames ) 196 QString *brdnames )
197{ 197{
198 scaleHints[ destID ] = scaleHints[ sourceID ]; 198 scaleHints[ destID ] = scaleHints[ sourceID ];
199 gradients[ destID ] = gradients[ sourceID ]; 199 gradients[ destID ] = gradients[ sourceID ];
200 blends[ destID ] = blends[ sourceID ]; 200 blends[ destID ] = blends[ sourceID ];
201 bContrasts[ destID ] = bContrasts[ sourceID ]; 201 bContrasts[ destID ] = bContrasts[ sourceID ];
202 borders[ destID ] = borders[ sourceID ]; 202 borders[ destID ] = borders[ sourceID ];
203 highlights[ destID ] = highlights[ sourceID ]; 203 highlights[ destID ] = highlights[ sourceID ];
204 204
205 if ( grLowColors[ sourceID ] ) 205 if ( grLowColors[ sourceID ] )
206 grLowColors[ destID ] = new QColor( *grLowColors[ sourceID ] ); 206 grLowColors[ destID ] = new QColor( *grLowColors[ sourceID ] );
207 else 207 else
208 grLowColors[ destID ] = NULL; 208 grLowColors[ destID ] = NULL;
209 209
210 if ( grHighColors[ sourceID ] ) 210 if ( grHighColors[ sourceID ] )
211 grHighColors[ destID ] = new QColor( *grHighColors[ sourceID ] ); 211 grHighColors[ destID ] = new QColor( *grHighColors[ sourceID ] );
212 else 212 else
213 grHighColors[ destID ] = NULL; 213 grHighColors[ destID ] = NULL;
214 214
215 if ( colors[ sourceID ] ) 215 if ( colors[ sourceID ] )
216 colors[ destID ] = new QColorGroup( *colors[ sourceID ] ); 216 colors[ destID ] = new QColorGroup( *colors[ sourceID ] );
217 else 217 else
218 colors[ destID ] = NULL; 218 colors[ destID ] = NULL;
219 219
220 // pixmap 220 // pixmap
221 pixnames[ destID ] = pixnames[ sourceID ]; 221 pixnames[ destID ] = pixnames[ sourceID ];
222 duplicate[ destID ] = false; 222 duplicate[ destID ] = false;
223 pixmaps[ destID ] = NULL; 223 pixmaps[ destID ] = NULL;
224 images[ destID ] = NULL; 224 images[ destID ] = NULL;
225 if ( !pixnames[ destID ].isEmpty() ) { 225 if ( !pixnames[ destID ].isEmpty() ) {
226 if ( scaleHints[ sourceID ] == TileScale && blends[ sourceID ] == 0.0 ) { 226 if ( scaleHints[ sourceID ] == TileScale && blends[ sourceID ] == 0.0 ) {
227 pixmaps[ destID ] = pixmaps[ sourceID ]; 227 pixmaps[ destID ] = pixmaps[ sourceID ];
228 duplicate[ destID ] = true; 228 duplicate[ destID ] = true;
229 } 229 }
230 if ( !duplicate[ destID ] ) { 230 if ( !duplicate[ destID ] ) {
231 pixmaps[ destID ] = loadPixmap( pixnames[ destID ] ); 231 pixmaps[ destID ] = loadPixmap( pixnames[ destID ] );
232 if ( scaleHints[ destID ] == TileScale && blends[ destID ] == 0.0 ) 232 if ( scaleHints[ destID ] == TileScale && blends[ destID ] == 0.0 )
233 images[ destID ] = NULL; 233 images[ destID ] = NULL;
234 else 234 else
235 images[ destID ] = loadImage( pixnames[ destID ] ); 235 images[ destID ] = loadImage( pixnames[ destID ] );
236 } 236 }
237 } 237 }
238 238
239 // border pixmap 239 // border pixmap
240 pbDuplicate[ destID ] = false; 240 pbDuplicate[ destID ] = false;
241 pbPixmaps[ destID ] = NULL; 241 pbPixmaps[ destID ] = NULL;
242 pbWidth[ destID ] = pbWidth[ sourceID ]; 242 pbWidth[ destID ] = pbWidth[ sourceID ];
243 brdnames[ destID ] = brdnames[ sourceID ]; 243 brdnames[ destID ] = brdnames[ sourceID ];
244 if ( !brdnames[ destID ].isEmpty() ) { 244 if ( !brdnames[ destID ].isEmpty() ) {
245 pbPixmaps[ destID ] = pbPixmaps[ sourceID ]; 245 pbPixmaps[ destID ] = pbPixmaps[ sourceID ];
246 pbDuplicate[ destID ] = true; 246 pbDuplicate[ destID ] = true;
247 } 247 }
248 248
249 if ( sourceID == ActiveTab && destID == InactiveTab ) 249 if ( sourceID == ActiveTab && destID == InactiveTab )
250 aTabLine = iTabLine; 250 aTabLine = iTabLine;
251 else if ( sourceID == InactiveTab && destID == ActiveTab ) 251 else if ( sourceID == InactiveTab && destID == ActiveTab )
252 iTabLine = aTabLine; 252 iTabLine = aTabLine;
253} 253}
254 254
255void OThemeBase::readConfig( Qt::GUIStyle /*style*/ ) 255void OThemeBase::readConfig( Qt::GUIStyle /*style*/ )
256{ 256{
257#define PREBLEND_ITEMS 12 257#define PREBLEND_ITEMS 12
258 static WidgetType preBlend[] = {Slider, IndicatorOn, IndicatorOff, 258 static WidgetType preBlend[] = {Slider, IndicatorOn, IndicatorOff,
259 ExIndicatorOn, ExIndicatorOff, HScrollDeco, VScrollDeco, HScrollDecoDown, 259 ExIndicatorOn, ExIndicatorOff, HScrollDeco, VScrollDeco, HScrollDecoDown,
260 VScrollDecoDown, ComboDeco, ComboDecoDown, CheckMark}; 260 VScrollDecoDown, ComboDeco, ComboDecoDown, CheckMark};
261 261
262 int i; 262 int i;
263 QString tmpStr; 263 QString tmpStr;
264 QString copyfrom[ WIDGETS ]; 264 QString copyfrom[ WIDGETS ];
265 QString pixnames[ WIDGETS ]; // used for duplicate check 265 QString pixnames[ WIDGETS ]; // used for duplicate check
266 QString brdnames[ WIDGETS ]; 266 QString brdnames[ WIDGETS ];
267 bool loaded[ WIDGETS ]; // used for preloading for CopyWidget 267 bool loaded[ WIDGETS ]; // used for preloading for CopyWidget
268 268
269 if ( configFileName.isEmpty() ) { 269 if ( configFileName.isEmpty() ) {
270 Config cfg ( "qpe" ); 270 Config cfg ( "qpe" );
271 cfg. setGroup ( "Appearance" ); 271 cfg. setGroup ( "Appearance" );
272 272
273 configFileName = cfg. readEntry ( "Theme", "default" ); 273 configFileName = cfg. readEntry ( "Theme", "default" );
274 } 274 }
275 MyConfig config( configFilePath + "/themes/" + configFileName + ".themerc" , Config::File ); 275 MyConfig config( configFilePath + "/themes/" + configFileName + ".themerc" , Config::File );
276 276
277 //printf ( "Opened config file: %s\n", ( configFilePath + "/themes/" + configFileName + ".themerc" ). ascii()); 277 //printf ( "Opened config file: %s\n", ( configFilePath + "/themes/" + configFileName + ".themerc" ). ascii());
278 278
279 // Are we initalized? 279 // Are we initalized?
280 applyMiscResourceGroup( &config );
280 for ( i = 0; i < INHERIT_ITEMS; ++i ) { 281 for ( i = 0; i < INHERIT_ITEMS; ++i ) {
281 applyResourceGroup( &config, i, copyfrom, pixnames, brdnames ); 282 applyResourceGroup( &config, i, copyfrom, pixnames, brdnames );
282 // printf ( "%d [%s]: copy=%s, pix=%s, brd=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1() ); 283 // printf ( "%d [%s]: copy=%s, pix=%s, brd=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1() );
283 } 284 }
284 for ( ; i < INHERIT_ITEMS*2; ++i ) { 285 for ( ; i < INHERIT_ITEMS*2; ++i ) {
285 if ( config.hasGroup( QString( widgetEntries[ i ] ) ) ) { 286 if ( config.hasGroup( QString( widgetEntries[ i ] ) ) ) {
286 applyResourceGroup( &config, i, copyfrom, pixnames, brdnames ); 287 applyResourceGroup( &config, i, copyfrom, pixnames, brdnames );
287 // printf ( "%d [%s]: copy=%s, pix=%s, brd=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1() ); 288 // printf ( "%d [%s]: copy=%s, pix=%s, brd=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1() );
288 } 289 }
289 else { 290 else {
290 copyfrom [ i ] = widgetEntries[ i - INHERIT_ITEMS ]; 291 copyfrom [ i ] = widgetEntries[ i - INHERIT_ITEMS ];
291 // printf ( "%d [%s]: copy=%s\n", i, widgetEntries [i], copyfrom [i].latin1()); 292 // printf ( "%d [%s]: copy=%s\n", i, widgetEntries [i], copyfrom [i].latin1());
292 } 293 }
293 } 294 }
294 for ( ; i < WIDGETS; ++i ) { 295 for ( ; i < WIDGETS; ++i ) {
295 applyResourceGroup( &config, i, copyfrom, pixnames, brdnames ); 296 applyResourceGroup( &config, i, copyfrom, pixnames, brdnames );
296 // printf ( "%d [%s]: copy=%s, pix=%s, brd=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1() ); 297 // printf ( "%d [%s]: copy=%s, pix=%s, brd=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1() );
297 } 298 }
298 applyMiscResourceGroup( &config );
299 299
300 // initalize defaults that may not be read 300 // initalize defaults that may not be read
301 for ( i = 0; i < WIDGETS; ++i ) 301 for ( i = 0; i < WIDGETS; ++i )
302 loaded[ i ] = false; 302 loaded[ i ] = false;
303 btnXShift = btnYShift = focus3DOffset = 0; 303 btnXShift = btnYShift = focus3DOffset = 0;
304 aTabLine = iTabLine = true; 304 aTabLine = iTabLine = true;
305 roundedButton = roundedCombo = roundedSlider = focus3D = false; 305 roundedButton = roundedCombo = roundedSlider = focus3D = false;
306 splitterWidth = 10; 306 splitterWidth = 10;
307 307
308 for ( i = 0; i < WIDGETS; ++i ) { 308 for ( i = 0; i < WIDGETS; ++i ) {
309 readResourceGroup( i, copyfrom, pixnames, brdnames, loaded ); 309 readResourceGroup( i, copyfrom, pixnames, brdnames, loaded );
310 // printf ( "%d [%s]: copy=%s, pix=%s, brd=%s, colors=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1(), (colors[i]?colors[i]->background().name().latin1():"<none)" )); 310 // printf ( "%d [%s]: copy=%s, pix=%s, brd=%s, colors=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1(), (colors[i]?colors[i]->background().name().latin1():"<none)" ));
311 } 311 }
312 312
313 // misc items 313 // misc items
314 readMiscResourceGroup(); 314 readMiscResourceGroup();
315 315
316 // Handle preblend items 316 // Handle preblend items
317 for ( i = 0; i < PREBLEND_ITEMS; ++i ) { 317 for ( i = 0; i < PREBLEND_ITEMS; ++i ) {
318 if ( pixmaps[ preBlend[ i ] ] != NULL && blends[ preBlend[ i ] ] != 0.0 ) 318 if ( pixmaps[ preBlend[ i ] ] != NULL && blends[ preBlend[ i ] ] != 0.0 )
319 blend( preBlend[ i ] ); 319 blend( preBlend[ i ] );
320 } 320 }
321} 321}
322 322
323OThemeBase::OThemeBase( const QString & configFile ) 323OThemeBase::OThemeBase( const QString & configFile )
324 : QWindowsStyle() 324 : QWindowsStyle()
325{ 325{
326 configFilePath = QPEApplication::qpeDir ( ) + "/plugins/styles/"; 326 configFilePath = QPEApplication::qpeDir ( ) + "/plugins/styles/";
327 configFileName = configFile; 327 configFileName = configFile;
328 328
329 readConfig( Qt::WindowsStyle ); 329 readConfig( Qt::WindowsStyle );
330 cache = new OThemeCache( cacheSize ); 330 cache = new OThemeCache( cacheSize );
331} 331}
332 332
333void OThemeBase::applyConfigFile( const QString &/*file*/ ) 333void OThemeBase::applyConfigFile( const QString &/*file*/ )
334{ 334{
335#if 0 335#if 0
336 // handle std color scheme 336 // handle std color scheme
337 Config inConfig( file, Config::File ); 337 Config inConfig( file, Config::File );
338 Config globalConfig ( "qpe" ); 338 Config globalConfig ( "qpe" );
339 339
340 globalConfig. setGroup ( "Apperance" ); 340 globalConfig. setGroup ( "Apperance" );
341 inConfig. setGroup( "General" ); 341 inConfig. setGroup( "General" );
342 342
343 if ( inConfig.hasKey( "foreground" ) ) 343 if ( inConfig.hasKey( "foreground" ) )
344 globalConfig.writeEntry( "Text", inConfig.readEntry( "foreground", " " ) ); 344 globalConfig.writeEntry( "Text", inConfig.readEntry( "foreground", " " ) );
345 if ( inConfig.hasKey( "background" ) ) 345 if ( inConfig.hasKey( "background" ) )
346 globalConfig.writeEntry( "Background", inConfig.readEntry( "background", " " ) ); 346 globalConfig.writeEntry( "Background", inConfig.readEntry( "background", " " ) );
347 if ( inConfig.hasKey( "selectForeground" ) ) 347 if ( inConfig.hasKey( "selectForeground" ) )
348 globalConfig.writeEntry( "HighlightedText", inConfig.readEntry( "selectForeground", " " ) ); 348 globalConfig.writeEntry( "HighlightedText", inConfig.readEntry( "selectForeground", " " ) );
349 if ( inConfig.hasKey( "selectBackground" ) ) 349 if ( inConfig.hasKey( "selectBackground" ) )
350 globalConfig.writeEntry( "Highlight", inConfig.readEntry( "selectBackground", " " ) ); 350 globalConfig.writeEntry( "Highlight", inConfig.readEntry( "selectBackground", " " ) );
351 if ( inConfig.hasKey( "windowForeground" ) ) 351 if ( inConfig.hasKey( "windowForeground" ) )
352 globalConfig.writeEntry( "Text", inConfig.readEntry( "windowForeground", " " ) ); 352 globalConfig.writeEntry( "Text", inConfig.readEntry( "windowForeground", " " ) );
353 if ( inConfig.hasKey( "windowBackground" ) ) 353 if ( inConfig.hasKey( "windowBackground" ) )
354 globalConfig.writeEntry( "Base", inConfig.readEntry( "windowBackground", " " ) ); 354 globalConfig.writeEntry( "Base", inConfig.readEntry( "windowBackground", " " ) );
355 355
356 // Keep track of the current theme so that we can select the right one 356 // Keep track of the current theme so that we can select the right one
357 // in the KControl module. 357 // in the KControl module.
358 globalConfig.writeEntry ( "CurrentTheme", file ); 358 globalConfig.writeEntry ( "CurrentTheme", file );
359 359
360 globalConfig.write(); 360 globalConfig.write();
361#endif 361#endif
362} 362}
363 363
364OThemeBase::~OThemeBase() 364OThemeBase::~OThemeBase()
365{ 365{
366 int i; 366 int i;
367 for ( i = 0; i < WIDGETS; ++i ) { 367 for ( i = 0; i < WIDGETS; ++i ) {
368 if ( !duplicate[ i ] ) { 368 if ( !duplicate[ i ] ) {
369 if ( images[ i ] ) 369 if ( images[ i ] )
370 delete images[ i ]; 370 delete images[ i ];
371 if ( pixmaps[ i ] ) 371 if ( pixmaps[ i ] )
372 delete pixmaps[ i ]; 372 delete pixmaps[ i ];
373 } 373 }
374 if ( !pbDuplicate[ i ] && pbPixmaps[ i ] ) 374 if ( !pbDuplicate[ i ] && pbPixmaps[ i ] )
375 delete pbPixmaps[ i ]; 375 delete pbPixmaps[ i ];
376 if ( colors[ i ] ) 376 if ( colors[ i ] )
377 delete( colors[ i ] ); 377 delete( colors[ i ] );
378 if ( grLowColors[ i ] ) 378 if ( grLowColors[ i ] )
379 delete( grLowColors[ i ] ); 379 delete( grLowColors[ i ] );
380 if ( grHighColors[ i ] ) 380 if ( grHighColors[ i ] )
381 delete( grHighColors[ i ] ); 381 delete( grHighColors[ i ] );
382 } 382 }
383 delete cache; 383 delete cache;
384} 384}
385 385
386QImage* OThemeBase::loadImage( QString &name ) 386QImage* OThemeBase::loadImage( QString &name )
387{ 387{
388 QImage * image = new QImage; 388 QImage * image = new QImage;
389 QString path = configFilePath + "/pixmaps/" + name; 389 QString path = configFilePath + "/pixmaps/" + name;
390 image->load( path ); 390 image->load( path );
391 if ( !image->isNull() ) 391 if ( !image->isNull() )
392 return ( image ); 392 return ( image );
393 qDebug ( "OThemeBase: Unable to load image %s\n", name.ascii ( ) ); 393 qDebug ( "OThemeBase: Unable to load image %s\n", name.ascii ( ) );
394 delete image; 394 delete image;