summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-01-27 14:15:50 (UTC)
committer zautrix <zautrix>2005-01-27 14:15:50 (UTC)
commitcd1b9287f2bcd59652ef66186d00dcf5ff8a2a46 (patch) (side-by-side diff)
tree99db53425edb1c68cd880e8221805e0f84ae9a75
parent32ad6c6cc658d952c9dfa1fcf5857662bcf01c22 (diff)
downloadkdepimpi-cd1b9287f2bcd59652ef66186d00dcf5ff8a2a46.zip
kdepimpi-cd1b9287f2bcd59652ef66186d00dcf5ff8a2a46.tar.gz
kdepimpi-cd1b9287f2bcd59652ef66186d00dcf5ff8a2a46.tar.bz2
jump 1
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/jumpbuttonbar.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/kaddressbook/jumpbuttonbar.cpp b/kaddressbook/jumpbuttonbar.cpp
index 184d516..b12d9e7 100644
--- a/kaddressbook/jumpbuttonbar.cpp
+++ b/kaddressbook/jumpbuttonbar.cpp
@@ -96,14 +96,17 @@ QSizePolicy JumpButtonBar::sizePolicy() const
}
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 );
@@ -119,12 +122,13 @@ void JumpButtonBar::recreateButtons()
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 );
@@ -155,18 +159,21 @@ void JumpButtonBar::recreateButtons()
}
maxRows = 28;
bool skipcurrent = false;
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 ;
cur = mButtons.next();
button->setCharacter(mCharacters[ i ]);
} else {
@@ -182,13 +189,13 @@ void JumpButtonBar::recreateButtons()
if ( col == maxRows ) {
row = 0;
col++;
} else
row++;
}
-
+ if ( i > 0 )
skipcurrent = !skipcurrent;
}
while ( cur ) {
cur->hide();
cur = mButtons.next();
}