summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kaddressbookview.cpp20
-rw-r--r--kaddressbook/kaddressbookview.h2
-rw-r--r--kaddressbook/views/kaddressbookcardview.cpp6
-rw-r--r--kaddressbook/views/kaddressbookiconview.cpp6
-rw-r--r--kaddressbook/views/kaddressbooktableview.cpp6
5 files changed, 23 insertions, 17 deletions
diff --git a/kaddressbook/kaddressbookview.cpp b/kaddressbook/kaddressbookview.cpp
index 424d52a..09859c2 100644
--- a/kaddressbook/kaddressbookview.cpp
+++ b/kaddressbook/kaddressbookview.cpp
@@ -40,28 +40,44 @@
40#include "kaddressbookview.h" 40#include "kaddressbookview.h"
41 41
42KAddressBookView::KAddressBookView( KABC::AddressBook *ab, QWidget *parent, 42KAddressBookView::KAddressBookView( KABC::AddressBook *ab, QWidget *parent,
43 const char *name ) 43 const char *name )
44 : QWidget( parent, name ), mAddressBook( ab ), mFieldList() 44 : QWidget( parent, name ), mAddressBook( ab ), mFieldList()
45{ 45{
46 46
47 initGUI(); 47 initGUI();
48} 48}
49 49
50KAddressBookView::~KAddressBookView() 50KAddressBookView::~KAddressBookView()
51{ 51{
52 kdDebug(5720) << "KAddressBookView::~KAddressBookView: destroying - " 52
53 << name() << endl;
54} 53}
55 54
55QRegExp KAddressBookView::getRegExp( const QString s )
56{
57 QRegExp re;
58
59 if ( s.length() == 3 && s.mid(1,1) == "-" ) {
60 QString pattern = "^[" + s.lower() +"]";
61 re.setCaseSensitive(false);
62 re.setPattern( pattern );
63 } else {
64 QString pattern = s.lower()+"*";
65 re.setWildcard(true); // most people understand these better.
66 re.setCaseSensitive(false);
67 re.setPattern( pattern );
68 }
69 return re;
70}
71
56void KAddressBookView::readConfig( KConfig *config ) 72void KAddressBookView::readConfig( KConfig *config )
57{ 73{
58 mFieldList = KABC::Field::restoreFields( config, "KABCFields" ); 74 mFieldList = KABC::Field::restoreFields( config, "KABCFields" );
59 75
60 if ( mFieldList.isEmpty() ) 76 if ( mFieldList.isEmpty() )
61 mFieldList = KABC::Field::defaultFields(); 77 mFieldList = KABC::Field::defaultFields();
62 78
63 mDefaultFilterType = (DefaultFilterType)config->readNumEntry( "DefaultFilterType", 1 ); 79 mDefaultFilterType = (DefaultFilterType)config->readNumEntry( "DefaultFilterType", 1 );
64 mDefaultFilterName = config->readEntry( "DefaultFilterName", QString::null ); 80 mDefaultFilterName = config->readEntry( "DefaultFilterName", QString::null );
65} 81}
66 82
67void KAddressBookView::writeConfig( KConfig* ) 83void KAddressBookView::writeConfig( KConfig* )
diff --git a/kaddressbook/kaddressbookview.h b/kaddressbook/kaddressbookview.h
index 8f31910..6bbb9c2 100644
--- a/kaddressbook/kaddressbookview.h
+++ b/kaddressbook/kaddressbookview.h
@@ -25,24 +25,25 @@
25#define KADDRESSBOOKVIEW_H 25#define KADDRESSBOOKVIEW_H
26 26
27#ifndef KAB_EMBEDDED 27#ifndef KAB_EMBEDDED
28#include <klibloader.h> 28#include <klibloader.h>
29#endif //KAB_EMBEDDED 29#endif //KAB_EMBEDDED
30 30
31class KConfig; 31class KConfig;
32class QDropEvent; 32class QDropEvent;
33 33
34#include <qstringlist.h> 34#include <qstringlist.h>
35#include <kabc/field.h> 35#include <kabc/field.h>
36#include <qwidget.h> 36#include <qwidget.h>
37#include <qregexp.h>
37 38
38#include "viewconfigurewidget.h" 39#include "viewconfigurewidget.h"
39#include "filter.h" 40#include "filter.h"
40 41
41#ifdef DESKTOP_VERSION 42#ifdef DESKTOP_VERSION
42#include <qpaintdevicemetrics.h> 43#include <qpaintdevicemetrics.h>
43#include <qprinter.h> 44#include <qprinter.h>
44#include <qpainter.h> 45#include <qpainter.h>
45#endif 46#endif
46 47
47namespace KABC { class AddressBook; } 48namespace KABC { class AddressBook; }
48 49
@@ -236,24 +237,25 @@ class KAddressBookView : public QWidget
236 method internally takes many factors into account, including the current 237 method internally takes many factors into account, including the current
237 filter. 238 filter.
238 */ 239 */
239 KABC::Addressee::List addressees(); 240 KABC::Addressee::List addressees();
240 241
241 /** 242 /**
242 This method returns the widget that should be used as the parent for 243 This method returns the widget that should be used as the parent for
243 all view components. By using this widget as the parent and not 244 all view components. By using this widget as the parent and not
244 'this', the view subclass has the option of placing other widgets 245 'this', the view subclass has the option of placing other widgets
245 around the view (ie: search fields, etc). Do not delete this widget! 246 around the view (ie: search fields, etc). Do not delete this widget!
246 */ 247 */
247 QWidget *viewWidget(); 248 QWidget *viewWidget();
249 QRegExp getRegExp( const QString );
248 250
249 private: 251 private:
250 void initGUI(); 252 void initGUI();
251 253
252 DefaultFilterType mDefaultFilterType; 254 DefaultFilterType mDefaultFilterType;
253 Filter mFilter; 255 Filter mFilter;
254 QString mDefaultFilterName; 256 QString mDefaultFilterName;
255 KABC::AddressBook *mAddressBook; 257 KABC::AddressBook *mAddressBook;
256 KABC::Field::List mFieldList; 258 KABC::Field::List mFieldList;
257 259
258 QWidget *mViewWidget; 260 QWidget *mViewWidget;
259}; 261};
diff --git a/kaddressbook/views/kaddressbookcardview.cpp b/kaddressbook/views/kaddressbookcardview.cpp
index 9d8c5ce..2b40909 100644
--- a/kaddressbook/views/kaddressbookcardview.cpp
+++ b/kaddressbook/views/kaddressbookcardview.cpp
@@ -291,29 +291,25 @@ void KAddressBookCardView::readConfig(KConfig *config)
291void KAddressBookCardView::writeConfig( KConfig *config ) 291void KAddressBookCardView::writeConfig( KConfig *config )
292{ 292{
293 config->writeEntry( "ItemWidth", mCardView->itemWidth() ); 293 config->writeEntry( "ItemWidth", mCardView->itemWidth() );
294 KAddressBookView::writeConfig( config ); 294 KAddressBookView::writeConfig( config );
295} 295}
296void KAddressBookCardView::doSearch( const QString& s,KABC::Field *field ) 296void KAddressBookCardView::doSearch( const QString& s,KABC::Field *field )
297{ 297{
298 mCardView->clear(); 298 mCardView->clear();
299 if ( s.isEmpty() || s == "*" ) { 299 if ( s.isEmpty() || s == "*" ) {
300 refresh(); 300 refresh();
301 return; 301 return;
302 } 302 }
303 QString pattern = s.lower()+"*"; 303 QRegExp re = getRegExp( s );
304 QRegExp re;
305 re.setWildcard(true); // most people understand these better.
306 re.setCaseSensitive(false);
307 re.setPattern( pattern );
308 if (!re.isValid()) 304 if (!re.isValid())
309 return; 305 return;
310 mCardView->viewport()->setUpdatesEnabled( false ); 306 mCardView->viewport()->setUpdatesEnabled( false );
311 KABC::Addressee::List addresseeList = addressees(); 307 KABC::Addressee::List addresseeList = addressees();
312 KABC::Addressee::List::Iterator it; 308 KABC::Addressee::List::Iterator it;
313 if ( field ) { 309 if ( field ) {
314 for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { 310 for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) {
315 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) 311 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") )
316 continue; 312 continue;
317#if QT_VERSION >= 0x030000 313#if QT_VERSION >= 0x030000
318 if (re.search(field->value( *it ).lower()) != -1) 314 if (re.search(field->value( *it ).lower()) != -1)
319#else 315#else
diff --git a/kaddressbook/views/kaddressbookiconview.cpp b/kaddressbook/views/kaddressbookiconview.cpp
index fb53215..3bdfd1a 100644
--- a/kaddressbook/views/kaddressbookiconview.cpp
+++ b/kaddressbook/views/kaddressbookiconview.cpp
@@ -250,29 +250,25 @@ void KAddressBookIconView::readConfig(KConfig *config)
250 connect(mIconView, SIGNAL(selectionChanged(QIconViewItem *)), 250 connect(mIconView, SIGNAL(selectionChanged(QIconViewItem *)),
251 this, SLOT(addresseeExecuted(QIconViewItem *))); 251 this, SLOT(addresseeExecuted(QIconViewItem *)));
252 252
253} 253}
254void KAddressBookIconView::doSearch( const QString& s ,KABC::Field *field ) 254void KAddressBookIconView::doSearch( const QString& s ,KABC::Field *field )
255{ 255{
256 mIconView->clear(); 256 mIconView->clear();
257 mIconList.clear(); 257 mIconList.clear();
258 if ( s.isEmpty() || s == "*" ) { 258 if ( s.isEmpty() || s == "*" ) {
259 refresh(); 259 refresh();
260 return; 260 return;
261 } 261 }
262 QString pattern = s.lower()+"*"; 262 QRegExp re = getRegExp( s );
263 QRegExp re;
264 re.setWildcard(true); // most people understand these better.
265 re.setCaseSensitive(false);
266 re.setPattern( pattern );
267 if (!re.isValid()) 263 if (!re.isValid())
268 return; 264 return;
269 KABC::Addressee::List addresseeList = addressees(); 265 KABC::Addressee::List addresseeList = addressees();
270 KABC::Addressee::List::Iterator it; 266 KABC::Addressee::List::Iterator it;
271 if ( field ) { 267 if ( field ) {
272 for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { 268 for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) {
273 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) 269 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") )
274 continue; 270 continue;
275#if QT_VERSION >= 0x030000 271#if QT_VERSION >= 0x030000
276 if (re.search(field->value( *it ).lower()) != -1) 272 if (re.search(field->value( *it ).lower()) != -1)
277#else 273#else
278 if (re.match(field->value( *it ).lower()) != -1) 274 if (re.match(field->value( *it ).lower()) != -1)
diff --git a/kaddressbook/views/kaddressbooktableview.cpp b/kaddressbook/views/kaddressbooktableview.cpp
index b73ceaa..f4b008c 100644
--- a/kaddressbook/views/kaddressbooktableview.cpp
+++ b/kaddressbook/views/kaddressbooktableview.cpp
@@ -134,29 +134,25 @@ void KAddressBookTableView::reconstructListView()
134 mainLayout->addWidget( mListView ); 134 mainLayout->addWidget( mListView );
135 mainLayout->activate(); 135 mainLayout->activate();
136 mListView->show(); 136 mListView->show();
137} 137}
138 138
139void KAddressBookTableView::doSearch( const QString& s, KABC::Field *field ) 139void KAddressBookTableView::doSearch( const QString& s, KABC::Field *field )
140{ 140{
141 mListView->clear(); 141 mListView->clear();
142 if ( s.isEmpty() || s == "*" ) { 142 if ( s.isEmpty() || s == "*" ) {
143 refresh(); 143 refresh();
144 return; 144 return;
145 } 145 }
146 QString pattern = s.lower()+"*"; 146 QRegExp re = getRegExp( s );
147 QRegExp re;
148 re.setWildcard(true); // most people understand these better.
149 re.setCaseSensitive(false);
150 re.setPattern( pattern );
151 if (!re.isValid()) 147 if (!re.isValid())
152 return; 148 return;
153 KABC::Addressee::List addresseeList = addressees(); 149 KABC::Addressee::List addresseeList = addressees();
154 KABC::Addressee::List::Iterator it; 150 KABC::Addressee::List::Iterator it;
155 if ( field ) { 151 if ( field ) {
156 for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { 152 for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) {
157 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) 153 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") )
158 continue; 154 continue;
159#if QT_VERSION >= 0x030000 155#if QT_VERSION >= 0x030000
160 if (re.search(field->value( *it ).lower()) == 0) 156 if (re.search(field->value( *it ).lower()) == 0)
161#else 157#else
162 if (re.match(field->value( *it ).lower()) != -1) 158 if (re.match(field->value( *it ).lower()) != -1)