-rw-r--r-- | kaddressbook/jumpbuttonbar.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/kaddressbook/jumpbuttonbar.cpp b/kaddressbook/jumpbuttonbar.cpp index 184d516..b12d9e7 100644 --- a/kaddressbook/jumpbuttonbar.cpp +++ b/kaddressbook/jumpbuttonbar.cpp @@ -99,8 +99,11 @@ 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 ); + emit jumpToLetter( character ); + //qDebug("emit *%s* ",character.latin1()); } void JumpButtonBar::recreateButtons() @@ -122,6 +125,7 @@ void JumpButtonBar::recreateButtons() setEnabled( false ); return; } + mCharacters.append( "*"); for ( it = ab->begin(); it != ab->end(); ++it ) { if ( !field->value( *it ).isEmpty() ) character = field->value( *it )[ 0 ].lower(); @@ -158,12 +162,15 @@ void JumpButtonBar::recreateButtons() bool state = isUpdatesEnabled(); setUpdatesEnabled( false ); //qDebug("cc %d ",mCharacters.count() ); - JumpButton *button; + 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 ; @@ -185,8 +192,8 @@ void JumpButtonBar::recreateButtons() } else row++; } - - skipcurrent = !skipcurrent; + if ( i > 0 ) + skipcurrent = !skipcurrent; } while ( cur ) { cur->hide(); |