-rw-r--r-- | core/pim/addressbook/contacteditor.cpp | 56 |
1 files changed, 39 insertions, 17 deletions
diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp index 66e94ef..6d92ac3 100644 --- a/core/pim/addressbook/contacteditor.cpp +++ b/core/pim/addressbook/contacteditor.cpp @@ -436,35 +436,35 @@ void ContactEditor::init() { gl->addWidget( txtMiddleName, 1, 1 ); l = new QLabel( tr("Last Name"), dlgName ); gl->addWidget( l, 2, 0 ); txtLastName = new QLineEdit( dlgName ); gl->addWidget( txtLastName, 2, 1 ); l = new QLabel( tr("Suffix"), dlgName ); gl->addWidget( l, 3, 0 ); txtSuffix = new QLineEdit( dlgName ); gl->addWidget( txtSuffix, 3, 1 ); cmbChooserField1->insertStringList( *slChooserNames ); cmbChooserField2->insertStringList( *slChooserNames ); cmbChooserField3->insertStringList( *slChooserNames ); - cmbChooserField1->setCurrentItem( 1 ); - cmbChooserField2->setCurrentItem( 2 ); - cmbChooserField3->setCurrentItem( 3 ); + cmbChooserField1->setCurrentItem( 0 ); + cmbChooserField2->setCurrentItem( 1 ); + cmbChooserField3->setCurrentItem( 2 ); connect( btnFullName, SIGNAL(clicked()), this, SLOT(slotName()) ); connect( txtFullName, SIGNAL(textChanged(const QString &)), this, SLOT(slotFullNameChange(const QString &)) ); connect( txtChooserField1, SIGNAL(textChanged(const QString &)), this, SLOT(slotChooser1Change(const QString &)) ); connect( txtChooserField2, SIGNAL(textChanged(const QString &)), this, SLOT(slotChooser2Change(const QString &)) ); connect( txtChooserField3, SIGNAL(textChanged(const QString &)), this, SLOT(slotChooser3Change(const QString &)) ); connect( txtAddress, SIGNAL(textChanged(const QString &)), this, SLOT(slotAddressChange(const QString &)) ); //connect( txtAddress2, SIGNAL(textChanged(const QString &)), this, SLOT(slotAddress2Change(const QString &)) ); //connect( txtPOBox, SIGNAL(textChanged(const QString &)), this, SLOT(slotPOBoxChange(const QString &)) ); connect( txtCity, SIGNAL(textChanged(const QString &)), this, SLOT(slotCityChange(const QString &)) ); connect( txtState, SIGNAL(textChanged(const QString &)), this, SLOT(slotStateChange(const QString &)) ); connect( txtZip, SIGNAL(textChanged(const QString &)), this, SLOT(slotZipChange(const QString &)) ); connect( cmbCountry, SIGNAL(textChanged(const QString &)), this, SLOT(slotCountryChange(const QString &)) ); connect( cmbCountry, SIGNAL(activated(const QString &)), this, SLOT(slotCountryChange(const QString &)) ); @@ -946,32 +946,33 @@ void ContactEditor::cleanupFields() { //txtAddress2->setText(""); txtCity->setText(""); //txtPOBox->setText(""); txtState->setText(""); txtZip->setText(""); QLineEdit *txtTmp = cmbCountry->lineEdit(); txtTmp->setText(""); txtTmp = cmbFileAs->lineEdit(); txtTmp->setText(""); } void ContactEditor::setEntry( const Contact &entry ) { cleanupFields(); + ent = entry; useFullName = FALSE; txtFirstName->setText( ent.firstName() ); txtMiddleName->setText( ent.middleName() ); txtLastName->setText( ent.lastName() ); txtSuffix->setText( ent.suffix() ); QString *tmpString = new QString; *tmpString = ent.firstName() + " " + ent.middleName() + + " " + ent.lastName() + " " + ent.suffix(); txtFullName->setText( tmpString->simplifyWhiteSpace() ); cmbFileAs->setEditText( ent.fileAs() ); @@ -1001,32 +1002,37 @@ void ContactEditor::setEntry( const Contact &entry ) { */ if (hasCity) { (*slHomeAddress)[3] = ent.homeCity(); (*slBusinessAddress)[3] = ent.homeCity(); } if (hasState) { (*slHomeAddress)[4] = ent.homeState(); (*slBusinessAddress)[4] = ent.businessState(); } if (hasZip) { (*slHomeAddress)[5] = ent.homeZip(); (*slBusinessAddress)[5] = ent.businessZip(); } + if (hasCountry) { + (*slHomeAddress)[6] = ent.homeCountry(); + (*slBusinessAddress)[6] = ent.businessCountry(); + } + QStringList::ConstIterator it; QListIterator<QLineEdit> itLE( listValue ); for ( it = slDynamicEntries->begin(); it != slDynamicEntries->end(); ++it, ++itLE) { if ( *it == "Department" ) (*itLE)->setText( ent.department() ); if ( *it == "Company" ) (*itLE)->setText( ent.company() ); if ( *it == "Office" ) (*itLE)->setText( ent.office() ); if ( *it == "Profession" ) (*itLE)->setText( ent.profession() ); if ( *it == "Assistant" ) @@ -1042,110 +1048,116 @@ void ContactEditor::setEntry( const Contact &entry ) { (*itLE)->setText( ent.birthday() ); if ( *it == "Anniversary" ) (*itLE)->setText( ent.anniversary() ); if ( *it == "Nickname" ) (*itLE)->setText( ent.nickname() ); if ( *it == "Children" ) (*itLE)->setText( ent.children() ); } QStringList::Iterator itV; for ( it = slChooserNames->begin(), itV = slChooserValues->begin(); it != slChooserNames->end(); ++it, ++itV ) { - if ( *it == "Business Phone" ) + if ( *it == "Business Phone" || *it == "Work Phone" ) *itV = ent.businessPhone(); /* if ( *it == "Business 2 Phone" ) *itV = ent.business2Phone(); */ - if ( *it == "Business Fax" ) + if ( *it == "Business Fax" || *it == "Work Fax" ) *itV = ent.businessFax(); - if ( *it == "Business Mobile" ) + if ( *it == "Business Mobile" || *it == "work Mobile" ) *itV = ent.businessMobile(); /* if ( *it == "Company Phone" ) *itV = ent.companyPhone(); */ if ( *it == "Default Email" ) *itV = ent.defaultEmail(); if ( *it == "Emails" ) *itV = ent.emails(); if ( *it == "Home Phone" ) *itV = ent.homePhone(); /* if ( *it == "Home 2 Phone" ) *itV = ent.home2Phone(); */ if ( *it == "Home Fax" ) *itV = ent.homeFax(); if ( *it == "Home Mobile" ) *itV = ent.homeMobile(); /* if ( *it == "Car Phone" ) *itV = ent.carPhone(); if ( *it == "ISDN Phone" ) *itV = ent.ISDNPhone(); if ( *it == "Other Phone" ) *itV = ent.otherPhone(); */ - if ( *it == "Business Pager" ) + if ( *it == "Business Pager" || *it == "Work Pager" ) *itV = ent.businessPager(); /* if ( *it == "Home Pager") *itV = ent.homePager(); if ( *it == "AIM IM" ) *itV = ent.AIMIM(); if ( *it == "ICQ IM" ) *itV = ent.ICQIM(); if ( *it == "Jabber IM" ) *itV = ent.jabberIM(); if ( *it == "MSN IM" ) *itV = ent.MSNIM(); if ( *it == "Yahoo IM" ) *itV = ent.yahooIM(); */ if ( *it == "Home Web Page" ) *itV = ent.homeWebpage(); - if ( *it == "Business Web Page" ) + if ( *it == "Business Web Page" || *it == "Work Web Page" ) *itV = ent.businessWebpage(); } cmbCat->setCategories( ent.categories(), "Contacts", tr("Contacts") ); QString gender = ent.gender(); cmbGender->setCurrentItem( gender.toInt() ); txtNote->setText( ent.notes() ); + slotCmbChooser1Change( cmbChooserField1->currentItem() ); + slotCmbChooser2Change( cmbChooserField2->currentItem() ); + slotCmbChooser3Change( cmbChooserField3->currentItem() ); + + slotAddressTypeChange( cmbAddress->currentItem() ); + } void ContactEditor::saveEntry() { if ( useFullName == TRUE ) { txtFirstName->setText( parseName( txtFullName->text(), NAME_F ) ); txtMiddleName->setText( parseName( txtFullName->text(), NAME_M ) ); txtLastName->setText( parseName( txtFullName->text(), NAME_L ) ); txtSuffix->setText( parseName( txtFullName->text(), NAME_S ) ); useFullName = FALSE; } /*if ( ent.firstName() != txtFirstName->text() || ent.lastName != txtLastName->text() || ent.middleName != txtMiddleName->text() ) { @@ -1185,32 +1197,37 @@ void ContactEditor::saveEntry() { } */ if (hasCity) { ent.setHomeCity( (*slHomeAddress)[3] ); ent.setBusinessCity( (*slBusinessAddress)[3] ); } if (hasState) { ent.setHomeState( (*slHomeAddress)[4] ); ent.setBusinessState( (*slBusinessAddress)[4] ); } if (hasZip) { ent.setHomeZip( (*slHomeAddress)[5] ); ent.setBusinessZip( (*slBusinessAddress)[5] ); } + + if (hasCountry) { + ent.setHomeCountry( (*slHomeAddress)[6] ); + ent.setBusinessCountry( (*slBusinessAddress)[6] ); + } QStringList::ConstIterator it; QListIterator<QLineEdit> itLE( listValue ); for ( it = slDynamicEntries->begin(); it != slDynamicEntries->end(); ++it, ++itLE) { if ( *it == "Department" ) ent.setDepartment( (*itLE)->text() ); if ( *it == "Company" ) ent.setCompany( (*itLE)->text() ); if ( *it == "Office" ) ent.setOffice( (*itLE)->text() ); if ( *it == "Profession" ) ent.setProfession( (*itLE)->text() ); @@ -1227,98 +1244,103 @@ void ContactEditor::saveEntry() { ent.setBirthday( (*itLE)->text() ); if ( *it == "Anniversary" ) ent.setAnniversary( (*itLE)->text() ); if ( *it == "Nickname" ) ent.setNickname( (*itLE)->text() ); if ( *it == "Children" ) ent.setChildren( (*itLE)->text() ); } QStringList::ConstIterator itV; for ( it = slChooserNames->begin(), itV = slChooserValues->begin(); it != slChooserNames->end(); ++it, ++itV ) { - if ( *it == "Business Phone" ) + if ( *it == "Business Phone" || *it == "Work Phone" ) ent.setBusinessPhone( *itV ); /* if ( *it == "Business 2 Phone" ) ent.setBusiness2Phone( *itV ); */ - if ( *it == "Business Fax" ) + if ( *it == "Business Fax" || *it == "Work Fax" ) ent.setBusinessFax( *itV ); - if ( *it == "Business Mobile" ) + if ( *it == "Business Mobile" || *it == "Work Mobile" ) ent.setBusinessMobile( *itV ); /* if ( *it == "Company Phone" ) ent.setCompanyPhone( *itV ); */ - if ( *it == "Default Email" ) - ent.setDefaultEmail( *itV ); - - if ( *it == "Emails" ) + //if ( *it == "Default Email" ) + //ent.setDefaultEmail( *itV ); + + if ( *it == "Emails" ) { + QString allemail; + QString defaultmail; + parseEmailFrom( *itV, defaultmail, allemail ); + ent.setDefaultEmail( defaultmail ); ent.setEmails( *itV ); + } if ( *it == "Home Phone" ) ent.setHomePhone( *itV ); /* if ( *it == "Home 2 Phone" ) ent.setHome2Phone( *itV ); */ if ( *it == "Home Fax" ) ent.setHomeFax( *itV ); if ( *it == "Home Mobile" ) ent.setHomeMobile( *itV ); /* if ( *it == "Car Phone" ) ent.setCarPhone( *itV ); if ( *it == "ISDN Phone" ) ent.setISDNPhone( *itV ); if ( *it == "Other Phone" ) ent.setOtherPhone( *itV ); */ - if ( *it == "Business Pager" ) + if ( *it == "Business Pager" || *it == "Work Pager" ) ent.setBusinessPager( *itV ); /* if ( *it == "Home Pager" ) ent.setHomePager( *itV ); if ( *it == "AIM IM" ) ent.setAIMIM( *itV ); if ( *it == "ICQ IM" ) ent.setICQIM( *itV ); if ( *it == "Jabber IM" ) ent.setJabberIM( *itV ); if ( *it == "MSN IM" ) ent.setMSNIM( *itV ); if ( *it == "Yahoo IM" ) ent.setYahooIM( *itV ); */ if ( *it == "Home Web Page" ) ent.setHomeWebpage( *itV ); - if ( *it == "Business Web Page" ) + if ( *it == "Business Web Page" || *it == "Work Web Page" ) ent.setBusinessWebpage( *itV ); } int gender = cmbGender->currentItem(); ent.setGender( QString::number( gender ) ); QString str = txtNote->text(); if ( !str.isNull() ) ent.setNotes( str ); } void parseEmailFrom( const QString &txt, QString &strDefaultEmail, QString &strAll ) |