author | zautrix <zautrix> | 2004-10-07 22:37:40 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-10-07 22:37:40 (UTC) |
commit | 21ec296f7f2832920dac336bb9f9476c80d746f5 (patch) (unidiff) | |
tree | 69b2897665d70ad45da249b1cf374a01d3be6dc4 /kaddressbook | |
parent | 4a01915314201cbe2461ce68cdf9c556c687d727 (diff) | |
download | kdepimpi-21ec296f7f2832920dac336bb9f9476c80d746f5.zip kdepimpi-21ec296f7f2832920dac336bb9f9476c80d746f5.tar.gz kdepimpi-21ec296f7f2832920dac336bb9f9476c80d746f5.tar.bz2 |
ab view fixes
-rw-r--r-- | kaddressbook/views/kaddressbookcardview.cpp | 2 | ||||
-rw-r--r-- | kaddressbook/views/kaddressbookiconview.cpp | 7 | ||||
-rw-r--r-- | kaddressbook/views/kaddressbooktableview.cpp | 2 |
3 files changed, 9 insertions, 2 deletions
diff --git a/kaddressbook/views/kaddressbookcardview.cpp b/kaddressbook/views/kaddressbookcardview.cpp index 8d0fca1..4babf67 100644 --- a/kaddressbook/views/kaddressbookcardview.cpp +++ b/kaddressbook/views/kaddressbookcardview.cpp | |||
@@ -142,305 +142,307 @@ void AddresseeCardView::startDrag() | |||
142 | // KAddressBookCardView | 142 | // KAddressBookCardView |
143 | 143 | ||
144 | KAddressBookCardView::KAddressBookCardView( KABC::AddressBook *ab, | 144 | KAddressBookCardView::KAddressBookCardView( KABC::AddressBook *ab, |
145 | QWidget *parent, const char *name ) | 145 | QWidget *parent, const char *name ) |
146 | : KAddressBookView( ab, parent, name ) | 146 | : KAddressBookView( ab, parent, name ) |
147 | { | 147 | { |
148 | mShowEmptyFields = false; | 148 | mShowEmptyFields = false; |
149 | 149 | ||
150 | // Init the GUI | 150 | // Init the GUI |
151 | QVBoxLayout *layout = new QVBoxLayout(viewWidget()); | 151 | QVBoxLayout *layout = new QVBoxLayout(viewWidget()); |
152 | 152 | ||
153 | mCardView = new AddresseeCardView(viewWidget(), "mCardView"); | 153 | mCardView = new AddresseeCardView(viewWidget(), "mCardView"); |
154 | mCardView->setSelectionMode(CardView::Extended); | 154 | mCardView->setSelectionMode(CardView::Extended); |
155 | layout->addWidget(mCardView); | 155 | layout->addWidget(mCardView); |
156 | 156 | ||
157 | // Connect up the signals | 157 | // Connect up the signals |
158 | connect(mCardView, SIGNAL(executed(CardViewItem *)), | 158 | connect(mCardView, SIGNAL(executed(CardViewItem *)), |
159 | this, SLOT(addresseeExecuted(CardViewItem *))); | 159 | this, SLOT(addresseeExecuted(CardViewItem *))); |
160 | connect(mCardView, SIGNAL(selectionChanged()), | 160 | connect(mCardView, SIGNAL(selectionChanged()), |
161 | this, SLOT(addresseeSelected())); | 161 | this, SLOT(addresseeSelected())); |
162 | connect(mCardView, SIGNAL(addresseeDropped(QDropEvent*)), | 162 | connect(mCardView, SIGNAL(addresseeDropped(QDropEvent*)), |
163 | this, SIGNAL(dropped(QDropEvent*))); | 163 | this, SIGNAL(dropped(QDropEvent*))); |
164 | connect(mCardView, SIGNAL(startAddresseeDrag()), | 164 | connect(mCardView, SIGNAL(startAddresseeDrag()), |
165 | this, SIGNAL(startDrag())); | 165 | this, SIGNAL(startDrag())); |
166 | } | 166 | } |
167 | 167 | ||
168 | KAddressBookCardView::~KAddressBookCardView() | 168 | KAddressBookCardView::~KAddressBookCardView() |
169 | { | 169 | { |
170 | } | 170 | } |
171 | 171 | ||
172 | void KAddressBookCardView::readConfig(KConfig *config) | 172 | void KAddressBookCardView::readConfig(KConfig *config) |
173 | { | 173 | { |
174 | KAddressBookView::readConfig(config); | 174 | KAddressBookView::readConfig(config); |
175 | 175 | ||
176 | // costum colors? | 176 | // costum colors? |
177 | if ( config->readBoolEntry( "EnableCustomColors", false ) ) | 177 | if ( config->readBoolEntry( "EnableCustomColors", false ) ) |
178 | { | 178 | { |
179 | QPalette p( mCardView->palette() ); | 179 | QPalette p( mCardView->palette() ); |
180 | QColor c = p.color(QPalette::Normal, QColorGroup::Base ); | 180 | QColor c = p.color(QPalette::Normal, QColorGroup::Base ); |
181 | p.setColor( QPalette::Normal, QColorGroup::Base, config->readColorEntry( "BackgroundColor", &c ) ); | 181 | p.setColor( QPalette::Normal, QColorGroup::Base, config->readColorEntry( "BackgroundColor", &c ) ); |
182 | c = p.color(QPalette::Normal, QColorGroup::Text ); | 182 | c = p.color(QPalette::Normal, QColorGroup::Text ); |
183 | p.setColor( QPalette::Normal, QColorGroup::Text, config->readColorEntry( "TextColor", &c ) ); | 183 | p.setColor( QPalette::Normal, QColorGroup::Text, config->readColorEntry( "TextColor", &c ) ); |
184 | c = p.color(QPalette::Normal, QColorGroup::Button ); | 184 | c = p.color(QPalette::Normal, QColorGroup::Button ); |
185 | p.setColor( QPalette::Normal, QColorGroup::Button, config->readColorEntry( "HeaderColor", &c ) ); | 185 | p.setColor( QPalette::Normal, QColorGroup::Button, config->readColorEntry( "HeaderColor", &c ) ); |
186 | c = p.color(QPalette::Normal, QColorGroup::ButtonText ); | 186 | c = p.color(QPalette::Normal, QColorGroup::ButtonText ); |
187 | p.setColor( QPalette::Normal, QColorGroup::ButtonText, config->readColorEntry( "HeaderTextColor", &c ) ); | 187 | p.setColor( QPalette::Normal, QColorGroup::ButtonText, config->readColorEntry( "HeaderTextColor", &c ) ); |
188 | c = p.color(QPalette::Normal, QColorGroup::Highlight ); | 188 | c = p.color(QPalette::Normal, QColorGroup::Highlight ); |
189 | p.setColor( QPalette::Normal, QColorGroup::Highlight, config->readColorEntry( "HighlightColor", &c ) ); | 189 | p.setColor( QPalette::Normal, QColorGroup::Highlight, config->readColorEntry( "HighlightColor", &c ) ); |
190 | c = p.color(QPalette::Normal, QColorGroup::HighlightedText ); | 190 | c = p.color(QPalette::Normal, QColorGroup::HighlightedText ); |
191 | p.setColor( QPalette::Normal, QColorGroup::HighlightedText, config->readColorEntry( "HighlightedTextColor", &c ) ); | 191 | p.setColor( QPalette::Normal, QColorGroup::HighlightedText, config->readColorEntry( "HighlightedTextColor", &c ) ); |
192 | mCardView->viewport()->setPalette( p ); | 192 | mCardView->viewport()->setPalette( p ); |
193 | } | 193 | } |
194 | else | 194 | else |
195 | { | 195 | { |
196 | // needed if turned off during a session. | 196 | // needed if turned off during a session. |
197 | mCardView->viewport()->setPalette( mCardView->palette() ); | 197 | mCardView->viewport()->setPalette( mCardView->palette() ); |
198 | } | 198 | } |
199 | 199 | ||
200 | //custom fonts? | 200 | //custom fonts? |
201 | QFont f( font() ); | 201 | QFont f( font() ); |
202 | if ( config->readBoolEntry( "EnableCustomFonts", false ) ) | 202 | if ( config->readBoolEntry( "EnableCustomFonts", false ) ) |
203 | { | 203 | { |
204 | mCardView->setFont( config->readFontEntry( "TextFont", &f) ); | 204 | mCardView->setFont( config->readFontEntry( "TextFont", &f) ); |
205 | f.setBold( true ); | 205 | f.setBold( true ); |
206 | mCardView->setHeaderFont( config->readFontEntry( "HeaderFont", &f ) ); | 206 | mCardView->setHeaderFont( config->readFontEntry( "HeaderFont", &f ) ); |
207 | } | 207 | } |
208 | else | 208 | else |
209 | { | 209 | { |
210 | mCardView->setFont( f ); | 210 | mCardView->setFont( f ); |
211 | f.setBold( true ); | 211 | f.setBold( true ); |
212 | mCardView->setHeaderFont( f ); | 212 | mCardView->setHeaderFont( f ); |
213 | } | 213 | } |
214 | 214 | ||
215 | mCardView->setDrawCardBorder(config->readBoolEntry("DrawBorder", true)); | 215 | mCardView->setDrawCardBorder(config->readBoolEntry("DrawBorder", true)); |
216 | mCardView->setDrawColSeparators(config->readBoolEntry("DrawSeparators", | 216 | mCardView->setDrawColSeparators(config->readBoolEntry("DrawSeparators", |
217 | true)); | 217 | true)); |
218 | mCardView->setDrawFieldLabels(config->readBoolEntry("DrawFieldLabels",false)); | 218 | mCardView->setDrawFieldLabels(config->readBoolEntry("DrawFieldLabels",false)); |
219 | mShowEmptyFields = config->readBoolEntry("ShowEmptyFields", false); | 219 | mShowEmptyFields = config->readBoolEntry("ShowEmptyFields", false); |
220 | 220 | ||
221 | mCardView->setShowEmptyFields( mShowEmptyFields ); | 221 | mCardView->setShowEmptyFields( mShowEmptyFields ); |
222 | 222 | ||
223 | mCardView->setItemWidth( config->readNumEntry( "ItemWidth", 200 ) ); | 223 | mCardView->setItemWidth( config->readNumEntry( "ItemWidth", 200 ) ); |
224 | mCardView->setItemMargin( config->readNumEntry( "ItemMargin", 0 ) ); | 224 | mCardView->setItemMargin( config->readNumEntry( "ItemMargin", 0 ) ); |
225 | mCardView->setItemSpacing( config->readNumEntry( "ItemSpacing", 10 ) ); | 225 | mCardView->setItemSpacing( config->readNumEntry( "ItemSpacing", 10 ) ); |
226 | mCardView->setSeparatorWidth( config->readNumEntry( "SeparatorWidth", 2 ) ); | 226 | mCardView->setSeparatorWidth( config->readNumEntry( "SeparatorWidth", 2 ) ); |
227 | 227 | ||
228 | disconnect(mCardView, SIGNAL(executed(CardViewItem *)), | 228 | disconnect(mCardView, SIGNAL(executed(CardViewItem *)), |
229 | this, SLOT(addresseeExecuted(CardViewItem *))); | 229 | this, SLOT(addresseeExecuted(CardViewItem *))); |
230 | 230 | ||
231 | if (KABPrefs::instance()->mHonorSingleClick) | 231 | if (KABPrefs::instance()->mHonorSingleClick) |
232 | connect(mCardView, SIGNAL(executed(CardViewItem *)), | 232 | connect(mCardView, SIGNAL(executed(CardViewItem *)), |
233 | this, SLOT(addresseeExecuted(CardViewItem *))); | 233 | this, SLOT(addresseeExecuted(CardViewItem *))); |
234 | else | 234 | else |
235 | connect(mCardView, SIGNAL(doubleClicked(CardViewItem *)), | 235 | connect(mCardView, SIGNAL(doubleClicked(CardViewItem *)), |
236 | this, SLOT(addresseeExecuted(CardViewItem *))); | 236 | this, SLOT(addresseeExecuted(CardViewItem *))); |
237 | 237 | ||
238 | } | 238 | } |
239 | 239 | ||
240 | void KAddressBookCardView::writeConfig( KConfig *config ) | 240 | void KAddressBookCardView::writeConfig( KConfig *config ) |
241 | { | 241 | { |
242 | config->writeEntry( "ItemWidth", mCardView->itemWidth() ); | 242 | config->writeEntry( "ItemWidth", mCardView->itemWidth() ); |
243 | KAddressBookView::writeConfig( config ); | 243 | KAddressBookView::writeConfig( config ); |
244 | } | 244 | } |
245 | void KAddressBookCardView::doSearch( const QString& s,KABC::Field *field ) | 245 | void KAddressBookCardView::doSearch( const QString& s,KABC::Field *field ) |
246 | { | 246 | { |
247 | mCardView->clear(); | 247 | mCardView->clear(); |
248 | if ( s.isEmpty() || s == "*" ) { | 248 | if ( s.isEmpty() || s == "*" ) { |
249 | refresh(); | 249 | refresh(); |
250 | return; | 250 | return; |
251 | } | 251 | } |
252 | QString pattern = s.lower()+"*"; | 252 | QString pattern = s.lower()+"*"; |
253 | QRegExp re; | 253 | QRegExp re; |
254 | re.setWildcard(true); // most people understand these better. | 254 | re.setWildcard(true); // most people understand these better. |
255 | re.setCaseSensitive(false); | 255 | re.setCaseSensitive(false); |
256 | re.setPattern( pattern ); | 256 | re.setPattern( pattern ); |
257 | if (!re.isValid()) | 257 | if (!re.isValid()) |
258 | return; | 258 | return; |
259 | mCardView->viewport()->setUpdatesEnabled( false ); | 259 | mCardView->viewport()->setUpdatesEnabled( false ); |
260 | KABC::Addressee::List addresseeList = addressees(); | 260 | KABC::Addressee::List addresseeList = addressees(); |
261 | KABC::Addressee::List::Iterator it; | 261 | KABC::Addressee::List::Iterator it; |
262 | if ( field ) { | 262 | if ( field ) { |
263 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | 263 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { |
264 | #if QT_VERSION >= 300 | 264 | #if QT_VERSION >= 300 |
265 | if (re.search(field->value( *it ).lower()) != -1) | 265 | if (re.search(field->value( *it ).lower()) != -1) |
266 | #else | 266 | #else |
267 | if (re.match(field->value( *it ).lower()) != -1) | 267 | if (re.match(field->value( *it ).lower()) != -1) |
268 | #endif | 268 | #endif |
269 | new AddresseeCardViewItem(fields(), mShowEmptyFields, | 269 | new AddresseeCardViewItem(fields(), mShowEmptyFields, |
270 | addressBook(), *it, mCardView); | 270 | addressBook(), *it, mCardView); |
271 | 271 | ||
272 | } | 272 | } |
273 | } else { | 273 | } else { |
274 | KABC::Field::List fieldList = fields(); | 274 | KABC::Field::List fieldList = fields(); |
275 | KABC::Field::List::ConstIterator fieldIt; | 275 | KABC::Field::List::ConstIterator fieldIt; |
276 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | 276 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { |
277 | for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { | 277 | for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { |
278 | #if QT_VERSION >= 300 | 278 | #if QT_VERSION >= 300 |
279 | if (re.search((*fieldIt)->value( *it ).lower()) != -1) | 279 | if (re.search((*fieldIt)->value( *it ).lower()) != -1) |
280 | #else | 280 | #else |
281 | if (re.match((*fieldIt)->value( *it ).lower()) != -1) | 281 | if (re.match((*fieldIt)->value( *it ).lower()) != -1) |
282 | #endif | 282 | #endif |
283 | { | 283 | { |
284 | new AddresseeCardViewItem(fields(), mShowEmptyFields, | 284 | new AddresseeCardViewItem(fields(), mShowEmptyFields, |
285 | addressBook(), *it, mCardView); | 285 | addressBook(), *it, mCardView); |
286 | continue; | 286 | continue; |
287 | } | 287 | } |
288 | } | 288 | } |
289 | } | 289 | } |
290 | } | 290 | } |
291 | mCardView->viewport()->setUpdatesEnabled( true ); | 291 | mCardView->viewport()->setUpdatesEnabled( true ); |
292 | mCardView->viewport()->update(); | 292 | mCardView->viewport()->update(); |
293 | // by default nothing is selected | 293 | // by default nothing is selected |
294 | emit selected(QString::null); | 294 | emit selected(QString::null); |
295 | } | 295 | } |
296 | QStringList KAddressBookCardView::selectedUids() | 296 | QStringList KAddressBookCardView::selectedUids() |
297 | { | 297 | { |
298 | QStringList uidList; | 298 | QStringList uidList; |
299 | CardViewItem *item; | 299 | CardViewItem *item; |
300 | AddresseeCardViewItem *aItem; | 300 | AddresseeCardViewItem *aItem; |
301 | 301 | ||
302 | for (item = mCardView->firstItem(); item; item = item->nextItem()) | 302 | for (item = mCardView->firstItem(); item; item = item->nextItem()) |
303 | { | 303 | { |
304 | if (item->isSelected()) | 304 | if (item->isSelected()) |
305 | { | 305 | { |
306 | #ifndef KAB_EMBEDDED | 306 | #ifndef KAB_EMBEDDED |
307 | aItem = dynamic_cast<AddresseeCardViewItem*>(item); | 307 | aItem = dynamic_cast<AddresseeCardViewItem*>(item); |
308 | #else //KAB_EMBEDDED | 308 | #else //KAB_EMBEDDED |
309 | aItem = (AddresseeCardViewItem*)(item); | 309 | aItem = (AddresseeCardViewItem*)(item); |
310 | #endif //KAB_EMBEDDED | 310 | #endif //KAB_EMBEDDED |
311 | if (aItem) | 311 | if (aItem) |
312 | uidList << aItem->addressee().uid(); | 312 | uidList << aItem->addressee().uid(); |
313 | } | 313 | } |
314 | } | 314 | } |
315 | 315 | ||
316 | return uidList; | 316 | return uidList; |
317 | } | 317 | } |
318 | 318 | ||
319 | void KAddressBookCardView::refresh(QString uid) | 319 | void KAddressBookCardView::refresh(QString uid) |
320 | { | 320 | { |
321 | CardViewItem *item; | 321 | CardViewItem *item; |
322 | AddresseeCardViewItem *aItem; | 322 | AddresseeCardViewItem *aItem; |
323 | 323 | ||
324 | if (uid.isNull()) | 324 | if (uid.isNull()) |
325 | { | 325 | { |
326 | // Rebuild the view | 326 | // Rebuild the view |
327 | mCardView->viewport()->setUpdatesEnabled( false ); | 327 | mCardView->viewport()->setUpdatesEnabled( false ); |
328 | mCardView->clear(); | 328 | mCardView->clear(); |
329 | 329 | ||
330 | KABC::Addressee::List addresseeList = addressees(); | 330 | KABC::Addressee::List addresseeList = addressees(); |
331 | KABC::Addressee::List::Iterator iter; | 331 | KABC::Addressee::List::Iterator iter; |
332 | for (iter = addresseeList.begin(); iter != addresseeList.end(); ++iter) | 332 | for (iter = addresseeList.begin(); iter != addresseeList.end(); ++iter) |
333 | { | 333 | { |
334 | if ( (*iter).uid().left(2) == "la" && (*iter).uid().left(19) == QString("last-syncAddressee-") ) | ||
335 | continue; | ||
334 | aItem = new AddresseeCardViewItem(fields(), mShowEmptyFields, | 336 | aItem = new AddresseeCardViewItem(fields(), mShowEmptyFields, |
335 | addressBook(), *iter, mCardView); | 337 | addressBook(), *iter, mCardView); |
336 | } | 338 | } |
337 | mCardView->viewport()->setUpdatesEnabled( true ); | 339 | mCardView->viewport()->setUpdatesEnabled( true ); |
338 | mCardView->viewport()->update(); | 340 | mCardView->viewport()->update(); |
339 | 341 | ||
340 | // by default nothing is selected | 342 | // by default nothing is selected |
341 | emit selected(QString::null); | 343 | emit selected(QString::null); |
342 | } | 344 | } |
343 | else | 345 | else |
344 | { | 346 | { |
345 | // Try to find the one to refresh | 347 | // Try to find the one to refresh |
346 | bool found = false; | 348 | bool found = false; |
347 | for (item = mCardView->firstItem(); item && !found; | 349 | for (item = mCardView->firstItem(); item && !found; |
348 | item = item->nextItem()) | 350 | item = item->nextItem()) |
349 | { | 351 | { |
350 | #ifndef KAB_EMBEDDED | 352 | #ifndef KAB_EMBEDDED |
351 | aItem = dynamic_cast<AddresseeCardViewItem*>(item); | 353 | aItem = dynamic_cast<AddresseeCardViewItem*>(item); |
352 | #else //KAB_EMBEDDED | 354 | #else //KAB_EMBEDDED |
353 | aItem = (AddresseeCardViewItem*)(item); | 355 | aItem = (AddresseeCardViewItem*)(item); |
354 | #endif //KAB_EMBEDDED | 356 | #endif //KAB_EMBEDDED |
355 | 357 | ||
356 | if ((aItem) && (aItem->addressee().uid() == uid)) | 358 | if ((aItem) && (aItem->addressee().uid() == uid)) |
357 | { | 359 | { |
358 | aItem->refresh(); | 360 | aItem->refresh(); |
359 | found = true; | 361 | found = true; |
360 | } | 362 | } |
361 | } | 363 | } |
362 | } | 364 | } |
363 | } | 365 | } |
364 | 366 | ||
365 | void KAddressBookCardView::setSelected(QString uid, bool selected) | 367 | void KAddressBookCardView::setSelected(QString uid, bool selected) |
366 | { | 368 | { |
367 | CardViewItem *item; | 369 | CardViewItem *item; |
368 | AddresseeCardViewItem *aItem; | 370 | AddresseeCardViewItem *aItem; |
369 | 371 | ||
370 | if (uid.isNull()) | 372 | if (uid.isNull()) |
371 | { | 373 | { |
372 | mCardView->selectAll(selected); | 374 | mCardView->selectAll(selected); |
373 | } | 375 | } |
374 | else | 376 | else |
375 | { | 377 | { |
376 | bool found = false; | 378 | bool found = false; |
377 | for (item = mCardView->firstItem(); item && !found; | 379 | for (item = mCardView->firstItem(); item && !found; |
378 | item = item->nextItem()) | 380 | item = item->nextItem()) |
379 | { | 381 | { |
380 | #ifndef KAB_EMBEDDED | 382 | #ifndef KAB_EMBEDDED |
381 | aItem = dynamic_cast<AddresseeCardViewItem*>(item); | 383 | aItem = dynamic_cast<AddresseeCardViewItem*>(item); |
382 | #else //KAB_EMBEDDED | 384 | #else //KAB_EMBEDDED |
383 | aItem = (AddresseeCardViewItem*)(item); | 385 | aItem = (AddresseeCardViewItem*)(item); |
384 | #endif //KAB_EMBEDDED | 386 | #endif //KAB_EMBEDDED |
385 | 387 | ||
386 | if ((aItem) && (aItem->addressee().uid() == uid)) | 388 | if ((aItem) && (aItem->addressee().uid() == uid)) |
387 | { | 389 | { |
388 | mCardView->setSelected(aItem, selected); | 390 | mCardView->setSelected(aItem, selected); |
389 | mCardView->ensureItemVisible(item); | 391 | mCardView->ensureItemVisible(item); |
390 | found = true; | 392 | found = true; |
391 | } | 393 | } |
392 | } | 394 | } |
393 | } | 395 | } |
394 | } | 396 | } |
395 | 397 | ||
396 | //US added an additional method without parameter | 398 | //US added an additional method without parameter |
397 | void KAddressBookCardView::setSelected() | 399 | void KAddressBookCardView::setSelected() |
398 | { | 400 | { |
399 | setSelected(QString::null, true); | 401 | setSelected(QString::null, true); |
400 | } | 402 | } |
401 | 403 | ||
402 | void KAddressBookCardView::addresseeExecuted(CardViewItem *item) | 404 | void KAddressBookCardView::addresseeExecuted(CardViewItem *item) |
403 | { | 405 | { |
404 | #ifndef KAB_EMBEDDED | 406 | #ifndef KAB_EMBEDDED |
405 | AddresseeCardViewItem *aItem = dynamic_cast<AddresseeCardViewItem*>(item); | 407 | AddresseeCardViewItem *aItem = dynamic_cast<AddresseeCardViewItem*>(item); |
406 | #else //KAB_EMBEDDED | 408 | #else //KAB_EMBEDDED |
407 | AddresseeCardViewItem *aItem = (AddresseeCardViewItem*)(item); | 409 | AddresseeCardViewItem *aItem = (AddresseeCardViewItem*)(item); |
408 | #endif //KAB_EMBEDDED | 410 | #endif //KAB_EMBEDDED |
409 | if (aItem) | 411 | if (aItem) |
410 | { | 412 | { |
411 | //kdDebug()<<"... even has a valid item:)"<<endl; | 413 | //kdDebug()<<"... even has a valid item:)"<<endl; |
412 | emit executed(aItem->addressee().uid()); | 414 | emit executed(aItem->addressee().uid()); |
413 | } | 415 | } |
414 | } | 416 | } |
415 | 417 | ||
416 | void KAddressBookCardView::addresseeSelected() | 418 | void KAddressBookCardView::addresseeSelected() |
417 | { | 419 | { |
418 | CardViewItem *item; | 420 | CardViewItem *item; |
419 | AddresseeCardViewItem *aItem; | 421 | AddresseeCardViewItem *aItem; |
420 | 422 | ||
421 | bool found = false; | 423 | bool found = false; |
422 | for (item = mCardView->firstItem(); item && !found; | 424 | for (item = mCardView->firstItem(); item && !found; |
423 | item = item->nextItem()) | 425 | item = item->nextItem()) |
424 | { | 426 | { |
425 | if (item->isSelected()) | 427 | if (item->isSelected()) |
426 | { | 428 | { |
427 | #ifndef KAB_EMBEDDED | 429 | #ifndef KAB_EMBEDDED |
428 | aItem = dynamic_cast<AddresseeCardViewItem*>(item); | 430 | aItem = dynamic_cast<AddresseeCardViewItem*>(item); |
429 | #else //KAB_EMBEDDED | 431 | #else //KAB_EMBEDDED |
430 | aItem = (AddresseeCardViewItem*)(item); | 432 | aItem = (AddresseeCardViewItem*)(item); |
431 | #endif //KAB_EMBEDDED | 433 | #endif //KAB_EMBEDDED |
432 | if ( aItem ) | 434 | if ( aItem ) |
433 | { | 435 | { |
434 | emit selected(aItem->addressee().uid()); | 436 | emit selected(aItem->addressee().uid()); |
435 | found = true; | 437 | found = true; |
436 | } | 438 | } |
437 | } | 439 | } |
438 | } | 440 | } |
439 | 441 | ||
440 | if (!found) | 442 | if (!found) |
441 | emit selected(QString::null); | 443 | emit selected(QString::null); |
442 | 444 | ||
443 | } | 445 | } |
444 | #ifndef KAB_EMBEDDED | 446 | #ifndef KAB_EMBEDDED |
445 | #include "kaddressbookcardview.moc" | 447 | #include "kaddressbookcardview.moc" |
446 | #endif //KAB_EMBEDDED | 448 | #endif //KAB_EMBEDDED |
diff --git a/kaddressbook/views/kaddressbookiconview.cpp b/kaddressbook/views/kaddressbookiconview.cpp index 0ffc674..fdc0db9 100644 --- a/kaddressbook/views/kaddressbookiconview.cpp +++ b/kaddressbook/views/kaddressbookiconview.cpp | |||
@@ -127,300 +127,303 @@ class AddresseeIconViewItem : public QIconViewItem | |||
127 | : KIconViewItem(parent), mFields( fields ), mDocument(doc), mAddressee(a) | 127 | : KIconViewItem(parent), mFields( fields ), mDocument(doc), mAddressee(a) |
128 | #else //KAB_EMBEDDED | 128 | #else //KAB_EMBEDDED |
129 | AddresseeIconViewItem(const KABC::Field::List &fields, | 129 | AddresseeIconViewItem(const KABC::Field::List &fields, |
130 | KABC::AddressBook *doc, const KABC::Addressee &a, | 130 | KABC::AddressBook *doc, const KABC::Addressee &a, |
131 | QIconView *parent) | 131 | QIconView *parent) |
132 | : QIconViewItem(parent), mFields( fields ), mDocument(doc), mAddressee(a) | 132 | : QIconViewItem(parent), mFields( fields ), mDocument(doc), mAddressee(a) |
133 | #endif //KAB_EMBEDDED | 133 | #endif //KAB_EMBEDDED |
134 | { | 134 | { |
135 | if ( mFields.isEmpty() ) { | 135 | if ( mFields.isEmpty() ) { |
136 | mFields = KABC::Field::defaultFields(); | 136 | mFields = KABC::Field::defaultFields(); |
137 | } | 137 | } |
138 | refresh(); | 138 | refresh(); |
139 | } | 139 | } |
140 | 140 | ||
141 | const KABC::Addressee &addressee() const { return mAddressee; } | 141 | const KABC::Addressee &addressee() const { return mAddressee; } |
142 | 142 | ||
143 | void refresh() | 143 | void refresh() |
144 | { | 144 | { |
145 | // Update our addressee, since it may have changed elsewhere | 145 | // Update our addressee, since it may have changed elsewhere |
146 | mAddressee = mDocument->findByUid(mAddressee.uid()); | 146 | mAddressee = mDocument->findByUid(mAddressee.uid()); |
147 | 147 | ||
148 | if (!mAddressee.isEmpty()) | 148 | if (!mAddressee.isEmpty()) |
149 | setText( mAddressee.givenName() + " " + mAddressee.familyName() ); | 149 | setText( mAddressee.givenName() + " " + mAddressee.familyName() ); |
150 | 150 | ||
151 | QPixmap icon; | 151 | QPixmap icon; |
152 | QPixmap defaultIcon( KGlobal::iconLoader()->loadIcon( "vcard", KIcon::Desktop, 128 ) ); | 152 | QPixmap defaultIcon( KGlobal::iconLoader()->loadIcon( "vcard", KIcon::Desktop, 128 ) ); |
153 | KABC::Picture pic = mAddressee.photo(); | 153 | KABC::Picture pic = mAddressee.photo(); |
154 | if ( pic.data().isNull() ) | 154 | if ( pic.data().isNull() ) |
155 | pic = mAddressee.logo(); | 155 | pic = mAddressee.logo(); |
156 | 156 | ||
157 | if ( pic.isIntern() && !pic.data().isNull() ) { | 157 | if ( pic.isIntern() && !pic.data().isNull() ) { |
158 | QImage img = pic.data(); | 158 | QImage img = pic.data(); |
159 | #ifndef KAB_EMBEDDED | 159 | #ifndef KAB_EMBEDDED |
160 | if ( img.width() > img.height() ) | 160 | if ( img.width() > img.height() ) |
161 | icon = img.scaleWidth( 32 ); | 161 | icon = img.scaleWidth( 32 ); |
162 | else | 162 | else |
163 | icon = img.scaleHeight( 32 ); | 163 | icon = img.scaleHeight( 32 ); |
164 | #else //KAB_EMBEDDED | 164 | #else //KAB_EMBEDDED |
165 | qDebug("AddresseeIconViewItem::refresh - scale here dependend of the displaysize and the right factor"); | 165 | qDebug("AddresseeIconViewItem::refresh - scale here dependend of the displaysize and the right factor"); |
166 | icon.convertFromImage(img.smoothScale(32, 32)); | 166 | icon.convertFromImage(img.smoothScale(32, 32)); |
167 | #endif //KAB_EMBEDDED | 167 | #endif //KAB_EMBEDDED |
168 | 168 | ||
169 | } else | 169 | } else |
170 | icon = defaultIcon; | 170 | icon = defaultIcon; |
171 | 171 | ||
172 | setPixmap( icon ); | 172 | setPixmap( icon ); |
173 | } | 173 | } |
174 | 174 | ||
175 | private: | 175 | private: |
176 | KABC::Field::List mFields; | 176 | KABC::Field::List mFields; |
177 | KABC::AddressBook *mDocument; | 177 | KABC::AddressBook *mDocument; |
178 | KABC::Addressee mAddressee; | 178 | KABC::Addressee mAddressee; |
179 | }; | 179 | }; |
180 | 180 | ||
181 | /////////////////////////////// | 181 | /////////////////////////////// |
182 | // KAddressBookView | 182 | // KAddressBookView |
183 | 183 | ||
184 | KAddressBookIconView::KAddressBookIconView( KABC::AddressBook *ab, | 184 | KAddressBookIconView::KAddressBookIconView( KABC::AddressBook *ab, |
185 | QWidget *parent, const char *name) | 185 | QWidget *parent, const char *name) |
186 | : KAddressBookView( ab, parent, name ) | 186 | : KAddressBookView( ab, parent, name ) |
187 | { | 187 | { |
188 | // Init the GUI | 188 | // Init the GUI |
189 | QVBoxLayout *layout = new QVBoxLayout(viewWidget()); | 189 | QVBoxLayout *layout = new QVBoxLayout(viewWidget()); |
190 | 190 | ||
191 | mIconView = new AddresseeIconView(viewWidget(), "mIconView"); | 191 | mIconView = new AddresseeIconView(viewWidget(), "mIconView"); |
192 | layout->addWidget(mIconView); | 192 | layout->addWidget(mIconView); |
193 | 193 | ||
194 | // Connect up the signals | 194 | // Connect up the signals |
195 | 195 | ||
196 | //US method executed is part of KIconView | 196 | //US method executed is part of KIconView |
197 | //US connect(mIconView, SIGNAL(executed(QIconViewItem *)), | 197 | //US connect(mIconView, SIGNAL(executed(QIconViewItem *)), |
198 | //US this, SLOT(addresseeExecuted(QIconViewItem *))); | 198 | //US this, SLOT(addresseeExecuted(QIconViewItem *))); |
199 | connect(mIconView, SIGNAL(selectionChanged(QIconViewItem *)), | 199 | connect(mIconView, SIGNAL(selectionChanged(QIconViewItem *)), |
200 | this, SLOT(addresseeExecuted(QIconViewItem *))); | 200 | this, SLOT(addresseeExecuted(QIconViewItem *))); |
201 | 201 | ||
202 | connect(mIconView, SIGNAL(selectionChanged()), | 202 | connect(mIconView, SIGNAL(selectionChanged()), |
203 | this, SLOT(addresseeSelected())); | 203 | this, SLOT(addresseeSelected())); |
204 | connect(mIconView, SIGNAL(addresseeDropped(QDropEvent*)), | 204 | connect(mIconView, SIGNAL(addresseeDropped(QDropEvent*)), |
205 | this, SIGNAL(dropped(QDropEvent*))); | 205 | this, SIGNAL(dropped(QDropEvent*))); |
206 | connect(mIconView, SIGNAL(startAddresseeDrag()), | 206 | connect(mIconView, SIGNAL(startAddresseeDrag()), |
207 | this, SIGNAL(startDrag())); | 207 | this, SIGNAL(startDrag())); |
208 | } | 208 | } |
209 | 209 | ||
210 | KAddressBookIconView::~KAddressBookIconView() | 210 | KAddressBookIconView::~KAddressBookIconView() |
211 | { | 211 | { |
212 | } | 212 | } |
213 | 213 | ||
214 | void KAddressBookIconView::readConfig(KConfig *config) | 214 | void KAddressBookIconView::readConfig(KConfig *config) |
215 | { | 215 | { |
216 | KAddressBookView::readConfig(config); | 216 | KAddressBookView::readConfig(config); |
217 | 217 | ||
218 | //US method executed is part of KIconView | 218 | //US method executed is part of KIconView |
219 | //US disconnect(mIconView, SIGNAL(executed(QIconViewItem *)), | 219 | //US disconnect(mIconView, SIGNAL(executed(QIconViewItem *)), |
220 | //US this, SLOT(addresseeExecuted(QIconViewItem *))); | 220 | //US this, SLOT(addresseeExecuted(QIconViewItem *))); |
221 | disconnect(mIconView, SIGNAL(selectionChanged(QIconViewItem *)), | 221 | disconnect(mIconView, SIGNAL(selectionChanged(QIconViewItem *)), |
222 | this, SLOT(addresseeExecuted(QIconViewItem *))); | 222 | this, SLOT(addresseeExecuted(QIconViewItem *))); |
223 | 223 | ||
224 | //US method executed is part of KIconView. Use selectionChanged instead | 224 | //US method executed is part of KIconView. Use selectionChanged instead |
225 | /*US | 225 | /*US |
226 | if (KABPrefs::instance()->mHonorSingleClick) | 226 | if (KABPrefs::instance()->mHonorSingleClick) |
227 | connect(mIconView, SIGNAL(executed(QIconViewItem *)), | 227 | connect(mIconView, SIGNAL(executed(QIconViewItem *)), |
228 | this, SLOT(addresseeExecuted(QIconViewItem *))); | 228 | this, SLOT(addresseeExecuted(QIconViewItem *))); |
229 | else | 229 | else |
230 | connect(mIconView, SIGNAL(doubleClicked(QIconViewItem *)), | 230 | connect(mIconView, SIGNAL(doubleClicked(QIconViewItem *)), |
231 | this, SLOT(addresseeExecuted(QIconViewItem *))); | 231 | this, SLOT(addresseeExecuted(QIconViewItem *))); |
232 | */ | 232 | */ |
233 | connect(mIconView, SIGNAL(selectionChanged(QIconViewItem *)), | 233 | connect(mIconView, SIGNAL(selectionChanged(QIconViewItem *)), |
234 | this, SLOT(addresseeExecuted(QIconViewItem *))); | 234 | this, SLOT(addresseeExecuted(QIconViewItem *))); |
235 | 235 | ||
236 | } | 236 | } |
237 | void KAddressBookIconView::doSearch( const QString& s ,KABC::Field *field ) | 237 | void KAddressBookIconView::doSearch( const QString& s ,KABC::Field *field ) |
238 | { | 238 | { |
239 | mIconView->clear(); | 239 | mIconView->clear(); |
240 | mIconList.clear(); | 240 | mIconList.clear(); |
241 | if ( s.isEmpty() || s == "*" ) { | 241 | if ( s.isEmpty() || s == "*" ) { |
242 | refresh(); | 242 | refresh(); |
243 | return; | 243 | return; |
244 | } | 244 | } |
245 | QString pattern = s.lower()+"*"; | 245 | QString pattern = s.lower()+"*"; |
246 | QRegExp re; | 246 | QRegExp re; |
247 | re.setWildcard(true); // most people understand these better. | 247 | re.setWildcard(true); // most people understand these better. |
248 | re.setCaseSensitive(false); | 248 | re.setCaseSensitive(false); |
249 | re.setPattern( pattern ); | 249 | re.setPattern( pattern ); |
250 | if (!re.isValid()) | 250 | if (!re.isValid()) |
251 | return; | 251 | return; |
252 | KABC::Addressee::List addresseeList = addressees(); | 252 | KABC::Addressee::List addresseeList = addressees(); |
253 | KABC::Addressee::List::Iterator it; | 253 | KABC::Addressee::List::Iterator it; |
254 | if ( field ) { | 254 | if ( field ) { |
255 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | 255 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { |
256 | #if QT_VERSION >= 300 | 256 | #if QT_VERSION >= 300 |
257 | if (re.search(field->value( *it ).lower()) != -1) | 257 | if (re.search(field->value( *it ).lower()) != -1) |
258 | #else | 258 | #else |
259 | if (re.match(field->value( *it ).lower()) != -1) | 259 | if (re.match(field->value( *it ).lower()) != -1) |
260 | #endif | 260 | #endif |
261 | mIconList.append(new AddresseeIconViewItem( fields(), addressBook(), *it, mIconView )); | 261 | mIconList.append(new AddresseeIconViewItem( fields(), addressBook(), *it, mIconView )); |
262 | 262 | ||
263 | 263 | ||
264 | } | 264 | } |
265 | } else { | 265 | } else { |
266 | KABC::Field::List fieldList = fields(); | 266 | KABC::Field::List fieldList = fields(); |
267 | KABC::Field::List::ConstIterator fieldIt; | 267 | KABC::Field::List::ConstIterator fieldIt; |
268 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | 268 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { |
269 | for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { | 269 | for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { |
270 | #if QT_VERSION >= 300 | 270 | #if QT_VERSION >= 300 |
271 | if (re.search((*fieldIt)->value( *it ).lower()) != -1) | 271 | if (re.search((*fieldIt)->value( *it ).lower()) != -1) |
272 | #else | 272 | #else |
273 | if (re.match((*fieldIt)->value( *it ).lower()) != -1) | 273 | if (re.match((*fieldIt)->value( *it ).lower()) != -1) |
274 | #endif | 274 | #endif |
275 | { | 275 | { |
276 | mIconList.append( new AddresseeIconViewItem( fields(), addressBook(), *it, mIconView )); | 276 | mIconList.append( new AddresseeIconViewItem( fields(), addressBook(), *it, mIconView )); |
277 | continue; | 277 | continue; |
278 | } | 278 | } |
279 | } | 279 | } |
280 | } | 280 | } |
281 | } | 281 | } |
282 | mIconView->arrangeItemsInGrid( true ); | 282 | mIconView->arrangeItemsInGrid( true ); |
283 | } | 283 | } |
284 | QStringList KAddressBookIconView::selectedUids() | 284 | QStringList KAddressBookIconView::selectedUids() |
285 | { | 285 | { |
286 | QStringList uidList; | 286 | QStringList uidList; |
287 | QIconViewItem *item; | 287 | QIconViewItem *item; |
288 | AddresseeIconViewItem *aItem; | 288 | AddresseeIconViewItem *aItem; |
289 | 289 | ||
290 | for (item = mIconView->firstItem(); item; item = item->nextItem()) | 290 | for (item = mIconView->firstItem(); item; item = item->nextItem()) |
291 | { | 291 | { |
292 | if (item->isSelected()) | 292 | if (item->isSelected()) |
293 | { | 293 | { |
294 | #ifndef KAB_EMBEDDED | 294 | #ifndef KAB_EMBEDDED |
295 | aItem = dynamic_cast<AddresseeIconViewItem*>(item); | 295 | aItem = dynamic_cast<AddresseeIconViewItem*>(item); |
296 | #else //KAB_EMBEDDED | 296 | #else //KAB_EMBEDDED |
297 | aItem = (AddresseeIconViewItem*)(item); | 297 | aItem = (AddresseeIconViewItem*)(item); |
298 | #endif //KAB_EMBEDDED | 298 | #endif //KAB_EMBEDDED |
299 | if (aItem) | 299 | if (aItem) |
300 | uidList << aItem->addressee().uid(); | 300 | uidList << aItem->addressee().uid(); |
301 | } | 301 | } |
302 | } | 302 | } |
303 | 303 | ||
304 | return uidList; | 304 | return uidList; |
305 | } | 305 | } |
306 | 306 | ||
307 | void KAddressBookIconView::refresh(QString uid) | 307 | void KAddressBookIconView::refresh(QString uid) |
308 | { | 308 | { |
309 | QIconViewItem *item; | 309 | QIconViewItem *item; |
310 | AddresseeIconViewItem *aItem; | 310 | AddresseeIconViewItem *aItem; |
311 | 311 | ||
312 | if ( uid.isNull() ) { | 312 | if ( uid.isNull() ) { |
313 | // Rebuild the view | 313 | // Rebuild the view |
314 | mIconView->clear(); | 314 | mIconView->clear(); |
315 | mIconList.clear(); | 315 | mIconList.clear(); |
316 | 316 | ||
317 | KABC::Addressee::List addresseeList = addressees(); | 317 | KABC::Addressee::List addresseeList = addressees(); |
318 | KABC::Addressee::List::Iterator iter; | 318 | KABC::Addressee::List::Iterator iter; |
319 | for ( iter = addresseeList.begin(); iter != addresseeList.end(); ++iter ) | 319 | for ( iter = addresseeList.begin(); iter != addresseeList.end(); ++iter ) { |
320 | aItem = new AddresseeIconViewItem( fields(), addressBook(), *iter, mIconView ); | 320 | if ( (*iter).uid().left(2) == "la" && (*iter).uid().left(19) == QString("last-syncAddressee-") ) |
321 | continue; | ||
322 | aItem = new AddresseeIconViewItem( fields(), addressBook(), *iter, mIconView ); | ||
323 | } | ||
321 | 324 | ||
322 | mIconView->arrangeItemsInGrid( true ); | 325 | mIconView->arrangeItemsInGrid( true ); |
323 | 326 | ||
324 | for ( item = mIconView->firstItem(); item; item = item->nextItem() ) | 327 | for ( item = mIconView->firstItem(); item; item = item->nextItem() ) |
325 | { | 328 | { |
326 | #ifndef KAB_EMBEDDED | 329 | #ifndef KAB_EMBEDDED |
327 | AddresseeIconViewItem* aivi = dynamic_cast<AddresseeIconViewItem*>( item ); | 330 | AddresseeIconViewItem* aivi = dynamic_cast<AddresseeIconViewItem*>( item ); |
328 | #else //KAB_EMBEDDED | 331 | #else //KAB_EMBEDDED |
329 | AddresseeIconViewItem* aivi = (AddresseeIconViewItem*)( item ); | 332 | AddresseeIconViewItem* aivi = (AddresseeIconViewItem*)( item ); |
330 | #endif //KAB_EMBEDDED | 333 | #endif //KAB_EMBEDDED |
331 | mIconList.append( aivi ); | 334 | mIconList.append( aivi ); |
332 | } | 335 | } |
333 | 336 | ||
334 | } else { | 337 | } else { |
335 | // Try to find the one to refresh | 338 | // Try to find the one to refresh |
336 | for ( item = mIconView->firstItem(); item; item = item->nextItem() ) { | 339 | for ( item = mIconView->firstItem(); item; item = item->nextItem() ) { |
337 | #ifndef KAB_EMBEDDED | 340 | #ifndef KAB_EMBEDDED |
338 | aItem = dynamic_cast<AddresseeIconViewItem*>(item); | 341 | aItem = dynamic_cast<AddresseeIconViewItem*>(item); |
339 | #else //KAB_EMBEDDED | 342 | #else //KAB_EMBEDDED |
340 | aItem = (AddresseeIconViewItem*)(item); | 343 | aItem = (AddresseeIconViewItem*)(item); |
341 | #endif //KAB_EMBEDDED | 344 | #endif //KAB_EMBEDDED |
342 | if ((aItem) && (aItem->addressee().uid() == uid)) { | 345 | if ((aItem) && (aItem->addressee().uid() == uid)) { |
343 | aItem->refresh(); | 346 | aItem->refresh(); |
344 | mIconView->arrangeItemsInGrid( true ); | 347 | mIconView->arrangeItemsInGrid( true ); |
345 | return; | 348 | return; |
346 | } | 349 | } |
347 | } | 350 | } |
348 | refresh( QString::null ); | 351 | refresh( QString::null ); |
349 | } | 352 | } |
350 | } | 353 | } |
351 | 354 | ||
352 | void KAddressBookIconView::setSelected(QString uid, bool selected) | 355 | void KAddressBookIconView::setSelected(QString uid, bool selected) |
353 | { | 356 | { |
354 | QIconViewItem *item; | 357 | QIconViewItem *item; |
355 | AddresseeIconViewItem *aItem; | 358 | AddresseeIconViewItem *aItem; |
356 | 359 | ||
357 | if (uid.isNull()) | 360 | if (uid.isNull()) |
358 | { | 361 | { |
359 | mIconView->selectAll(selected); | 362 | mIconView->selectAll(selected); |
360 | } | 363 | } |
361 | else | 364 | else |
362 | { | 365 | { |
363 | bool found = false; | 366 | bool found = false; |
364 | for (item = mIconView->firstItem(); item && !found; | 367 | for (item = mIconView->firstItem(); item && !found; |
365 | item = item->nextItem()) | 368 | item = item->nextItem()) |
366 | { | 369 | { |
367 | #ifndef KAB_EMBEDDED | 370 | #ifndef KAB_EMBEDDED |
368 | aItem = dynamic_cast<AddresseeIconViewItem*>(item); | 371 | aItem = dynamic_cast<AddresseeIconViewItem*>(item); |
369 | #else //KAB_EMBEDDED | 372 | #else //KAB_EMBEDDED |
370 | aItem = (AddresseeIconViewItem*)(item); | 373 | aItem = (AddresseeIconViewItem*)(item); |
371 | #endif //KAB_EMBEDDED | 374 | #endif //KAB_EMBEDDED |
372 | 375 | ||
373 | if ((aItem) && (aItem->addressee().uid() == uid)) | 376 | if ((aItem) && (aItem->addressee().uid() == uid)) |
374 | { | 377 | { |
375 | mIconView->setSelected(aItem, selected); | 378 | mIconView->setSelected(aItem, selected); |
376 | mIconView->ensureItemVisible( aItem ); | 379 | mIconView->ensureItemVisible( aItem ); |
377 | found = true; | 380 | found = true; |
378 | } | 381 | } |
379 | } | 382 | } |
380 | } | 383 | } |
381 | } | 384 | } |
382 | 385 | ||
383 | void KAddressBookIconView::addresseeExecuted(QIconViewItem *item) | 386 | void KAddressBookIconView::addresseeExecuted(QIconViewItem *item) |
384 | { | 387 | { |
385 | #ifndef KAB_EMBEDDED | 388 | #ifndef KAB_EMBEDDED |
386 | AddresseeIconViewItem *aItem = dynamic_cast<AddresseeIconViewItem*>(item); | 389 | AddresseeIconViewItem *aItem = dynamic_cast<AddresseeIconViewItem*>(item); |
387 | #else //KAB_EMBEDDED | 390 | #else //KAB_EMBEDDED |
388 | AddresseeIconViewItem *aItem = (AddresseeIconViewItem*)(item); | 391 | AddresseeIconViewItem *aItem = (AddresseeIconViewItem*)(item); |
389 | #endif //KAB_EMBEDDED | 392 | #endif //KAB_EMBEDDED |
390 | 393 | ||
391 | if (aItem) { | 394 | if (aItem) { |
392 | emit executed(aItem->addressee().uid()); | 395 | emit executed(aItem->addressee().uid()); |
393 | } | 396 | } |
394 | } | 397 | } |
395 | 398 | ||
396 | void KAddressBookIconView::addresseeSelected() | 399 | void KAddressBookIconView::addresseeSelected() |
397 | { | 400 | { |
398 | QIconViewItem *item; | 401 | QIconViewItem *item; |
399 | AddresseeIconViewItem *aItem; | 402 | AddresseeIconViewItem *aItem; |
400 | 403 | ||
401 | bool found = false; | 404 | bool found = false; |
402 | for (item = mIconView->firstItem(); item && !found; | 405 | for (item = mIconView->firstItem(); item && !found; |
403 | item = item->nextItem()) | 406 | item = item->nextItem()) |
404 | { | 407 | { |
405 | if (item->isSelected()) | 408 | if (item->isSelected()) |
406 | { | 409 | { |
407 | #ifndef KAB_EMBEDDED | 410 | #ifndef KAB_EMBEDDED |
408 | aItem = dynamic_cast<AddresseeIconViewItem*>(item); | 411 | aItem = dynamic_cast<AddresseeIconViewItem*>(item); |
409 | #else //KAB_EMBEDDED | 412 | #else //KAB_EMBEDDED |
410 | aItem = (AddresseeIconViewItem*)(item); | 413 | aItem = (AddresseeIconViewItem*)(item); |
411 | #endif //KAB_EMBEDDED | 414 | #endif //KAB_EMBEDDED |
412 | if (aItem) | 415 | if (aItem) |
413 | { | 416 | { |
414 | emit selected(aItem->addressee().uid()); | 417 | emit selected(aItem->addressee().uid()); |
415 | found = true; | 418 | found = true; |
416 | } | 419 | } |
417 | } | 420 | } |
418 | } | 421 | } |
419 | 422 | ||
420 | if (!found) | 423 | if (!found) |
421 | emit selected(QString::null); | 424 | emit selected(QString::null); |
422 | } | 425 | } |
423 | 426 | ||
424 | #ifndef KAB_EMBEDDED | 427 | #ifndef KAB_EMBEDDED |
425 | #include "kaddressbookiconview.moc" | 428 | #include "kaddressbookiconview.moc" |
426 | #endif //KAB_EMBEDDED | 429 | #endif //KAB_EMBEDDED |
diff --git a/kaddressbook/views/kaddressbooktableview.cpp b/kaddressbook/views/kaddressbooktableview.cpp index 1dc9198..fbfddba 100644 --- a/kaddressbook/views/kaddressbooktableview.cpp +++ b/kaddressbook/views/kaddressbooktableview.cpp | |||
@@ -88,356 +88,358 @@ void KAddressBookTableView::reconstructListView() | |||
88 | 88 | ||
89 | connect(mListView, SIGNAL(selectionChanged()), | 89 | connect(mListView, SIGNAL(selectionChanged()), |
90 | this, SLOT(addresseeSelected())); | 90 | this, SLOT(addresseeSelected())); |
91 | connect(mListView, SIGNAL(startAddresseeDrag()), this, | 91 | connect(mListView, SIGNAL(startAddresseeDrag()), this, |
92 | SIGNAL(startDrag())); | 92 | SIGNAL(startDrag())); |
93 | connect(mListView, SIGNAL(addresseeDropped(QDropEvent*)), this, | 93 | connect(mListView, SIGNAL(addresseeDropped(QDropEvent*)), this, |
94 | SIGNAL(dropped(QDropEvent*))); | 94 | SIGNAL(dropped(QDropEvent*))); |
95 | 95 | ||
96 | if (KABPrefs::instance()->mHonorSingleClick) | 96 | if (KABPrefs::instance()->mHonorSingleClick) |
97 | connect(mListView, SIGNAL(executed(QListViewItem*)), | 97 | connect(mListView, SIGNAL(executed(QListViewItem*)), |
98 | this, SLOT(addresseeExecuted(QListViewItem*))); | 98 | this, SLOT(addresseeExecuted(QListViewItem*))); |
99 | else | 99 | else |
100 | connect(mListView, SIGNAL(doubleClicked(QListViewItem*)), | 100 | connect(mListView, SIGNAL(doubleClicked(QListViewItem*)), |
101 | this, SLOT(addresseeExecuted(QListViewItem*))); | 101 | this, SLOT(addresseeExecuted(QListViewItem*))); |
102 | connect(mListView, SIGNAL(returnPressed(QListViewItem*)), | 102 | connect(mListView, SIGNAL(returnPressed(QListViewItem*)), |
103 | this, SLOT(addresseeExecuted(QListViewItem*))); | 103 | this, SLOT(addresseeExecuted(QListViewItem*))); |
104 | connect(mListView, SIGNAL(signalDelete()), | 104 | connect(mListView, SIGNAL(signalDelete()), |
105 | this, SLOT(addresseeDeleted())); | 105 | this, SLOT(addresseeDeleted())); |
106 | 106 | ||
107 | //US performceimprovement. Refresh is done from the outside | 107 | //US performceimprovement. Refresh is done from the outside |
108 | //US refresh(); | 108 | //US refresh(); |
109 | 109 | ||
110 | mListView->setSorting( 0, true ); | 110 | mListView->setSorting( 0, true ); |
111 | mainLayout->addWidget( mListView ); | 111 | mainLayout->addWidget( mListView ); |
112 | mainLayout->activate(); | 112 | mainLayout->activate(); |
113 | mListView->show(); | 113 | mListView->show(); |
114 | } | 114 | } |
115 | 115 | ||
116 | void KAddressBookTableView::doSearch( const QString& s, KABC::Field *field ) | 116 | void KAddressBookTableView::doSearch( const QString& s, KABC::Field *field ) |
117 | { | 117 | { |
118 | mListView->clear(); | 118 | mListView->clear(); |
119 | if ( s.isEmpty() || s == "*" ) { | 119 | if ( s.isEmpty() || s == "*" ) { |
120 | refresh(); | 120 | refresh(); |
121 | return; | 121 | return; |
122 | } | 122 | } |
123 | QString pattern = s.lower()+"*"; | 123 | QString pattern = s.lower()+"*"; |
124 | QRegExp re; | 124 | QRegExp re; |
125 | re.setWildcard(true); // most people understand these better. | 125 | re.setWildcard(true); // most people understand these better. |
126 | re.setCaseSensitive(false); | 126 | re.setCaseSensitive(false); |
127 | re.setPattern( pattern ); | 127 | re.setPattern( pattern ); |
128 | if (!re.isValid()) | 128 | if (!re.isValid()) |
129 | return; | 129 | return; |
130 | KABC::Addressee::List addresseeList = addressees(); | 130 | KABC::Addressee::List addresseeList = addressees(); |
131 | KABC::Addressee::List::Iterator it; | 131 | KABC::Addressee::List::Iterator it; |
132 | if ( field ) { | 132 | if ( field ) { |
133 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | 133 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { |
134 | #if QT_VERSION >= 300 | 134 | #if QT_VERSION >= 300 |
135 | if (re.search(field->value( *it ).lower()) != -1) | 135 | if (re.search(field->value( *it ).lower()) != -1) |
136 | #else | 136 | #else |
137 | if (re.match(field->value( *it ).lower()) != -1) | 137 | if (re.match(field->value( *it ).lower()) != -1) |
138 | #endif | 138 | #endif |
139 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); | 139 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); |
140 | 140 | ||
141 | } | 141 | } |
142 | } else { | 142 | } else { |
143 | KABC::Field::List fieldList = fields(); | 143 | KABC::Field::List fieldList = fields(); |
144 | KABC::Field::List::ConstIterator fieldIt; | 144 | KABC::Field::List::ConstIterator fieldIt; |
145 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | 145 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { |
146 | for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { | 146 | for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { |
147 | #if QT_VERSION >= 300 | 147 | #if QT_VERSION >= 300 |
148 | if (re.search((*fieldIt)->value( *it ).lower()) != -1) | 148 | if (re.search((*fieldIt)->value( *it ).lower()) != -1) |
149 | #else | 149 | #else |
150 | if (re.match((*fieldIt)->value( *it ).lower()) != -1) | 150 | if (re.match((*fieldIt)->value( *it ).lower()) != -1) |
151 | #endif | 151 | #endif |
152 | { | 152 | { |
153 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); | 153 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); |
154 | break; | 154 | break; |
155 | } | 155 | } |
156 | } | 156 | } |
157 | } | 157 | } |
158 | } | 158 | } |
159 | // Sometimes the background pixmap gets messed up when we add lots | 159 | // Sometimes the background pixmap gets messed up when we add lots |
160 | // of items. | 160 | // of items. |
161 | mListView->repaint(); | 161 | mListView->repaint(); |
162 | emit selected(QString::null); | 162 | emit selected(QString::null); |
163 | 163 | ||
164 | } | 164 | } |
165 | void KAddressBookTableView::writeConfig(KConfig *config) | 165 | void KAddressBookTableView::writeConfig(KConfig *config) |
166 | { | 166 | { |
167 | KAddressBookView::writeConfig(config); | 167 | KAddressBookView::writeConfig(config); |
168 | 168 | ||
169 | mListView->saveLayout(config, config->group()); | 169 | mListView->saveLayout(config, config->group()); |
170 | } | 170 | } |
171 | 171 | ||
172 | void KAddressBookTableView::readConfig(KConfig *config) | 172 | void KAddressBookTableView::readConfig(KConfig *config) |
173 | { | 173 | { |
174 | KAddressBookView::readConfig( config ); | 174 | KAddressBookView::readConfig( config ); |
175 | // The config could have changed the fields, so we need to reconstruct | 175 | // The config could have changed the fields, so we need to reconstruct |
176 | // the listview. | 176 | // the listview. |
177 | reconstructListView(); | 177 | reconstructListView(); |
178 | 178 | ||
179 | // costum colors? | 179 | // costum colors? |
180 | if ( config->readBoolEntry( "EnableCustomColors", false ) ) | 180 | if ( config->readBoolEntry( "EnableCustomColors", false ) ) |
181 | { | 181 | { |
182 | QPalette p( mListView->palette() ); | 182 | QPalette p( mListView->palette() ); |
183 | QColor c = p.color(QPalette::Normal, QColorGroup::Base ); | 183 | QColor c = p.color(QPalette::Normal, QColorGroup::Base ); |
184 | p.setColor( QPalette::Normal, QColorGroup::Base, config->readColorEntry( "BackgroundColor", &c ) ); | 184 | p.setColor( QPalette::Normal, QColorGroup::Base, config->readColorEntry( "BackgroundColor", &c ) ); |
185 | c = p.color(QPalette::Normal, QColorGroup::Text ); | 185 | c = p.color(QPalette::Normal, QColorGroup::Text ); |
186 | p.setColor( QPalette::Normal, QColorGroup::Text, config->readColorEntry( "TextColor", &c ) ); | 186 | p.setColor( QPalette::Normal, QColorGroup::Text, config->readColorEntry( "TextColor", &c ) ); |
187 | c = p.color(QPalette::Normal, QColorGroup::Button ); | 187 | c = p.color(QPalette::Normal, QColorGroup::Button ); |
188 | p.setColor( QPalette::Normal, QColorGroup::Button, config->readColorEntry( "HeaderColor", &c ) ); | 188 | p.setColor( QPalette::Normal, QColorGroup::Button, config->readColorEntry( "HeaderColor", &c ) ); |
189 | c = p.color(QPalette::Normal, QColorGroup::ButtonText ); | 189 | c = p.color(QPalette::Normal, QColorGroup::ButtonText ); |
190 | p.setColor( QPalette::Normal, QColorGroup::ButtonText, config->readColorEntry( "HeaderTextColor", &c ) ); | 190 | p.setColor( QPalette::Normal, QColorGroup::ButtonText, config->readColorEntry( "HeaderTextColor", &c ) ); |
191 | c = p.color(QPalette::Normal, QColorGroup::Highlight ); | 191 | c = p.color(QPalette::Normal, QColorGroup::Highlight ); |
192 | p.setColor( QPalette::Normal, QColorGroup::Highlight, config->readColorEntry( "HighlightColor", &c ) ); | 192 | p.setColor( QPalette::Normal, QColorGroup::Highlight, config->readColorEntry( "HighlightColor", &c ) ); |
193 | c = p.color(QPalette::Normal, QColorGroup::HighlightedText ); | 193 | c = p.color(QPalette::Normal, QColorGroup::HighlightedText ); |
194 | p.setColor( QPalette::Normal, QColorGroup::HighlightedText, config->readColorEntry( "HighlightedTextColor", &c ) ); | 194 | p.setColor( QPalette::Normal, QColorGroup::HighlightedText, config->readColorEntry( "HighlightedTextColor", &c ) ); |
195 | #ifndef KAB_EMBEDDED | 195 | #ifndef KAB_EMBEDDED |
196 | c = KGlobalSettings::alternateBackgroundColor(); | 196 | c = KGlobalSettings::alternateBackgroundColor(); |
197 | #else //KAB_EMBEDDED | 197 | #else //KAB_EMBEDDED |
198 | c = QColor(240, 240, 240); | 198 | c = QColor(240, 240, 240); |
199 | #endif //KAB_EMBEDDED | 199 | #endif //KAB_EMBEDDED |
200 | c = config->readColorEntry ("AlternatingBackgroundColor", &c); | 200 | c = config->readColorEntry ("AlternatingBackgroundColor", &c); |
201 | mListView->setAlternateColor(c); | 201 | mListView->setAlternateColor(c); |
202 | 202 | ||
203 | 203 | ||
204 | //US mListView->viewport()->setPalette( p ); | 204 | //US mListView->viewport()->setPalette( p ); |
205 | mListView->setPalette( p ); | 205 | mListView->setPalette( p ); |
206 | } | 206 | } |
207 | else | 207 | else |
208 | { | 208 | { |
209 | // needed if turned off during a session. | 209 | // needed if turned off during a session. |
210 | //US mListView->viewport()->setPalette( mListView->palette() ); | 210 | //US mListView->viewport()->setPalette( mListView->palette() ); |
211 | mListView->setPalette( mListView->palette() ); | 211 | mListView->setPalette( mListView->palette() ); |
212 | } | 212 | } |
213 | 213 | ||
214 | //custom fonts? | 214 | //custom fonts? |
215 | QFont f( font() ); | 215 | QFont f( font() ); |
216 | if ( config->readBoolEntry( "EnableCustomFonts", false ) ) | 216 | if ( config->readBoolEntry( "EnableCustomFonts", false ) ) |
217 | { | 217 | { |
218 | mListView->setFont( config->readFontEntry( "TextFont", &f) ); | 218 | mListView->setFont( config->readFontEntry( "TextFont", &f) ); |
219 | f.setBold( true ); | 219 | f.setBold( true ); |
220 | //US mListView->setHeaderFont( config->readFontEntry( "HeaderFont", &f ) ); | 220 | //US mListView->setHeaderFont( config->readFontEntry( "HeaderFont", &f ) ); |
221 | mListView->header()->setFont( config->readFontEntry( "HeaderFont", &f ) ); | 221 | mListView->header()->setFont( config->readFontEntry( "HeaderFont", &f ) ); |
222 | } | 222 | } |
223 | else | 223 | else |
224 | { | 224 | { |
225 | mListView->setFont( f ); | 225 | mListView->setFont( f ); |
226 | f.setBold( true ); | 226 | f.setBold( true ); |
227 | //US mListView->setHeaderFont( f ); | 227 | //US mListView->setHeaderFont( f ); |
228 | mListView->header()->setFont( f ); | 228 | mListView->header()->setFont( f ); |
229 | } | 229 | } |
230 | 230 | ||
231 | 231 | ||
232 | 232 | ||
233 | 233 | ||
234 | 234 | ||
235 | // Set the list view options | 235 | // Set the list view options |
236 | mListView->setAlternateBackgroundEnabled(config->readBoolEntry("ABackground", | 236 | mListView->setAlternateBackgroundEnabled(config->readBoolEntry("ABackground", |
237 | true)); | 237 | true)); |
238 | mListView->setSingleLineEnabled(config->readBoolEntry("SingleLine", false)); | 238 | mListView->setSingleLineEnabled(config->readBoolEntry("SingleLine", false)); |
239 | mListView->setToolTipsEnabled(config->readBoolEntry("ToolTips", true)); | 239 | mListView->setToolTipsEnabled(config->readBoolEntry("ToolTips", true)); |
240 | 240 | ||
241 | if (config->readBoolEntry("Background", false)) | 241 | if (config->readBoolEntry("Background", false)) |
242 | mListView->setBackgroundPixmap(config->readEntry("BackgroundName")); | 242 | mListView->setBackgroundPixmap(config->readEntry("BackgroundName")); |
243 | 243 | ||
244 | // Restore the layout of the listview | 244 | // Restore the layout of the listview |
245 | mListView->restoreLayout(config, config->group()); | 245 | mListView->restoreLayout(config, config->group()); |
246 | } | 246 | } |
247 | 247 | ||
248 | void KAddressBookTableView::refresh(QString uid) | 248 | void KAddressBookTableView::refresh(QString uid) |
249 | { | 249 | { |
250 | // For now just repopulate. In reality this method should | 250 | // For now just repopulate. In reality this method should |
251 | // check the value of uid, and if valid iterate through | 251 | // check the value of uid, and if valid iterate through |
252 | // the listview to find the entry, then tell it to refresh. | 252 | // the listview to find the entry, then tell it to refresh. |
253 | 253 | ||
254 | if (uid.isNull()) { | 254 | if (uid.isNull()) { |
255 | // Clear the list view | 255 | // Clear the list view |
256 | QString currentUID, nextUID; | 256 | QString currentUID, nextUID; |
257 | #ifndef KAB_EMBEDDED | 257 | #ifndef KAB_EMBEDDED |
258 | ContactListViewItem *currentItem = dynamic_cast<ContactListViewItem*>( mListView->currentItem() ); | 258 | ContactListViewItem *currentItem = dynamic_cast<ContactListViewItem*>( mListView->currentItem() ); |
259 | #else //KAB_EMBEDDED | 259 | #else //KAB_EMBEDDED |
260 | ContactListViewItem *currentItem = (ContactListViewItem*)( mListView->currentItem() ); | 260 | ContactListViewItem *currentItem = (ContactListViewItem*)( mListView->currentItem() ); |
261 | #endif //KAB_EMBEDDED | 261 | #endif //KAB_EMBEDDED |
262 | 262 | ||
263 | if ( currentItem ) { | 263 | if ( currentItem ) { |
264 | #ifndef KAB_EMBEDDED | 264 | #ifndef KAB_EMBEDDED |
265 | ContactListViewItem *nextItem = dynamic_cast<ContactListViewItem*>( currentItem->itemBelow() ); | 265 | ContactListViewItem *nextItem = dynamic_cast<ContactListViewItem*>( currentItem->itemBelow() ); |
266 | #else //KAB_EMBEDDED | 266 | #else //KAB_EMBEDDED |
267 | ContactListViewItem *nextItem = (ContactListViewItem*)( currentItem->itemBelow() ); | 267 | ContactListViewItem *nextItem = (ContactListViewItem*)( currentItem->itemBelow() ); |
268 | #endif //KAB_EMBEDDED | 268 | #endif //KAB_EMBEDDED |
269 | if ( nextItem ) | 269 | if ( nextItem ) |
270 | nextUID = nextItem->addressee().uid(); | 270 | nextUID = nextItem->addressee().uid(); |
271 | currentUID = currentItem->addressee().uid(); | 271 | currentUID = currentItem->addressee().uid(); |
272 | } | 272 | } |
273 | 273 | ||
274 | mListView->clear(); | 274 | mListView->clear(); |
275 | 275 | ||
276 | currentItem = 0; | 276 | currentItem = 0; |
277 | KABC::Addressee::List addresseeList = addressees(); | 277 | KABC::Addressee::List addresseeList = addressees(); |
278 | KABC::Addressee::List::Iterator it; | 278 | KABC::Addressee::List::Iterator it; |
279 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | 279 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { |
280 | if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) | ||
281 | continue; | ||
280 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); | 282 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); |
281 | if ( (*it).uid() == currentUID ) | 283 | if ( (*it).uid() == currentUID ) |
282 | currentItem = item; | 284 | currentItem = item; |
283 | else if ( (*it).uid() == nextUID && !currentItem ) | 285 | else if ( (*it).uid() == nextUID && !currentItem ) |
284 | currentItem = item; | 286 | currentItem = item; |
285 | } | 287 | } |
286 | 288 | ||
287 | // Sometimes the background pixmap gets messed up when we add lots | 289 | // Sometimes the background pixmap gets messed up when we add lots |
288 | // of items. | 290 | // of items. |
289 | mListView->repaint(); | 291 | mListView->repaint(); |
290 | 292 | ||
291 | if ( currentItem ) { | 293 | if ( currentItem ) { |
292 | mListView->setCurrentItem( currentItem ); | 294 | mListView->setCurrentItem( currentItem ); |
293 | mListView->ensureItemVisible( currentItem ); | 295 | mListView->ensureItemVisible( currentItem ); |
294 | } | 296 | } |
295 | } else { | 297 | } else { |
296 | // Only need to update on entry. Iterate through and try to find it | 298 | // Only need to update on entry. Iterate through and try to find it |
297 | ContactListViewItem *ceItem; | 299 | ContactListViewItem *ceItem; |
298 | QListViewItemIterator it( mListView ); | 300 | QListViewItemIterator it( mListView ); |
299 | while ( it.current() ) { | 301 | while ( it.current() ) { |
300 | #ifndef KAB_EMBEDDED | 302 | #ifndef KAB_EMBEDDED |
301 | ceItem = dynamic_cast<ContactListViewItem*>( it.current() ); | 303 | ceItem = dynamic_cast<ContactListViewItem*>( it.current() ); |
302 | #else //KAB_EMBEDDED | 304 | #else //KAB_EMBEDDED |
303 | ceItem = (ContactListViewItem*)( it.current() ); | 305 | ceItem = (ContactListViewItem*)( it.current() ); |
304 | #endif //KAB_EMBEDDED | 306 | #endif //KAB_EMBEDDED |
305 | 307 | ||
306 | if ( ceItem && ceItem->addressee().uid() == uid ) { | 308 | if ( ceItem && ceItem->addressee().uid() == uid ) { |
307 | ceItem->refresh(); | 309 | ceItem->refresh(); |
308 | return; | 310 | return; |
309 | } | 311 | } |
310 | ++it; | 312 | ++it; |
311 | } | 313 | } |
312 | 314 | ||
313 | refresh( QString::null ); | 315 | refresh( QString::null ); |
314 | } | 316 | } |
315 | } | 317 | } |
316 | 318 | ||
317 | QStringList KAddressBookTableView::selectedUids() | 319 | QStringList KAddressBookTableView::selectedUids() |
318 | { | 320 | { |
319 | QStringList uidList; | 321 | QStringList uidList; |
320 | QListViewItem *item; | 322 | QListViewItem *item; |
321 | ContactListViewItem *ceItem; | 323 | ContactListViewItem *ceItem; |
322 | 324 | ||
323 | for(item = mListView->firstChild(); item; item = item->itemBelow()) | 325 | for(item = mListView->firstChild(); item; item = item->itemBelow()) |
324 | { | 326 | { |
325 | if (mListView->isSelected( item )) | 327 | if (mListView->isSelected( item )) |
326 | { | 328 | { |
327 | #ifndef KAB_EMBEDDED | 329 | #ifndef KAB_EMBEDDED |
328 | ceItem = dynamic_cast<ContactListViewItem*>(item); | 330 | ceItem = dynamic_cast<ContactListViewItem*>(item); |
329 | #else //KAB_EMBEDDED | 331 | #else //KAB_EMBEDDED |
330 | ceItem = (ContactListViewItem*)(item); | 332 | ceItem = (ContactListViewItem*)(item); |
331 | #endif //KAB_EMBEDDED | 333 | #endif //KAB_EMBEDDED |
332 | 334 | ||
333 | if (ceItem != 0L) | 335 | if (ceItem != 0L) |
334 | uidList << ceItem->addressee().uid(); | 336 | uidList << ceItem->addressee().uid(); |
335 | } | 337 | } |
336 | } | 338 | } |
337 | if ( uidList.count() == 0 ) | 339 | if ( uidList.count() == 0 ) |
338 | if ( mListView->currentItem() ) { | 340 | if ( mListView->currentItem() ) { |
339 | ceItem = (ContactListViewItem*)(mListView->currentItem()) ; | 341 | ceItem = (ContactListViewItem*)(mListView->currentItem()) ; |
340 | uidList << ceItem->addressee().uid(); | 342 | uidList << ceItem->addressee().uid(); |
341 | } | 343 | } |
342 | 344 | ||
343 | return uidList; | 345 | return uidList; |
344 | } | 346 | } |
345 | 347 | ||
346 | void KAddressBookTableView::setSelected(QString uid, bool selected) | 348 | void KAddressBookTableView::setSelected(QString uid, bool selected) |
347 | { | 349 | { |
348 | QListViewItem *item; | 350 | QListViewItem *item; |
349 | ContactListViewItem *ceItem; | 351 | ContactListViewItem *ceItem; |
350 | 352 | ||
351 | if (uid.isNull()) | 353 | if (uid.isNull()) |
352 | { | 354 | { |
353 | mListView->selectAll(selected); | 355 | mListView->selectAll(selected); |
354 | } | 356 | } |
355 | else | 357 | else |
356 | { | 358 | { |
357 | for(item = mListView->firstChild(); item; item = item->itemBelow()) | 359 | for(item = mListView->firstChild(); item; item = item->itemBelow()) |
358 | { | 360 | { |
359 | #ifndef KAB_EMBEDDED | 361 | #ifndef KAB_EMBEDDED |
360 | ceItem = dynamic_cast<ContactListViewItem*>(item); | 362 | ceItem = dynamic_cast<ContactListViewItem*>(item); |
361 | #else //KAB_EMBEDDED | 363 | #else //KAB_EMBEDDED |
362 | ceItem = (ContactListViewItem*)(item); | 364 | ceItem = (ContactListViewItem*)(item); |
363 | #endif //KAB_EMBEDDED | 365 | #endif //KAB_EMBEDDED |
364 | 366 | ||
365 | 367 | ||
366 | if ((ceItem != 0L) && (ceItem->addressee().uid() == uid)) | 368 | if ((ceItem != 0L) && (ceItem->addressee().uid() == uid)) |
367 | { | 369 | { |
368 | mListView->setSelected(item, selected); | 370 | mListView->setSelected(item, selected); |
369 | 371 | ||
370 | if (selected) | 372 | if (selected) |
371 | mListView->ensureItemVisible(item); | 373 | mListView->ensureItemVisible(item); |
372 | } | 374 | } |
373 | } | 375 | } |
374 | } | 376 | } |
375 | } | 377 | } |
376 | 378 | ||
377 | void KAddressBookTableView::addresseeSelected() | 379 | void KAddressBookTableView::addresseeSelected() |
378 | { | 380 | { |
379 | // We need to try to find the first selected item. This might not be the | 381 | // We need to try to find the first selected item. This might not be the |
380 | // last selected item, but when QListView is in multiselection mode, | 382 | // last selected item, but when QListView is in multiselection mode, |
381 | // there is no way to figure out which one was | 383 | // there is no way to figure out which one was |
382 | // selected last. | 384 | // selected last. |
383 | QListViewItem *item; | 385 | QListViewItem *item; |
384 | bool found =false; | 386 | bool found =false; |
385 | for (item = mListView->firstChild(); item && !found; | 387 | for (item = mListView->firstChild(); item && !found; |
386 | item = item->nextSibling()) | 388 | item = item->nextSibling()) |
387 | { | 389 | { |
388 | if (item->isSelected()) | 390 | if (item->isSelected()) |
389 | { | 391 | { |
390 | found = true; | 392 | found = true; |
391 | #ifndef KAB_EMBEDDED | 393 | #ifndef KAB_EMBEDDED |
392 | ContactListViewItem *ceItem | 394 | ContactListViewItem *ceItem |
393 | = dynamic_cast<ContactListViewItem*>(item); | 395 | = dynamic_cast<ContactListViewItem*>(item); |
394 | #else //KAB_EMBEDDED | 396 | #else //KAB_EMBEDDED |
395 | ContactListViewItem *ceItem | 397 | ContactListViewItem *ceItem |
396 | = (ContactListViewItem*)(item); | 398 | = (ContactListViewItem*)(item); |
397 | #endif //KAB_EMBEDDED | 399 | #endif //KAB_EMBEDDED |
398 | 400 | ||
399 | if ( ceItem ) emit selected(ceItem->addressee().uid()); | 401 | if ( ceItem ) emit selected(ceItem->addressee().uid()); |
400 | } | 402 | } |
401 | } | 403 | } |
402 | 404 | ||
403 | if (!found) | 405 | if (!found) |
404 | emit selected(QString::null); | 406 | emit selected(QString::null); |
405 | } | 407 | } |
406 | 408 | ||
407 | void KAddressBookTableView::addresseeExecuted(QListViewItem *item) | 409 | void KAddressBookTableView::addresseeExecuted(QListViewItem *item) |
408 | { | 410 | { |
409 | if (item) | 411 | if (item) |
410 | { | 412 | { |
411 | #ifndef KAB_EMBEDDED | 413 | #ifndef KAB_EMBEDDED |
412 | ContactListViewItem *ceItem | 414 | ContactListViewItem *ceItem |
413 | = dynamic_cast<ContactListViewItem*>(item); | 415 | = dynamic_cast<ContactListViewItem*>(item); |
414 | #else //KAB_EMBEDDED | 416 | #else //KAB_EMBEDDED |
415 | ContactListViewItem *ceItem | 417 | ContactListViewItem *ceItem |
416 | = (ContactListViewItem*)(item); | 418 | = (ContactListViewItem*)(item); |
417 | #endif //KAB_EMBEDDED | 419 | #endif //KAB_EMBEDDED |
418 | 420 | ||
419 | if (ceItem) | 421 | if (ceItem) |
420 | { | 422 | { |
421 | emit executed(ceItem->addressee().uid()); | 423 | emit executed(ceItem->addressee().uid()); |
422 | } | 424 | } |
423 | } | 425 | } |
424 | else | 426 | else |
425 | { | 427 | { |
426 | emit executed(QString::null); | 428 | emit executed(QString::null); |
427 | } | 429 | } |
428 | } | 430 | } |
429 | 431 | ||
430 | void KAddressBookTableView::addresseeDeleted() | 432 | void KAddressBookTableView::addresseeDeleted() |
431 | { | 433 | { |
432 | 434 | ||
433 | emit deleteRequest(); | 435 | emit deleteRequest(); |
434 | 436 | ||
435 | } | 437 | } |
436 | 438 | ||
437 | 439 | ||
438 | 440 | ||
439 | 441 | ||
440 | 442 | ||
441 | #ifndef KAB_EMBEDDED | 443 | #ifndef KAB_EMBEDDED |
442 | #include "kaddressbooktableview.moc" | 444 | #include "kaddressbooktableview.moc" |
443 | #endif //KAB_EMBEDDED | 445 | #endif //KAB_EMBEDDED |