-rw-r--r-- | core/pim/addressbook/contacteditor.cpp | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp index 254cff7..1b83308 100644 --- a/core/pim/addressbook/contacteditor.cpp +++ b/core/pim/addressbook/contacteditor.cpp @@ -42,16 +42,18 @@ #include <qmainwindow.h> #include <qvaluelist.h> #include <qpopupmenu.h> #include <qlistbox.h> #include <qhbox.h> #include <qaction.h> #include <qiconset.h> +#include <assert.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 ); @@ -89,16 +91,35 @@ void ContactEditor::init() { slHomeAddress.append( "" ); slBusinessAddress.append( "" ); } trlChooserNames = OContactFields::trphonefields( false ); slChooserNames = OContactFields::untrphonefields( false ); slDynamicEntries = OContactFields::untrdetailsfields( false ); trlDynamicEntries = OContactFields::trdetailsfields( false ); + + // Ok, we have to remove elements from the list of dynamic entries + // which are now stored in special (not dynamic) widgets.. + // Otherwise we will get problems with field assignments! (se) + slDynamicEntries.remove("Anniversary"); + slDynamicEntries.remove("Birthday"); + slDynamicEntries.remove("Gender"); + + // The same with translated fields.. But I will + // use the translation map to avoid mismatches.. + QMap<int, QString> translMap = OContactFields::idToTrFields(); + trlDynamicEntries.remove( translMap[Qtopia::Anniversary] ); + trlDynamicEntries.remove( translMap[Qtopia::Birthday] ); + trlDynamicEntries.remove( translMap[Qtopia::Gender] ); + + // Last Check to be sure.. + assert( slDynamicEntries.count() == trlDynamicEntries.count() ); + assert( slChooserNames.count() == trlChooserNames.count() ); + for (i = 0; i < slChooserNames.count(); i++) slChooserValues.append(""); QVBoxLayout *vb = new QVBoxLayout( this ); tabMain = new QTabWidget( this ); vb->addWidget( tabMain ); @@ -1171,16 +1192,19 @@ void ContactEditor::setEntry( const OContact &entry ) { //if (hasCountry) { slHomeAddress[6] = ent.homeCountry(); slBusinessAddress[6] = ent.businessCountry(); //} QStringList::ConstIterator it; QListIterator<QLineEdit> itLE( listValue ); for ( it = slDynamicEntries.begin(); itLE.current()/* != slDynamicEntries.end()*/; ++it, ++itLE) { + + qWarning(" Filling dynamic Field: %s", (*it).latin1() ); + if ( *it == "Department" ) (*itLE)->setText( ent.department() ); if ( *it == "Company" ) (*itLE)->setText( ent.company() ); if ( *it == "Office" ) (*itLE)->setText( ent.office() ); @@ -1192,18 +1216,20 @@ void ContactEditor::setEntry( const OContact &entry ) { (*itLE)->setText( ent.assistant() ); if ( *it == "Manager" ) (*itLE)->setText( ent.manager() ); if ( *it == "Spouse" ) (*itLE)->setText( ent.spouse() ); - if ( *it == "Nickname" ) + if ( *it == "Nickname" ){ + qWarning("**** Nichname: %s", ent.nickname().latin1() ); (*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 ) { |