Diffstat (limited to 'core/pim/addressbook/contacteditor.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/pim/addressbook/contacteditor.cpp | 153 |
1 files changed, 123 insertions, 30 deletions
diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp index e7f2ebd..a59a927 100644 --- a/core/pim/addressbook/contacteditor.cpp +++ b/core/pim/addressbook/contacteditor.cpp @@ -26,2 +26,3 @@ #include <qpe/qpedialog.h> +#include <qpe/timeconversion.h> @@ -38,2 +39,3 @@ #include <qvaluelist.h> +#include <qpopupmenu.h> @@ -59,3 +61,4 @@ ContactEditor::ContactEditor( const OContact &entry, orderedValues( newOrderedValues ), - slOrdered( *slNewOrdered ) + slOrdered( *slNewOrdered ), + m_personalView ( false ) { @@ -208,3 +211,12 @@ void ContactEditor::init() { - if ( *it == "Name Title" || *it == "First Name" || *it == "Middle Name" || *it == "Last Name" || *it == "File As" || *it == "Default Email" || *it == "Emails" || *it == "Groups" ) + if ( *it == "Name Title" || + *it == "First Name" || + *it == "Middle Name" || + *it == "Last Name" || + *it == "File As" || + *it == "Default Email" || + *it == "Emails" || + *it == "Groups" || + *it == "Anniversary" || + *it == "Birthday" ) continue; @@ -404,4 +416,4 @@ void ContactEditor::init() { - l = new QLabel( tr( "Category" ), container ); - gl->addWidget( l, 7, 0 ); + labCat = new QLabel( tr( "Category" ), container ); + gl->addWidget( labCat, 7, 0 ); cmbCat = new CategorySelect( container ); @@ -409,2 +421,12 @@ void ContactEditor::init() { + // We don't need categories for the personal view + if ( m_personalView ){ + qWarning("Disable Category.."); + labCat->hide(); + cmbCat->hide(); + } else { + labCat->show(); + cmbCat->show(); + } + btnNote = new QPushButton( tr( "Notes..." ), container ); @@ -709,5 +731,52 @@ void ContactEditor::init() { + int counter = 0; + + // Birthday + l = new QLabel( tr("Birthday"), container ); + gl->addWidget( l, counter, 0 ); + + QPopupMenu* m1 = new QPopupMenu( container ); + birthdayPicker = new DateBookMonth( m1, 0, TRUE ); + m1->insertItem( birthdayPicker ); + + birthdayButton= new QToolButton( container, "buttonStart" ); + birthdayButton->setPopup( m1 ); + birthdayButton->setPopupDelay(0); + gl->addWidget( birthdayButton, counter , 1 ); + connect( birthdayPicker, SIGNAL( dateClicked( int, int, int ) ), + this, SLOT( slotBirthdayDateChanged( int, int, int ) ) ); + + ++counter; + + // Anniversary + l = new QLabel( tr("Anniversary"), container ); + gl->addWidget( l, counter, 0 ); + + m1 = new QPopupMenu( container ); + anniversaryPicker = new DateBookMonth( m1, 0, TRUE ); + m1->insertItem( anniversaryPicker ); + + anniversaryButton= new QToolButton( container, "buttonStart" ); + anniversaryButton->setPopup( m1 ); + anniversaryButton->setPopupDelay(0); + gl->addWidget( anniversaryButton, counter , 1 ); + connect( anniversaryPicker, SIGNAL( dateClicked( int, int, int ) ), + this, SLOT( slotAnniversaryDateChanged( int, int, int ) ) ); + + ++counter; + + // Gender + l = new QLabel( tr("Gender"), container ); + gl->addWidget( l, counter, 0 ); + cmbGender = new QComboBox( container ); + cmbGender->insertItem( "", 0 ); + cmbGender->insertItem( tr("Male"), 1); + cmbGender->insertItem( tr("Female"), 2); + gl->addWidget( cmbGender, counter, 1 ); + + ++counter; + // Create Labels and lineedit fields for every dynamic entry QStringList::ConstIterator it = slDynamicEntries.begin(); - for (i = 0; it != slDynamicEntries.end(); i++, ++it) { + for (i = counter; it != slDynamicEntries.end(); i++, ++it) { l = new QLabel( QString::null , container ); @@ -722,9 +791,2 @@ void ContactEditor::init() { - l = new QLabel( tr("Gender"), container ); - gl->addWidget( l, slDynamicEntries.count(), 0 ); - cmbGender = new QComboBox( container ); - cmbGender->insertItem( "", 0 ); - cmbGender->insertItem( tr("Male"), 1); - cmbGender->insertItem( tr("Female"), 2); - gl->addWidget( cmbGender, slDynamicEntries.count(), 1 ); @@ -1011,2 +1073,3 @@ void ContactEditor::slotFullNameChange( const QString &textChanged ) { +// Loads the detail fields void ContactEditor::loadFields() { @@ -1038,8 +1101,2 @@ void ContactEditor::loadFields() { - if ( *it == "Birthday" ) - (*lit)->setText( tr( "Birthday" ) ); - - if ( *it == "Anniversary" ) - (*lit)->setText( tr( "Anniversary" ) ); - if ( *it == "Nickname" ) @@ -1050,2 +1107,17 @@ void ContactEditor::loadFields() { } + // Set DatePicker + qWarning ("**Info: %s", ent.birthday().latin1() ); + if ( !ent.birthday().isEmpty() ){ + birthdayButton->setText( ent.birthday() ); + birthdayPicker->setDate( TimeConversion::fromString ( ent.birthday() ) ); + } else + birthdayButton->setText( tr ("Unknown") ); + + qWarning ("**Info: %s", ent.anniversary().latin1() ); + if ( !ent.anniversary().isEmpty() ){ + anniversaryButton->setText( ent.anniversary() ); + anniversaryPicker->setDate( TimeConversion::fromString ( ent.birthday() ) ); + } else + anniversaryButton->setText( tr ("Unknown") ); + } @@ -1431,8 +1503,2 @@ void ContactEditor::setEntry( const OContact &entry ) { - if ( *it == "Birthday" ) - (*itLE)->setText( ent.birthday() ); - - if ( *it == "Anniversary" ) - (*itLE)->setText( ent.anniversary() ); - if ( *it == "Nickname" ) @@ -1520,2 +1586,3 @@ void ContactEditor::setEntry( const OContact &entry ) { + cmbCat->setCategories( ent.categories(), "Contacts", tr("Contacts") ); @@ -1533,2 +1600,4 @@ void ContactEditor::setEntry( const OContact &entry ) { + loadFields(); + } @@ -1629,8 +1698,2 @@ void ContactEditor::saveEntry() { - if ( *it == "Birthday" ) - ent.setBirthday( (*itLE)->text() ); - - if ( *it == "Anniversary" ) - ent.setAnniversary( (*itLE)->text() ); - if ( *it == "Nickname" ) @@ -1808 +1871,31 @@ static inline bool constainsWhiteSpace( const QString &str ) +void ContactEditor::setPersonalView( bool personal ) +{ + m_personalView = personal; + if ( personal ){ + cmbCat->hide(); + labCat->hide(); + } else{ + cmbCat->show(); + labCat->show(); + + } +} + +void ContactEditor::slotAnniversaryDateChanged( int year, int month, int day) +{ + QDate date; + date.setYMD( year, month, day ); + QString dateString = TimeString::numberDateString( date ); + anniversaryButton->setText( dateString ); + ent.setAnniversary ( dateString ); +} + +void ContactEditor::slotBirthdayDateChanged( int year, int month, int day) +{ + QDate date; + date.setYMD( year, month, day ); + QString dateString = TimeString::numberDateString( date ); + birthdayButton->setText( dateString ); + ent.setBirthday ( dateString ); +} |