summaryrefslogtreecommitdiffabout
path: root/kaddressbook
Side-by-side diff
Diffstat (limited to 'kaddressbook') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/jumpbuttonbar.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/kaddressbook/jumpbuttonbar.cpp b/kaddressbook/jumpbuttonbar.cpp
index ee5b44e..184d516 100644
--- a/kaddressbook/jumpbuttonbar.cpp
+++ b/kaddressbook/jumpbuttonbar.cpp
@@ -104,49 +104,50 @@ void JumpButtonBar::letterClicked()
}
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.isEmpty() && !mCharacters.contains( character ) )
+ 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);