Diffstat (limited to 'core/pim/addressbook/contacteditor.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/pim/addressbook/contacteditor.cpp | 327 |
1 files changed, 164 insertions, 163 deletions
diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp index 8acf570..534666d 100644 --- a/core/pim/addressbook/contacteditor.cpp +++ b/core/pim/addressbook/contacteditor.cpp @@ -22,8 +22,9 @@ #include "contacteditor.h" +#include <opie2/opimcontact.h> + #include <qpe/categoryselect.h> #include <qpe/qpeapplication.h> #include <qpe/qpedialog.h> -#include <opie/ocontact.h> #include <qpe/resource.h> @@ -34,6 +35,6 @@ #include <qmultilineedit.h> #include <qtoolbutton.h> -#include <qlistbox.h> -#include <qmessagebox.h> +#include <qlistbox.h> +#include <qmessagebox.h> #include <qwhatsthis.h> @@ -52,5 +53,5 @@ void parseEmailTo( const QString &strDefaultEmail, const QString &strOtherEmail, QString &strBack ); -ContactEditor::ContactEditor( const OContact &entry, +ContactEditor::ContactEditor( const Opie::OPimContact &entry, QWidget *parent, const char *name, @@ -78,5 +79,5 @@ ContactEditor::~ContactEditor() { void ContactEditor::init() { qWarning("init() START"); - + uint i = 0; @@ -88,8 +89,8 @@ void ContactEditor::init() { } - trlChooserNames = OContactFields::trphonefields( false ); - slChooserNames = OContactFields::untrphonefields( false ); - slDynamicEntries = OContactFields::untrdetailsfields( false ); - trlDynamicEntries = OContactFields::trdetailsfields( false ); + trlChooserNames = Opie::OPimContactFields::trphonefields( false ); + slChooserNames = Opie::OPimContactFields::untrphonefields( false ); + slDynamicEntries = Opie::OPimContactFields::untrdetailsfields( false ); + trlDynamicEntries = Opie::OPimContactFields::trdetailsfields( false ); // Ok, we have to remove elements from the list of dynamic entries @@ -102,5 +103,5 @@ void ContactEditor::init() { // The same with translated fields.. But I will // use the translation map to avoid mismatches.. - QMap<int, QString> translMap = OContactFields::idToTrFields(); + QMap<int, QString> translMap = Opie::OPimContactFields::idToTrFields(); trlDynamicEntries.remove( translMap[Qtopia::Anniversary] ); trlDynamicEntries.remove( translMap[Qtopia::Birthday] ); @@ -165,5 +166,5 @@ void ContactEditor::init() { gl->addWidget( txtOrganization, 3, 1 ); - // Chooser 1 + // Chooser 1 cmbChooserField1 = new QComboBox( FALSE, container ); QWhatsThis::add( cmbChooserField1, tr( "Press to select attribute to change" ) ); @@ -530,5 +531,5 @@ void ContactEditor::init() { birthdayButton->setPopupDelay(0); - QPushButton* deleteButton = new QPushButton( QIconSet( Resource::loadPixmap( "trash" ) ), + QPushButton* deleteButton = new QPushButton( QIconSet( Resource::loadPixmap( "trash" ) ), tr( "Delete" ), hBox, 0 ); @@ -555,5 +556,5 @@ void ContactEditor::init() { anniversaryButton->setPopupDelay(0); - deleteButton = new QPushButton( QIconSet( Resource::loadPixmap( "trash" ) ), + deleteButton = new QPushButton( QIconSet( Resource::loadPixmap( "trash" ) ), tr( "Delete" ), hBox, 0 ); @@ -579,9 +580,9 @@ void ContactEditor::init() { // Create Labels and lineedit fields for every dynamic entry QStringList::ConstIterator it = slDynamicEntries.begin(); - QMap<QString, int> mapStrToID = OContactFields::untrFieldsToId(); - QMap<int, QString> mapIdToStr = OContactFields::idToTrFields(); + QMap<QString, int> mapStrToID = Opie::OPimContactFields::untrFieldsToId(); + QMap<int, QString> mapIdToStr = Opie::OPimContactFields::idToTrFields(); for (i = counter; it != slDynamicEntries.end(); i++, ++it ) { - - if (((*it) == "Anniversary") || + + if (((*it) == "Anniversary") || ((*it) == "Birthday")|| ((*it) == "Gender")) continue; @@ -645,9 +646,9 @@ void ContactEditor::init() { connect( btnFullName, SIGNAL(clicked()), this, SLOT(slotName()) ); - connect( txtFullName, SIGNAL(textChanged(const QString&)), + connect( txtFullName, SIGNAL(textChanged(const QString&)), this, SLOT(slotFullNameChange(const QString&)) ); - connect( txtSuffix, SIGNAL(textChanged(const QString&)), + connect( txtSuffix, SIGNAL(textChanged(const QString&)), this, SLOT(slotSuffixChange(const QString&)) ); - connect( txtOrganization, SIGNAL(textChanged(const QString&)), + connect( txtOrganization, SIGNAL(textChanged(const QString&)), this, SLOT(slotOrganizationChange(const QString&)) ); connect( txtChooserField1, SIGNAL(textChanged(const QString&)), @@ -701,13 +702,13 @@ void ContactEditor::defaultEmailChanged(int i){ } -void ContactEditor::populateDefaultEmailCmb(){ +void ContactEditor::populateDefaultEmailCmb(){ // if the default-email combo was not selected and therfore not created // we get a lot of trouble.. Therfore create an invisible one.. if ( !cmbDefaultEmail ){ - cmbDefaultEmail = new QComboBox(this); + cmbDefaultEmail = new QComboBox(this); cmbDefaultEmail -> hide(); } - cmbDefaultEmail->clear(); + cmbDefaultEmail->clear(); cmbDefaultEmail->insertStringList( emails ); // cmbDefaultEmail->show(); @@ -725,5 +726,5 @@ void ContactEditor::populateDefaultEmailCmb(){ } } - + // If the current default email is not found in the list, we choose the // first one.. @@ -742,10 +743,10 @@ bool ContactEditor::cmbChooserChange( int index, QWidgetStack* inputStack, int w contactfields.setFieldOrder( widgetPos-1, index ); - // Create and connect combobox for selecting the default email - if ( type == "Default Email"){ + // Create and connect combobox for selecting the default email + if ( type == "Default Email"){ qWarning("Choosing default-email (defaultEmailChooserPosition= %d) ", defaultEmailChooserPosition); - + // More than one default-email chooser is not allowed ! - if ( ( defaultEmailChooserPosition != -1 ) && + if ( ( defaultEmailChooserPosition != -1 ) && defaultEmailChooserPosition != widgetPos && !initializing){ chooserError( widgetPos ); @@ -754,5 +755,5 @@ bool ContactEditor::cmbChooserChange( int index, QWidgetStack* inputStack, int w QComboBox* cmbo = ( QComboBox* ) inputStack -> widget( Combo ); - if ( cmbo ){ + if ( cmbo ){ inputStack->raiseWidget( TextField ); inputStack -> removeWidget( cmbo ); @@ -769,10 +770,10 @@ bool ContactEditor::cmbChooserChange( int index, QWidgetStack* inputStack, int w connect( cmbo,SIGNAL( activated(int) ), - SLOT( defaultEmailChanged(int) ) ); + SLOT( defaultEmailChanged(int) ) ); // Set current default email populateDefaultEmailCmb(); - + } else { // Something else was selected: Hide combo.. @@ -782,5 +783,5 @@ bool ContactEditor::cmbChooserChange( int index, QWidgetStack* inputStack, int w } QComboBox* cmbo = ( QComboBox* ) inputStack -> widget( Combo ); - if ( cmbo ){ + if ( cmbo ){ inputStack->raiseWidget( TextField ); inputStack -> removeWidget( cmbo ); @@ -802,5 +803,5 @@ bool ContactEditor::cmbChooserChange( int index, QWidgetStack* inputStack, int w void ContactEditor::chooserError( int index ) { - qWarning("ContactEditor::chooserError( %d )", index); + qWarning("ContactEditor::chooserError( %d )", index); QMessageBox::warning( this, "Chooser Error", "Multiple selection of this\n" @@ -811,5 +812,5 @@ void ContactEditor::chooserError( int index ) // Reset the selected Chooser. Unfortunately the chooser - // generates no signal, therfore we have to + // generates no signal, therfore we have to // call the cmbChooserChange function manually.. switch( index ){ @@ -818,13 +819,13 @@ void ContactEditor::chooserError( int index ) slotCmbChooser1Change( 0 ); break; - case 2: + case 2: cmbChooserField2 -> setCurrentItem( 0 ); slotCmbChooser2Change( 0 ); break; - case 3: + case 3: cmbChooserField3 -> setCurrentItem( 0 ); slotCmbChooser3Change( 0 ); break; - case 4: + case 4: cmbChooserField4 -> setCurrentItem( 0 ); slotCmbChooser4Change( 0 ); @@ -834,5 +835,5 @@ void ContactEditor::chooserError( int index ) // Called when something was changed in a textfield (shouldn't it called textchanged? (se)) -void ContactEditor::chooserChange( const QString &textChanged, int index, +void ContactEditor::chooserChange( const QString &textChanged, int index, QLineEdit* , int widgetPos ) { @@ -841,5 +842,5 @@ void ContactEditor::chooserChange( const QString &textChanged, int index, type.latin1(),textChanged.latin1(), index, widgetPos ); - if ( type == "Default Email"){ + if ( type == "Default Email"){ qWarning ("??? Wozu??: %s", textChanged.latin1()); defaultEmail = textChanged; @@ -855,5 +856,5 @@ void ContactEditor::chooserChange( const QString &textChanged, int index, populateDefaultEmailCmb(); } - + slChooserValues[index] = textChanged; @@ -949,5 +950,5 @@ void ContactEditor::slotCmbChooser1Change( int index ) { qWarning("ContactEditor::slotCmbChooser1Change( %d )", index); if ( !cmbChooserChange( cmbChooserField1->currentItem(), m_widgetStack1, 1) ){ - + txtChooserField1->setText( slChooserValues[index] ); txtChooserField1->setFocus(); @@ -1050,10 +1051,10 @@ void ContactEditor::slotSuffixChange( const QString& ) { void ContactEditor::slotOrganizationChange( const QString &textChanged ){ qWarning( "ContactEditor::slotOrganizationChange( %s )", textChanged.latin1() ); - // Special handling for storing Companies: + // Special handling for storing Companies: // If no Fullname is given, we store the Company-Name as lastname // to handle it like a person.. if ( txtFullName->text() == txtOrganization->text().left( txtFullName->text().length() ) ) txtFullName->setText( textChanged ); - + } @@ -1138,5 +1139,5 @@ QString ContactEditor::parseName( const QString fullName, int type ) { // A comma (",") separates the lastname from one or - // many first names. Thus, remove the lastname from the + // many first names. Thus, remove the lastname from the // String and parse the firstnames. @@ -1155,10 +1156,10 @@ QString ContactEditor::parseName( const QString fullName, int type ) { for ( ; it != allFirstNames.end(); ++it ) allSecondNames.append( *it ); - + strMiddleName = allSecondNames.join(" "); } else { - // No comma separator used: We use the first word as firstname, the + // No comma separator used: We use the first word as firstname, the // last as second/lastname and everything in the middle as middlename @@ -1169,8 +1170,8 @@ QString ContactEditor::parseName( const QString fullName, int type ) { for ( ; it != --allNames.end(); ++it ) allSecondNames.append( *it ); - + strMiddleName = allSecondNames.join(" "); strLastName = *(--allNames.end()); - + } @@ -1186,26 +1187,26 @@ QString ContactEditor::parseName( const QString fullName, int type ) { case NAME_FL: return strFirstName + " " + strLastName; - + case NAME_LF: return strLastName + ", " + strFirstName; - + case NAME_LFM: return strLastName + ", " + strFirstName + " " + strMiddleName; - + case NAME_FML: return strFirstName + " " + strMiddleName + " " + strLastName ; - + case NAME_F: return strFirstName; - + case NAME_M: return strMiddleName; - + case NAME_L: return strLastName; - + case NAME_S: return txtSuffix->text(); - + } return QString::null; @@ -1214,19 +1215,19 @@ 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) = ""; } - + for ( int i = 0; i < 7; i++ ) { slHomeAddress[i] = ""; slBusinessAddress[i] = ""; } - + QListIterator<QLineEdit> itLV( listValue ); for ( ; itLV.current(); ++itLV ) { (*itLV)->setText( "" ); - } - + } + txtFirstName->setText(""); txtMiddleName->setText(""); @@ -1248,27 +1249,27 @@ void ContactEditor::cleanupFields() { txtTmp = cmbFileAs->lineEdit(); txtTmp->setText(""); - + } -void ContactEditor::setEntry( const OContact &entry ) { - +void ContactEditor::setEntry( const Opie::OPimContact &entry ) { + initializing = true; - + // Cleanup and activate the general Page .. cleanupFields(); tabMain->setCurrentPage( 0 ); - + ent = entry; - + emails = QStringList(ent.emailList()); defaultEmail = ent.defaultEmail(); if (defaultEmail.isEmpty()) defaultEmail = emails[0]; qDebug("default email=%s",defaultEmail.latin1()); - + txtFirstName->setText( ent.firstName() ); txtMiddleName->setText( ent.middleName() ); txtLastName->setText( ent.lastName() ); txtSuffix->setText( ent.suffix() ); - + // QString *tmpString = new QString; // *tmpString = ent.firstName() + " " + ent.middleName() + @@ -1283,81 +1284,81 @@ void ContactEditor::setEntry( const OContact &entry ) { txtFullName->setText( ent.firstName() + " " + ent.middleName() + " " + ent.lastName() ); } - + cmbFileAs->setEditText( ent.fileAs() ); - + // if (hasTitle) txtJobTitle->setText( ent.jobTitle() ); - + // if (hasCompany) txtOrganization->setText( ent.company() ); - + // if (hasNotes) txtNote->setText( ent.notes() ); - + // if (hasStreet) { slHomeAddress[0] = ent.homeStreet(); slBusinessAddress[0] = ent.businessStreet(); // } - + // if (hasCity) { slHomeAddress[3] = ent.homeCity(); slBusinessAddress[3] = ent.businessCity(); //} - + //if (hasState) { slHomeAddress[4] = ent.homeState(); slBusinessAddress[4] = ent.businessState(); //} - + //if (hasZip) { slHomeAddress[5] = ent.homeZip(); slBusinessAddress[5] = ent.businessZip(); //} - + //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() ); - + if ( *it == "Profession" ) (*itLE)->setText( ent.profession() ); - + if ( *it == "Assistant" ) (*itLE)->setText( ent.assistant() ); - + if ( *it == "Manager" ) (*itLE)->setText( ent.manager() ); - + if ( *it == "Spouse" ) (*itLE)->setText( ent.spouse() ); - + 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 ) { - + if ( ( *it == "Business Phone") || ( *it == "Work Phone" ) ) *itV = ent.businessPhone(); @@ -1368,5 +1369,5 @@ void ContactEditor::setEntry( const OContact &entry ) { if ( ( *it == "Business Fax") || ( *it == "Work Fax" ) ) *itV = ent.businessFax(); - + if ( ( *it == "Business Mobile" ) || ( *it == "work Mobile" ) ) *itV = ent.businessMobile(); @@ -1377,8 +1378,8 @@ void ContactEditor::setEntry( const OContact &entry ) { if ( *it == "Default Email" ) *itV = ent.defaultEmail(); - + if ( *it == "Emails" ) *itV = ent.emailList().join(", "); // :SX - + if ( *it == "Home Phone" ) *itV = ent.homePhone(); @@ -1389,5 +1390,5 @@ void ContactEditor::setEntry( const OContact &entry ) { if ( *it == "Home Fax" ) *itV = ent.homeFax(); - + if ( *it == "Home Mobile" ) *itV = ent.homeMobile(); @@ -1395,8 +1396,8 @@ void ContactEditor::setEntry( const OContact &entry ) { if ( *it == "Car Phone" ) *itV = ent.carPhone(); - + if ( *it == "ISDN Phone" ) *itV = ent.ISDNPhone(); - + if ( *it == "Other Phone" ) *itV = ent.otherPhone(); @@ -1407,17 +1408,17 @@ void ContactEditor::setEntry( const OContact &entry ) { if ( *it == "Home Pager") *itV = ent.homePager(); - + if ( *it == "AIM IM" ) *itV = ent.AIMIM(); - + if ( *it == "ICQ IM" ) *itV = ent.ICQIM(); - + if ( *it == "Jabber IM" ) *itV = ent.jabberIM(); - + if ( *it == "MSN IM" ) *itV = ent.MSNIM(); - + if ( *it == "Yahoo IM" ) *itV = ent.yahooIM(); @@ -1425,21 +1426,21 @@ void ContactEditor::setEntry( const OContact &entry ) { if ( *it == "Home Web Page" ) *itV = ent.homeWebpage(); - + if ( ( *it == "Business WebPage" ) || ( *it == "Work Web Page" ) ) *itV = ent.businessWebpage(); - - + + } - - + + cmbCat->setCategories( ent.categories(), "Contacts", tr("Contacts") ); - + QString gender = ent.gender(); cmbGender->setCurrentItem( gender.toInt() ); - + txtNote->setText( ent.notes() ); - + slotAddressTypeChange( cmbAddress->currentItem() ); - + // Get combo-settings from contact and set preset.. contactfields.loadFromRecord( ent ); @@ -1454,7 +1455,7 @@ void ContactEditor::setEntry( const OContact &entry ) { slotCmbChooser4Change( cmbChooserField4->currentItem() ); slotAddressTypeChange( cmbAddress->currentItem() ); - + updateDatePicker(); - + initializing = false; } @@ -1467,5 +1468,5 @@ void ContactEditor::updateDatePicker() } else birthdayButton->setText( tr ("Unknown") ); - + if ( !ent.anniversary().isNull() ){ anniversaryButton->setText( TimeString::numberDateString( ent.anniversary() ) ); @@ -1473,107 +1474,107 @@ void ContactEditor::updateDatePicker() } else anniversaryButton->setText( tr ("Unknown") ); - + } void ContactEditor::saveEntry() { - + // Store current combo into contact contactfields.saveToRecord( ent ); - + txtFirstName->setText( parseName( txtFullName->text(), NAME_F ) ); txtMiddleName->setText( parseName( txtFullName->text(), NAME_M ) ); txtLastName->setText( parseName( txtFullName->text(), NAME_L ) ); // txtSuffix->setText( parseName( txtFullName->text(), NAME_S ) ); - + ent.setFirstName( txtFirstName->text() ); ent.setLastName( txtLastName->text() ); ent.setMiddleName( txtMiddleName->text() ); ent.setSuffix( txtSuffix->text() ); - + ent.setFileAs( cmbFileAs->currentText() ); - + ent.setCategories( cmbCat->currentCategories() ); - - + + //if (hasTitle) ent.setJobTitle( txtJobTitle->text() ); - + //if (hasCompany) ent.setCompany( txtOrganization->text() ); - + // if (hasNotes) ent.setNotes( txtNote->text() ); - + //if (hasStreet) { ent.setHomeStreet( slHomeAddress[0] ); ent.setBusinessStreet( slBusinessAddress[0] ); // } - + // if (hasCity) { ent.setHomeCity( slHomeAddress[3] ); ent.setBusinessCity( slBusinessAddress[3] ); // } - + // if (hasState) { ent.setHomeState( slHomeAddress[4] ); ent.setBusinessState( slBusinessAddress[4] ); // } - + // if (hasZip) { ent.setHomeZip( slHomeAddress[5] ); ent.setBusinessZip( slBusinessAddress[5] ); // } - + // if (hasCountry) { ent.setHomeCountry( slHomeAddress[6] ); ent.setBusinessCountry( slBusinessAddress[6] ); // } - + QStringList::ConstIterator it; QListIterator<QLineEdit> itLE( listValue ); for ( it = slDynamicEntries.begin(); itLE.current() && it != slDynamicEntries.end(); ++it, ++itLE) { - + if ( *it == "Department" ) ent.setDepartment( (*itLE)->text() ); - + if ( *it == "Company" ) ent.setCompany( (*itLE)->text() ); - + if ( *it == "Office" ) ent.setOffice( (*itLE)->text() ); - + if ( *it == "Profession" ) ent.setProfession( (*itLE)->text() ); - + if ( *it == "Assistant" ) ent.setAssistant( (*itLE)->text() ); - + if ( *it == "Manager" ) ent.setManager( (*itLE)->text() ); - + if ( *it == "Spouse" ) ent.setSpouse( (*itLE)->text() ); - + if ( *it == "Nickname" ) ent.setNickname( (*itLE)->text() ); - + if ( *it == "Children" ) ent.setChildren( (*itLE)->text() ); - + } - - + + QStringList::ConstIterator itV; for ( it = slChooserNames.begin(), itV = slChooserValues.begin(); it != slChooserNames.end(); ++it, ++itV ) { - + if ( ( *it == "Business Phone" ) || ( *it == "Work Phone" ) ) ent.setBusinessPhone( *itV ); - + if ( ( *it == "Business Fax" ) || ( *it == "Work Fax" ) ) ent.setBusinessFax( *itV ); - + if ( ( *it == "Business Mobile" ) || ( *it == "Work Mobile" ) ) ent.setBusinessMobile( *itV ); - + if ( *it == "Emails" ){ QString allemail; @@ -1587,36 +1588,36 @@ void ContactEditor::saveEntry() { ent.setEmails( allemail ); } - + if ( *it == "Default Email") ent.setDefaultEmail( defaultEmail /* *itV */ ); - + if ( *it == "Home Phone" ) ent.setHomePhone( *itV ); - + if ( *it == "Home Fax" ) ent.setHomeFax( *itV ); - + if ( *it == "Home Mobile" ) ent.setHomeMobile( *itV ); - + if ( ( *it == "Business Pager" ) || ( *it == "Work Pager" ) ) ent.setBusinessPager( *itV ); - + if ( *it == "Home Web Page" ) ent.setHomeWebpage( *itV ); - + if ( ( *it == "Business WebPage" ) || ( *it == "Work Web Page" ) ) ent.setBusinessWebpage( *itV ); - - + + } - + int gender = cmbGender->currentItem(); ent.setGender( QString::number( gender ) ); - + QString str = txtNote->text(); if ( !str.isNull() ) ent.setNotes( str ); - + } @@ -1699,16 +1700,16 @@ void ContactEditor::setPersonalView( bool personal ) { m_personalView = personal; - + // Currently disbled due to the fact that // show will not work... return; - + if ( personal ){ cmbCat->hide(); labCat->hide(); - + } else{ cmbCat->show(); - labCat->show(); + labCat->show(); } } |