-rw-r--r-- | kaddressbook/incsearchwidget.cpp | 19 | ||||
-rw-r--r-- | kaddressbook/incsearchwidget.h | 1 | ||||
-rw-r--r-- | kaddressbook/kabcore.cpp | 2 | ||||
-rw-r--r-- | kaddressbook/kabprefs.cpp | 2 | ||||
-rw-r--r-- | kaddressbook/kabprefs.h | 1 | ||||
-rw-r--r-- | kaddressbook/kcmconfigs/kabconfigwidget.cpp | 6 | ||||
-rw-r--r-- | kaddressbook/kcmconfigs/kabconfigwidget.h | 2 | ||||
-rw-r--r-- | kaddressbook/views/kaddressbooktableview.cpp | 2 |
8 files changed, 28 insertions, 7 deletions
diff --git a/kaddressbook/incsearchwidget.cpp b/kaddressbook/incsearchwidget.cpp index 2ffa357..3533427 100644 --- a/kaddressbook/incsearchwidget.cpp +++ b/kaddressbook/incsearchwidget.cpp | |||
@@ -1,124 +1,135 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KAddressBook. | 2 | This file is part of KAddressBook. |
3 | Copyright (c) 2002 Tobias Koenig <tokoe@kde.org> | 3 | Copyright (c) 2002 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 <qlabel.h> | 24 | #include <qlabel.h> |
25 | #include <qlayout.h> | 25 | #include <qlayout.h> |
26 | #include <qtooltip.h> | 26 | #include <qtooltip.h> |
27 | #include <qcombobox.h> | 27 | #include <qcombobox.h> |
28 | 28 | ||
29 | #include <kdialog.h> | 29 | #include <kdialog.h> |
30 | #include <klineedit.h> | 30 | #include <klineedit.h> |
31 | #include <klocale.h> | 31 | #include <klocale.h> |
32 | #include <kglobal.h> | 32 | #include <kglobal.h> |
33 | #include <kglobal.h> | ||
34 | #include "kabprefs.h" | ||
33 | 35 | ||
34 | #include "incsearchwidget.h" | 36 | #include "incsearchwidget.h" |
35 | 37 | ||
36 | IncSearchWidget::IncSearchWidget( QWidget *parent, const char *name ) | 38 | IncSearchWidget::IncSearchWidget( QWidget *parent, const char *name ) |
37 | : QWidget( parent, name ) | 39 | : QWidget( parent, name ) |
38 | { | 40 | { |
39 | #ifndef KAB_EMBEDDED | 41 | #ifndef KAB_EMBEDDED |
40 | //US setCaption( i18n( "Incremental Search" ) ); | 42 | //US setCaption( i18n( "Incremental Search" ) ); |
41 | #endif //KAB_EMBEDDED | 43 | #endif //KAB_EMBEDDED |
42 | 44 | ||
43 | QHBoxLayout *layout = new QHBoxLayout( this, 2, KDialog::spacingHint() ); | 45 | QHBoxLayout *layout = new QHBoxLayout( this, 2, KDialog::spacingHint() ); |
44 | 46 | ||
45 | #ifdef DESKTOP_VERSION | 47 | #ifdef DESKTOP_VERSION |
46 | QLabel *label = new QLabel( i18n( "Search:" ), this ); | 48 | QLabel *label = new QLabel( i18n( "Search:" ), this ); |
47 | label->setAlignment( QLabel::AlignVCenter | QLabel::AlignRight ); | 49 | label->setAlignment( QLabel::AlignVCenter | QLabel::AlignRight ); |
48 | layout->addWidget( label ); | 50 | layout->addWidget( label ); |
49 | #endif //KAB_EMBEDDED | 51 | #endif //KAB_EMBEDDED |
50 | 52 | ||
51 | mSearchText = new KLineEdit( this ); | 53 | mSearchText = new KLineEdit( this ); |
52 | layout->addWidget( mSearchText ); | 54 | layout->addWidget( mSearchText ); |
53 | // #ifdef KAB_EMBEDDED | 55 | // #ifdef KAB_EMBEDDED |
54 | // if (KGlobal::getOrientation() == KGlobal::Portrait) | 56 | // if (KGlobal::getOrientation() == KGlobal::Portrait) |
55 | // mSearchText->setMaximumWidth(30); | 57 | // mSearchText->setMaximumWidth(30); |
56 | // #endif //KAB_EMBEDDED | 58 | // #endif //KAB_EMBEDDED |
57 | 59 | ||
58 | 60 | ||
59 | mFieldCombo = new QComboBox( false, this ); | 61 | mFieldCombo = new QComboBox( false, this ); |
60 | layout->addWidget( mFieldCombo ); | 62 | layout->addWidget( mFieldCombo ); |
61 | mFieldCombo->setMaximumHeight( 34 ); | 63 | mFieldCombo->setMaximumHeight( 34 ); |
62 | QToolTip::add( mFieldCombo, i18n( "Select Incremental Search Field" ) ); | 64 | QToolTip::add( mFieldCombo, i18n( "Select Incremental Search Field" ) ); |
63 | 65 | ||
64 | // #ifndef KAB_EMBEDDED | 66 | // #ifndef KAB_EMBEDDED |
65 | // resize( QSize(420, 50).expandedTo( sizeHint() ) ); | 67 | // resize( QSize(420, 50).expandedTo( sizeHint() ) ); |
66 | // #else //KAB_EMBEDDED | 68 | // #else //KAB_EMBEDDED |
67 | // resize( QSize(30, 10).expandedTo( sizeHint() ) ); | 69 | // resize( QSize(30, 10).expandedTo( sizeHint() ) ); |
68 | // #endif //KAB_EMBEDDED | 70 | // #endif //KAB_EMBEDDED |
69 | 71 | ||
70 | #ifdef DESKTOP_VERSION | 72 | |
71 | // for performance reasons, we do a search on the pda only after return is pressed | 73 | // for performance reasons, we do a search on the pda only after return is pressed |
72 | connect( mSearchText, SIGNAL( textChanged( const QString& ) ), | 74 | connect( mSearchText, SIGNAL( textChanged( const QString& ) ), |
73 | SLOT( announceDoSearch() ) ); | 75 | SLOT( announceDoSearch2() ) ); |
74 | connect( mFieldCombo, SIGNAL( activated( const QString& ) ), | 76 | connect( mFieldCombo, SIGNAL( activated( const QString& ) ), |
75 | SLOT( announceDoSearch() ) ); | 77 | SLOT( announceDoSearch2() ) ); |
76 | #endif | 78 | |
77 | connect( mSearchText, SIGNAL( returnPressed() ), | 79 | connect( mSearchText, SIGNAL( returnPressed() ), |
78 | SLOT( announceDoSearch() ) ); | 80 | SLOT( announceDoSearch() ) ); |
79 | connect( mFieldCombo, SIGNAL( activated( const QString& ) ), | 81 | connect( mFieldCombo, SIGNAL( activated( const QString& ) ), |
80 | SLOT( announceFieldChanged() ) ); | 82 | SLOT( announceFieldChanged() ) ); |
81 | 83 | ||
82 | setFocusProxy( mSearchText ); | 84 | setFocusProxy( mSearchText ); |
83 | } | 85 | } |
84 | 86 | ||
85 | IncSearchWidget::~IncSearchWidget() | 87 | IncSearchWidget::~IncSearchWidget() |
86 | { | 88 | { |
87 | 89 | ||
88 | } | 90 | } |
91 | void IncSearchWidget::announceDoSearch2() | ||
92 | { | ||
93 | if ( KABPrefs::instance()->mSearchWithReturn ) | ||
94 | return; | ||
95 | emit doSearch( mSearchText->text() ); | ||
96 | //qDebug("emit dosreach "); | ||
97 | } | ||
89 | 98 | ||
90 | void IncSearchWidget::announceDoSearch() | 99 | void IncSearchWidget::announceDoSearch() |
91 | { | 100 | { |
101 | |||
92 | emit doSearch( mSearchText->text() ); | 102 | emit doSearch( mSearchText->text() ); |
103 | // qDebug("emit dosreach "); | ||
93 | } | 104 | } |
94 | 105 | ||
95 | void IncSearchWidget::announceFieldChanged() | 106 | void IncSearchWidget::announceFieldChanged() |
96 | { | 107 | { |
97 | emit fieldChanged(); | 108 | emit fieldChanged(); |
98 | } | 109 | } |
99 | 110 | ||
100 | void IncSearchWidget::setFields( const KABC::Field::List &list ) | 111 | void IncSearchWidget::setFields( const KABC::Field::List &list ) |
101 | { | 112 | { |
102 | 113 | ||
103 | mFieldCombo->clear(); | 114 | mFieldCombo->clear(); |
104 | mFieldCombo->insertItem( i18n( "All Fields" ) ); | 115 | mFieldCombo->insertItem( i18n( "All Fields" ) ); |
105 | QFontMetrics fm ( mFieldCombo->font() ); | 116 | QFontMetrics fm ( mFieldCombo->font() ); |
106 | int wid = fm.width(i18n( "All Fields" ) ); | 117 | int wid = fm.width(i18n( "All Fields" ) ); |
107 | int max = wid; | 118 | int max = wid; |
108 | 119 | ||
109 | KABC::Field::List::ConstIterator it; | 120 | KABC::Field::List::ConstIterator it; |
110 | for ( it = list.begin(); it != list.end(); ++it ) { | 121 | for ( it = list.begin(); it != list.end(); ++it ) { |
111 | mFieldCombo->insertItem( (*it)->label() ); | 122 | mFieldCombo->insertItem( (*it)->label() ); |
112 | // wid = fm.width((*it)->label() ); | 123 | // wid = fm.width((*it)->label() ); |
113 | //if ( wid > max ) | 124 | //if ( wid > max ) |
114 | // max = wid; | 125 | // max = wid; |
115 | } | 126 | } |
116 | 127 | ||
117 | mFieldList = list; | 128 | mFieldList = list; |
118 | 129 | ||
119 | announceDoSearch(); | 130 | announceDoSearch(); |
120 | announceFieldChanged(); | 131 | announceFieldChanged(); |
121 | mFieldCombo->setMaximumWidth( wid+60 ); | 132 | mFieldCombo->setMaximumWidth( wid+60 ); |
122 | } | 133 | } |
123 | 134 | ||
124 | KABC::Field::List IncSearchWidget::fields() const | 135 | KABC::Field::List IncSearchWidget::fields() const |
diff --git a/kaddressbook/incsearchwidget.h b/kaddressbook/incsearchwidget.h index 09fb8ac..5c95438 100644 --- a/kaddressbook/incsearchwidget.h +++ b/kaddressbook/incsearchwidget.h | |||
@@ -33,41 +33,42 @@ class KLineEdit; | |||
33 | 33 | ||
34 | class IncSearchWidget : public QWidget | 34 | class IncSearchWidget : public QWidget |
35 | { | 35 | { |
36 | Q_OBJECT | 36 | Q_OBJECT |
37 | 37 | ||
38 | public: | 38 | public: |
39 | IncSearchWidget( QWidget *parent, const char *name = 0 ); | 39 | IncSearchWidget( QWidget *parent, const char *name = 0 ); |
40 | ~IncSearchWidget(); | 40 | ~IncSearchWidget(); |
41 | 41 | ||
42 | void setFields( const KABC::Field::List &list ); | 42 | void setFields( const KABC::Field::List &list ); |
43 | KABC::Field::List fields() const; | 43 | KABC::Field::List fields() const; |
44 | 44 | ||
45 | KABC::Field *currentField() const; | 45 | KABC::Field *currentField() const; |
46 | 46 | ||
47 | void setCurrentItem( int pos ); | 47 | void setCurrentItem( int pos ); |
48 | int currentItem() const; | 48 | int currentItem() const; |
49 | 49 | ||
50 | signals: | 50 | signals: |
51 | /** | 51 | /** |
52 | This signal is emmited whenever the text in the input | 52 | This signal is emmited whenever the text in the input |
53 | widget is changed. You can get the sorting field by | 53 | widget is changed. You can get the sorting field by |
54 | @ref currentField. | 54 | @ref currentField. |
55 | */ | 55 | */ |
56 | void doSearch( const QString& text ); | 56 | void doSearch( const QString& text ); |
57 | 57 | ||
58 | /** | 58 | /** |
59 | This signal is emmited whenever the search field changes. | 59 | This signal is emmited whenever the search field changes. |
60 | */ | 60 | */ |
61 | void fieldChanged(); | 61 | void fieldChanged(); |
62 | 62 | ||
63 | private slots: | 63 | private slots: |
64 | void announceDoSearch(); | 64 | void announceDoSearch(); |
65 | void announceDoSearch2(); | ||
65 | void announceFieldChanged(); | 66 | void announceFieldChanged(); |
66 | 67 | ||
67 | private: | 68 | private: |
68 | QComboBox* mFieldCombo; | 69 | QComboBox* mFieldCombo; |
69 | KLineEdit* mSearchText; | 70 | KLineEdit* mSearchText; |
70 | KABC::Field::List mFieldList; | 71 | KABC::Field::List mFieldList; |
71 | }; | 72 | }; |
72 | 73 | ||
73 | #endif | 74 | #endif |
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index bbf8e1b..f0a49f8 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp | |||
@@ -1356,65 +1356,65 @@ void KABCore::addressBookChanged() | |||
1356 | ++it; | 1356 | ++it; |
1357 | } | 1357 | } |
1358 | */ | 1358 | */ |
1359 | if (mEditorDialog) | 1359 | if (mEditorDialog) |
1360 | { | 1360 | { |
1361 | if (mEditorDialog->dirty()) | 1361 | if (mEditorDialog->dirty()) |
1362 | { | 1362 | { |
1363 | QString text = i18n( "Data has been changed externally. Unsaved " | 1363 | QString text = i18n( "Data has been changed externally. Unsaved " |
1364 | "changes will be lost." ); | 1364 | "changes will be lost." ); |
1365 | KMessageBox::information( this, text ); | 1365 | KMessageBox::information( this, text ); |
1366 | } | 1366 | } |
1367 | QString currentuid = mEditorDialog->addressee().uid(); | 1367 | QString currentuid = mEditorDialog->addressee().uid(); |
1368 | mEditorDialog->setAddressee( mAddressBook->findByUid( currentuid ) ); | 1368 | mEditorDialog->setAddressee( mAddressBook->findByUid( currentuid ) ); |
1369 | } | 1369 | } |
1370 | mViewManager->refreshView(); | 1370 | mViewManager->refreshView(); |
1371 | // mDetails->refreshView(); | 1371 | // mDetails->refreshView(); |
1372 | 1372 | ||
1373 | 1373 | ||
1374 | } | 1374 | } |
1375 | 1375 | ||
1376 | AddresseeEditorDialog *KABCore::createAddresseeEditorDialog( QWidget *parent, | 1376 | AddresseeEditorDialog *KABCore::createAddresseeEditorDialog( QWidget *parent, |
1377 | const char *name ) | 1377 | const char *name ) |
1378 | { | 1378 | { |
1379 | 1379 | ||
1380 | if ( mEditorDialog == 0 ) { | 1380 | if ( mEditorDialog == 0 ) { |
1381 | mEditorDialog = new AddresseeEditorDialog( this, parent, | 1381 | mEditorDialog = new AddresseeEditorDialog( this, parent, |
1382 | name ? name : "editorDialog" ); | 1382 | name ? name : "editorDialog" ); |
1383 | 1383 | ||
1384 | 1384 | ||
1385 | connect( mEditorDialog, SIGNAL( contactModified( const KABC::Addressee& ) ), | 1385 | connect( mEditorDialog, SIGNAL( contactModified( const KABC::Addressee& ) ), |
1386 | SLOT( contactModified( const KABC::Addressee& ) ) ); | 1386 | SLOT( contactModified( const KABC::Addressee& ) ) ); |
1387 | //connect( mEditorDialog, SIGNAL( editorDestroyed( const QString& ) ), | 1387 | //connect( mEditorDialog, SIGNAL( editorDestroyed( const QString& ) ), |
1388 | // SLOT( slotEditorDestroyed( const QString& ) ) ); | 1388 | // SLOT( slotEditorDestroyed( const QString& ) ) ; |
1389 | } | 1389 | } |
1390 | 1390 | ||
1391 | return mEditorDialog; | 1391 | return mEditorDialog; |
1392 | } | 1392 | } |
1393 | 1393 | ||
1394 | void KABCore::slotEditorDestroyed( const QString &uid ) | 1394 | void KABCore::slotEditorDestroyed( const QString &uid ) |
1395 | { | 1395 | { |
1396 | //mEditorDict.remove( uid ); | 1396 | //mEditorDict.remove( uid ); |
1397 | } | 1397 | } |
1398 | 1398 | ||
1399 | void KABCore::initGUI() | 1399 | void KABCore::initGUI() |
1400 | { | 1400 | { |
1401 | #ifndef KAB_EMBEDDED | 1401 | #ifndef KAB_EMBEDDED |
1402 | QHBoxLayout *topLayout = new QHBoxLayout( this ); | 1402 | QHBoxLayout *topLayout = new QHBoxLayout( this ); |
1403 | topLayout->setSpacing( KDialogBase::spacingHint() ); | 1403 | topLayout->setSpacing( KDialogBase::spacingHint() ); |
1404 | 1404 | ||
1405 | mExtensionBarSplitter = new QSplitter( this ); | 1405 | mExtensionBarSplitter = new QSplitter( this ); |
1406 | mExtensionBarSplitter->setOrientation( Qt::Vertical ); | 1406 | mExtensionBarSplitter->setOrientation( Qt::Vertical ); |
1407 | 1407 | ||
1408 | mDetailsSplitter = new QSplitter( mExtensionBarSplitter ); | 1408 | mDetailsSplitter = new QSplitter( mExtensionBarSplitter ); |
1409 | 1409 | ||
1410 | QVBox *viewSpace = new QVBox( mDetailsSplitter ); | 1410 | QVBox *viewSpace = new QVBox( mDetailsSplitter ); |
1411 | mIncSearchWidget = new IncSearchWidget( viewSpace ); | 1411 | mIncSearchWidget = new IncSearchWidget( viewSpace ); |
1412 | connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), | 1412 | connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), |
1413 | SLOT( incrementalSearch( const QString& ) ) ); | 1413 | SLOT( incrementalSearch( const QString& ) ) ); |
1414 | 1414 | ||
1415 | mViewManager = new ViewManager( this, viewSpace ); | 1415 | mViewManager = new ViewManager( this, viewSpace ); |
1416 | viewSpace->setStretchFactor( mViewManager, 1 ); | 1416 | viewSpace->setStretchFactor( mViewManager, 1 ); |
1417 | 1417 | ||
1418 | mDetails = new ViewContainer( mDetailsSplitter ); | 1418 | mDetails = new ViewContainer( mDetailsSplitter ); |
1419 | 1419 | ||
1420 | mJumpButtonBar = new JumpButtonBar( this, this ); | 1420 | mJumpButtonBar = new JumpButtonBar( this, this ); |
diff --git a/kaddressbook/kabprefs.cpp b/kaddressbook/kabprefs.cpp index 2425158..552c933 100644 --- a/kaddressbook/kabprefs.cpp +++ b/kaddressbook/kabprefs.cpp | |||
@@ -21,64 +21,66 @@ | |||
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 | //US#ifdef KAB_EMBEDDED | 24 | //US#ifdef KAB_EMBEDDED |
25 | //#include <qstring.h> | 25 | //#include <qstring.h> |
26 | //#endif //KAB_EMBEDDED | 26 | //#endif //KAB_EMBEDDED |
27 | 27 | ||
28 | 28 | ||
29 | #include <kconfig.h> | 29 | #include <kconfig.h> |
30 | #include <klocale.h> | 30 | #include <klocale.h> |
31 | #include <kstaticdeleter.h> | 31 | #include <kstaticdeleter.h> |
32 | //US#include <kdebug.h> // defines kdDebug() | 32 | //US#include <kdebug.h> // defines kdDebug() |
33 | 33 | ||
34 | #include "kabprefs.h" | 34 | #include "kabprefs.h" |
35 | 35 | ||
36 | KABPrefs *KABPrefs::sInstance = 0; | 36 | KABPrefs *KABPrefs::sInstance = 0; |
37 | static KStaticDeleter<KABPrefs> staticDeleter; | 37 | static KStaticDeleter<KABPrefs> staticDeleter; |
38 | 38 | ||
39 | KABPrefs::KABPrefs() | 39 | KABPrefs::KABPrefs() |
40 | : KPimPrefs("kaddressbookrc") | 40 | : KPimPrefs("kaddressbookrc") |
41 | { | 41 | { |
42 | KPrefs::setCurrentGroup( "Views" ); | 42 | KPrefs::setCurrentGroup( "Views" ); |
43 | addItemBool( "HonorSingleClick", &mHonorSingleClick, false ); | 43 | addItemBool( "HonorSingleClick", &mHonorSingleClick, false ); |
44 | 44 | ||
45 | KPrefs::setCurrentGroup( "General" ); | 45 | KPrefs::setCurrentGroup( "General" ); |
46 | addItemBool( "AutomaticNameParsing", &mAutomaticNameParsing, true ); | 46 | addItemBool( "AutomaticNameParsing", &mAutomaticNameParsing, true ); |
47 | addItemInt( "CurrentIncSearchField", &mCurrentIncSearchField, 0 ); | 47 | addItemInt( "CurrentIncSearchField", &mCurrentIncSearchField, 0 ); |
48 | 48 | ||
49 | #ifdef KAB_EMBEDDED | 49 | #ifdef KAB_EMBEDDED |
50 | addItemBool("AskForQuit",&mAskForQuit,true); | 50 | addItemBool("AskForQuit",&mAskForQuit,true); |
51 | addItemBool("ToolBarHor",&mToolBarHor, true ); | 51 | addItemBool("ToolBarHor",&mToolBarHor, true ); |
52 | addItemBool("ToolBarUp",&mToolBarUp, false ); | 52 | addItemBool("ToolBarUp",&mToolBarUp, false ); |
53 | addItemBool("SearchWithReturn",&mSearchWithReturn, true ); | ||
54 | |||
53 | 55 | ||
54 | #endif //KAB_EMBEDDED | 56 | #endif //KAB_EMBEDDED |
55 | 57 | ||
56 | KPrefs::setCurrentGroup( "MainWindow" ); | 58 | KPrefs::setCurrentGroup( "MainWindow" ); |
57 | addItemBool( "JumpButtonBarVisible", &mJumpButtonBarVisible, false ); | 59 | addItemBool( "JumpButtonBarVisible", &mJumpButtonBarVisible, false ); |
58 | addItemBool( "DetailsPageVisible", &mDetailsPageVisible, true ); | 60 | addItemBool( "DetailsPageVisible", &mDetailsPageVisible, true ); |
59 | addItemIntList( "ExtensionsSplitter", &mExtensionsSplitter ); | 61 | addItemIntList( "ExtensionsSplitter", &mExtensionsSplitter ); |
60 | addItemIntList( "DetailsSplitter", &mDetailsSplitter ); | 62 | addItemIntList( "DetailsSplitter", &mDetailsSplitter ); |
61 | addItemBool( "MultipleViewsAtOnce", &mMultipleViewsAtOnce, true ); | 63 | addItemBool( "MultipleViewsAtOnce", &mMultipleViewsAtOnce, true ); |
62 | 64 | ||
63 | 65 | ||
64 | KPrefs::setCurrentGroup( "Extensions_General" ); | 66 | KPrefs::setCurrentGroup( "Extensions_General" ); |
65 | QStringList defaultExtensions; | 67 | QStringList defaultExtensions; |
66 | defaultExtensions << "merge"; | 68 | defaultExtensions << "merge"; |
67 | defaultExtensions << "distribution_list_editor"; | 69 | defaultExtensions << "distribution_list_editor"; |
68 | addItemInt( "CurrentExtension", &mCurrentExtension, 0 ); | 70 | addItemInt( "CurrentExtension", &mCurrentExtension, 0 ); |
69 | addItemStringList( "ActiveExtensions", &mActiveExtensions, defaultExtensions ); | 71 | addItemStringList( "ActiveExtensions", &mActiveExtensions, defaultExtensions ); |
70 | 72 | ||
71 | KPrefs::setCurrentGroup( "Views" ); | 73 | KPrefs::setCurrentGroup( "Views" ); |
72 | QString defaultView = i18n( "Default Table View" ); | 74 | QString defaultView = i18n( "Default Table View" ); |
73 | addItemString( "CurrentView", &mCurrentView, defaultView ); | 75 | addItemString( "CurrentView", &mCurrentView, defaultView ); |
74 | addItemStringList( "ViewNames", &mViewNames, defaultView ); | 76 | addItemStringList( "ViewNames", &mViewNames, defaultView ); |
75 | 77 | ||
76 | KPrefs::setCurrentGroup( "Filters" ); | 78 | KPrefs::setCurrentGroup( "Filters" ); |
77 | addItemInt( "CurrentFilter", &mCurrentFilter, 0 ); | 79 | addItemInt( "CurrentFilter", &mCurrentFilter, 0 ); |
78 | 80 | ||
79 | } | 81 | } |
80 | 82 | ||
81 | KABPrefs::~KABPrefs() | 83 | KABPrefs::~KABPrefs() |
82 | { | 84 | { |
83 | } | 85 | } |
84 | 86 | ||
diff --git a/kaddressbook/kabprefs.h b/kaddressbook/kabprefs.h index 03e529f..e4f359c 100644 --- a/kaddressbook/kabprefs.h +++ b/kaddressbook/kabprefs.h | |||
@@ -37,55 +37,56 @@ class KABPrefs : public KPimPrefs | |||
37 | 37 | ||
38 | static KABPrefs *instance(); | 38 | static KABPrefs *instance(); |
39 | 39 | ||
40 | // General | 40 | // General |
41 | bool mHonorSingleClick; | 41 | bool mHonorSingleClick; |
42 | bool mAutomaticNameParsing; | 42 | bool mAutomaticNameParsing; |
43 | int mCurrentIncSearchField; | 43 | int mCurrentIncSearchField; |
44 | 44 | ||
45 | #ifdef KAB_EMBEDDED | 45 | #ifdef KAB_EMBEDDED |
46 | // US introduce a nonconst way to return the config object. | 46 | // US introduce a nonconst way to return the config object. |
47 | KConfig* getConfig(); | 47 | KConfig* getConfig(); |
48 | 48 | ||
49 | bool mToolBarHor; | 49 | bool mToolBarHor; |
50 | bool mToolBarUp; | 50 | bool mToolBarUp; |
51 | bool mAskForQuit; | 51 | bool mAskForQuit; |
52 | 52 | ||
53 | 53 | ||
54 | /** Set preferences to default values */ | 54 | /** Set preferences to default values */ |
55 | // void usrSetDefaults(); | 55 | // void usrSetDefaults(); |
56 | 56 | ||
57 | /** Read preferences from config file */ | 57 | /** Read preferences from config file */ |
58 | // void usrReadConfig(); | 58 | // void usrReadConfig(); |
59 | 59 | ||
60 | /** Write preferences to config file */ | 60 | /** Write preferences to config file */ |
61 | // void usrWriteConfig(); | 61 | // void usrWriteConfig(); |
62 | #endif //KAB_EMBEDDED | 62 | #endif //KAB_EMBEDDED |
63 | 63 | ||
64 | 64 | ||
65 | // GUI | 65 | // GUI |
66 | bool mJumpButtonBarVisible; | 66 | bool mJumpButtonBarVisible; |
67 | bool mDetailsPageVisible; | 67 | bool mDetailsPageVisible; |
68 | bool mMultipleViewsAtOnce; | 68 | bool mMultipleViewsAtOnce; |
69 | bool mSearchWithReturn; | ||
69 | QValueList<int> mExtensionsSplitter; | 70 | QValueList<int> mExtensionsSplitter; |
70 | QValueList<int> mDetailsSplitter; | 71 | QValueList<int> mDetailsSplitter; |
71 | 72 | ||
72 | // Extensions stuff | 73 | // Extensions stuff |
73 | int mCurrentExtension; | 74 | int mCurrentExtension; |
74 | QStringList mActiveExtensions; | 75 | QStringList mActiveExtensions; |
75 | 76 | ||
76 | // Views stuff | 77 | // Views stuff |
77 | QString mCurrentView; | 78 | QString mCurrentView; |
78 | QStringList mViewNames; | 79 | QStringList mViewNames; |
79 | 80 | ||
80 | // Filter | 81 | // Filter |
81 | int mCurrentFilter; | 82 | int mCurrentFilter; |
82 | 83 | ||
83 | void setCategoryDefaults(); | 84 | void setCategoryDefaults(); |
84 | 85 | ||
85 | private: | 86 | private: |
86 | KABPrefs(); | 87 | KABPrefs(); |
87 | 88 | ||
88 | static KABPrefs *sInstance; | 89 | static KABPrefs *sInstance; |
89 | }; | 90 | }; |
90 | 91 | ||
91 | #endif | 92 | #endif |
diff --git a/kaddressbook/kcmconfigs/kabconfigwidget.cpp b/kaddressbook/kcmconfigs/kabconfigwidget.cpp index 3a2ccbb..0c3a199 100644 --- a/kaddressbook/kcmconfigs/kabconfigwidget.cpp +++ b/kaddressbook/kcmconfigs/kabconfigwidget.cpp | |||
@@ -77,170 +77,176 @@ class ExtensionItem : public QCheckListItem | |||
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 | ||
88 | KABConfigWidget::KABConfigWidget( QWidget *parent, const char *name ) | 88 | KABConfigWidget::KABConfigWidget( QWidget *parent, const char *name ) |
89 | : QWidget( parent, name ) | 89 | : QWidget( 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 | //general groupbox | 101 | //general groupbox |
102 | QVBox *vBox = new QVBox( generalPage, "qvbox" ); | 102 | QVBox *vBox = new QVBox( generalPage, "qvbox" ); |
103 | QVBoxLayout *boxLayout = new QVBoxLayout( vBox->layout(), -1, "qvboxlayout" ); | 103 | QVBoxLayout *boxLayout = new QVBoxLayout( vBox->layout(), -1, "qvboxlayout" ); |
104 | boxLayout->setAlignment( Qt::AlignTop ); | 104 | boxLayout->setAlignment( Qt::AlignTop ); |
105 | boxLayout->setMargin(KDialog::marginHintSmall() ); | 105 | boxLayout->setMargin(KDialog::marginHintSmall() ); |
106 | vBox->layout()->setMargin(KDialog::marginHintSmall()) ; | 106 | vBox->layout()->setMargin(KDialog::marginHintSmall()) ; |
107 | vBox->layout()->setSpacing(KDialog::spacingHintSmall()); | 107 | vBox->layout()->setSpacing(KDialog::spacingHintSmall()); |
108 | boxLayout->setSpacing( KDialog::spacingHintSmall() ); | 108 | boxLayout->setSpacing( KDialog::spacingHintSmall() ); |
109 | mSearchReturnBox = new QCheckBox( i18n( "Search only after <return> key pressed" ), vBox, "mreturn" ); | ||
110 | boxLayout->addWidget( mSearchReturnBox ); | ||
109 | mViewsSingleClickBox = new QCheckBox( i18n( "Honor KDE single click" ), vBox, "msingle" ); | 111 | mViewsSingleClickBox = new QCheckBox( i18n( "Honor KDE single click" ), vBox, "msingle" ); |
110 | boxLayout->addWidget( mViewsSingleClickBox ); | 112 | boxLayout->addWidget( mViewsSingleClickBox ); |
111 | 113 | ||
112 | mNameParsing = new QCheckBox( i18n( "Automatic name parsing for new addressees" ), vBox, "mparse" ); | 114 | mNameParsing = new QCheckBox( i18n( "Automatic name parsing for new addressees" ), vBox, "mparse" ); |
113 | boxLayout->addWidget( mNameParsing ); | 115 | boxLayout->addWidget( mNameParsing ); |
114 | 116 | ||
115 | mMultipleViewsAtOnce = new QCheckBox( i18n( "Display List and Details at once (restart)" ), vBox, "mdisplay" ); | 117 | mMultipleViewsAtOnce = new QCheckBox( i18n( "Display List and Details at once (restart)" ), vBox, "mdisplay" ); |
116 | boxLayout->addWidget( mMultipleViewsAtOnce ); | 118 | boxLayout->addWidget( mMultipleViewsAtOnce ); |
117 | 119 | ||
118 | mAskForQuit = new QCheckBox( i18n( "Ask for quit when closing Ka/Pi" ), vBox, "mquit" ); | 120 | mAskForQuit = new QCheckBox( i18n( "Ask for quit when closing Ka/Pi" ), vBox, "mquit" ); |
119 | boxLayout->addWidget( mAskForQuit ); | 121 | boxLayout->addWidget( mAskForQuit ); |
120 | 122 | ||
121 | layout->addWidget( vBox ); | 123 | layout->addWidget( vBox ); |
122 | 124 | ||
123 | tabWidget->addTab( generalPage, i18n( "General" ) ); | 125 | tabWidget->addTab( generalPage, i18n( "General" ) ); |
124 | 126 | ||
125 | // Extension page | 127 | // Extension page |
126 | QWidget *extensionPage = new QWidget( this ); | 128 | QWidget *extensionPage = new QWidget( this ); |
127 | QVBoxLayout *extensionLayout = new QVBoxLayout( extensionPage, KDialog::marginHintSmall(), | 129 | QVBoxLayout *extensionLayout = new QVBoxLayout( extensionPage, KDialog::marginHintSmall(), |
128 | KDialog::spacingHintSmall() ); | 130 | KDialog::spacingHintSmall() ); |
129 | 131 | ||
130 | //extensions groupbox | 132 | //extensions groupbox |
131 | 133 | ||
132 | QGroupBox* groupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Extensions (restart)" ), extensionPage ); | 134 | QGroupBox* groupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Extensions (restart)" ), extensionPage ); |
133 | boxLayout = new QVBoxLayout( groupBox->layout() ); | 135 | boxLayout = new QVBoxLayout( groupBox->layout() ); |
134 | boxLayout->setAlignment( Qt::AlignTop ); | 136 | boxLayout->setAlignment( Qt::AlignTop ); |
135 | boxLayout->setMargin(KDialog::marginHintSmall()); | 137 | boxLayout->setMargin(KDialog::marginHintSmall()); |
136 | boxLayout->setSpacing(KDialog::spacingHintSmall()); | 138 | boxLayout->setSpacing(KDialog::spacingHintSmall()); |
137 | groupBox->layout()->setMargin(1) ; | 139 | groupBox->layout()->setMargin(1) ; |
138 | groupBox->layout()->setSpacing(0); | 140 | groupBox->layout()->setSpacing(0); |
139 | mExtensionView = new KListView( groupBox ); | 141 | mExtensionView = new KListView( groupBox ); |
140 | mExtensionView->setAllColumnsShowFocus( true ); | 142 | mExtensionView->setAllColumnsShowFocus( true ); |
141 | mExtensionView->addColumn( i18n( "Name" ) ); | 143 | mExtensionView->addColumn( i18n( "Name" ) ); |
142 | mExtensionView->addColumn( i18n( "Description" ) ); | 144 | mExtensionView->addColumn( i18n( "Description" ) ); |
143 | mExtensionView->setMaximumHeight(80); | 145 | mExtensionView->setMaximumHeight(80); |
144 | 146 | ||
145 | boxLayout->addWidget( mExtensionView ); | 147 | boxLayout->addWidget( mExtensionView ); |
146 | 148 | ||
147 | mConfigureButton = new QPushButton( i18n( "Configure..." ), groupBox ); | 149 | mConfigureButton = new QPushButton( i18n( "Configure..." ), groupBox ); |
148 | mConfigureButton->setEnabled( false ); | 150 | mConfigureButton->setEnabled( false ); |
149 | boxLayout->addWidget( mConfigureButton ); | 151 | boxLayout->addWidget( mConfigureButton ); |
150 | 152 | ||
151 | extensionLayout->addWidget( groupBox ); | 153 | extensionLayout->addWidget( groupBox ); |
152 | 154 | ||
153 | connect( mNameParsing, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); | 155 | connect( mNameParsing, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); |
154 | connect( mViewsSingleClickBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); | 156 | connect( mViewsSingleClickBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); |
157 | connect( mSearchReturnBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); | ||
155 | connect( mMultipleViewsAtOnce, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); | 158 | connect( mMultipleViewsAtOnce, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); |
156 | connect( mAskForQuit, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); | 159 | connect( mAskForQuit, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); |
157 | connect( mExtensionView, SIGNAL( selectionChanged( QListViewItem* ) ), | 160 | connect( mExtensionView, SIGNAL( selectionChanged( QListViewItem* ) ), |
158 | SLOT( selectionChanged( QListViewItem* ) ) ); | 161 | SLOT( selectionChanged( QListViewItem* ) ) ); |
159 | connect( mExtensionView, SIGNAL( clicked( QListViewItem* ) ), | 162 | connect( mExtensionView, SIGNAL( clicked( QListViewItem* ) ), |
160 | SLOT( itemClicked( QListViewItem* ) ) ); | 163 | SLOT( itemClicked( QListViewItem* ) ) ); |
161 | connect( mConfigureButton, SIGNAL( clicked() ), | 164 | connect( mConfigureButton, SIGNAL( clicked() ), |
162 | SLOT( configureExtension() ) ); | 165 | SLOT( configureExtension() ) ); |
163 | 166 | ||
164 | tabWidget->addTab( extensionPage, i18n( "Extensions" ) ); | 167 | tabWidget->addTab( extensionPage, i18n( "Extensions" ) ); |
165 | 168 | ||
166 | // Addressee page | 169 | // Addressee page |
167 | mAddresseeWidget = new AddresseeWidget( this ); | 170 | mAddresseeWidget = new AddresseeWidget( this ); |
168 | tabWidget->addTab( mAddresseeWidget, i18n( "Contact" ) ); | 171 | tabWidget->addTab( mAddresseeWidget, i18n( "Contact" ) ); |
169 | connect( mAddresseeWidget, SIGNAL( modified() ), SLOT( modified() ) ); | 172 | connect( mAddresseeWidget, SIGNAL( modified() ), SLOT( modified() ) ); |
170 | 173 | ||
171 | } | 174 | } |
172 | 175 | ||
173 | 176 | ||
174 | void KABConfigWidget::restoreSettings(KABPrefs* prefs) | 177 | void KABConfigWidget::restoreSettings(KABPrefs* prefs) |
175 | { | 178 | { |
176 | //US prefs was KABPrefs::instance() before | 179 | //US prefs was KABPrefs::instance() before |
177 | 180 | ||
178 | bool blocked = signalsBlocked(); | 181 | bool blocked = signalsBlocked(); |
179 | blockSignals( true ); | 182 | blockSignals( true ); |
180 | 183 | ||
181 | mNameParsing->setChecked( prefs->mAutomaticNameParsing ); | 184 | mNameParsing->setChecked( prefs->mAutomaticNameParsing ); |
182 | mViewsSingleClickBox->setChecked( prefs->mHonorSingleClick ); | 185 | mViewsSingleClickBox->setChecked( prefs->mHonorSingleClick ); |
186 | mSearchReturnBox->setChecked( prefs->mSearchWithReturn ); | ||
183 | mMultipleViewsAtOnce->setChecked( prefs->mMultipleViewsAtOnce ); | 187 | mMultipleViewsAtOnce->setChecked( prefs->mMultipleViewsAtOnce ); |
184 | mAskForQuit->setChecked( prefs->mAskForQuit ); | 188 | mAskForQuit->setChecked( prefs->mAskForQuit ); |
185 | 189 | ||
186 | mAddresseeWidget->restoreSettings(); | 190 | mAddresseeWidget->restoreSettings(); |
187 | 191 | ||
188 | restoreExtensionSettings(); | 192 | restoreExtensionSettings(); |
189 | 193 | ||
190 | blockSignals( blocked ); | 194 | blockSignals( blocked ); |
191 | 195 | ||
192 | emit changed( false ); | 196 | emit changed( false ); |
193 | } | 197 | } |
194 | 198 | ||
195 | void KABConfigWidget::saveSettings(KABPrefs* prefs) | 199 | void KABConfigWidget::saveSettings(KABPrefs* prefs) |
196 | { | 200 | { |
197 | prefs->mAutomaticNameParsing = mNameParsing->isChecked(); | 201 | prefs->mAutomaticNameParsing = mNameParsing->isChecked(); |
198 | prefs->mHonorSingleClick = mViewsSingleClickBox->isChecked(); | 202 | prefs->mHonorSingleClick = mViewsSingleClickBox->isChecked(); |
203 | prefs->mSearchWithReturn = mSearchReturnBox->isChecked(); | ||
199 | prefs->mMultipleViewsAtOnce = mMultipleViewsAtOnce->isChecked(); | 204 | prefs->mMultipleViewsAtOnce = mMultipleViewsAtOnce->isChecked(); |
200 | prefs->mAskForQuit = mAskForQuit->isChecked(); | 205 | prefs->mAskForQuit = mAskForQuit->isChecked(); |
201 | 206 | ||
202 | mAddresseeWidget->saveSettings(); | 207 | mAddresseeWidget->saveSettings(); |
203 | 208 | ||
204 | saveExtensionSettings(); | 209 | saveExtensionSettings(); |
205 | KABPrefs::instance()->writeConfig(); | 210 | KABPrefs::instance()->writeConfig(); |
206 | 211 | ||
207 | emit changed( false ); | 212 | emit changed( false ); |
208 | } | 213 | } |
209 | 214 | ||
210 | void KABConfigWidget::defaults(KABPrefs* prefs) | 215 | void KABConfigWidget::defaults(KABPrefs* prefs) |
211 | { | 216 | { |
212 | mNameParsing->setChecked( true ); | 217 | mNameParsing->setChecked( true ); |
213 | mViewsSingleClickBox->setChecked( false ); | 218 | mViewsSingleClickBox->setChecked( false ); |
214 | mMultipleViewsAtOnce->setChecked( true ); | 219 | mMultipleViewsAtOnce->setChecked( true ); |
220 | mSearchReturnBox->setChecked( true ); | ||
215 | mAskForQuit->setChecked (true); | 221 | mAskForQuit->setChecked (true); |
216 | 222 | ||
217 | emit changed( true ); | 223 | emit changed( true ); |
218 | } | 224 | } |
219 | 225 | ||
220 | void KABConfigWidget::modified() | 226 | void KABConfigWidget::modified() |
221 | { | 227 | { |
222 | emit changed( true ); | 228 | emit changed( true ); |
223 | } | 229 | } |
224 | 230 | ||
225 | void KABConfigWidget::restoreExtensionSettings() | 231 | void KABConfigWidget::restoreExtensionSettings() |
226 | { | 232 | { |
227 | QStringList activeExtensions = KABPrefs::instance()->mActiveExtensions; | 233 | QStringList activeExtensions = KABPrefs::instance()->mActiveExtensions; |
228 | 234 | ||
229 | mExtensionView->clear(); | 235 | mExtensionView->clear(); |
230 | 236 | ||
231 | #ifndef KAB_EMBEDDED | 237 | #ifndef KAB_EMBEDDED |
232 | KTrader::OfferList plugins = KTrader::self()->query( "KAddressBook/Extension" ); | 238 | KTrader::OfferList plugins = KTrader::self()->query( "KAddressBook/Extension" ); |
233 | KTrader::OfferList::ConstIterator it; | 239 | KTrader::OfferList::ConstIterator it; |
234 | for ( it = plugins.begin(); it != plugins.end(); ++it ) { | 240 | for ( it = plugins.begin(); it != plugins.end(); ++it ) { |
235 | if ( !(*it)->hasServiceType( "KAddressBook/Extension" ) ) | 241 | if ( !(*it)->hasServiceType( "KAddressBook/Extension" ) ) |
236 | continue; | 242 | continue; |
237 | 243 | ||
238 | ExtensionItem *item = new ExtensionItem( mExtensionView, (*it)->name() ); | 244 | ExtensionItem *item = new ExtensionItem( mExtensionView, (*it)->name() ); |
239 | item->setService( *it ); | 245 | item->setService( *it ); |
240 | if ( activeExtensions.contains( item->factory()->identifier() ) ) | 246 | if ( activeExtensions.contains( item->factory()->identifier() ) ) |
241 | item->setOn( true ); | 247 | item->setOn( true ); |
242 | } | 248 | } |
243 | #else //KAB_EMBEDDED | 249 | #else //KAB_EMBEDDED |
244 | ExtensionFactory *extensionFactory = new MergeFactory(); | 250 | ExtensionFactory *extensionFactory = new MergeFactory(); |
245 | 251 | ||
246 | ExtensionItem *item = new ExtensionItem( mExtensionView, "Merge", "Merge", "Merge contacts"); | 252 | ExtensionItem *item = new ExtensionItem( mExtensionView, "Merge", "Merge", "Merge contacts"); |
diff --git a/kaddressbook/kcmconfigs/kabconfigwidget.h b/kaddressbook/kcmconfigs/kabconfigwidget.h index 831efc1..6cd4223 100644 --- a/kaddressbook/kcmconfigs/kabconfigwidget.h +++ b/kaddressbook/kcmconfigs/kabconfigwidget.h | |||
@@ -36,44 +36,44 @@ class KABPrefs; | |||
36 | 36 | ||
37 | class AddresseeWidget; | 37 | class AddresseeWidget; |
38 | 38 | ||
39 | class KABConfigWidget : public QWidget | 39 | class KABConfigWidget : public QWidget |
40 | { | 40 | { |
41 | Q_OBJECT | 41 | Q_OBJECT |
42 | 42 | ||
43 | public: | 43 | public: |
44 | KABConfigWidget( QWidget *parent, const char *name = 0 ); | 44 | KABConfigWidget( QWidget *parent, const char *name = 0 ); |
45 | 45 | ||
46 | void restoreSettings(KABPrefs* prefs); | 46 | void restoreSettings(KABPrefs* prefs); |
47 | void saveSettings(KABPrefs* prefs); | 47 | void saveSettings(KABPrefs* prefs); |
48 | void defaults(KABPrefs* prefs); | 48 | void defaults(KABPrefs* prefs); |
49 | 49 | ||
50 | signals: | 50 | signals: |
51 | void changed( bool ); | 51 | void changed( bool ); |
52 | 52 | ||
53 | public slots: | 53 | public slots: |
54 | void modified(); | 54 | void modified(); |
55 | 55 | ||
56 | 56 | ||
57 | 57 | ||
58 | private slots: | 58 | private slots: |
59 | void configureExtension(); | 59 | void configureExtension(); |
60 | void selectionChanged( QListViewItem* ); | 60 | void selectionChanged( QListViewItem* ); |
61 | void itemClicked( QListViewItem* ); | 61 | void itemClicked( QListViewItem* ); |
62 | 62 | ||
63 | private: | 63 | private: |
64 | void restoreExtensionSettings(); | 64 | void restoreExtensionSettings(); |
65 | void saveExtensionSettings(); | 65 | void saveExtensionSettings(); |
66 | 66 | ||
67 | KListView *mExtensionView; | 67 | KListView *mExtensionView; |
68 | 68 | QCheckBox *mSearchReturnBox; | |
69 | QCheckBox *mNameParsing; | 69 | QCheckBox *mNameParsing; |
70 | QCheckBox *mViewsSingleClickBox; | 70 | QCheckBox *mViewsSingleClickBox; |
71 | QCheckBox *mMultipleViewsAtOnce; | 71 | QCheckBox *mMultipleViewsAtOnce; |
72 | QCheckBox *mAskForQuit; | 72 | QCheckBox *mAskForQuit; |
73 | 73 | ||
74 | QPushButton *mConfigureButton; | 74 | QPushButton *mConfigureButton; |
75 | 75 | ||
76 | AddresseeWidget *mAddresseeWidget; | 76 | AddresseeWidget *mAddresseeWidget; |
77 | }; | 77 | }; |
78 | 78 | ||
79 | #endif | 79 | #endif |
diff --git a/kaddressbook/views/kaddressbooktableview.cpp b/kaddressbook/views/kaddressbooktableview.cpp index 12f7c27..63ad0ed 100644 --- a/kaddressbook/views/kaddressbooktableview.cpp +++ b/kaddressbook/views/kaddressbooktableview.cpp | |||
@@ -121,65 +121,65 @@ void KAddressBookTableView::doSearch( const QString& s, KABC::Field *field ) | |||
121 | } | 121 | } |
122 | QString pattern = s.lower()+"*"; | 122 | QString pattern = s.lower()+"*"; |
123 | QRegExp re; | 123 | QRegExp re; |
124 | re.setWildcard(true); // most people understand these better. | 124 | re.setWildcard(true); // most people understand these better. |
125 | re.setCaseSensitive(false); | 125 | re.setCaseSensitive(false); |
126 | re.setPattern( pattern ); | 126 | re.setPattern( pattern ); |
127 | if (!re.isValid()) | 127 | if (!re.isValid()) |
128 | return; | 128 | return; |
129 | KABC::Addressee::List addresseeList = addressees(); | 129 | KABC::Addressee::List addresseeList = addressees(); |
130 | KABC::Addressee::List::Iterator it; | 130 | KABC::Addressee::List::Iterator it; |
131 | if ( field ) { | 131 | if ( field ) { |
132 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | 132 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { |
133 | #if QT_VERSION >= 300 | 133 | #if QT_VERSION >= 300 |
134 | if (re.search(field->value( *it ).lower()) != -1) | 134 | if (re.search(field->value( *it ).lower()) != -1) |
135 | #else | 135 | #else |
136 | if (re.match(field->value( *it ).lower()) != -1) | 136 | if (re.match(field->value( *it ).lower()) != -1) |
137 | #endif | 137 | #endif |
138 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); | 138 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); |
139 | 139 | ||
140 | } | 140 | } |
141 | } else { | 141 | } else { |
142 | KABC::Field::List fieldList = fields(); | 142 | KABC::Field::List fieldList = fields(); |
143 | KABC::Field::List::ConstIterator fieldIt; | 143 | KABC::Field::List::ConstIterator fieldIt; |
144 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | 144 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { |
145 | for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { | 145 | for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { |
146 | #if QT_VERSION >= 300 | 146 | #if QT_VERSION >= 300 |
147 | if (re.search((*fieldIt)->value( *it ).lower()) != -1) | 147 | if (re.search((*fieldIt)->value( *it ).lower()) != -1) |
148 | #else | 148 | #else |
149 | if (re.match((*fieldIt)->value( *it ).lower()) != -1) | 149 | if (re.match((*fieldIt)->value( *it ).lower()) != -1) |
150 | #endif | 150 | #endif |
151 | { | 151 | { |
152 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); | 152 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); |
153 | continue; | 153 | break; |
154 | } | 154 | } |
155 | } | 155 | } |
156 | } | 156 | } |
157 | } | 157 | } |
158 | // Sometimes the background pixmap gets messed up when we add lots | 158 | // Sometimes the background pixmap gets messed up when we add lots |
159 | // of items. | 159 | // of items. |
160 | mListView->repaint(); | 160 | mListView->repaint(); |
161 | emit selected(QString::null); | 161 | emit selected(QString::null); |
162 | 162 | ||
163 | } | 163 | } |
164 | void KAddressBookTableView::writeConfig(KConfig *config) | 164 | void KAddressBookTableView::writeConfig(KConfig *config) |
165 | { | 165 | { |
166 | KAddressBookView::writeConfig(config); | 166 | KAddressBookView::writeConfig(config); |
167 | 167 | ||
168 | mListView->saveLayout(config, config->group()); | 168 | mListView->saveLayout(config, config->group()); |
169 | } | 169 | } |
170 | 170 | ||
171 | void KAddressBookTableView::readConfig(KConfig *config) | 171 | void KAddressBookTableView::readConfig(KConfig *config) |
172 | { | 172 | { |
173 | KAddressBookView::readConfig( config ); | 173 | KAddressBookView::readConfig( config ); |
174 | // The config could have changed the fields, so we need to reconstruct | 174 | // The config could have changed the fields, so we need to reconstruct |
175 | // the listview. | 175 | // the listview. |
176 | reconstructListView(); | 176 | reconstructListView(); |
177 | 177 | ||
178 | // costum colors? | 178 | // costum colors? |
179 | if ( config->readBoolEntry( "EnableCustomColors", false ) ) | 179 | if ( config->readBoolEntry( "EnableCustomColors", false ) ) |
180 | { | 180 | { |
181 | QPalette p( mListView->palette() ); | 181 | QPalette p( mListView->palette() ); |
182 | QColor c = p.color(QPalette::Normal, QColorGroup::Base ); | 182 | QColor c = p.color(QPalette::Normal, QColorGroup::Base ); |
183 | p.setColor( QPalette::Normal, QColorGroup::Base, config->readColorEntry( "BackgroundColor", &c ) ); | 183 | p.setColor( QPalette::Normal, QColorGroup::Base, config->readColorEntry( "BackgroundColor", &c ) ); |
184 | c = p.color(QPalette::Normal, QColorGroup::Text ); | 184 | c = p.color(QPalette::Normal, QColorGroup::Text ); |
185 | p.setColor( QPalette::Normal, QColorGroup::Text, config->readColorEntry( "TextColor", &c ) ); | 185 | p.setColor( QPalette::Normal, QColorGroup::Text, config->readColorEntry( "TextColor", &c ) ); |