author | eilers <eilers> | 2002-10-22 12:34:54 (UTC) |
---|---|---|
committer | eilers <eilers> | 2002-10-22 12:34:54 (UTC) |
commit | 78152b3adbe3ae4626c8f53e3edd0babcaf6fb72 (patch) (side-by-side diff) | |
tree | 89b0b4ffea2fa1efd4eb7dc50545661d3ceeb65d /core/pim/addressbook/abtable.cpp | |
parent | 486280adc2ab5dc383a56d8516c36727eb382812 (diff) | |
download | opie-78152b3adbe3ae4626c8f53e3edd0babcaf6fb72.zip opie-78152b3adbe3ae4626c8f53e3edd0babcaf6fb72.tar.gz opie-78152b3adbe3ae4626c8f53e3edd0babcaf6fb72.tar.bz2 |
Find bugfix. Tried to make the letterpicker more visible due to
undelign does not work on my Z.. :(
Added use of alternative mail-application (opie-mail instead of QT-Mail)
Diffstat (limited to 'core/pim/addressbook/abtable.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/pim/addressbook/abtable.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/core/pim/addressbook/abtable.cpp b/core/pim/addressbook/abtable.cpp index 97b26db..4feadeb 100644 --- a/core/pim/addressbook/abtable.cpp +++ b/core/pim/addressbook/abtable.cpp @@ -686,30 +686,40 @@ void AbTable::slotDoFind( const QString &findString, bool caseSensitive, bool us r.setWildcard( !useRegExp ); rows = numRows(); static bool wrapAround = true; + bool try_again = false; + // We will loop until we found an entry or found nothing. + do { if ( !backwards ) { for ( row = currFindRow + 1; row < rows; row++ ) { ati = static_cast<AbTableItem*>( item(row, 0) ); - if ( contactCompare( contactList[ati], r, category ) ) + if ( contactCompare( contactList[ati], r, category ) ){ + try_again = false; break; } + } } else { for ( row = currFindRow - 1; row > -1; row-- ) { ati = static_cast<AbTableItem*>( item(row, 0) ); - if ( contactCompare( contactList[ati], r, category ) ) + if ( contactCompare( contactList[ati], r, category ) ){ + try_again = false; break; } } + } if ( row >= rows || row < 0 ) { if ( row < 0 ) currFindRow = rows; else currFindRow = -1; - if ( wrapAround ) + if ( wrapAround ){ emit signalWrapAround(); - else + try_again = true; + }else{ emit signalNotFound(); + try_again = false; + } wrapAround = !wrapAround; } else { @@ -720,7 +730,9 @@ void AbTable::slotDoFind( const QString &findString, bool caseSensitive, bool us addSelection( foundSelection ); setCurrentCell( currFindRow, 0 /* numCols() - 1 */ ); wrapAround = true; + try_again = false; } + } while ( try_again ); } static bool contactCompare( const OContact &cnt, const QRegExp &r, int category ) |