summaryrefslogtreecommitdiff
authortille <tille>2002-12-19 00:00:42 (UTC)
committer tille <tille>2002-12-19 00:00:42 (UTC)
commit4fc6648f5953d453a31edaf288480ff2458c431f (patch) (side-by-side diff)
treeaff033c63297fef4c37e561c7ce961ce3f15421f
parent7f98b97ff4b112ddc7025b34649a4ed331b37548 (diff)
downloadopie-4fc6648f5953d453a31edaf288480ff2458c431f.zip
opie-4fc6648f5953d453a31edaf288480ff2458c431f.tar.gz
opie-4fc6648f5953d453a31edaf288480ff2458c431f.tar.bz2
fix for email <-> default email bug
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/pim/addressbook/contacteditor.cpp51
-rw-r--r--core/pim/addressbook/contacteditor.h4
2 files changed, 41 insertions, 14 deletions
diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp
index cc3908a..4e73114 100644
--- a/core/pim/addressbook/contacteditor.cpp
+++ b/core/pim/addressbook/contacteditor.cpp
@@ -57,6 +57,6 @@ void parseEmailFrom( const QString &txt, QString &strDefaultEmail,
// 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,
@@ -597,6 +597,4 @@ void ContactEditor::init() {
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 &)) );
@@ -632,27 +630,43 @@ void ContactEditor::defaultEmailChanged(int i){
}
-void ContactEditor::chooserChange( const QString &textChanged, int index, QLineEdit *inputWid, int widgetPos ) {
+void ContactEditor::populateDefaultEmailCmb(){
+ cmbDefaultEmail->clear();
+ cmbDefaultEmail->insertStringList(emails);
+ for ( int i = 0; i < cmbDefaultEmail->count(); i++){
+ qDebug(" populateDefaultEmailCmb text >%s< defaultEmail >%s<",cmbDefaultEmail->text( i ).latin1(),defaultEmail.latin1());
+ if ( cmbDefaultEmail->text( i ).stripWhiteSpace() == defaultEmail.stripWhiteSpace() ){
+ cmbDefaultEmail->setCurrentItem( i );
+ qDebug("set");
+ }
+ }
+}
- qDebug("defaultEmailChooserPosition %i, widgetPos %i ",defaultEmailChooserPosition,widgetPos);
- if (slChooserNames[index] == "Default Email"){
+void ContactEditor::chooserChange( const QString &textChanged, int index, QLineEdit *inputWid, int widgetPos ) {
+ QString type = slChooserNames[index];
+ qDebug("ContactEditor::chooserChange( type=>%s<, textChanged=>%s< index=%i, widgetPos=%i",type.latin1(),textChanged.latin1(), index, widgetPos );
+ if ( type == "Default Email"){
+ defaultEmail = textChanged;
if (cmbDefaultEmail) delete cmbDefaultEmail;
cmbDefaultEmail = new QComboBox(inputWid->parentWidget());
cmbDefaultEmail->setGeometry(inputWid->frameGeometry());
- cmbDefaultEmail->insertStringList(ent.emailList());
+ cmbDefaultEmail->show();
+ populateDefaultEmailCmb();
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();
defaultEmailChooserPosition = widgetPos;
}else if (defaultEmailChooserPosition == widgetPos){
qDebug("cmbDefaultEmail->hide()");
if (cmbDefaultEmail) cmbDefaultEmail->hide();
+ widgetPos=-1;
+ }else if (type == "Emails"){
+ qDebug("emails");
+ QString de;
+ emails = QStringList::split (",", textChanged );
+
+ populateDefaultEmailCmb();
}
+
slChooserValues[index] = textChanged;
@@ -740,4 +754,5 @@ void ContactEditor::slotCountryChange( const QString &textChanged ) {
}
+
void ContactEditor::slotCmbChooser1Change( int index ) {
@@ -1061,4 +1076,5 @@ QString ContactEditor::parseName( const QString fullName, int type ) {
void ContactEditor::cleanupFields() {
QStringList::Iterator it = slChooserValues.begin();
+
for ( int i = 0; it != slChooserValues.end(); i++, ++it ) {
(*it) = "";
@@ -1103,4 +1119,11 @@ void ContactEditor::setEntry( const OContact &entry ) {
ent = entry;
+
+
+ emails = QStringList(ent.emailList());
+ defaultEmail = ent.defaultEmail();
+ if (defaultEmail.isEmpty()) defaultEmail = emails[0];
+ qDebug("default email=%s",defaultEmail.latin1());
+
useFullName = false;
txtFirstName->setText( ent.firstName() );
diff --git a/core/pim/addressbook/contacteditor.h b/core/pim/addressbook/contacteditor.h
index 63257f8..bcef679 100644
--- a/core/pim/addressbook/contacteditor.h
+++ b/core/pim/addressbook/contacteditor.h
@@ -105,5 +105,7 @@ class ContactEditor : public QDialog {
private:
int defaultEmailChooserPosition;
+ void populateDefaultEmailCmb();
void chooserChange( const QString&, int , QLineEdit*, int );
+
bool useFullName;
@@ -125,4 +127,6 @@ class ContactEditor : public QDialog {
QStringList slChooserNames;
QStringList slChooserValues;
+ QStringList emails;
+ QString defaultEmail;
QMultiLineEdit *txtNote;