summaryrefslogtreecommitdiffabout
path: root/kaddressbook
Side-by-side diff
Diffstat (limited to 'kaddressbook') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/emaileditwidget.cpp2
-rw-r--r--kaddressbook/phoneeditwidget.cpp27
2 files changed, 27 insertions, 2 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();
}
}
}
@@ -336,12 +337,15 @@ 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,16 +407,33 @@ PhoneEditDialog::~PhoneEditDialog()
void PhoneEditDialog::slotAddPhoneNumber()
{
KABC::PhoneNumber tmp( "", 0 );
PhoneTypeDialog dlg( tmp, this );
if ( dlg.exec() ) {
+ 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()
{
@@ -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() );