summaryrefslogtreecommitdiffabout
path: root/kaddressbook/jumpbuttonbar.cpp
Unidiff
Diffstat (limited to 'kaddressbook/jumpbuttonbar.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/jumpbuttonbar.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/kaddressbook/jumpbuttonbar.cpp b/kaddressbook/jumpbuttonbar.cpp
index 7524fb7..aebf8a6 100644
--- a/kaddressbook/jumpbuttonbar.cpp
+++ b/kaddressbook/jumpbuttonbar.cpp
@@ -108,51 +108,52 @@ void JumpButtonBar::letterClicked()
108 108
109void JumpButtonBar::recreateButtons() 109void JumpButtonBar::recreateButtons()
110{ 110{
111 // the easiest way to remove all buttons ;) 111 // the easiest way to remove all buttons ;)
112 //mButtons.setAutoDelete( true ); 112 //mButtons.setAutoDelete( true );
113 //mButtons.clear(); 113 //mButtons.clear();
114 //mButtons.setAutoDelete( false ); 114 //mButtons.setAutoDelete( false );
115 mCharacters.clear(); 115 mCharacters.clear();
116 116
117 QString character; 117 QString character;
118 118
119 KABC::AddressBook *ab = mCore->addressBook(); 119 KABC::AddressBook *ab = mCore->addressBook();
120 KABC::AddressBook::Iterator it; 120 KABC::AddressBook::Iterator it;
121 KABC::Field *field = mCore->currentSearchField(); 121 KABC::Field *field = mCore->currentSearchField();
122 if ( field ) { 122 if ( field ) {
123 setEnabled( true ); 123 setEnabled( true );
124 } else { 124 } else {
125 setEnabled( false ); 125 setEnabled( false );
126 return; 126 return;
127 } 127 }
128 mCharacters.append( "*"); 128 mCharacters.append( "*");
129 for ( it = ab->begin(); it != ab->end(); ++it ) { 129 for ( it = ab->begin(); it != ab->end(); ++it ) {
130 if ( !field->value( *it ).isEmpty() ) 130 if ( !field->value( *it ).isEmpty() )
131 character = field->value( *it )[ 0 ].lower(); 131 character = field->value( *it )[ 0 ].lower();
132 if ( character != "!" ) 132 if ( character != "!" ) {
133 if ( !character.isEmpty() && !mCharacters.contains( character ) ) 133 if ( !character.isEmpty() && !mCharacters.contains( character ) && character.at( 0 ).isLetter ())
134 mCharacters.append( character ); 134 mCharacters.append( character );
135 }
135 } 136 }
136 if ( mCharacters.count() == 0 ) { 137 if ( mCharacters.count() == 0 ) {
137 setEnabled( false ); 138 setEnabled( false );
138 return; 139 return;
139 } 140 }
140 141
141 int maxRows = mCharacters.count() / 2; // we use 2 columns 142 int maxRows = mCharacters.count() / 2; // we use 2 columns
142 if ( mCharacters.count() % 2 ) 143 if ( mCharacters.count() % 2 )
143 maxRows++; 144 maxRows++;
144 sortListLocaleAware( mCharacters ); 145 sortListLocaleAware( mCharacters );
145 bool skip2 = false; 146 bool skip2 = false;
146 int skipcount = 0; 147 int skipcount = 0;
147 int maxHei = 0; 148 int maxHei = 0;
148#ifdef DESKTOP_VERSION 149#ifdef DESKTOP_VERSION
149 int maxChar = 16; 150 int maxChar = 16;
150 int heightDiff = 200; 151 int heightDiff = 200;
151 int fixwid = 36; 152 int fixwid = 36;
152#else 153#else
153 //default for 240x320 diaplay: 154 //default for 240x320 diaplay:
154 int maxChar = 16; 155 int maxChar = 16;
155 int heightDiff = 64; 156 int heightDiff = 64;
156 int fixwid = 20; 157 int fixwid = 20;
157 158
158 if ( QApplication::desktop()->height() == 480 ) { 159 if ( QApplication::desktop()->height() == 480 ) {