summaryrefslogtreecommitdiffabout
path: root/kaddressbook/kcmconfigs
Unidiff
Diffstat (limited to 'kaddressbook/kcmconfigs') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kcmconfigs/kabconfigwidget.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/kaddressbook/kcmconfigs/kabconfigwidget.cpp b/kaddressbook/kcmconfigs/kabconfigwidget.cpp
index 8bf9bb0..3ad2f74 100644
--- a/kaddressbook/kcmconfigs/kabconfigwidget.cpp
+++ b/kaddressbook/kcmconfigs/kabconfigwidget.cpp
@@ -1,401 +1,401 @@
1/* 1/*
2 This file is part of KAddressBook. 2 This file is part of KAddressBook.
3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> 3 Copyright (c) 2003 Tobias Koenig <tokoe@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 <qcheckbox.h> 24#include <qcheckbox.h>
25#include <qframe.h> 25#include <qframe.h>
26#include <qgroupbox.h> 26#include <qgroupbox.h>
27#include <qlayout.h> 27#include <qlayout.h>
28#include <qpushbutton.h> 28#include <qpushbutton.h>
29#include <qtabwidget.h> 29#include <qtabwidget.h>
30#include <qcombobox.h> 30#include <qcombobox.h>
31#include <qlineedit.h> 31#include <qlineedit.h>
32#include <qlabel.h> 32#include <qlabel.h>
33#include <qfile.h> 33#include <qfile.h>
34#include <qvbox.h> 34#include <qvbox.h>
35 35
36#include <kconfig.h> 36#include <kconfig.h>
37#include <kdebug.h> 37#include <kdebug.h>
38#include <kdialog.h> 38#include <kdialog.h>
39#include <klistview.h> 39#include <klistview.h>
40#include <klocale.h> 40#include <klocale.h>
41#include <kglobal.h> 41#include <kglobal.h>
42#include <kmessagebox.h> 42#include <kmessagebox.h>
43#include <kstandarddirs.h> 43#include <kstandarddirs.h>
44 44
45#ifndef KAB_EMBEDDED 45#ifndef KAB_EMBEDDED
46#include <ktrader.h> 46#include <ktrader.h>
47#else // KAB_EMBEDDED 47#else // KAB_EMBEDDED
48#include <mergewidget.h> 48#include <mergewidget.h>
49#include <distributionlistwidget.h> 49#include <distributionlistwidget.h>
50#endif // KAB_EMBEDDED 50#endif // KAB_EMBEDDED
51 51
52#include "addresseewidget.h" 52#include "addresseewidget.h"
53#include "extensionconfigdialog.h" 53#include "extensionconfigdialog.h"
54#include "extensionwidget.h" 54#include "extensionwidget.h"
55#include "kabprefs.h" 55#include "kabprefs.h"
56 56
57#include "kabconfigwidget.h" 57#include "kabconfigwidget.h"
58 58
59class ExtensionItem : public QCheckListItem 59class ExtensionItem : public QCheckListItem
60{ 60{
61 public: 61 public:
62 62
63#ifndef KAB_EMBEDDED 63#ifndef KAB_EMBEDDED
64 ExtensionItem( QListView *parent, const QString &text ); 64 ExtensionItem( QListView *parent, const QString &text );
65 void setService( const KService::Ptr &ptr ); 65 void setService( const KService::Ptr &ptr );
66#else //KAB_EMBEDDED 66#else //KAB_EMBEDDED
67 ExtensionItem( QListView *parent, const QString &text, const QString &name, const QString &comment ); 67 ExtensionItem( QListView *parent, const QString &text, const QString &name, const QString &comment );
68 void setFactory( ExtensionFactory* fac ); 68 void setFactory( ExtensionFactory* fac );
69#endif //KAB_EMBEDDED 69#endif //KAB_EMBEDDED
70 70
71 bool configWidgetAvailable() const; 71 bool configWidgetAvailable() const;
72 ExtensionFactory *factory() const; 72 ExtensionFactory *factory() const;
73 73
74 virtual QString text( int column ) const; 74 virtual QString text( int column ) const;
75 75
76 private: 76 private:
77#ifndef KAB_EMBEDDED 77#ifndef KAB_EMBEDDED
78 KService::Ptr mPtr; 78 KService::Ptr mPtr;
79#else //KAB_EMBEDDED 79#else //KAB_EMBEDDED
80 ExtensionFactory* mFactory; 80 ExtensionFactory* mFactory;
81 QString mName; 81 QString mName;
82 QString mComment; 82 QString mComment;
83 83
84#endif //KAB_EMBEDDED 84#endif //KAB_EMBEDDED
85 85
86}; 86};
87 87
88KABConfigWidget::KABConfigWidget( KABPrefs* prefs, QWidget *parent, const char *name ) 88KABConfigWidget::KABConfigWidget( KABPrefs* prefs, QWidget *parent, const char *name )
89 : KPrefsWidget( prefs, parent, name ) 89 : KPrefsWidget( prefs, parent, name )
90{ 90{
91 QVBoxLayout *topLayout = new QVBoxLayout( this, 0, 91 QVBoxLayout *topLayout = new QVBoxLayout( this, 0,
92 KDialog::spacingHint() ); 92 KDialog::spacingHint() );
93 93
94 QTabWidget *tabWidget = new QTabWidget( this ); 94 QTabWidget *tabWidget = new QTabWidget( this );
95 topLayout->addWidget( tabWidget ); 95 topLayout->addWidget( tabWidget );
96 96
97 // General page 97 // General page
98 QWidget *generalPage = new QWidget( this ); 98 QWidget *generalPage = new QWidget( this );
99 QVBoxLayout *layout = new QVBoxLayout( generalPage, KDialog::marginHintSmall(), 99 QVBoxLayout *layout = new QVBoxLayout( generalPage, KDialog::marginHintSmall(),
100 KDialog::spacingHintSmall() ); 100 KDialog::spacingHintSmall() );
101 101
102 102
103 QWidget *hBox = new QWidget( generalPage, "qhbox" ); 103 QWidget *hBox = new QWidget( generalPage, "qhbox" );
104 QHBoxLayout *hboxLayout = new QHBoxLayout( hBox); 104 QHBoxLayout *hboxLayout = new QHBoxLayout( hBox);
105 KPrefsWidFont *detailsFont = 105 KPrefsWidFont *detailsFont =
106 addWidFont(i18n("phone:123"),i18n("Details view font"), 106 addWidFont(i18n("phone:123"),i18n("Details view font"),
107 &(KABPrefs::instance()->mDetailsFont),hBox); 107 &(KABPrefs::instance()->mDetailsFont),hBox);
108 hboxLayout->addWidget(detailsFont->label()); 108 hboxLayout->addWidget(detailsFont->label());
109 hboxLayout->addWidget(detailsFont->preview()); 109 hboxLayout->addWidget(detailsFont->preview());
110 hboxLayout->addWidget(detailsFont->button()); 110 hboxLayout->addWidget(detailsFont->button());
111 hboxLayout->setMargin(KDialog::marginHintSmall() ); 111 hboxLayout->setMargin(KDialog::marginHintSmall() );
112 hboxLayout->setSpacing(KDialog::spacingHintSmall()); 112 hboxLayout->setSpacing(KDialog::spacingHintSmall());
113 //hBox->setBackgroundColor( black); 113 //hBox->setBackgroundColor( black);
114 layout->addWidget( hBox ); 114 layout->addWidget( hBox );
115 115
116 //general groupbox 116 //general groupbox
117 QWidget *vBox = new QWidget( generalPage, "qvbox" ); 117 QWidget *vBox = new QWidget( generalPage, "qvbox" );
118 QVBoxLayout *boxLayout = new QVBoxLayout( vBox ); 118 QVBoxLayout *boxLayout = new QVBoxLayout( vBox );
119 boxLayout->setAlignment( Qt::AlignTop ); 119 boxLayout->setAlignment( Qt::AlignTop );
120 boxLayout->setMargin(KDialog::marginHintSmall() ); 120 boxLayout->setMargin(KDialog::marginHintSmall() );
121 boxLayout->setSpacing( KDialog::spacingHintSmall() ); 121 boxLayout->setSpacing( KDialog::spacingHintSmall() );
122 mMenuBarBox = new QCheckBox( i18n( "Full Menu bar (restart)" ), vBox, "mremenuturn" ); 122 mMenuBarBox = new QCheckBox( i18n( "Full Menu bar (restart)" ), vBox, "mremenuturn" );
123 boxLayout->addWidget( mMenuBarBox ); 123 boxLayout->addWidget( mMenuBarBox );
124 mSearchReturnBox = new QCheckBox( i18n( "Search only after <return> key pressed" ), vBox, "mreturn" ); 124 mSearchReturnBox = new QCheckBox( i18n( "Search only after <return> key pressed" ), vBox, "mreturn" );
125 boxLayout->addWidget( mSearchReturnBox ); 125 boxLayout->addWidget( mSearchReturnBox );
126 mViewsSingleClickBox = new QCheckBox( i18n( "Honor KDE single click" ), vBox, "msingle" ); 126 mViewsSingleClickBox = new QCheckBox( i18n( "Honor KDE single click" ), vBox, "msingle" );
127 boxLayout->addWidget( mViewsSingleClickBox ); 127 boxLayout->addWidget( mViewsSingleClickBox );
128 128
129 mNameParsing = new QCheckBox( i18n( "Automatic name parsing for new addressees" ), vBox, "mparse" ); 129 mNameParsing = new QCheckBox( i18n( "Automatic name parsing for new addressees" ), vBox, "mparse" );
130 boxLayout->addWidget( mNameParsing ); 130 boxLayout->addWidget( mNameParsing );
131 131
132 mMultipleViewsAtOnce = new QCheckBox( i18n( "Display List and Details at once (restart)" ), vBox, "mdisplay" ); 132 mMultipleViewsAtOnce = new QCheckBox( i18n( "Display List and Details at once (restart)" ), vBox, "mdisplay" );
133 boxLayout->addWidget( mMultipleViewsAtOnce ); 133 boxLayout->addWidget( mMultipleViewsAtOnce );
134 134
135 mAskForQuit = new QCheckBox( i18n( "Ask for quit when closing Ka/Pi" ), vBox, "mquit" ); 135 mAskForQuit = new QCheckBox( i18n( "Ask for quit when closing Ka/Pi" ), vBox, "mquit" );
136 boxLayout->addWidget( mAskForQuit ); 136 boxLayout->addWidget( mAskForQuit );
137 137
138 layout->addWidget( vBox ); 138 layout->addWidget( vBox );
139 139
140 tabWidget->addTab( generalPage, i18n( "General" ) ); 140 tabWidget->addTab( generalPage, i18n( "General" ) );
141 141
142 // Extension page 142 // Extension page
143 QWidget *extensionPage = new QWidget( this ); 143 QWidget *extensionPage = new QWidget( this );
144 QVBoxLayout *extensionLayout = new QVBoxLayout( extensionPage, KDialog::marginHintSmall(), 144 QVBoxLayout *extensionLayout = new QVBoxLayout( extensionPage, KDialog::marginHintSmall(),
145 KDialog::spacingHintSmall() ); 145 KDialog::spacingHintSmall() );
146 146
147 //extensions groupbox 147 //extensions groupbox
148 148
149 QGroupBox* groupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Extensions (restart)" ), extensionPage ); 149 QGroupBox* groupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Extensions (restart)" ), extensionPage );
150 boxLayout = new QVBoxLayout( groupBox->layout() ); 150 boxLayout = new QVBoxLayout( groupBox->layout() );
151 boxLayout->setAlignment( Qt::AlignTop ); 151 boxLayout->setAlignment( Qt::AlignTop );
152 boxLayout->setMargin(KDialog::marginHintSmall()); 152 boxLayout->setMargin(KDialog::marginHintSmall());
153 boxLayout->setSpacing(KDialog::spacingHintSmall()); 153 boxLayout->setSpacing(KDialog::spacingHintSmall());
154 groupBox->layout()->setMargin(1) ; 154 groupBox->layout()->setMargin(1) ;
155 groupBox->layout()->setSpacing(0); 155 groupBox->layout()->setSpacing(0);
156 mExtensionView = new KListView( groupBox ); 156 mExtensionView = new KListView( groupBox );
157 mExtensionView->setAllColumnsShowFocus( true ); 157 mExtensionView->setAllColumnsShowFocus( true );
158 mExtensionView->addColumn( i18n( "Name" ) ); 158 mExtensionView->addColumn( i18n( "Name" ) );
159 mExtensionView->addColumn( i18n( "Description" ) ); 159 mExtensionView->addColumn( i18n( "Description" ) );
160 mExtensionView->setMaximumHeight(80); 160 //mExtensionView->setMaximumHeight(80);
161 161
162 boxLayout->addWidget( mExtensionView ); 162 boxLayout->addWidget( mExtensionView );
163 163
164 mConfigureButton = new QPushButton( i18n( "Configure..." ), groupBox ); 164 mConfigureButton = new QPushButton( i18n( "Configure..." ), groupBox );
165 mConfigureButton->setEnabled( false ); 165 mConfigureButton->setEnabled( false );
166 boxLayout->addWidget( mConfigureButton ); 166 boxLayout->addWidget( mConfigureButton );
167 167
168 extensionLayout->addWidget( groupBox ); 168 extensionLayout->addWidget( groupBox );
169 169
170 connect( mMenuBarBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); 170 connect( mMenuBarBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
171 connect( mNameParsing, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); 171 connect( mNameParsing, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
172 connect( mViewsSingleClickBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); 172 connect( mViewsSingleClickBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
173 connect( mSearchReturnBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); 173 connect( mSearchReturnBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
174 connect( mMultipleViewsAtOnce, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); 174 connect( mMultipleViewsAtOnce, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
175 connect( mAskForQuit, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); 175 connect( mAskForQuit, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
176 connect( mExtensionView, SIGNAL( selectionChanged( QListViewItem* ) ), 176 connect( mExtensionView, SIGNAL( selectionChanged( QListViewItem* ) ),
177 SLOT( selectionChanged( QListViewItem* ) ) ); 177 SLOT( selectionChanged( QListViewItem* ) ) );
178 connect( mExtensionView, SIGNAL( clicked( QListViewItem* ) ), 178 connect( mExtensionView, SIGNAL( clicked( QListViewItem* ) ),
179 SLOT( itemClicked( QListViewItem* ) ) ); 179 SLOT( itemClicked( QListViewItem* ) ) );
180 connect( mConfigureButton, SIGNAL( clicked() ), 180 connect( mConfigureButton, SIGNAL( clicked() ),
181 SLOT( configureExtension() ) ); 181 SLOT( configureExtension() ) );
182 182
183 tabWidget->addTab( extensionPage, i18n( "Extensions" ) ); 183 tabWidget->addTab( extensionPage, i18n( "Extensions" ) );
184 184
185 // Addressee page 185 // Addressee page
186 mAddresseeWidget = new AddresseeWidget( this ); 186 mAddresseeWidget = new AddresseeWidget( this );
187 tabWidget->addTab( mAddresseeWidget, i18n( "Contact" ) ); 187 tabWidget->addTab( mAddresseeWidget, i18n( "Contact" ) );
188 connect( mAddresseeWidget, SIGNAL( modified() ), SLOT( modified() ) ); 188 connect( mAddresseeWidget, SIGNAL( modified() ), SLOT( modified() ) );
189 189
190} 190}
191 191
192void KABConfigWidget::usrReadConfig() 192void KABConfigWidget::usrReadConfig()
193{ 193{
194 KABPrefs* prefs = KABPrefs::instance(); 194 KABPrefs* prefs = KABPrefs::instance();
195 195
196 bool blocked = signalsBlocked(); 196 bool blocked = signalsBlocked();
197 blockSignals( true ); 197 blockSignals( true );
198 mMenuBarBox->setChecked( prefs->mFullMenuBarVisible); 198 mMenuBarBox->setChecked( prefs->mFullMenuBarVisible);
199 mNameParsing->setChecked( prefs->mAutomaticNameParsing ); 199 mNameParsing->setChecked( prefs->mAutomaticNameParsing );
200 mViewsSingleClickBox->setChecked( prefs->mHonorSingleClick ); 200 mViewsSingleClickBox->setChecked( prefs->mHonorSingleClick );
201 mSearchReturnBox->setChecked( prefs->mSearchWithReturn ); 201 mSearchReturnBox->setChecked( prefs->mSearchWithReturn );
202 mMultipleViewsAtOnce->setChecked( prefs->mMultipleViewsAtOnce ); 202 mMultipleViewsAtOnce->setChecked( prefs->mMultipleViewsAtOnce );
203 mAskForQuit->setChecked( prefs->mAskForQuit ); 203 mAskForQuit->setChecked( prefs->mAskForQuit );
204 204
205 mAddresseeWidget->restoreSettings(); 205 mAddresseeWidget->restoreSettings();
206 206
207 restoreExtensionSettings(); 207 restoreExtensionSettings();
208 208
209 blockSignals( blocked ); 209 blockSignals( blocked );
210 210
211} 211}
212 212
213void KABConfigWidget::usrWriteConfig() 213void KABConfigWidget::usrWriteConfig()
214{ 214{
215 KABPrefs* prefs = KABPrefs::instance(); 215 KABPrefs* prefs = KABPrefs::instance();
216 prefs->mFullMenuBarVisible = mMenuBarBox->isChecked(); 216 prefs->mFullMenuBarVisible = mMenuBarBox->isChecked();
217 prefs->mAutomaticNameParsing = mNameParsing->isChecked(); 217 prefs->mAutomaticNameParsing = mNameParsing->isChecked();
218 prefs->mHonorSingleClick = mViewsSingleClickBox->isChecked(); 218 prefs->mHonorSingleClick = mViewsSingleClickBox->isChecked();
219 prefs->mSearchWithReturn = mSearchReturnBox->isChecked(); 219 prefs->mSearchWithReturn = mSearchReturnBox->isChecked();
220 prefs->mMultipleViewsAtOnce = mMultipleViewsAtOnce->isChecked(); 220 prefs->mMultipleViewsAtOnce = mMultipleViewsAtOnce->isChecked();
221 prefs->mAskForQuit = mAskForQuit->isChecked(); 221 prefs->mAskForQuit = mAskForQuit->isChecked();
222 222
223 mAddresseeWidget->saveSettings(); 223 mAddresseeWidget->saveSettings();
224 224
225 saveExtensionSettings(); 225 saveExtensionSettings();
226 226
227} 227}
228 228
229void KABConfigWidget::restoreExtensionSettings() 229void KABConfigWidget::restoreExtensionSettings()
230{ 230{
231 QStringList activeExtensions = KABPrefs::instance()->mActiveExtensions; 231 QStringList activeExtensions = KABPrefs::instance()->mActiveExtensions;
232 232
233 mExtensionView->clear(); 233 mExtensionView->clear();
234 234
235#ifndef KAB_EMBEDDED 235#ifndef KAB_EMBEDDED
236 KTrader::OfferList plugins = KTrader::self()->query( "KAddressBook/Extension" ); 236 KTrader::OfferList plugins = KTrader::self()->query( "KAddressBook/Extension" );
237 KTrader::OfferList::ConstIterator it; 237 KTrader::OfferList::ConstIterator it;
238 for ( it = plugins.begin(); it != plugins.end(); ++it ) { 238 for ( it = plugins.begin(); it != plugins.end(); ++it ) {
239 if ( !(*it)->hasServiceType( "KAddressBook/Extension" ) ) 239 if ( !(*it)->hasServiceType( "KAddressBook/Extension" ) )
240 continue; 240 continue;
241 241
242 ExtensionItem *item = new ExtensionItem( mExtensionView, (*it)->name() ); 242 ExtensionItem *item = new ExtensionItem( mExtensionView, (*it)->name() );
243 item->setService( *it ); 243 item->setService( *it );
244 if ( activeExtensions.contains( item->factory()->identifier() ) ) 244 if ( activeExtensions.contains( item->factory()->identifier() ) )
245 item->setOn( true ); 245 item->setOn( true );
246 } 246 }
247#else //KAB_EMBEDDED 247#else //KAB_EMBEDDED
248 ExtensionFactory *extensionFactory = new MergeFactory(); 248 ExtensionFactory *extensionFactory = new MergeFactory();
249 249
250 ExtensionItem *item = new ExtensionItem( mExtensionView, "Merge", "Merge", "Merge contacts"); 250 ExtensionItem *item = new ExtensionItem( mExtensionView, "Merge", "Merge", "Merge contacts");
251 251
252 item->setFactory( extensionFactory ); 252 item->setFactory( extensionFactory );
253 if ( activeExtensions.contains( extensionFactory->identifier() ) ) 253 if ( activeExtensions.contains( extensionFactory->identifier() ) )
254 item->setOn( true ); 254 item->setOn( true );
255 255
256 256
257 257
258 extensionFactory = new DistributionListFactory(); 258 extensionFactory = new DistributionListFactory();
259 259
260 item = new ExtensionItem( mExtensionView, "Distribution List", "Distribution List", "Manage Distribution Lists"); 260 item = new ExtensionItem( mExtensionView, "Distribution List", "Distribution List", "Manage Distribution Lists");
261 261
262 item->setFactory( extensionFactory ); 262 item->setFactory( extensionFactory );
263 if ( activeExtensions.contains( extensionFactory->identifier() ) ) 263 if ( activeExtensions.contains( extensionFactory->identifier() ) )
264 item->setOn( true ); 264 item->setOn( true );
265 265
266 266
267#endif //KAB_EMBEDDED 267#endif //KAB_EMBEDDED
268 268
269} 269}
270 270
271void KABConfigWidget::saveExtensionSettings() 271void KABConfigWidget::saveExtensionSettings()
272{ 272{
273 QStringList activeExtensions; 273 QStringList activeExtensions;
274 274
275 QPtrList<QListViewItem> list; 275 QPtrList<QListViewItem> list;
276 QListViewItemIterator it( mExtensionView ); 276 QListViewItemIterator it( mExtensionView );
277 while ( it.current() ) { 277 while ( it.current() ) {
278 ExtensionItem *item = static_cast<ExtensionItem*>( it.current() ); 278 ExtensionItem *item = static_cast<ExtensionItem*>( it.current() );
279 if ( item ) { 279 if ( item ) {
280 if ( item->isOn() ) 280 if ( item->isOn() )
281 activeExtensions.append( item->factory()->identifier() ); 281 activeExtensions.append( item->factory()->identifier() );
282 } 282 }
283 ++it; 283 ++it;
284 } 284 }
285 285
286 KABPrefs::instance()->mActiveExtensions = activeExtensions; 286 KABPrefs::instance()->mActiveExtensions = activeExtensions;
287} 287}
288 288
289void KABConfigWidget::configureExtension() 289void KABConfigWidget::configureExtension()
290{ 290{
291 ExtensionItem *item = static_cast<ExtensionItem*>( mExtensionView->currentItem() ); 291 ExtensionItem *item = static_cast<ExtensionItem*>( mExtensionView->currentItem() );
292 if ( !item ) 292 if ( !item )
293 return; 293 return;
294 294
295#ifndef KAB_EMBEDDED 295#ifndef KAB_EMBEDDED
296 KConfig config( "kaddressbookrc" ); 296 KConfig config( "kaddressbookrc" );
297#else //KAB_EMBEDDED 297#else //KAB_EMBEDDED
298 KConfig config( locateLocal("config", "kaddressbookrc") ); 298 KConfig config( locateLocal("config", "kaddressbookrc") );
299#endif //KAB_EMBEDDED 299#endif //KAB_EMBEDDED
300 config.setGroup( QString( "Extensions_%1" ).arg( item->factory()->identifier() ) ); 300 config.setGroup( QString( "Extensions_%1" ).arg( item->factory()->identifier() ) );
301 301
302 ExtensionConfigDialog dlg( item->factory(), &config, this ); 302 ExtensionConfigDialog dlg( item->factory(), &config, this );
303 dlg.exec(); 303 dlg.exec();
304 304
305 config.sync(); 305 config.sync();
306} 306}
307 307
308void KABConfigWidget::selectionChanged( QListViewItem *i ) 308void KABConfigWidget::selectionChanged( QListViewItem *i )
309{ 309{
310 ExtensionItem *item = static_cast<ExtensionItem*>( i ); 310 ExtensionItem *item = static_cast<ExtensionItem*>( i );
311 if ( !item ) 311 if ( !item )
312 return; 312 return;
313 313
314 mConfigureButton->setEnabled( item->configWidgetAvailable() ); 314 mConfigureButton->setEnabled( item->configWidgetAvailable() );
315} 315}
316 316
317void KABConfigWidget::itemClicked( QListViewItem *item ) 317void KABConfigWidget::itemClicked( QListViewItem *item )
318{ 318{
319 if ( item != 0 ) 319 if ( item != 0 )
320 modified(); 320 modified();
321} 321}
322 322
323#ifndef KAB_EMBEDDED 323#ifndef KAB_EMBEDDED
324ExtensionItem::ExtensionItem( QListView *parent, const QString &text ) 324ExtensionItem::ExtensionItem( QListView *parent, const QString &text )
325 : QCheckListItem( parent, text, CheckBox ) 325 : QCheckListItem( parent, text, CheckBox )
326{ 326{
327} 327}
328 328
329void ExtensionItem::setService( const KService::Ptr &ptr ) 329void ExtensionItem::setService( const KService::Ptr &ptr )
330{ 330{
331 mPtr = ptr; 331 mPtr = ptr;
332} 332}
333#else //KAB_EMBEDDED 333#else //KAB_EMBEDDED
334ExtensionItem::ExtensionItem( QListView *parent, const QString &text, const QString &name, const QString &comment ) 334ExtensionItem::ExtensionItem( QListView *parent, const QString &text, const QString &name, const QString &comment )
335 : QCheckListItem( parent, text, CheckBox ) 335 : QCheckListItem( parent, text, CheckBox )
336{ 336{
337 mName = name; 337 mName = name;
338 mComment = comment; 338 mComment = comment;
339} 339}
340 340
341 341
342void ExtensionItem::setFactory( ExtensionFactory* fac ) 342void ExtensionItem::setFactory( ExtensionFactory* fac )
343{ 343{
344 mFactory = fac; 344 mFactory = fac;
345} 345}
346#endif //KAB_EMBEDDED 346#endif //KAB_EMBEDDED
347 347
348bool ExtensionItem::configWidgetAvailable() const 348bool ExtensionItem::configWidgetAvailable() const
349{ 349{
350#ifndef KAB_EMBEDDED 350#ifndef KAB_EMBEDDED
351 KLibFactory *factory = KLibLoader::self()->factory( mPtr->library().latin1() ); 351 KLibFactory *factory = KLibLoader::self()->factory( mPtr->library().latin1() );
352 if ( !factory ) 352 if ( !factory )
353 return false; 353 return false;
354 354
355 ExtensionFactory *extensionFactory = static_cast<ExtensionFactory*>( factory ); 355 ExtensionFactory *extensionFactory = static_cast<ExtensionFactory*>( factory );
356 if ( !extensionFactory ) 356 if ( !extensionFactory )
357 return false; 357 return false;
358 358
359 return extensionFactory->configureWidgetAvailable(); 359 return extensionFactory->configureWidgetAvailable();
360#else //KAB_EMBEDDED 360#else //KAB_EMBEDDED
361 return mFactory->configureWidgetAvailable(); 361 return mFactory->configureWidgetAvailable();
362#endif //KAB_EMBEDDED 362#endif //KAB_EMBEDDED
363 363
364} 364}
365 365
366ExtensionFactory *ExtensionItem::factory() const 366ExtensionFactory *ExtensionItem::factory() const
367{ 367{
368#ifndef KAB_EMBEDDED 368#ifndef KAB_EMBEDDED
369 KLibFactory *factory = KLibLoader::self()->factory( mPtr->library().latin1() ); 369 KLibFactory *factory = KLibLoader::self()->factory( mPtr->library().latin1() );
370 if ( !factory ) 370 if ( !factory )
371 return 0; 371 return 0;
372 372
373 return static_cast<ExtensionFactory*>( factory ); 373 return static_cast<ExtensionFactory*>( factory );
374#else //KAB_EMBEDDED 374#else //KAB_EMBEDDED
375 return mFactory; 375 return mFactory;
376#endif //KAB_EMBEDDED 376#endif //KAB_EMBEDDED
377} 377}
378 378
379QString ExtensionItem::text( int column ) const 379QString ExtensionItem::text( int column ) const
380{ 380{
381#ifndef KAB_EMBEDDED 381#ifndef KAB_EMBEDDED
382 if ( column == 0 ) 382 if ( column == 0 )
383 return mPtr->name(); 383 return mPtr->name();
384 else if ( column == 1 ) 384 else if ( column == 1 )
385 return mPtr->comment(); 385 return mPtr->comment();
386 else 386 else
387 return QString::null; 387 return QString::null;
388#else //KAB_EMBEDDED 388#else //KAB_EMBEDDED
389 if ( column == 0 ) 389 if ( column == 0 )
390 return mName; 390 return mName;
391 else if ( column == 1 ) 391 else if ( column == 1 )
392 return mComment; 392 return mComment;
393 else 393 else
394 return QString::null; 394 return QString::null;
395#endif //KAB_EMBEDDED 395#endif //KAB_EMBEDDED
396} 396}
397 397
398#ifndef KAB_EMBEDDED 398#ifndef KAB_EMBEDDED
399#include "kabconfigwidget.moc" 399#include "kabconfigwidget.moc"
400#endif //KAB_EMBEDDED 400#endif //KAB_EMBEDDED
401 401