summaryrefslogtreecommitdiffabout
path: root/kaddressbook/jumpbuttonbar.cpp
Unidiff
Diffstat (limited to 'kaddressbook/jumpbuttonbar.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/jumpbuttonbar.cpp4
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()
101 QString character = button->character(); 101 QString character = button->character();
102 if ( character.length() == 2 ) 102 if ( character.length() == 2 )
103 character = character.left(1) +"-"+character.right(1); 103 character = character.left(1) +"-"+character.right(1);
104 if ( !character.isNull() ) 104 if ( !character.isNull() )
105 emit jumpToLetter( character ); 105 emit jumpToLetter( character );
106 //qDebug("emit *%s* ",character.latin1()); 106 //qDebug("emit *%s* ",character.latin1());
107} 107}
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 ) )
134 mCharacters.append( character ); 134 mCharacters.append( character );
135 } 135 }
136 if ( mCharacters.count() == 0 ) { 136 if ( mCharacters.count() == 0 ) {
137 setEnabled( false ); 137 setEnabled( false );
138 return; 138 return;
139 } 139 }
140 140
141 int maxRows = mCharacters.count() / 2; // we use 2 columns 141 int maxRows = mCharacters.count() / 2; // we use 2 columns
142 if ( mCharacters.count() % 2 ) 142 if ( mCharacters.count() % 2 )
143 maxRows++; 143 maxRows++;
144 sortListLocaleAware( mCharacters ); 144 sortListLocaleAware( mCharacters );
145 bool skip2 = false; 145 bool skip2 = false;
146 int skipcount = 0; 146 int skipcount = 0;
147 int maxHei = 0; 147 int maxHei = 0;
148#ifdef DESKTOP_VERSION 148#ifdef DESKTOP_VERSION
149 int maxChar = 26; 149 int maxChar = 16;
150 int heightDiff = 200; 150 int heightDiff = 200;
151 int fixwid = 0; 151 int fixwid = 36;
152#else 152#else
153 //default for 240x320 diaplay: 153 //default for 240x320 diaplay:
154 int maxChar = 16; 154 int maxChar = 16;
155 int heightDiff = 64; 155 int heightDiff = 64;
156 int fixwid = 20; 156 int fixwid = 20;
157 157
158 if ( QApplication::desktop()->height() == 480 ) { 158 if ( QApplication::desktop()->height() == 480 ) {
159 maxChar = 16; 159 maxChar = 16;
160 heightDiff = 135; 160 heightDiff = 135;
161 fixwid = 34; 161 fixwid = 34;
162 } else if ( QApplication::desktop()->height() >= 640 ) { 162 } else if ( QApplication::desktop()->height() >= 640 ) {
163 maxChar = 20; 163 maxChar = 20;
164 heightDiff = 135; 164 heightDiff = 135;
165 fixwid = 34; 165 fixwid = 34;
166 } 166 }
167#endif 167#endif
168 168
169 if ( mCharacters.count() > maxChar ) 169 if ( mCharacters.count() > maxChar )
170 skipcount = mCharacters.count()- maxChar; 170 skipcount = mCharacters.count()- maxChar;
171 maxHei = (QApplication::desktop()->height()-heightDiff)/(maxChar); 171 maxHei = (QApplication::desktop()->height()-heightDiff)/(maxChar);
172 172
173 173
174 maxRows = 28; 174 maxRows = 28;
175 bool skipcurrent = false; 175 bool skipcurrent = false;
176 bool state = isUpdatesEnabled(); 176 bool state = isUpdatesEnabled();
177 setUpdatesEnabled( false ); 177 setUpdatesEnabled( false );
178 //qDebug("cc %d ",mCharacters.count() ); 178 //qDebug("cc %d ",mCharacters.count() );
179 JumpButton *button = 0; 179 JumpButton *button = 0;
180 int row = 0, col = 0; 180 int row = 0, col = 0;
181 JumpButton* cur = mButtons.first(); 181 JumpButton* cur = mButtons.first();
182 for ( uint i = 0; i < mCharacters.count(); ++i ) { 182 for ( uint i = 0; i < mCharacters.count(); ++i ) {
183 if ( skipcount > 0 && skipcurrent ) { 183 if ( skipcount > 0 && skipcurrent ) {
184 --skipcount; 184 --skipcount;
185 if ( button ) { 185 if ( button ) {
186 button->setCharacter( button->character() + mCharacters[ i ]); 186 button->setCharacter( button->character() + mCharacters[ i ]);
187 } 187 }
188 } else { 188 } else {
189 if ( cur ) { 189 if ( cur ) {
190 button = cur ; 190 button = cur ;
191 cur = mButtons.next(); 191 cur = mButtons.next();
192 button->setCharacter(mCharacters[ i ]); 192 button->setCharacter(mCharacters[ i ]);
193 } else { 193 } else {
194 button = new JumpButton( mCharacters[ i ].upper(), this, mCharacters[ i ] ); 194 button = new JumpButton( mCharacters[ i ].upper(), this, mCharacters[ i ] );
195 if ( fixwid ) 195 if ( fixwid )
196 button->setFixedWidth( fixwid ); 196 button->setFixedWidth( fixwid );
197 mButtons.append( button ); 197 mButtons.append( button );
198 connect( button, SIGNAL( clicked() ), this, SLOT( letterClicked() ) ); 198 connect( button, SIGNAL( clicked() ), this, SLOT( letterClicked() ) );
199 mButtonLayout->addWidget( button, row, col ); 199 mButtonLayout->addWidget( button, row, col );