-rw-r--r-- | kaddressbook/kaddressbookview.cpp | 20 | ||||
-rw-r--r-- | kaddressbook/kaddressbookview.h | 2 | ||||
-rw-r--r-- | kaddressbook/views/kaddressbookcardview.cpp | 6 | ||||
-rw-r--r-- | kaddressbook/views/kaddressbookiconview.cpp | 6 | ||||
-rw-r--r-- | kaddressbook/views/kaddressbooktableview.cpp | 6 |
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 @@ -49,10 +49,26 @@ KAddressBookView::KAddressBookView( KABC::AddressBook *ab, QWidget *parent, KAddressBookView::~KAddressBookView() { - kdDebug(5720) << "KAddressBookView::~KAddressBookView: destroying - " - << name() << endl; + } +QRegExp KAddressBookView::getRegExp( const QString s ) +{ + QRegExp re; + + if ( s.length() == 3 && s.mid(1,1) == "-" ) { + QString pattern = "^[" + s.lower() +"]"; + re.setCaseSensitive(false); + re.setPattern( pattern ); + } else { + QString pattern = s.lower()+"*"; + re.setWildcard(true); // most people understand these better. + re.setCaseSensitive(false); + re.setPattern( pattern ); + } + return re; +} + void KAddressBookView::readConfig( KConfig *config ) { mFieldList = KABC::Field::restoreFields( config, "KABCFields" ); diff --git a/kaddressbook/kaddressbookview.h b/kaddressbook/kaddressbookview.h index 8f31910..6bbb9c2 100644 --- a/kaddressbook/kaddressbookview.h +++ b/kaddressbook/kaddressbookview.h @@ -34,6 +34,7 @@ class QDropEvent; #include <qstringlist.h> #include <kabc/field.h> #include <qwidget.h> +#include <qregexp.h> #include "viewconfigurewidget.h" #include "filter.h" @@ -245,6 +246,7 @@ class KAddressBookView : public QWidget around the view (ie: search fields, etc). Do not delete this widget! */ QWidget *viewWidget(); + QRegExp getRegExp( const QString ); private: void initGUI(); 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 @@ -300,11 +300,7 @@ void KAddressBookCardView::doSearch( const QString& s,KABC::Field *field ) refresh(); return; } - QString pattern = s.lower()+"*"; - QRegExp re; - re.setWildcard(true); // most people understand these better. - re.setCaseSensitive(false); - re.setPattern( pattern ); + QRegExp re = getRegExp( s ); if (!re.isValid()) return; mCardView->viewport()->setUpdatesEnabled( false ); 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 @@ -259,11 +259,7 @@ void KAddressBookIconView::doSearch( const QString& s ,KABC::Field *field ) refresh(); return; } - QString pattern = s.lower()+"*"; - QRegExp re; - re.setWildcard(true); // most people understand these better. - re.setCaseSensitive(false); - re.setPattern( pattern ); + QRegExp re = getRegExp( s ); if (!re.isValid()) return; KABC::Addressee::List addresseeList = addressees(); 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 @@ -143,11 +143,7 @@ void KAddressBookTableView::doSearch( const QString& s, KABC::Field *field ) refresh(); return; } - QString pattern = s.lower()+"*"; - QRegExp re; - re.setWildcard(true); // most people understand these better. - re.setCaseSensitive(false); - re.setPattern( pattern ); + QRegExp re = getRegExp( s ); if (!re.isValid()) return; KABC::Addressee::List addresseeList = addressees(); |