Diffstat (limited to 'core/pim/addressbook/contacteditor.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/pim/addressbook/contacteditor.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp index f125edb..cc3908a 100644 --- a/core/pim/addressbook/contacteditor.cpp +++ b/core/pim/addressbook/contacteditor.cpp @@ -69,10 +69,10 @@ ContactEditor::ContactEditor( const OContact &entry, { init(); setEntry( entry ); - cmbDefaultEmail = 0; + defaultEmailChooserPosition = -1; } ContactEditor::~ContactEditor() { } @@ -630,10 +630,11 @@ void ContactEditor::defaultEmailChanged(int i){ slChooserValues[index] = cmbDefaultEmail->text(i); } -void ContactEditor::chooserChange( const QString &textChanged, int index, QLineEdit *inputWid ) { +void ContactEditor::chooserChange( const QString &textChanged, int index, QLineEdit *inputWid, int widgetPos ) { + qDebug("defaultEmailChooserPosition %i, widgetPos %i ",defaultEmailChooserPosition,widgetPos); if (slChooserNames[index] == "Default Email"){ if (cmbDefaultEmail) delete cmbDefaultEmail; cmbDefaultEmail = new QComboBox(inputWid->parentWidget()); cmbDefaultEmail->setGeometry(inputWid->frameGeometry()); @@ -645,30 +646,34 @@ void ContactEditor::chooserChange( const QString &textChanged, int index, QLineE if ( cmbDefaultEmail->text( i ) == demail ) cmbDefaultEmail->setCurrentItem( i ); cmbDefaultEmail->show(); - } + defaultEmailChooserPosition = widgetPos; + }else if (defaultEmailChooserPosition == widgetPos){ + qDebug("cmbDefaultEmail->hide()"); + if (cmbDefaultEmail) cmbDefaultEmail->hide(); + } slChooserValues[index] = textChanged; } void ContactEditor::slotChooser1Change( const QString &textChanged ) { - chooserChange( textChanged, cmbChooserField1->currentItem(), txtChooserField1); + chooserChange( textChanged, cmbChooserField1->currentItem(), txtChooserField1, 1); } void ContactEditor::slotChooser2Change( const QString &textChanged ) { - chooserChange( textChanged, cmbChooserField2->currentItem(), txtChooserField2); + chooserChange( textChanged, cmbChooserField2->currentItem(), txtChooserField2, 2); } void ContactEditor::slotChooser3Change( const QString &textChanged ) { - chooserChange( textChanged, cmbChooserField3->currentItem(), txtChooserField3); + chooserChange( textChanged, cmbChooserField3->currentItem(), txtChooserField3, 3); } void ContactEditor::slotChooser4Change( const QString &textChanged ) { - chooserChange( textChanged, cmbChooserField4->currentItem(), txtChooserField4); + chooserChange( textChanged, cmbChooserField4->currentItem(), txtChooserField4, 4); } void ContactEditor::slotAddressChange( const QString &textChanged ) { |