-rw-r--r-- | kaddressbook/jumpbuttonbar.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kaddressbook/jumpbuttonbar.cpp b/kaddressbook/jumpbuttonbar.cpp index ee5b44e..184d516 100644 --- a/kaddressbook/jumpbuttonbar.cpp +++ b/kaddressbook/jumpbuttonbar.cpp @@ -96,64 +96,65 @@ QSizePolicy JumpButtonBar::sizePolicy() const } void JumpButtonBar::letterClicked() { JumpButton *button = (JumpButton*)sender(); QString character = button->character(); if ( !character.isNull() ) emit jumpToLetter( character ); } 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; } 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 ) ) mCharacters.append( character ); } if ( mCharacters.count() == 0 ) { setEnabled( false ); return; } int maxRows = mCharacters.count() / 2; // we use 2 columns if ( mCharacters.count() % 2 ) maxRows++; int fixwid = 20; sortListLocaleAware( mCharacters ); bool skip2 = false; int skipcount = 0; int maxHei = 25; if ( QApplication::desktop()->width() < 480 && mCharacters.count() > 13) { skipcount = mCharacters.count()-13; maxHei = (QApplication::desktop()->height()-65)/13; } else { fixwid = 30; if ( mCharacters.count() > 20 ) skipcount = mCharacters.count()- 20; maxHei = (QApplication::desktop()->height()-120)/(mCharacters.count()-skipcount); } maxRows = 28; bool skipcurrent = false; bool state = isUpdatesEnabled(); setUpdatesEnabled( false ); //qDebug("cc %d ",mCharacters.count() ); |