Diffstat (limited to 'kaddressbook/phoneeditwidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kaddressbook/phoneeditwidget.cpp | 37 |
1 files changed, 30 insertions, 7 deletions
diff --git a/kaddressbook/phoneeditwidget.cpp b/kaddressbook/phoneeditwidget.cpp index 19bb676..a435959 100644 --- a/kaddressbook/phoneeditwidget.cpp +++ b/kaddressbook/phoneeditwidget.cpp | |||
@@ -212,9 +212,10 @@ void PhoneEditWidget::edit() | |||
212 | PhoneEditDialog dlg( mPhoneList, this ); | 212 | PhoneEditDialog dlg( mPhoneList, this ); |
213 | 213 | ||
214 | if ( dlg.exec() ) { | 214 | if ( dlg.exec() ) { |
215 | if ( dlg.changed() ) { | 215 | if ( dlg.changed() ) { |
216 | mPhoneList = dlg.phoneNumbers(); | 216 | KABC::PhoneNumber::List list = dlg.phoneNumbers(); |
217 | setPhoneNumbers( list ); | ||
217 | updateCombos(); | 218 | updateCombos(); |
218 | updateLineEdits(); | 219 | updateLineEdits(); |
219 | emit modified(); | 220 | emit modified(); |
220 | } | 221 | } |
@@ -337,9 +338,12 @@ private: | |||
337 | }; | 338 | }; |
338 | 339 | ||
339 | PhoneViewItem::PhoneViewItem( QListView *parent, const KABC::PhoneNumber &number ) | 340 | PhoneViewItem::PhoneViewItem( QListView *parent, const KABC::PhoneNumber &number ) |
340 | : QListViewItem( parent ), mPhoneNumber( number ) | 341 | : QListViewItem( parent ), mPhoneNumber( number ) |
341 | { | 342 | { |
343 | #ifdef DESKTOP_VERSION | ||
344 | setRenameEnabled ( 0, true ); | ||
345 | #endif | ||
342 | makeText(); | 346 | makeText(); |
343 | } | 347 | } |
344 | 348 | ||
345 | void PhoneViewItem::makeText() | 349 | void PhoneViewItem::makeText() |
@@ -405,13 +409,30 @@ void PhoneEditDialog::slotAddPhoneNumber() | |||
405 | KABC::PhoneNumber tmp( "", 0 ); | 409 | KABC::PhoneNumber tmp( "", 0 ); |
406 | PhoneTypeDialog dlg( tmp, this ); | 410 | PhoneTypeDialog dlg( tmp, this ); |
407 | 411 | ||
408 | if ( dlg.exec() ) { | 412 | if ( dlg.exec() ) { |
409 | KABC::PhoneNumber phoneNumber = dlg.phoneNumber(); | 413 | QListViewItem* i = mListView->firstChild(); |
410 | mPhoneNumberList.append( phoneNumber ); | 414 | KABC::PhoneNumber phoneNumber = dlg.phoneNumber(); |
411 | new PhoneViewItem( mListView, phoneNumber ); | 415 | bool insert = true; |
412 | 416 | while ( i ) { | |
413 | mChanged = true; | 417 | PhoneViewItem* p = ( PhoneViewItem* ) i; |
418 | KABC::PhoneNumber pn = p->phoneNumber(); | ||
419 | if ( (pn.type() | KABC::PhoneNumber::Pref) == (phoneNumber.type() | KABC::PhoneNumber::Pref) ) { | ||
420 | if ( p->text(0).isEmpty()) { | ||
421 | p->setPhoneNumber( phoneNumber ); | ||
422 | mPhoneNumberList.remove( pn ); | ||
423 | mPhoneNumberList.append( phoneNumber ); | ||
424 | insert = false; | ||
425 | break; | ||
426 | } | ||
427 | } | ||
428 | i = i->nextSibling(); | ||
429 | } | ||
430 | if ( insert ) { | ||
431 | mPhoneNumberList.append( phoneNumber ); | ||
432 | new PhoneViewItem( mListView, phoneNumber ); | ||
433 | } | ||
434 | mChanged = true; | ||
414 | } | 435 | } |
415 | } | 436 | } |
416 | 437 | ||
417 | void PhoneEditDialog::slotRemovePhoneNumber() | 438 | void PhoneEditDialog::slotRemovePhoneNumber() |
@@ -503,8 +524,10 @@ PhoneTypeDialog::PhoneTypeDialog( const KABC::PhoneNumber &phoneNumber, | |||
503 | box->setChecked( type & mTypeList[ i ] ); | 524 | box->setChecked( type & mTypeList[ i ] ); |
504 | } | 525 | } |
505 | 526 | ||
506 | mPreferredBox->setChecked( mPhoneNumber.type() & KABC::PhoneNumber::Pref ); | 527 | mPreferredBox->setChecked( mPhoneNumber.type() & KABC::PhoneNumber::Pref ); |
528 | mNumber->setFocus(); | ||
529 | mNumber->setSelection( 0, 1024); | ||
507 | } | 530 | } |
508 | 531 | ||
509 | KABC::PhoneNumber PhoneTypeDialog::phoneNumber() | 532 | KABC::PhoneNumber PhoneTypeDialog::phoneNumber() |
510 | { | 533 | { |