Diffstat (limited to 'kaddressbook/jumpbuttonbar.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kaddressbook/jumpbuttonbar.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kaddressbook/jumpbuttonbar.cpp b/kaddressbook/jumpbuttonbar.cpp index 32922a6..7524fb7 100644 --- a/kaddressbook/jumpbuttonbar.cpp +++ b/kaddressbook/jumpbuttonbar.cpp @@ -101,99 +101,99 @@ void JumpButtonBar::letterClicked() 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 ) ) 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 = 26; + int maxChar = 16; int heightDiff = 200; - int fixwid = 0; + 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 if ( mCharacters.count() > maxChar ) skipcount = mCharacters.count()- maxChar; maxHei = (QApplication::desktop()->height()-heightDiff)/(maxChar); maxRows = 28; bool skipcurrent = false; bool state = isUpdatesEnabled(); setUpdatesEnabled( false ); //qDebug("cc %d ",mCharacters.count() ); JumpButton *button = 0; int row = 0, col = 0; JumpButton* cur = mButtons.first(); for ( uint i = 0; i < mCharacters.count(); ++i ) { if ( skipcount > 0 && skipcurrent ) { --skipcount; if ( button ) { button->setCharacter( button->character() + mCharacters[ i ]); } } else { if ( cur ) { button = cur ; cur = mButtons.next(); button->setCharacter(mCharacters[ i ]); } else { button = new JumpButton( mCharacters[ i ].upper(), this, mCharacters[ i ] ); if ( fixwid ) button->setFixedWidth( fixwid ); mButtons.append( button ); connect( button, SIGNAL( clicked() ), this, SLOT( letterClicked() ) ); mButtonLayout->addWidget( button, row, col ); |