summaryrefslogtreecommitdiffabout
path: root/kaddressbook
Side-by-side diff
Diffstat (limited to 'kaddressbook') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/emaileditwidget.cpp2
-rw-r--r--kaddressbook/phoneeditwidget.cpp37
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
@@ -189,6 +189,7 @@ qDebug("EmailEditDialog::EmailEditDialog has to be changed (lowPrio)");
mEmailListBox->insertStringList( items );
// set default state
selectionChanged( -1 );
+ mEmailEdit->setFocus();
#ifndef KAB_EMBEDDED
KAcceleratorManager::manage( this );
@@ -225,6 +226,7 @@ void EmailEditDialog::add()
void EmailEditDialog::edit()
{
mEmailEdit->setText( mEmailListBox->currentText() );
+ mEmailListBox->removeItem( mEmailListBox->currentItem() );
mEmailEdit->setFocus();
}
diff --git a/kaddressbook/phoneeditwidget.cpp b/kaddressbook/phoneeditwidget.cpp
index 19bb676..a435959 100644
--- a/kaddressbook/phoneeditwidget.cpp
+++ b/kaddressbook/phoneeditwidget.cpp
@@ -213,7 +213,8 @@ void PhoneEditWidget::edit()
if ( dlg.exec() ) {
if ( dlg.changed() ) {
- mPhoneList = dlg.phoneNumbers();
+ KABC::PhoneNumber::List list = dlg.phoneNumbers();
+ setPhoneNumbers( list );
updateCombos();
updateLineEdits();
emit modified();
@@ -338,7 +339,10 @@ private:
PhoneViewItem::PhoneViewItem( QListView *parent, const KABC::PhoneNumber &number )
: QListViewItem( parent ), mPhoneNumber( number )
-{
+{
+#ifdef DESKTOP_VERSION
+ setRenameEnabled ( 0, true );
+#endif
makeText();
}
@@ -406,11 +410,28 @@ void PhoneEditDialog::slotAddPhoneNumber()
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;
}
}
@@ -504,6 +525,8 @@ PhoneTypeDialog::PhoneTypeDialog( const KABC::PhoneNumber &phoneNumber,
}
mPreferredBox->setChecked( mPhoneNumber.type() & KABC::PhoneNumber::Pref );
+ mNumber->setFocus();
+ mNumber->setSelection( 0, 1024);
}
KABC::PhoneNumber PhoneTypeDialog::phoneNumber()