summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/contacteditor.cpp62
-rw-r--r--core/pim/addressbook/contacteditor.h8
2 files changed, 29 insertions, 41 deletions
diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp
index 75dd2c1..7682399 100644
--- a/core/pim/addressbook/contacteditor.cpp
+++ b/core/pim/addressbook/contacteditor.cpp
@@ -86,14 +86,12 @@ ContactEditor::ContactEditor( const OContact &entry,
ContactEditor::~ContactEditor() {
}
void ContactEditor::init() {
qWarning("init() START");
- useFullName = true;
-
uint i = 0;
QStringList trlChooserNames;
for (i = 0; i <= 6; i++) {
slHomeAddress.append( "" );
@@ -1028,17 +1026,18 @@ void ContactEditor::slotFullNameChange( const QString &textChanged ) {
cmbFileAs->clear();
cmbFileAs->insertItem( parseName( textChanged, NAME_LF ) );
cmbFileAs->insertItem( parseName( textChanged, NAME_LFM ) );
cmbFileAs->insertItem( parseName( textChanged, NAME_FL ) );
- cmbFileAs->insertItem( parseName( textChanged, NAME_FMLS ) );
+ cmbFileAs->insertItem( parseName( textChanged, NAME_FML ) );
+ if ( ! txtSuffix->text().isEmpty() )
+ cmbFileAs->insertItem( parseName( textChanged, NAME_FML ) + " " + txtSuffix->text() );
cmbFileAs->setCurrentItem( index );
- useFullName = true;
}
void ContactEditor::slotSuffixChange( const QString& ) {
// Just want to update the FileAs combo if the suffix was changed..
slotFullNameChange( txtFullName->text() );
@@ -1065,25 +1064,27 @@ void ContactEditor::slotNote() {
}
}
void ContactEditor::slotName() {
QString tmpName;
- if (useFullName) {
- 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) );
- }
+
+ 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) );
+
dlgName->showMaximized();
if ( dlgName->exec() ) {
+ if ( txtLastName->text().contains( ' ', TRUE ) )
+ tmpName = txtLastName->text() + ", " + txtFirstName->text() + " " + txtMiddleName->text();
+ else
+ tmpName = txtFirstName->text() + " " + txtMiddleName->text() + " " + txtLastName->text();
- tmpName = txtFirstName->text() + " " + txtMiddleName->text() + " " + txtLastName->text();
txtFullName->setText( tmpName.simplifyWhiteSpace() );
slotFullNameChange( txtFullName->text() );
- useFullName = false;
}
}
void ContactEditor::setNameFocus() {
@@ -1176,14 +1177,14 @@ QString ContactEditor::parseName( const QString fullName, int type ) {
case NAME_LF:
return strLastName + ", " + strFirstName;
case NAME_LFM:
return strLastName + ", " + strFirstName + " " + strMiddleName;
- case NAME_FMLS:
- return strFirstName + " " + strMiddleName + " " + strLastName + " " + txtSuffix->text();
+ case NAME_FML:
+ return strFirstName + " " + strMiddleName + " " + strLastName ;
case NAME_F:
return strFirstName;
case NAME_M:
return strMiddleName;
@@ -1247,28 +1248,29 @@ void ContactEditor::setEntry( const OContact &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() );
txtMiddleName->setText( ent.middleName() );
txtLastName->setText( ent.lastName() );
txtSuffix->setText( ent.suffix() );
// QString *tmpString = new QString;
// *tmpString = ent.firstName() + " " + ent.middleName() +
// + " " + ent.lastName() + " " + ent.suffix();
// txtFullName->setText( tmpString->simplifyWhiteSpace() );
- // Lastnames with multiple words need to be protected by a comma !
- if ( ent.lastName().contains( ' ', TRUE ) )
- txtFullName->setText( ent.lastName() + ", " + ent.firstName() + " " + ent.middleName() );
- else
- txtFullName->setText( ent.firstName() + " " + ent.middleName() + " " + ent.lastName() );
+ if ( !ent.isEmpty() ){
+ // Lastnames with multiple words need to be protected by a comma !
+ if ( ent.lastName().contains( ' ', TRUE ) )
+ txtFullName->setText( ent.lastName() + ", " + ent.firstName() + " " + ent.middleName() );
+ else
+ txtFullName->setText( ent.firstName() + " " + ent.middleName() + " " + ent.lastName() );
+ }
cmbFileAs->setEditText( ent.fileAs() );
// if (hasTitle)
txtJobTitle->setText( ent.jobTitle() );
@@ -1422,20 +1424,12 @@ void ContactEditor::setEntry( const OContact &entry ) {
cmbGender->setCurrentItem( gender.toInt() );
txtNote->setText( ent.notes() );
slotAddressTypeChange( cmbAddress->currentItem() );
- // Calling "show()" to arrange all widgets. Otherwise we will get
- // a wrong position of the textfields and are unable to put our
- // default-email combo over it.. This is very ugly !
- // Does anybody has a better solution ?
- // Basically we should rethink the strategy to hide
- // a textfield with overwriting.. (se)
- show();
-
// Get combo-settings from contact and set preset..
contactfields.loadFromRecord( ent );
cmbChooserField1->setCurrentItem( contactfields.getFieldOrder(0, 7) );
cmbChooserField2->setCurrentItem( contactfields.getFieldOrder(1, 9) );
cmbChooserField3->setCurrentItem( contactfields.getFieldOrder(2, 0) );
cmbChooserField4->setCurrentItem( contactfields.getFieldOrder(3, 6) );
@@ -1469,20 +1463,16 @@ void ContactEditor::updateDatePicker()
void ContactEditor::saveEntry() {
// Store current combo into contact
contactfields.saveToRecord( ent );
- if ( useFullName ) {
- 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 ) );
-
- useFullName = false;
- }
+ 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() );
diff --git a/core/pim/addressbook/contacteditor.h b/core/pim/addressbook/contacteditor.h
index 954c77e..c6fa48f 100644
--- a/core/pim/addressbook/contacteditor.h
+++ b/core/pim/addressbook/contacteditor.h
@@ -30,16 +30,16 @@
#include <qmap.h>
#include <qstringlist.h>
#include <qwidgetstack.h>
#include "ocontactfields.h"
-const int NAME_LF = 0;
+const int NAME_LF = 0;
const int NAME_LFM = 1;
-const int NAME_FL = 2;
-const int NAME_FMLS = 3;
+const int NAME_FL = 2;
+const int NAME_FML = 3;
const int NAME_F = 4;
const int NAME_M = 5;
const int NAME_L = 6;
const int NAME_S = 7;
@@ -112,14 +112,12 @@ class ContactEditor : public QDialog {
int defaultEmailChooserPosition;
void populateDefaultEmailCmb();
void chooserChange( const QString&, int , QLineEdit*, int );
bool cmbChooserChange( int , QWidgetStack*, int );
OContactFields contactfields;
- bool useFullName;
-
OContact ent;
QDialog *dlgNote;
QDialog *dlgName;
QList<QLineEdit> listValue;