summaryrefslogtreecommitdiff
path: root/core/pim/addressbook/addressbook.cpp
Unidiff
Diffstat (limited to 'core/pim/addressbook/addressbook.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/addressbook.cpp75
1 files changed, 52 insertions, 23 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
71static QString addressbookPersonalVCardName() 68static 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,7 +208,11 @@ 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 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 );
215
212 // Create Views 216 // Create Views
213 listContainer = new QWidget( this ); 217 listContainer = new QWidget( this );
214 218
@@ -254,11 +258,36 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
254 // qDebug("adressbook contrsuction: t=%d", t.elapsed() ); 258 // qDebug("adressbook contrsuction: t=%d", t.elapsed() );
255 259
256 abList->setCurrentCell( 0, 0 ); 260 abList->setCurrentCell( 0, 0 );
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" );
257 268
258 isLoading = false; 269 isLoading = false;
259} 270}
260 271
261 272
273void 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
262void AddressbookWindow::slotSetFont( int size ) { 291void 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
345void AddressbookWindow::slotUpdateToolbar() 379void AddressbookWindow::slotUpdateToolbar()
@@ -894,34 +928,35 @@ AbLabel *AddressbookWindow::abView()
894void AddressbookWindow::slotFindOpen() 928void AddressbookWindow::slotFindOpen()
895{ 929{
896 searchBar->show(); 930 searchBar->show();
931 searchEdit->setFocus();
897} 932}
898void AddressbookWindow::slotFindClose() 933void AddressbookWindow::slotFindClose()
899{ 934{
900 searchBar->hide(); 935 searchBar->hide();
936 abList->setFocus();
901} 937}
902void AddressbookWindow::slotFindNext() 938void AddressbookWindow::slotFindNext()
903{ 939{
904}
905
906void 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();
952
953}
954
955void AddressbookWindow::slotFind()
956{
923 957
924 abList->clearFindRow(); 958 abList->clearFindRow();
959 slotFindNext();
925} 960}
926 961
927void AddressbookWindow::slotSetCategory( int c ) 962void AddressbookWindow::slotSetCategory( int c )
@@ -932,15 +967,9 @@ 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++ ) 972 catMenu->setItemChecked( i, c == (int)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 );
944 973
945 for ( unsigned int i = 1; i < catMenu->count(); i++ ) { 974 for ( unsigned int i = 1; i < catMenu->count(); i++ ) {
946 if (catMenu->isItemChecked( i )) { 975 if (catMenu->isItemChecked( i )) {