summaryrefslogtreecommitdiff
authortille <tille>2002-12-18 13:01:15 (UTC)
committer tille <tille>2002-12-18 13:01:15 (UTC)
commit9471f69c44e811781ed9f643f5b84d7b459df601 (patch) (side-by-side diff)
treef8daf275c36b9a068cbec9ff487a195e639ff8bf
parent930884a92b064766ed436111778fc55f157c6e1c (diff)
downloadopie-9471f69c44e811781ed9f643f5b84d7b459df601.zip
opie-9471f69c44e811781ed9f643f5b84d7b459df601.tar.gz
opie-9471f69c44e811781ed9f643f5b84d7b459df601.tar.bz2
changing from defaultemail to something else now hides the combo
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/contacteditor.cpp19
-rw-r--r--core/pim/addressbook/contacteditor.h3
2 files changed, 14 insertions, 8 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
@@ -41,66 +41,66 @@
#include <qpushbutton.h>
#include <qmainwindow.h>
#include <qvaluelist.h>
#include <qpopupmenu.h>
#include <qlistbox.h>
#include <qhbox.h>
#include <qaction.h>
#include <qiconset.h>
static inline bool containsAlphaNum( const QString &str );
static inline bool constainsWhiteSpace( const QString &str );
// helper functions, convert our comma delimited list to proper
// file format...
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 );
ContactEditor::ContactEditor( const OContact &entry,
QWidget *parent,
const char *name,
WFlags fl )
: QDialog( parent, name, TRUE, fl ),
m_personalView ( false )
{
init();
setEntry( entry );
-
cmbDefaultEmail = 0;
+ defaultEmailChooserPosition = -1;
}
ContactEditor::~ContactEditor() {
}
void ContactEditor::init() {
useFullName = true;
uint i = 0;
QStringList trlChooserNames;
for (i = 0; i <= 6; i++) {
slHomeAddress.append( "" );
slBusinessAddress.append( "" );
}
trlChooserNames = OContactFields::trphonefields();
slChooserNames = OContactFields::untrphonefields();
slDynamicEntries = OContactFields::untrdetailsfields();
trlDynamicEntries = OContactFields::trdetailsfields();
for (i = 0; i < slChooserNames.count(); i++)
slChooserValues.append("");
QVBoxLayout *vb = new QVBoxLayout( this );
tabMain = new QTabWidget( this );
vb->addWidget( tabMain );
QWidget *tabViewport = new QWidget ( tabMain );
@@ -602,101 +602,106 @@ void ContactEditor::init() {
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 &)) );
connect( cmbChooserField1, SIGNAL(activated(int)),
this, SLOT(slotCmbChooser1Change(int)) );
connect( cmbChooserField2, SIGNAL(activated(int)),
this, SLOT(slotCmbChooser2Change(int)) );
connect( cmbChooserField3, SIGNAL(activated(int)),
this, SLOT(slotCmbChooser3Change(int)) );
connect( cmbChooserField4, SIGNAL(activated(int)),
this, SLOT(slotCmbChooser4Change(int)) );
connect( cmbAddress, SIGNAL(activated(int)),
this, SLOT(slotAddressTypeChange(int)) );
new QPEDialogListener(this);
setPersonalView ( m_personalView );
}
void ContactEditor::defaultEmailChanged(int i){
qDebug("defaultEmailChanged");
int index = cmbChooserField1->currentItem();
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());
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();
- }
+ 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 ) {
if ( cmbAddress->currentItem() == 0 ) {
slBusinessAddress[0] = textChanged;
} else {
slHomeAddress[0] = textChanged;
}
}
void ContactEditor::slotAddress2Change( const QString &textChanged ) {
if ( cmbAddress->currentItem() == 0 ) {
slBusinessAddress[1] = textChanged;
} else {
slHomeAddress[1] = textChanged;
}
}
void ContactEditor::slotPOBoxChange( const QString &textChanged ) {
if ( cmbAddress->currentItem() == 0 ) {
slBusinessAddress[2] = textChanged;
} else {
slHomeAddress[2] = textChanged;
}
}
void ContactEditor::slotCityChange( const QString &textChanged ) {
if ( cmbAddress->currentItem() == 0 ) {
diff --git a/core/pim/addressbook/contacteditor.h b/core/pim/addressbook/contacteditor.h
index d4b7f27..63257f8 100644
--- a/core/pim/addressbook/contacteditor.h
+++ b/core/pim/addressbook/contacteditor.h
@@ -74,65 +74,66 @@ class ContactEditor : public QDialog {
private:
void init();
void saveEntry();
bool isEmpty();
void cleanupFields();
void updateDatePicker();
QString parseName( QString fullName, int type );
private slots:
void slotChooser1Change( const QString &textChanged );
void slotChooser2Change( const QString &textChanged );
void slotChooser3Change( const QString &textChanged );
void slotChooser4Change( const QString &textChanged );
void slotCmbChooser1Change( int index );
void slotCmbChooser2Change( int index );
void slotCmbChooser3Change( int index );
void slotCmbChooser4Change( int index );
void slotAddressTypeChange( int index );
void slotAddressChange( const QString &textChanged );
void slotAddress2Change( const QString &textChanged );
void slotPOBoxChange( const QString &textChanged );
void slotCityChange( const QString &textChanged );
void slotStateChange( const QString &textChanged );
void slotZipChange( const QString &textChanged );
void slotCountryChange( const QString &textChanged );
void slotFullNameChange( const QString &textChanged );
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* );
+ int defaultEmailChooserPosition;
+ void chooserChange( const QString&, int , QLineEdit*, int );
bool useFullName;
OContact ent;
QDialog *dlgNote;
QDialog *dlgName;
QList<QLineEdit> listValue;
QList<QLabel> listName;
QStringList slDynamicEntries;
QStringList trlDynamicEntries;
bool m_personalView;
QStringList slHomeAddress;
QStringList slBusinessAddress;
QStringList slChooserNames;
QStringList slChooserValues;
QMultiLineEdit *txtNote;
QLabel *lblNote;
//QLineEdit *txtTitle;
QLineEdit *txtFirstName;
QLineEdit *txtMiddleName;
QLineEdit *txtLastName;
QLineEdit *txtSuffix;
QTabWidget *tabMain;
QScrollView *svGeneral;
QPushButton *btnFullName;