author | zautrix <zautrix> | 2004-09-09 20:39:55 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-09-09 20:39:55 (UTC) |
commit | 480ffef4859d24cc0a936377f8983fd59312d4b6 (patch) (unidiff) | |
tree | 9661e8b5e892ef653ffc2ed630dbe89acfeb4851 /kaddressbook/views/kaddressbookiconview.cpp | |
parent | 880518b6f1d4b06e3df45224c244d9c62f6fb7a9 (diff) | |
download | kdepimpi-480ffef4859d24cc0a936377f8983fd59312d4b6.zip kdepimpi-480ffef4859d24cc0a936377f8983fd59312d4b6.tar.gz kdepimpi-480ffef4859d24cc0a936377f8983fd59312d4b6.tar.bz2 |
Added senseful searching in Kapi
Diffstat (limited to 'kaddressbook/views/kaddressbookiconview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kaddressbook/views/kaddressbookiconview.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/kaddressbook/views/kaddressbookiconview.cpp b/kaddressbook/views/kaddressbookiconview.cpp index 50ff285..78d63b0 100644 --- a/kaddressbook/views/kaddressbookiconview.cpp +++ b/kaddressbook/views/kaddressbookiconview.cpp | |||
@@ -95,8 +95,9 @@ AddresseeIconView::AddresseeIconView(QWidget *parent, const char *name) | |||
95 | AddresseeIconView::~AddresseeIconView() | 95 | AddresseeIconView::~AddresseeIconView() |
96 | { | 96 | { |
97 | } | 97 | } |
98 | 98 | ||
99 | |||
99 | void AddresseeIconView::itemDropped(QDropEvent *e, | 100 | void AddresseeIconView::itemDropped(QDropEvent *e, |
100 | const QValueList<QIconDragItem> &) | 101 | const QValueList<QIconDragItem> &) |
101 | { | 102 | { |
102 | emit addresseeDropped(e); | 103 | emit addresseeDropped(e); |
@@ -231,9 +232,55 @@ void KAddressBookIconView::readConfig(KConfig *config) | |||
231 | connect(mIconView, SIGNAL(selectionChanged(QIconViewItem *)), | 232 | connect(mIconView, SIGNAL(selectionChanged(QIconViewItem *)), |
232 | this, SLOT(addresseeExecuted(QIconViewItem *))); | 233 | this, SLOT(addresseeExecuted(QIconViewItem *))); |
233 | 234 | ||
234 | } | 235 | } |
236 | void KAddressBookIconView::doSearch( const QString& s ,KABC::Field *field ) | ||
237 | { | ||
238 | mIconView->clear(); | ||
239 | mIconList.clear(); | ||
240 | if ( s.isEmpty() || s == "*" ) { | ||
241 | refresh(); | ||
242 | return; | ||
243 | } | ||
244 | QString pattern = s.lower()+"*"; | ||
245 | QRegExp re; | ||
246 | re.setWildcard(true); // most people understand these better. | ||
247 | re.setCaseSensitive(false); | ||
248 | re.setPattern( pattern ); | ||
249 | if (!re.isValid()) | ||
250 | return; | ||
251 | KABC::Addressee::List addresseeList = addressees(); | ||
252 | KABC::Addressee::List::Iterator it; | ||
253 | if ( field ) { | ||
254 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | ||
255 | #if QT_VERSION >= 300 | ||
256 | if (re.search(field->value( *it ).lower()) != -1) | ||
257 | #else | ||
258 | if (re.match(field->value( *it ).lower()) != -1) | ||
259 | #endif | ||
260 | mIconList.append(new AddresseeIconViewItem( fields(), addressBook(), *it, mIconView )); | ||
261 | |||
235 | 262 | ||
263 | } | ||
264 | } else { | ||
265 | KABC::Field::List fieldList = fields(); | ||
266 | KABC::Field::List::ConstIterator fieldIt; | ||
267 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | ||
268 | for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { | ||
269 | #if QT_VERSION >= 300 | ||
270 | if (re.search((*fieldIt)->value( *it ).lower()) != -1) | ||
271 | #else | ||
272 | if (re.match((*fieldIt)->value( *it ).lower()) != -1) | ||
273 | #endif | ||
274 | { | ||
275 | mIconList.append( new AddresseeIconViewItem( fields(), addressBook(), *it, mIconView )); | ||
276 | continue; | ||
277 | } | ||
278 | } | ||
279 | } | ||
280 | } | ||
281 | mIconView->arrangeItemsInGrid( true ); | ||
282 | } | ||
236 | QStringList KAddressBookIconView::selectedUids() | 283 | QStringList KAddressBookIconView::selectedUids() |
237 | { | 284 | { |
238 | QStringList uidList; | 285 | QStringList uidList; |
239 | QIconViewItem *item; | 286 | QIconViewItem *item; |