summaryrefslogtreecommitdiffabout
path: root/kaddressbook/details/look_details.cpp
Unidiff
Diffstat (limited to 'kaddressbook/details/look_details.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/details/look_details.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/kaddressbook/details/look_details.cpp b/kaddressbook/details/look_details.cpp
index 11d06e9..2c3a79d 100644
--- a/kaddressbook/details/look_details.cpp
+++ b/kaddressbook/details/look_details.cpp
@@ -1,419 +1,419 @@
1/* 1/*
2 This file is part of KAddressBook. 2 This file is part of KAddressBook.
3 Copyright (c) 1996-2002 Mirko Boehm <mirko@kde.org> 3 Copyright (c) 1996-2002 Mirko Boehm <mirko@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#include <kconfig.h> 24#include <kconfig.h>
25#include <kdebug.h> 25#include <kdebug.h>
26#include <kglobalsettings.h> 26#include <kglobalsettings.h>
27#include <kinstance.h> 27#include <kinstance.h>
28#include <klocale.h> 28#include <klocale.h>
29#include <kstandarddirs.h> 29#include <kstandarddirs.h>
30 30
31#include <qcursor.h> 31#include <qcursor.h>
32#include <qdir.h> 32#include <qdir.h>
33#include <qpainter.h> 33#include <qpainter.h>
34#include <qpopupmenu.h> 34#include <qpopupmenu.h>
35 35
36#include "global.h" 36#include "global.h"
37#include "kabentrypainter.h" 37#include "kabentrypainter.h"
38 38
39#include "look_details.h" 39#include "look_details.h"
40 40
41#define GRID 5 41#define GRID 5
42 42
43const QString KABDetailedView::mBorderedBGDir = "kab3part/backgrounds/bordered/"; 43const QString KABDetailedView::mBorderedBGDir = "kab3part/backgrounds/bordered/";
44const QString KABDetailedView::mTiledBGDir = "kab3part/backgrounds/tiled/"; 44const QString KABDetailedView::mTiledBGDir = "kab3part/backgrounds/tiled/";
45 45
46KABDetailedView::KABDetailedView( QWidget *parent, const char *name ) 46KABDetailedView::KABDetailedView( QWidget *parent, const char *name )
47 : KABBasicLook( parent, name ), mPainter( 0 ), mBackgroundStyle( None ), 47 : KABBasicLook( parent, name ), mPainter( 0 ), mBackgroundStyle( None ),
48 mDefaultBGColor( white ), mHeadLineBGColor( darkBlue ), 48 mDefaultBGColor( white ), mHeadLineBGColor( darkBlue ),
49 mHeadLineTextColor( yellow ), mGrid( 3 ), mMenuBorderedBG( 0 ), 49 mHeadLineTextColor( yellow ), mGrid( 3 ), mMenuBorderedBG( 0 ),
50 mMenuTiledBG( 0 ) 50 mMenuTiledBG( 0 )
51{ 51{
52 KToggleAction** actions[] = { 52 KToggleAction** actions[] = {
53 &mActionShowAddresses, 53 &mActionShowAddresses,
54 &mActionShowEmails, 54 &mActionShowEmails,
55 &mActionShowPhones, 55 &mActionShowPhones,
56 &mActionShowURLs 56 &mActionShowURLs
57 }; 57 };
58 58
59 QString actionTexts[] = { 59 QString actionTexts[] = {
60 i18n( "Show Postal Addresses" ), 60 i18n( "Show Postal Addresses" ),
61 i18n( "Show Email Addresses" ), 61 i18n( "Show Email Addresses" ),
62 i18n( "Show Telephone Numbers" ), 62 i18n( "Show Telephone Numbers" ),
63 i18n( "Show Web Pages (URLs)" ) 63 i18n( "Show Web Pages (URLs)" )
64 }; 64 };
65 65
66 QFont general = KGlobalSettings::generalMaxFont(); 66 QFont general = KGlobalSettings::generalMaxFont();
67 QFont fixed = KGlobalSettings::fixedFont(); 67 QFont fixed = KGlobalSettings::fixedFont();
68 QString gfont = general.family(); 68 QString gfont = general.family();
69 QString ffont = fixed.family(); 69 QString ffont = fixed.family();
70 70
71 int gpointsize = general.pixelSize(); 71 int gpointsize = general.pixelSize();
72 if ( gpointsize == -1 ) 72 if ( gpointsize == -1 )
73 gpointsize = general.pointSize(); 73 gpointsize = general.pointSize();
74 74
75 int fpointsize = fixed.pixelSize(); 75 int fpointsize = fixed.pixelSize();
76 if ( fpointsize == -1 ) 76 if ( fpointsize == -1 )
77 fpointsize = fixed.pointSize(); 77 fpointsize = fixed.pointSize();
78 78
79 mPainter = new KABEntryPainter; 79 mPainter = new KABEntryPainter;
80 80
81 mPainter->setForegroundColor( black ); 81 mPainter->setForegroundColor( black );
82 mPainter->setHeaderColor( mHeadLineTextColor ); 82 mPainter->setHeaderColor( mHeadLineTextColor );
83 mPainter->setUseHeaderColor( mUseHeadLineBGColor ); 83 mPainter->setUseHeaderColor( mUseHeadLineBGColor );
84 mPainter->setBackgroundColor( mHeadLineBGColor ); 84 mPainter->setBackgroundColor( mHeadLineBGColor );
85 85
86 mPainter->setHeaderFont( QFont( gfont, gpointsize + 4, QFont::Bold, true ) ); 86 mPainter->setHeaderFont( QFont( gfont, gpointsize + 4, QFont::Bold, true ) );
87 mPainter->setHeadLineFont( QFont( gfont, gpointsize + 2, QFont::Bold, true ) ); 87 mPainter->setHeadLineFont( QFont( gfont, gpointsize + 2, QFont::Bold, true ) );
88 mPainter->setBodyFont( QFont( gfont, gpointsize, QFont::Normal, false ) ); 88 mPainter->setBodyFont( QFont( gfont, gpointsize, QFont::Normal, false ) );
89 mPainter->setFixedFont( QFont( ffont, fpointsize, QFont::Normal, false ) ); 89 mPainter->setFixedFont( QFont( ffont, fpointsize, QFont::Normal, false ) );
90 mPainter->setCommentFont( QFont( gfont, gpointsize, QFont::Normal, false ) ); 90 mPainter->setCommentFont( QFont( gfont, gpointsize, QFont::Normal, false ) );
91 91
92 const int numActions = sizeof( actions ) / sizeof( actions[ 0 ] ); 92 const int numActions = sizeof( actions ) / sizeof( actions[ 0 ] );
93 93
94 for ( int count = 0; count < numActions; ++count ) { 94 for ( int count = 0; count < numActions; ++count ) {
95 *actions[ count ] = new KToggleAction( actionTexts[ count ] ); 95 *actions[ count ] = new KToggleAction( actionTexts[ count ] );
96 (*actions[ count ])->setChecked( true ); 96 (*actions[ count ])->setChecked( true );
97 } 97 }
98 98
99 setMouseTracking( true ); 99 setMouseTracking( true );
100 100
101 setBackgroundMode( NoBackground ); 101 setBackgroundMode( NoBackground );
102} 102}
103 103
104KABDetailedView::~KABDetailedView() 104KABDetailedView::~KABDetailedView()
105{ 105{
106 delete mPainter; 106 delete mPainter;
107 mPainter = 0; 107 mPainter = 0;
108} 108}
109 109
110bool KABDetailedView::getBackground( QString path, QPixmap& image ) 110bool KABDetailedView::getBackground( QString path, QPixmap& image )
111{ 111{
112 QMap<QString, QPixmap>::iterator pos; 112 QMap<QString, QPixmap>::iterator pos;
113 113
114 pos = mBackgroundMap.find( path ); 114 pos = mBackgroundMap.find( path );
115 if ( pos == mBackgroundMap.end() ) { // the image has not been loaded previously 115 if ( pos == mBackgroundMap.end() ) { // the image has not been loaded previously
116 if ( image.load( path ) ) { 116 if ( image.load( path ) ) {
117 mBackgroundMap[ path ] = image; 117 mBackgroundMap[ path ] = image;
118 return true; 118 return true;
119 } else 119 } else
120 return false; 120 return false;
121 } else { // image found in cache 121 } else { // image found in cache
122 image = pos.data(); 122 image = pos.data();
123 return true; 123 return true;
124 } 124 }
125} 125}
126 126
127void KABDetailedView::paintEvent( QPaintEvent* ) 127void KABDetailedView::paintEvent( QPaintEvent* )
128{ 128{
129 const int BorderSpace = mGrid; 129 const int BorderSpace = mGrid;
130 QPixmap pm( width(), height() ); 130 QPixmap pm( width(), height() );
131 QPainter p; 131 QPainter p;
132 132
133 QRect entryArea = QRect( BorderSpace, mGrid, width() - mGrid - BorderSpace, 133 QRect entryArea = QRect( BorderSpace, mGrid, width() - mGrid - BorderSpace,
134 height() - 2 * mGrid ); 134 height() - 2 * mGrid );
135 p.begin( &pm ); 135 p.begin( &pm );
136 136
137 p.setPen( darkBlue ); 137 p.setPen( darkBlue );
138 p.setBrush( mDefaultBGColor ); 138 p.setBrush( mDefaultBGColor );
139 p.drawRect( 0, 0, width(), height() ); 139 p.drawRect( 0, 0, width(), height() );
140 switch ( mBackgroundStyle ) { 140 switch ( mBackgroundStyle ) {
141 case Tiled: 141 case Tiled:
142 p.drawTiledPixmap( 1, 1, width() - 2, height() - 2, mCurrentBackground ); 142 p.drawTiledPixmap( 1, 1, width() - 2, height() - 2, mCurrentBackground );
143 break; 143 break;
144 case Bordered: 144 case Bordered:
145 p.drawTiledPixmap( 1, 1, QMIN( width() - 2, mCurrentBackground.width() ), 145 p.drawTiledPixmap( 1, 1, QMIN( width() - 2, mCurrentBackground.width() ),
146 height() - 2, mCurrentBackground ); 146 height() - 2, mCurrentBackground );
147 break; 147 break;
148 case None: // no BG image defined for this entry: 148 case None: // no BG image defined for this entry:
149 default: 149 default:
150 if ( mUseDefaultBGImage ) 150 if ( mUseDefaultBGImage )
151 p.drawTiledPixmap( 1, 1, width() - 2, height() - 2, mDefaultBGImage ); 151 p.drawTiledPixmap( 1, 1, width() - 2, height() - 2, mDefaultBGImage );
152 break; 152 break;
153 }; 153 };
154 154
155 p.setViewport( entryArea ); 155 p.setViewport( entryArea );
156 156
157 mPainter->setShowAddresses( mActionShowAddresses->isChecked() ); 157 mPainter->setShowAddresses( mActionShowAddresses->isChecked() );
158 mPainter->setShowEmails( mActionShowEmails->isChecked() ); 158 mPainter->setShowEmails( mActionShowEmails->isChecked() );
159 mPainter->setShowPhones( mActionShowPhones->isChecked() ); 159 mPainter->setShowPhones( mActionShowPhones->isChecked() );
160 mPainter->setShowURLs( mActionShowURLs->isChecked() ); 160 mPainter->setShowURLs( mActionShowURLs->isChecked() );
161 mPainter->printAddressee( addressee(), QRect( 0, 0, entryArea.width(), 161 mPainter->printAddressee( addressee(), QRect( 0, 0, entryArea.width(),
162 entryArea.height() ), &p ); 162 entryArea.height() ), &p );
163 p.end(); 163 p.end();
164 bitBlt( this, 0, 0, &pm ); 164 bitBlt( this, 0, 0, &pm );
165} 165}
166 166
167void KABDetailedView::mouseMoveEvent( QMouseEvent *e ) 167void KABDetailedView::mouseMoveEvent( QMouseEvent *e )
168{ 168{
169 QPoint bias( mGrid, mGrid ); 169 QPoint bias( mGrid, mGrid );
170 int rc; 170 int rc;
171 bool hit = false; 171 bool hit = false;
172 172
173 if ( ( rc = mPainter->hitsEmail( e->pos() - bias ) ) != -1 ) 173 if ( ( rc = mPainter->hitsEmail( e->pos() - bias ) ) != -1 )
174 hit = true; 174 hit = true;
175 else if ( ( rc = mPainter->hitsURL( e->pos() - bias ) ) != -1 ) 175 else if ( ( rc = mPainter->hitsURL( e->pos() - bias ) ) != -1 )
176 hit = true; 176 hit = true;
177 else if ( ( rc = mPainter->hitsPhone( e->pos() - bias ) ) != -1 ) 177 else if ( ( rc = mPainter->hitsPhone( e->pos() - bias ) ) != -1 )
178 hit = true; 178 hit = true;
179 else if ( ( rc = mPainter->hitsTalk( e->pos() - bias ) ) != -1 ) 179 else if ( ( rc = mPainter->hitsTalk( e->pos() - bias ) ) != -1 )
180 hit = true; 180 hit = true;
181 181
182 if ( hit ) { 182 if ( hit ) {
183 if ( cursor().shape() != PointingHandCursor ) 183 if ( cursor().shape() != PointingHandCursor )
184 setCursor( PointingHandCursor ); 184 setCursor( PointingHandCursor );
185 else if( cursor().shape() != ArrowCursor ) 185 else if( cursor().shape() != ArrowCursor )
186 setCursor(ArrowCursor); 186 setCursor(ArrowCursor);
187 } 187 }
188} 188}
189 189
190void KABDetailedView::mousePressEvent( QMouseEvent *e ) 190void KABDetailedView::mousePressEvent( QMouseEvent *e )
191{ 191{
192 QPopupMenu menu( this ); 192 Q3PopupMenu menu( this );
193 QPopupMenu *menuBG = new QPopupMenu( &menu ); 193 Q3PopupMenu *menuBG = new Q3PopupMenu( &menu );
194 mMenuBorderedBG = new QPopupMenu( &menu ); 194 mMenuBorderedBG = new Q3PopupMenu( &menu );
195 mMenuTiledBG = new QPopupMenu( &menu ); 195 mMenuTiledBG = new Q3PopupMenu( &menu );
196 196
197 menu.insertItem( i18n( "Select Background" ), menuBG ); 197 menu.insertItem( i18n( "Select Background" ), menuBG );
198 menuBG->insertItem( i18n( "Bordered Backgrounds" ), mMenuBorderedBG ); 198 menuBG->insertItem( i18n( "Bordered Backgrounds" ), mMenuBorderedBG );
199 menuBG->insertItem( i18n( "Tiled Backgrounds" ), mMenuTiledBG ); 199 menuBG->insertItem( i18n( "Tiled Backgrounds" ), mMenuTiledBG );
200 menu.insertSeparator(); 200 menu.insertSeparator();
201 201
202 QPoint point = e->pos() - QPoint( mGrid, mGrid ); 202 QPoint point = e->pos() - QPoint( mGrid, mGrid );
203 int rc; 203 int rc;
204 QStringList dirsBorderedBG, dirsTiledBG; 204 QStringList dirsBorderedBG, dirsTiledBG;
205 QDir dir; 205 QDir dir;
206 206
207 switch( e->button() ) { 207 switch( e->button() ) {
208 case QMouseEvent::RightButton: 208 case QMouseEvent::RightButton:
209 if ( isReadOnly() ) 209 if ( isReadOnly() )
210 menu.setItemEnabled( menu.idAt( 0 ), false ); 210 menu.setItemEnabled( menu.idAt( 0 ), false );
211 else { 211 else {
212 // TODO: settings need to be saved in view options 212 // TODO: settings need to be saved in view options
213 dirsBorderedBG = KGlobal::instance()->dirs()->findDirs( "data", mBorderedBGDir ); 213 dirsBorderedBG = KGlobal::instance()->dirs()->findDirs( "data", mBorderedBGDir );
214 if ( dirsBorderedBG.count() > 0 ) { 214 if ( dirsBorderedBG.count() > 0 ) {
215 dir.setPath( dirsBorderedBG[ 0 ] ); 215 dir.setPath( dirsBorderedBG[ 0 ] );
216 mBorders = dir.entryList( QDir::Files ); 216 mBorders = dir.entryList( QDir::Files );
217 for ( uint count = 0; count < mBorders.count(); ++count ) 217 for ( uint count = 0; count < mBorders.count(); ++count )
218 mMenuBorderedBG->insertItem( mBorders[ count ], count ); 218 mMenuBorderedBG->insertItem( mBorders[ count ], count );
219 219
220 connect( mMenuBorderedBG, SIGNAL( activated( int ) ), 220 connect( mMenuBorderedBG, SIGNAL( activated( int ) ),
221 SLOT( slotBorderedBGSelected( int ) ) ); 221 SLOT( slotBorderedBGSelected( int ) ) );
222 } else 222 } else
223 menuBG->setItemEnabled( menuBG->idAt( 0 ), false ); 223 menuBG->setItemEnabled( menuBG->idAt( 0 ), false );
224 224
225 dirsTiledBG = KGlobal::instance()->dirs()->findDirs( "data", mTiledBGDir ); 225 dirsTiledBG = KGlobal::instance()->dirs()->findDirs( "data", mTiledBGDir );
226 if ( dirsTiledBG.count() > 0 ) { 226 if ( dirsTiledBG.count() > 0 ) {
227 dir.setPath( dirsTiledBG[ 0 ] ); 227 dir.setPath( dirsTiledBG[ 0 ] );
228 mTiles = dir.entryList( QDir::Files ); 228 mTiles = dir.entryList( QDir::Files );
229 for ( uint count = 0; count < mTiles.count(); ++count ) 229 for ( uint count = 0; count < mTiles.count(); ++count )
230 mMenuTiledBG->insertItem( mTiles[ count ], count ); 230 mMenuTiledBG->insertItem( mTiles[ count ], count );
231 231
232 connect( mMenuTiledBG, SIGNAL( activated( int ) ), 232 connect( mMenuTiledBG, SIGNAL( activated( int ) ),
233 SLOT( slotTiledBGSelected( int ) ) ); 233 SLOT( slotTiledBGSelected( int ) ) );
234 } else 234 } else
235 menuBG->setItemEnabled( menuBG->idAt( 1 ), false ); 235 menuBG->setItemEnabled( menuBG->idAt( 1 ), false );
236 } 236 }
237 237
238 mActionShowAddresses->plug( &menu ); 238 mActionShowAddresses->plug( &menu );
239 mActionShowEmails->plug( &menu ); 239 mActionShowEmails->plug( &menu );
240 mActionShowPhones->plug( &menu ); 240 mActionShowPhones->plug( &menu );
241 mActionShowURLs->plug( &menu ); 241 mActionShowURLs->plug( &menu );
242 242
243 menu.exec( e->globalPos() ); 243 menu.exec( e->globalPos() );
244 break; 244 break;
245 245
246 case QMouseEvent::LeftButton: 246 case QMouseEvent::LeftButton:
247 // find whether the pointer touches an email address, URL, 247 // find whether the pointer touches an email address, URL,
248 // talk address or telephone number: 248 // talk address or telephone number:
249 if ( ( rc = mPainter->hitsEmail( point ) ) != -1 ) { 249 if ( ( rc = mPainter->hitsEmail( point ) ) != -1 ) {
250 emit sendEmail( addressee().emails()[ rc ] ); 250 emit sendEmail( addressee().emails()[ rc ] );
251 break; 251 break;
252 } 252 }
253 if ( ( rc = mPainter->hitsURL( point ) ) != -1 ) { 253 if ( ( rc = mPainter->hitsURL( point ) ) != -1 ) {
254 emit browse( addressee().url().prettyURL() ); 254 emit browse( addressee().url().prettyURL() );
255 break; 255 break;
256 } 256 }
257 if ( ( rc = mPainter->hitsPhone( point ) ) != -1 ) { 257 if ( ( rc = mPainter->hitsPhone( point ) ) != -1 ) {
258 // not implemented yet 258 // not implemented yet
259 break; 259 break;
260 } 260 }
261 if ( ( rc = mPainter->hitsTalk( point ) ) != -1 ) { 261 if ( ( rc = mPainter->hitsTalk( point ) ) != -1 ) {
262 // not implemented yet 262 // not implemented yet
263 break; 263 break;
264 } 264 }
265 break; 265 break;
266 default: 266 default:
267 break; 267 break;
268 } 268 }
269 269
270 mMenuBorderedBG = 0; 270 mMenuBorderedBG = 0;
271 mMenuTiledBG = 0; 271 mMenuTiledBG = 0;
272} 272}
273 273
274void KABDetailedView::setAddressee( const KABC::Addressee &addr ) 274void KABDetailedView::setAddressee( const KABC::Addressee &addr )
275{ 275{
276 BackgroundStyle style = None; 276 BackgroundStyle style = None;
277 QString dir, file, styleSetting; 277 QString dir, file, styleSetting;
278 KABBasicLook::setAddressee( addr ); 278 KABBasicLook::setAddressee( addr );
279 279
280 // TODO: preload path and styleSetting with possible preference values 280 // TODO: preload path and styleSetting with possible preference values
281 styleSetting = addressee().custom( "kab", "BackgroundStyle" ); 281 styleSetting = addressee().custom( "kab", "BackgroundStyle" );
282 style = (BackgroundStyle)styleSetting.toInt(); 282 style = (BackgroundStyle)styleSetting.toInt();
283 file = addressee().custom( "kab", "BackgroundImage" ); 283 file = addressee().custom( "kab", "BackgroundImage" );
284 if ( !file.isEmpty() ) { 284 if ( !file.isEmpty() ) {
285 switch ( style ) { 285 switch ( style ) {
286 case Tiled: 286 case Tiled:
287 dir = mTiledBGDir; 287 dir = mTiledBGDir;
288 break; 288 break;
289 case Bordered: 289 case Bordered:
290 dir = mBorderedBGDir; 290 dir = mBorderedBGDir;
291 break; 291 break;
292 case None: 292 case None:
293 default: 293 default:
294 break; 294 break;
295 } 295 }
296 296
297 QStringList dirs = KGlobal::instance()->dirs()->findDirs( "data", dir ); 297 QStringList dirs = KGlobal::instance()->dirs()->findDirs( "data", dir );
298 mBackgroundStyle = None; 298 mBackgroundStyle = None;
299 if ( !dirs.isEmpty() ) { 299 if ( !dirs.isEmpty() ) {
300 uint count = 0; 300 uint count = 0;
301 for ( ; count < dirs.count(); ++count ) { 301 for ( ; count < dirs.count(); ++count ) {
302 QDir folder; 302 QDir folder;
303 folder.setPath( dirs[ count ] ); 303 folder.setPath( dirs[ count ] );
304 file = folder.absPath() + "/" + file; 304 file = folder.absPath() + "/" + file;
305 if ( getBackground( file, mCurrentBackground ) ) { 305 if ( getBackground( file, mCurrentBackground ) ) {
306 mBackgroundStyle = style; 306 mBackgroundStyle = style;
307 break; 307 break;
308 } 308 }
309 } 309 }
310 310
311 if ( count == dirs.count() ) { 311 if ( count == dirs.count() ) {
312 kdDebug(5720) << "KABDetailedView::setEntry: " << file 312 kdDebug(5720) << "KABDetailedView::setEntry: " << file
313 << " not locatable." << endl; 313 << " not locatable." << endl;
314 } 314 }
315 } 315 }
316 } else { // no background here 316 } else { // no background here
317 mBackgroundStyle = None; 317 mBackgroundStyle = None;
318 mCurrentBackground.resize( 0, 0 ); 318 mCurrentBackground.resize( 0, 0 );
319 } 319 }
320 320
321 repaint( false ); 321 repaint( false );
322} 322}
323 323
324void KABDetailedView::slotBorderedBGSelected( int index ) 324void KABDetailedView::slotBorderedBGSelected( int index )
325{ 325{
326 if ( index >= 0 && (uint)index < mBorders.count() && !isReadOnly() ) { 326 if ( index >= 0 && (uint)index < mBorders.count() && !isReadOnly() ) {
327 // get the selection and make it a full path 327 // get the selection and make it a full path
328 QString path = mBorders[ index ]; 328 QString path = mBorders[ index ];
329 mBackgroundStyle = Bordered; 329 mBackgroundStyle = Bordered;
330 addressee().insertCustom( "kab", "BackgroundStyle", 330 addressee().insertCustom( "kab", "BackgroundStyle",
331 QString().setNum( mBackgroundStyle ) ); 331 QString().setNum( mBackgroundStyle ) );
332 addressee().insertCustom( "kab", "BackgroundImage", path ); 332 addressee().insertCustom( "kab", "BackgroundImage", path );
333 setAddressee( addressee() ); 333 setAddressee( addressee() );
334 } 334 }
335} 335}
336 336
337void KABDetailedView::slotTiledBGSelected( int index ) 337void KABDetailedView::slotTiledBGSelected( int index )
338{ 338{
339 if ( index >= 0 && (uint)index < mTiles.count() && !isReadOnly() ) { 339 if ( index >= 0 && (uint)index < mTiles.count() && !isReadOnly() ) {
340 QString path = mTiles[ index ]; 340 QString path = mTiles[ index ];
341 mBackgroundStyle = Tiled; 341 mBackgroundStyle = Tiled;
342 addressee().insertCustom( "kab", "BackgroundStyle", 342 addressee().insertCustom( "kab", "BackgroundStyle",
343 QString().setNum( mBackgroundStyle ) ); 343 QString().setNum( mBackgroundStyle ) );
344 addressee().insertCustom( "kab", "BackgroundImage", path ); 344 addressee().insertCustom( "kab", "BackgroundImage", path );
345 setAddressee( addressee() ); 345 setAddressee( addressee() );
346 } 346 }
347} 347}
348 348
349void KABDetailedView::setReadOnly( bool state ) 349void KABDetailedView::setReadOnly( bool state )
350{ 350{
351 KABBasicLook::setReadOnly( state ); 351 KABBasicLook::setReadOnly( state );
352 repaint( false ); 352 repaint( false );
353} 353}
354 354
355void KABDetailedView::restoreSettings( KConfig *config ) 355void KABDetailedView::restoreSettings( KConfig *config )
356{ 356{
357 QFont general = KGlobalSettings::generalFont(); 357 QFont general = KGlobalSettings::generalFont();
358 QFont fixed = KGlobalSettings::fixedFont(); 358 QFont fixed = KGlobalSettings::fixedFont();
359 QString gfont = general.family(); 359 QString gfont = general.family();
360 QString ffont = fixed.family(); 360 QString ffont = fixed.family();
361 361
362 int gpointsize = general.pixelSize(); 362 int gpointsize = general.pixelSize();
363 if ( gpointsize == -1 ) 363 if ( gpointsize == -1 )
364 gpointsize = general.pointSize(); 364 gpointsize = general.pointSize();
365 365
366 int fpointsize = fixed.pixelSize(); 366 int fpointsize = fixed.pixelSize();
367 if ( fpointsize == -1 ) 367 if ( fpointsize == -1 )
368 fpointsize = fixed.pointSize(); 368 fpointsize = fixed.pointSize();
369 369
370 config->setGroup( ConfigView ); 370 config->setGroup( ConfigView );
371 371
372 // load the default background image: 372 // load the default background image:
373 QString bgImage; 373 QString bgImage;
374 mUseDefaultBGImage = config->readBoolEntry( ConfigView_UseDefaultBackground, true ); 374 mUseDefaultBGImage = config->readBoolEntry( ConfigView_UseDefaultBackground, true );
375 mDefaultBGColor = config->readColorEntry( ConfigView_DefaultBackgroundColor, &white ); 375 mDefaultBGColor = config->readColorEntry( ConfigView_DefaultBackgroundColor, &white );
376 bgImage = config->readEntry( ConfigView_DefaultBackgroundImage, "konqueror/tiles/kenwimer.png" ); 376 bgImage = config->readEntry( ConfigView_DefaultBackgroundImage, "konqueror/tiles/kenwimer.png" );
377 377
378 if ( mUseDefaultBGImage ) { 378 if ( mUseDefaultBGImage ) {
379 uint count = 0; 379 uint count = 0;
380 QStringList dirs = KGlobal::instance()->dirs()->findDirs( "data", "/" ); 380 QStringList dirs = KGlobal::instance()->dirs()->findDirs( "data", "/" );
381 if ( !dirs.isEmpty() ) { 381 if ( !dirs.isEmpty() ) {
382 for ( count = 0; count < dirs.count(); ++count ) { 382 for ( count = 0; count < dirs.count(); ++count ) {
383 if ( getBackground( dirs[ count ] + "/" + bgImage, mDefaultBGImage ) ) 383 if ( getBackground( dirs[ count ] + "/" + bgImage, mDefaultBGImage ) )
384 break; 384 break;
385 } 385 }
386 } 386 }
387 387
388 if ( count == dirs.count() ) { 388 if ( count == dirs.count() ) {
389 mUseDefaultBGImage = getBackground( bgImage, mDefaultBGImage ); 389 mUseDefaultBGImage = getBackground( bgImage, mDefaultBGImage );
390 if ( !mUseDefaultBGImage ) 390 if ( !mUseDefaultBGImage )
391 kdDebug(5720) << "KABDetailedView::configure: " 391 kdDebug(5720) << "KABDetailedView::configure: "
392 << "default BG image selected, but could not be loaded." 392 << "default BG image selected, but could not be loaded."
393 << endl; 393 << endl;
394 } 394 }
395 } 395 }
396 396
397 mDefaultBGColor = config->readColorEntry( ConfigView_DefaultBackgroundColor, &white ); 397 mDefaultBGColor = config->readColorEntry( ConfigView_DefaultBackgroundColor, &white );
398 mHeadLineBGColor = config->readColorEntry( ConfigView_HeadlineBGColor, &darkBlue ); 398 mHeadLineBGColor = config->readColorEntry( ConfigView_HeadlineBGColor, &darkBlue );
399 mHeadLineTextColor = config->readColorEntry( ConfigView_HeadlineTextColor, &yellow ); 399 mHeadLineTextColor = config->readColorEntry( ConfigView_HeadlineTextColor, &yellow );
400 mUseHeadLineBGColor = config->readBoolEntry( ConfigView_UseHeadlineBGColor, true ); 400 mUseHeadLineBGColor = config->readBoolEntry( ConfigView_UseHeadlineBGColor, true );
401 401
402 if ( !mPainter ) 402 if ( !mPainter )
403 mPainter = new KABEntryPainter; 403 mPainter = new KABEntryPainter;
404 404
405 mPainter->setForegroundColor( black ); 405 mPainter->setForegroundColor( black );
406 mPainter->setHeaderColor( mHeadLineTextColor ); 406 mPainter->setHeaderColor( mHeadLineTextColor );
407 mPainter->setUseHeaderColor( mUseHeadLineBGColor ); 407 mPainter->setUseHeaderColor( mUseHeadLineBGColor );
408 mPainter->setBackgroundColor( mHeadLineBGColor ); 408 mPainter->setBackgroundColor( mHeadLineBGColor );
409 409
410 mPainter->setHeaderFont( QFont( gfont, gpointsize + 4, QFont::Bold, true ) ); 410 mPainter->setHeaderFont( QFont( gfont, gpointsize + 4, QFont::Bold, true ) );
411 mPainter->setHeadLineFont( QFont( gfont, gpointsize + 2, QFont::Bold, true ) ); 411 mPainter->setHeadLineFont( QFont( gfont, gpointsize + 2, QFont::Bold, true ) );
412 mPainter->setBodyFont( QFont( gfont, gpointsize, QFont::Normal, false ) ); 412 mPainter->setBodyFont( QFont( gfont, gpointsize, QFont::Normal, false ) );
413 mPainter->setFixedFont( QFont( ffont, fpointsize, QFont::Normal, false ) ); 413 mPainter->setFixedFont( QFont( ffont, fpointsize, QFont::Normal, false ) );
414 mPainter->setCommentFont( QFont( gfont, gpointsize, QFont::Normal, false ) ); 414 mPainter->setCommentFont( QFont( gfont, gpointsize, QFont::Normal, false ) );
415} 415}
416 416
417#ifndef KAB_EMBEDDED 417#ifndef KAB_EMBEDDED_
418#include "look_details.moc" 418#include "moc_look_details.cpp"
419#endif //KAB_EMBEDDED 419#endif //KAB_EMBEDDED