-rw-r--r-- | kaddressbook/jumpbuttonbar.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kaddressbook/jumpbuttonbar.cpp b/kaddressbook/jumpbuttonbar.cpp index 7524fb7..aebf8a6 100644 --- a/kaddressbook/jumpbuttonbar.cpp +++ b/kaddressbook/jumpbuttonbar.cpp @@ -100,68 +100,69 @@ void JumpButtonBar::letterClicked() JumpButton *button = (JumpButton*)sender(); QString character = button->character(); if ( character.length() == 2 ) character = character.left(1) +"-"+character.right(1); if ( !character.isNull() ) emit jumpToLetter( character ); //qDebug("emit *%s* ",character.latin1()); } void JumpButtonBar::recreateButtons() { // the easiest way to remove all buttons ;) //mButtons.setAutoDelete( true ); //mButtons.clear(); //mButtons.setAutoDelete( false ); mCharacters.clear(); QString character; KABC::AddressBook *ab = mCore->addressBook(); KABC::AddressBook::Iterator it; KABC::Field *field = mCore->currentSearchField(); if ( field ) { setEnabled( true ); } else { setEnabled( false ); return; } mCharacters.append( "*"); for ( it = ab->begin(); it != ab->end(); ++it ) { if ( !field->value( *it ).isEmpty() ) character = field->value( *it )[ 0 ].lower(); - if ( character != "!" ) - if ( !character.isEmpty() && !mCharacters.contains( character ) ) + if ( character != "!" ) { + if ( !character.isEmpty() && !mCharacters.contains( character ) && character.at( 0 ).isLetter ()) mCharacters.append( character ); } + } if ( mCharacters.count() == 0 ) { setEnabled( false ); return; } int maxRows = mCharacters.count() / 2; // we use 2 columns if ( mCharacters.count() % 2 ) maxRows++; sortListLocaleAware( mCharacters ); bool skip2 = false; int skipcount = 0; int maxHei = 0; #ifdef DESKTOP_VERSION int maxChar = 16; int heightDiff = 200; int fixwid = 36; #else //default for 240x320 diaplay: int maxChar = 16; int heightDiff = 64; int fixwid = 20; if ( QApplication::desktop()->height() == 480 ) { maxChar = 16; heightDiff = 135; fixwid = 34; } else if ( QApplication::desktop()->height() >= 640 ) { maxChar = 20; heightDiff = 135; fixwid = 34; } #endif |