summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/pim/addressbook/contacteditor.cpp51
-rw-r--r--core/pim/addressbook/contacteditor.h4
-rw-r--r--core/pim/addressbook/ocontactfields.cpp4
3 files changed, 39 insertions, 20 deletions
diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp
index 5a7bf1a..7338eeb 100644
--- a/core/pim/addressbook/contacteditor.cpp
+++ b/core/pim/addressbook/contacteditor.cpp
@@ -55,10 +55,10 @@ static inline bool constainsWhiteSpace( const QString &str );
void parseEmailFrom( const QString &txt, QString &strDefaultEmail,
QString &strAll );
// helper convert from file format to comma delimited...
-void parseEmailTo( const QString &strDefaultEmail,
- const QString &strOtherEmail, QString &strBack );
+//void parseEmailTo( const QString &strDefaultEmail,
+// const QString &strOtherEmail, QString &strBack );
ContactEditor::ContactEditor( const OContact &entry,
QWidget *parent,
const char *name,
@@ -620,38 +620,52 @@ void ContactEditor::init() {
setPersonalView ( m_personalView );
}
-void ContactEditor::slotChooser1Change( const QString &textChanged ) {
-
+void ContactEditor::defaultEmailChanged(int i){
+ qDebug("defaultEmailChanged");
int index = cmbChooserField1->currentItem();
-
- slChooserValues[index] = textChanged;
+ slChooserValues[index] = cmbDefaultEmail->text(i);
}
-void ContactEditor::slotChooser2Change( const QString &textChanged ) {
+void ContactEditor::chooserChange( const QString &textChanged, int index, QLineEdit *inputWid ) {
- int index = cmbChooserField2->currentItem();
-
- slChooserValues[index] = textChanged;
+ if (slChooserNames[index] == "Default Email"){
+ delete cmbDefaultEmail;
+ cmbDefaultEmail = new QComboBox(inputWid->parentWidget());
+ cmbDefaultEmail->setGeometry(inputWid->frameGeometry());
+ cmbDefaultEmail->insertStringList(ent.emailList());
+ connect(cmbDefaultEmail,SIGNAL(activated(int)),
+ SLOT(defaultEmailChanged(int)));
+ QString demail = ent.defaultEmail();
+ for ( int i = 0; i < cmbDefaultEmail->count(); i++)
+ if ( cmbDefaultEmail->text( i ) == demail )
+ cmbDefaultEmail->setCurrentItem( i );
+ cmbDefaultEmail->show();
}
-void ContactEditor::slotChooser3Change( const QString &textChanged ) {
-
- int index = cmbChooserField3->currentItem();
slChooserValues[index] = textChanged;
}
-void ContactEditor::slotChooser4Change( const QString &textChanged ) {
+void ContactEditor::slotChooser1Change( const QString &textChanged ) {
+ chooserChange( textChanged, cmbChooserField1->currentItem(), txtChooserField1);
+}
- int index = cmbChooserField4->currentItem();
+void ContactEditor::slotChooser2Change( const QString &textChanged ) {
+ chooserChange( textChanged, cmbChooserField2->currentItem(), txtChooserField2);
- slChooserValues[index] = textChanged;
+}
+void ContactEditor::slotChooser3Change( const QString &textChanged ) {
+ chooserChange( textChanged, cmbChooserField3->currentItem(), txtChooserField3);
+}
+
+void ContactEditor::slotChooser4Change( const QString &textChanged ) {
+ chooserChange( textChanged, cmbChooserField4->currentItem(), txtChooserField4);
}
void ContactEditor::slotAddressChange( const QString &textChanged ) {
@@ -1374,12 +1388,15 @@ void ContactEditor::saveEntry() {
QString allemail;
QString defaultmail;
parseEmailFrom( *itV, defaultmail, allemail );
// ent.clearEmails();
- ent.setDefaultEmail( defaultmail );
+// ent.setDefaultEmail( defaultmail );
ent.setEmails( allemail );
}
+ if ( *it == "Default Email")
+ ent.setDefaultEmail( *itV );
+
if ( *it == "Home Phone" )
ent.setHomePhone( *itV );
if ( *it == "Home Fax" )
diff --git a/core/pim/addressbook/contacteditor.h b/core/pim/addressbook/contacteditor.h
index 250b831..d4b7f27 100644
--- a/core/pim/addressbook/contacteditor.h
+++ b/core/pim/addressbook/contacteditor.h
@@ -99,12 +99,13 @@ class ContactEditor : public QDialog {
void slotAnniversaryDateChanged( int year, int month, int day);
void slotBirthdayDateChanged( int year, int month, int day);
void slotRemoveBirthday();
void slotRemoveAnniversary();
+ void defaultEmailChanged(int);
private:
+ void chooserChange( const QString&, int , QLineEdit* );
bool useFullName;
- // bool hasGender, hasTitle, hasCompany, hasNotes, hasStreet, hasStreet2, hasPOBox, hasCity, hasState, hasZip, hasCountry;
OContact ent;
QDialog *dlgNote;
@@ -146,8 +147,9 @@ class ContactEditor : public QDialog {
QComboBox *cmbChooserField1;
QComboBox *cmbChooserField2;
QComboBox *cmbChooserField3;
QComboBox *cmbChooserField4;
+ QComboBox *cmbDefaultEmail;
QComboBox *cmbFileAs;
CategorySelect *cmbCat;
QLabel *labCat;
diff --git a/core/pim/addressbook/ocontactfields.cpp b/core/pim/addressbook/ocontactfields.cpp
index df57efa..7823a9c 100644
--- a/core/pim/addressbook/ocontactfields.cpp
+++ b/core/pim/addressbook/ocontactfields.cpp
@@ -41,9 +41,9 @@ QStringList OContactFields::trphonefields( bool sorted )
list.append( QObject::tr( "Business Phone" ) );
list.append( QObject::tr( "Business Fax" ) );
list.append( QObject::tr( "Business Mobile" ) );
- // list.append( QObject::tr( "Default Email" ) );
+ list.append( QObject::tr( "Default Email" ) );
list.append( QObject::tr( "Emails" ) );
list.append( QObject::tr( "Home Phone" ) );
list.append( QObject::tr( "Home Fax" ) );
@@ -137,9 +137,9 @@ QStringList OContactFields::untrphonefields( bool sorted )
list.append( "Business Phone" );
list.append( "Business Fax" );
list.append( "Business Mobile" );
- // list.append( "Default Email" );
+ list.append( "Default Email" );
list.append( "Emails" );
list.append( "Home Phone" );
list.append( "Home Fax" );