-rw-r--r-- | kaddressbook/emaileditwidget.cpp | 2 | ||||
-rw-r--r-- | kaddressbook/phoneeditwidget.cpp | 37 |
2 files changed, 32 insertions, 7 deletions
diff --git a/kaddressbook/emaileditwidget.cpp b/kaddressbook/emaileditwidget.cpp index 0e01b02..e72face 100644 --- a/kaddressbook/emaileditwidget.cpp +++ b/kaddressbook/emaileditwidget.cpp @@ -186,12 +186,13 @@ qDebug("EmailEditDialog::EmailEditDialog has to be changed (lowPrio)"); mChanged = false; */ mEmailListBox->insertStringList( items ); // set default state selectionChanged( -1 ); + mEmailEdit->setFocus(); #ifndef KAB_EMBEDDED KAcceleratorManager::manage( this ); #else //KAB_EMBEDDED //US qDebug("EmailEditDialog::EmailEditDialog has to be changed"); #endif //KAB_EMBEDDED @@ -222,12 +223,13 @@ void EmailEditDialog::add() mChanged = true; } void EmailEditDialog::edit() { mEmailEdit->setText( mEmailListBox->currentText() ); + mEmailListBox->removeItem( mEmailListBox->currentItem() ); mEmailEdit->setFocus(); } void EmailEditDialog::remove() { QString address = mEmailListBox->currentText(); diff --git a/kaddressbook/phoneeditwidget.cpp b/kaddressbook/phoneeditwidget.cpp index 19bb676..a435959 100644 --- a/kaddressbook/phoneeditwidget.cpp +++ b/kaddressbook/phoneeditwidget.cpp @@ -210,13 +210,14 @@ KABC::PhoneNumber::List PhoneEditWidget::phoneNumbers() void PhoneEditWidget::edit() { PhoneEditDialog dlg( mPhoneList, this ); if ( dlg.exec() ) { if ( dlg.changed() ) { - mPhoneList = dlg.phoneNumbers(); + KABC::PhoneNumber::List list = dlg.phoneNumbers(); + setPhoneNumbers( list ); updateCombos(); updateLineEdits(); emit modified(); } } } @@ -335,13 +336,16 @@ private: KABC::PhoneNumber mPhoneNumber; }; PhoneViewItem::PhoneViewItem( QListView *parent, const KABC::PhoneNumber &number ) : QListViewItem( parent ), mPhoneNumber( number ) -{ +{ +#ifdef DESKTOP_VERSION + setRenameEnabled ( 0, true ); +#endif makeText(); } void PhoneViewItem::makeText() { /** @@ -403,17 +407,34 @@ PhoneEditDialog::~PhoneEditDialog() void PhoneEditDialog::slotAddPhoneNumber() { KABC::PhoneNumber tmp( "", 0 ); PhoneTypeDialog dlg( tmp, this ); if ( dlg.exec() ) { - KABC::PhoneNumber phoneNumber = dlg.phoneNumber(); - mPhoneNumberList.append( phoneNumber ); - new PhoneViewItem( mListView, phoneNumber ); - - mChanged = true; + QListViewItem* i = mListView->firstChild(); + KABC::PhoneNumber phoneNumber = dlg.phoneNumber(); + bool insert = true; + while ( i ) { + PhoneViewItem* p = ( PhoneViewItem* ) i; + KABC::PhoneNumber pn = p->phoneNumber(); + if ( (pn.type() | KABC::PhoneNumber::Pref) == (phoneNumber.type() | KABC::PhoneNumber::Pref) ) { + if ( p->text(0).isEmpty()) { + p->setPhoneNumber( phoneNumber ); + mPhoneNumberList.remove( pn ); + mPhoneNumberList.append( phoneNumber ); + insert = false; + break; + } + } + i = i->nextSibling(); + } + if ( insert ) { + mPhoneNumberList.append( phoneNumber ); + new PhoneViewItem( mListView, phoneNumber ); + } + mChanged = true; } } void PhoneEditDialog::slotRemovePhoneNumber() { PhoneViewItem *item = static_cast<PhoneViewItem*>( mListView->currentItem() ); @@ -501,12 +522,14 @@ PhoneTypeDialog::PhoneTypeDialog( const KABC::PhoneNumber &phoneNumber, int type = mPhoneNumber.type(); QCheckBox *box = (QCheckBox*)mGroup->find( i ); box->setChecked( type & mTypeList[ i ] ); } mPreferredBox->setChecked( mPhoneNumber.type() & KABC::PhoneNumber::Pref ); + mNumber->setFocus(); + mNumber->setSelection( 0, 1024); } KABC::PhoneNumber PhoneTypeDialog::phoneNumber() { mPhoneNumber.setNumber( mNumber->text() ); |