Diffstat (limited to 'core/pim/addressbook/addressbook.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/pim/addressbook/addressbook.cpp | 69 |
1 files changed, 49 insertions, 20 deletions
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp index 8335d8b..84e66fb 100644 --- a/core/pim/addressbook/addressbook.cpp +++ b/core/pim/addressbook/addressbook.cpp | |||
@@ -33,10 +33,6 @@ | |||
33 | #include <qpe/config.h> | 33 | #include <qpe/config.h> |
34 | #include <opie/ocontact.h> | 34 | #include <opie/ocontact.h> |
35 | 35 | ||
36 | #ifndef MAKE_FOR_SHARP_ROM | ||
37 | #include <qpe/finddialog.h> | ||
38 | #endif | ||
39 | |||
40 | #include <qpe/global.h> | 36 | #include <qpe/global.h> |
41 | #include <qpe/resource.h> | 37 | #include <qpe/resource.h> |
42 | #include <qpe/ir.h> | 38 | #include <qpe/ir.h> |
@@ -67,6 +63,7 @@ | |||
67 | #include <qdatetime.h> | 63 | #include <qdatetime.h> |
68 | 64 | ||
69 | #include "picker.h" | 65 | #include "picker.h" |
66 | #include "configdlg.h" | ||
70 | 67 | ||
71 | static QString addressbookPersonalVCardName() | 68 | static QString addressbookPersonalVCardName() |
72 | { | 69 | { |
@@ -80,6 +77,9 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, | |||
80 | WFlags f ) | 77 | WFlags f ) |
81 | : QMainWindow( parent, name, f ), | 78 | : QMainWindow( parent, name, f ), |
82 | abEditor(0), | 79 | abEditor(0), |
80 | useRegExp(false), | ||
81 | DoSignalWrapAround(false), | ||
82 | caseSensitive(false), | ||
83 | bAbEditFirstTime(TRUE), | 83 | bAbEditFirstTime(TRUE), |
84 | syncing(FALSE) | 84 | syncing(FALSE) |
85 | { | 85 | { |
@@ -208,6 +208,10 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, | |||
208 | connect( a, SIGNAL( activated() ), this , SLOT( slotSave() ) ); | 208 | connect( a, SIGNAL( activated() ), this , SLOT( slotSave() ) ); |
209 | a->addTo( edit ); | 209 | a->addTo( edit ); |
210 | #endif | 210 | #endif |
211 | a = new QAction( tr( "Config" ), Resource::loadPixmap( "today/config" ), QString::null, | ||
212 | 0, this, 0 ); | ||
213 | connect( a, SIGNAL( activated() ), this, SLOT( slotConfig() ) ); | ||
214 | a->addTo( edit ); | ||
211 | 215 | ||
212 | // Create Views | 216 | // Create Views |
213 | listContainer = new QWidget( this ); | 217 | listContainer = new QWidget( this ); |
@@ -255,10 +259,35 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, | |||
255 | 259 | ||
256 | abList->setCurrentCell( 0, 0 ); | 260 | abList->setCurrentCell( 0, 0 ); |
257 | 261 | ||
262 | // Read Config settings | ||
263 | Config cfg("AddressBook"); | ||
264 | cfg.setGroup("Search"); | ||
265 | useRegExp = cfg.readBoolEntry( "useRegExp" ); | ||
266 | caseSensitive = cfg.readBoolEntry( "caseSensitive" ); | ||
267 | DoSignalWrapAround = cfg.readBoolEntry( "signalWrapAround" ); | ||
268 | |||
258 | isLoading = false; | 269 | isLoading = false; |
259 | } | 270 | } |
260 | 271 | ||
261 | 272 | ||
273 | void AddressbookWindow::slotConfig() | ||
274 | { | ||
275 | ConfigDlg* dlg = new ConfigDlg( this, "Config" ); | ||
276 | dlg -> setUseRegExp ( useRegExp ); | ||
277 | dlg -> setBeCaseSensitive( caseSensitive ); | ||
278 | dlg -> setSignalWrapAround( DoSignalWrapAround ); | ||
279 | dlg -> showMaximized(); | ||
280 | if ( dlg -> exec() ) { | ||
281 | qWarning ("Config Dialog accepted !"); | ||
282 | useRegExp = dlg -> useRegExp(); | ||
283 | caseSensitive = dlg -> beCaseSensitive(); | ||
284 | DoSignalWrapAround = dlg -> signalWrapAround(); | ||
285 | } | ||
286 | |||
287 | delete dlg; | ||
288 | } | ||
289 | |||
290 | |||
262 | void AddressbookWindow::slotSetFont( int size ) { | 291 | void AddressbookWindow::slotSetFont( int size ) { |
263 | 292 | ||
264 | if (size > 2 || size < 0) | 293 | if (size > 2 || size < 0) |
@@ -340,6 +369,11 @@ AddressbookWindow::~AddressbookWindow() | |||
340 | Config cfg("AddressBook"); | 369 | Config cfg("AddressBook"); |
341 | cfg.setGroup("Font"); | 370 | cfg.setGroup("Font"); |
342 | cfg.writeEntry("fontSize", startFontSize); | 371 | cfg.writeEntry("fontSize", startFontSize); |
372 | |||
373 | cfg.setGroup("Search"); | ||
374 | cfg.writeEntry("useRegExp", useRegExp); | ||
375 | cfg.writeEntry("caseSensitive", caseSensitive); | ||
376 | cfg.writeEntry("signalWrapAround", DoSignalWrapAround); | ||
343 | } | 377 | } |
344 | 378 | ||
345 | void AddressbookWindow::slotUpdateToolbar() | 379 | void AddressbookWindow::slotUpdateToolbar() |
@@ -894,34 +928,35 @@ AbLabel *AddressbookWindow::abView() | |||
894 | void AddressbookWindow::slotFindOpen() | 928 | void AddressbookWindow::slotFindOpen() |
895 | { | 929 | { |
896 | searchBar->show(); | 930 | searchBar->show(); |
931 | searchEdit->setFocus(); | ||
897 | } | 932 | } |
898 | void AddressbookWindow::slotFindClose() | 933 | void AddressbookWindow::slotFindClose() |
899 | { | 934 | { |
900 | searchBar->hide(); | 935 | searchBar->hide(); |
936 | abList->setFocus(); | ||
901 | } | 937 | } |
902 | void AddressbookWindow::slotFindNext() | 938 | void AddressbookWindow::slotFindNext() |
903 | { | 939 | { |
904 | } | ||
905 | |||
906 | void AddressbookWindow::slotFind() | ||
907 | { | ||
908 | if ( centralWidget() == abView() ) | 940 | if ( centralWidget() == abView() ) |
909 | showList(); | 941 | showList(); |
910 | 942 | ||
911 | // FindDialog frmFind( "Contacts", this ); | 943 | // Maybe we should react on Wraparound and notfound ? |
912 | // QObject::connect( abList, SIGNAL(signalNotFound()), &frmFind, SLOT(slotNotFound()) ); | 944 | // QObject::connect( abList, SIGNAL(signalNotFound()), &frmFind, SLOT(slotNotFound()) ); |
913 | // QObject::connect( abList, SIGNAL(signalWrapAround()), &frmFind, SLOT(slotWrapAround()) ); | 945 | // QObject::connect( abList, SIGNAL(signalWrapAround()), &frmFind, SLOT(slotWrapAround()) ); |
914 | // frmFind.exec(); | ||
915 | 946 | ||
916 | // QStringList categories = abList->categories(); | ||
917 | // abList->setShowCategory( book, cat ); | ||
918 | abList->slotDoFind( searchEdit->text(), false, false); | 947 | abList->slotDoFind( searchEdit->text(), false, false); |
919 | 948 | ||
920 | 949 | ||
921 | if ( abList->numSelections() ) | 950 | if ( abList->numSelections() ) |
922 | abList->clearSelection(); | 951 | abList->clearSelection(); |
923 | 952 | ||
953 | } | ||
954 | |||
955 | void AddressbookWindow::slotFind() | ||
956 | { | ||
957 | |||
924 | abList->clearFindRow(); | 958 | abList->clearFindRow(); |
959 | slotFindNext(); | ||
925 | } | 960 | } |
926 | 961 | ||
927 | void AddressbookWindow::slotSetCategory( int c ) | 962 | void AddressbookWindow::slotSetCategory( int c ) |
@@ -932,14 +967,8 @@ void AddressbookWindow::slotSetCategory( int c ) | |||
932 | if ( c <= 0 ) | 967 | if ( c <= 0 ) |
933 | return; | 968 | return; |
934 | 969 | ||
935 | // Checkmark Book Menu Item Selected | 970 | // Set checkItem for selected one |
936 | if ( c < 6 ) | 971 | for ( unsigned int i = 1; i < catMenu->count(); i++ ) |
937 | for ( unsigned int i = 1; i < 6; i++ ) | ||
938 | catMenu->setItemChecked( i, c == (int)i ); | ||
939 | |||
940 | // Checkmark Category Menu Item Selected | ||
941 | else | ||
942 | for ( unsigned int i = 6; i < catMenu->count(); i++ ) | ||
943 | catMenu->setItemChecked( i, c == (int)i ); | 972 | catMenu->setItemChecked( i, c == (int)i ); |
944 | 973 | ||
945 | for ( unsigned int i = 1; i < catMenu->count(); i++ ) { | 974 | for ( unsigned int i = 1; i < catMenu->count(); i++ ) { |