-rw-r--r-- | kaddressbook/addresseeeditorwidget.cpp | 214 | ||||
-rw-r--r-- | kaddressbook/addresseeeditorwidget.h | 2 |
2 files changed, 130 insertions, 86 deletions
diff --git a/kaddressbook/addresseeeditorwidget.cpp b/kaddressbook/addresseeeditorwidget.cpp index 826c69b..dbbf7fe 100644 --- a/kaddressbook/addresseeeditorwidget.cpp +++ b/kaddressbook/addresseeeditorwidget.cpp @@ -579,139 +579,166 @@ void AddresseeEditorWidget::setupTab2() mManagerEdit = new KLineEdit( tab2 ); connect( mManagerEdit, SIGNAL( textChanged( const QString& ) ), SLOT( textChanged( const QString& ) ) ); label->setBuddy( mManagerEdit ); //US layout->addMultiCellWidget( mManagerEdit, 0, 0, 4, 5 ); layout->addWidget( mManagerEdit, 3, 2 ); label = new QLabel( i18n( "Assistant's name:" ), tab2 ); //US layout->addWidget( label, 1, 3 ); layout->addWidget( label, 4, 1 ); mAssistantEdit = new KLineEdit( tab2 ); connect( mAssistantEdit, SIGNAL( textChanged( const QString& ) ), SLOT( textChanged( const QString& ) ) ); label->setBuddy( mAssistantEdit ); //US layout->addMultiCellWidget( mAssistantEdit, 1, 1, 4, 5 ); layout->addWidget( mAssistantEdit, 4, 2 ); bar = new KSeparator( KSeparator::HLine, tab2 ); //US layout->addMultiCellWidget( bar, 3, 3, 0, 5 ); layout->addMultiCellWidget( bar, 5, 5, 0, 2 ); ///////////////////////////////////////////////// // Personal info - label = new QLabel( tab2 ); + //label = new QLabel( tab2 ); //US loadIcon call is ambiguous. Add one more parameter //US label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop ) ); - label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop, 0 ) ); + //label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop, 0 ) ); //US layout->addMultiCellWidget( label, 4, 5, 0, 0 ); - layout->addMultiCellWidget( label, 6, 7, 0, 0 ); - - label = new QLabel( i18n( "Nick name:" ), tab2 ); -//US layout->addWidget( label, 4, 1 ); - layout->addWidget( label, 6, 1 ); - mNicknameEdit = new KLineEdit( tab2 ); - connect( mNicknameEdit, SIGNAL( textChanged( const QString& ) ), - SLOT( textChanged( const QString& ) ) ); - label->setBuddy( mNicknameEdit ); -//US layout->addWidget( mNicknameEdit, 4, 2 ); - layout->addWidget( mNicknameEdit, 6, 2 ); - - label = new QLabel( i18n( "Spouse's name:" ), tab2 ); -//US layout->addWidget( label, 5, 1 ); - layout->addWidget( label, 7, 1 ); - mSpouseEdit = new KLineEdit( tab2 ); - connect( mSpouseEdit, SIGNAL( textChanged( const QString& ) ), - SLOT( textChanged( const QString& ) ) ); - label->setBuddy( mSpouseEdit ); -//US layout->addWidget( mSpouseEdit, 5, 2 ); - layout->addWidget( mSpouseEdit, 7, 2 ); - - label = new QLabel( i18n( "Birthday:" ), tab2 ); -//US layout->addWidget( label, 4, 3 ); - layout->addWidget( label, 8, 1 ); - mBirthdayPicker = new KDateEdit( tab2 ); - mBirthdayPicker->toggleDateFormat(); - mBirthdayPicker->setHandleInvalid( true ); - connect( mBirthdayPicker, SIGNAL( dateChanged( QDate ) ), - SLOT( dateChanged( QDate ) ) ); - + //layout->addMultiCellWidget( label, 6, 7, 0, 0 ); + + + int iii = 6; + + if ( QApplication::desktop()->width() == 640 ) { + QHBox * nbox = new QHBox ( tab2 ); + label = new QLabel( i18n( "Nick name:" )+" ", nbox ); + layout->addWidget( label, iii, 1 ); + mNicknameEdit = new KLineEdit( nbox ); + connect( mNicknameEdit, SIGNAL( textChanged( const QString& ) ), + SLOT( textChanged( const QString& ) ) ); + label->setBuddy( mNicknameEdit ); + + label = new QLabel( " "+i18n( "Spouse's name:" )+" ", nbox ); + layout->addWidget( label, iii, 1 ); + mSpouseEdit = new KLineEdit( nbox ); + connect( mSpouseEdit, SIGNAL( textChanged( const QString& ) ), + SLOT( textChanged( const QString& ) ) ); + label->setBuddy( mSpouseEdit ); + layout->addWidget( mSpouseEdit, iii, 2 ); + layout->addMultiCellWidget( nbox, iii, iii, 1, 2 ); + ++iii; + + } else { + label = new QLabel( i18n( "Nick name:" ), tab2 ); + layout->addWidget( label, iii, 1 ); + mNicknameEdit = new KLineEdit( tab2 ); + connect( mNicknameEdit, SIGNAL( textChanged( const QString& ) ), + SLOT( textChanged( const QString& ) ) ); + label->setBuddy( mNicknameEdit ); + layout->addWidget( mNicknameEdit, iii, 2 ); + ++iii; + + label = new QLabel( i18n( "Spouse's name:" ), tab2 ); + layout->addWidget( label, iii, 1 ); + mSpouseEdit = new KLineEdit( tab2 ); + connect( mSpouseEdit, SIGNAL( textChanged( const QString& ) ), + SLOT( textChanged( const QString& ) ) ); + label->setBuddy( mSpouseEdit ); + layout->addWidget( mSpouseEdit, iii, 2 ); + ++iii; + } -#ifndef KAB_EMBEDDED - //US invalid dates are handdled by the KDateEdit widget itself - connect( mBirthdayPicker, SIGNAL( invalidDateEntered() ), - SLOT( invalidDate() ) ); - connect( mBirthdayPicker, SIGNAL( textChanged( const QString& ) ), - SLOT( emitModified() ) ); -#endif //KAB_EMBEDDED + label = new QLabel( i18n( "Children's names:" ), tab2 ); + layout->addWidget( label, iii, 1 ); + mChildEdit = new KLineEdit( tab2 ); + connect( mChildEdit, SIGNAL( textChanged( const QString& ) ), + SLOT( textChanged( const QString& ) ) ); + label->setBuddy( mChildEdit ); + layout->addWidget( mChildEdit, iii, 2 ); + ++iii; + if ( QApplication::desktop()->width() == 640 ) { + QHBox * nbox = new QHBox ( tab2 ); + label = new QLabel( i18n( "Birthday:" )+" ", nbox ); + layout->addWidget( label, iii, 1 ); + mBirthdayPicker = new KDateEdit( nbox ); + mBirthdayPicker->toggleDateFormat(); + mBirthdayPicker->setHandleInvalid( true ); + connect( mBirthdayPicker, SIGNAL( dateChanged( QDate ) ), + SLOT( dateChanged( QDate ) ) ); - label->setBuddy( mBirthdayPicker ); -//US layout->addWidget( mBirthdayPicker, 4, 4 ); - layout->addWidget( mBirthdayPicker, 8, 2 ); - - label = new QLabel( i18n( "Anniversary:" ), tab2 ); -//US layout->addWidget( label, 5, 3 ); - layout->addWidget( label, 9, 1 ); - mAnniversaryPicker = new KDateEdit( tab2 ); - mAnniversaryPicker->setHandleInvalid( true ); - connect( mAnniversaryPicker, SIGNAL( dateChanged( QDate ) ), - SLOT( dateChanged( QDate ) ) ); -#ifndef KAB_EMBEDDED - //US invalid dates are handled by the KDateEdit widget itself - connect( mAnniversaryPicker, SIGNAL( invalidDateEntered() ), - SLOT( invalidDate() ) ); - connect( mAnniversaryPicker, SIGNAL( textChanged( const QString& ) ), - SLOT( emitModified() ) ); -#endif //KAB_EMBEDDED + label->setBuddy( mBirthdayPicker ); + + label = new QLabel( " "+i18n( "Anniversary:" )+" ", nbox ); + layout->addWidget( label, iii, 1 ); + mAnniversaryPicker = new KDateEdit( nbox ); + mAnniversaryPicker->setHandleInvalid( true ); + connect( mAnniversaryPicker, SIGNAL( dateChanged( QDate ) ), + SLOT( dateChanged( QDate ) ) ); - label->setBuddy( mAnniversaryPicker ); -//US layout->addWidget( mAnniversaryPicker, 5, 4 ); - layout->addWidget( mAnniversaryPicker, 9, 2 ); + label->setBuddy( mAnniversaryPicker ); + layout->addMultiCellWidget( nbox, iii, iii, 1, 2 ); + ++iii; + + } else { + + label = new QLabel( i18n( "Birthday:" ), tab2 ); + layout->addWidget( label, iii, 1 ); + mBirthdayPicker = new KDateEdit( tab2 ); + mBirthdayPicker->toggleDateFormat(); + mBirthdayPicker->setHandleInvalid( true ); + connect( mBirthdayPicker, SIGNAL( dateChanged( QDate ) ), + SLOT( dateChanged( QDate ) ) ); + + label->setBuddy( mBirthdayPicker ); + layout->addWidget( mBirthdayPicker, iii, 2 ); + ++iii; + + label = new QLabel( i18n( "Anniversary:" ), tab2 ); + layout->addWidget( label, iii, 1 ); + mAnniversaryPicker = new KDateEdit( tab2 ); + mAnniversaryPicker->setHandleInvalid( true ); + connect( mAnniversaryPicker, SIGNAL( dateChanged( QDate ) ), + SLOT( dateChanged( QDate ) ) ); + + label->setBuddy( mAnniversaryPicker ); + layout->addWidget( mAnniversaryPicker, iii, 2 ); + ++iii; -/*US - bar = new KSeparator( KSeparator::HLine, tab2 ); - layout->addMultiCellWidget( bar, 6, 6, 0, 5 ); - - ////////////////////////////////////// - // Notes - label = new QLabel( i18n( "Note:" ), tab2 ); - label->setAlignment( Qt::AlignTop | Qt::AlignLeft ); - layout->addWidget( label, 7, 0 ); -#ifndef KAB_EMBEDDED - mNoteEdit = new QTextEdit( tab2 ); - mNoteEdit->setWordWrap( QTextEdit::WidgetWidth ); - mNoteEdit->setMinimumSize( mNoteEdit->sizeHint() ); -#else //KAB_EMBEDDED - mNoteEdit = new QMultiLineEdit( tab2 ); -//US mNoteEdit->setWordWrap( QTextEdit::WidgetWidth ); -//US mNoteEdit->setMinimumSize( mNoteEdit->sizeHint() ); -qDebug("AddresseeEditorWidget::setupTab2 has to be changed"); -#endif //KAB_EMBEDDED - connect( mNoteEdit, SIGNAL( textChanged() ), SLOT( emitModified() ) ); - label->setBuddy( mNoteEdit ); - layout->addMultiCellWidget( mNoteEdit, 7, 7, 1, 5 ); -*/ + } + + label = new QLabel( i18n( "Gender:" ), tab2 ); + layout->addWidget( label, iii, 1 ); + mGenderBox = new QComboBox ( tab2 ); + mGenderBox->insertItem ( i18n( "ALIEN (gender undefined)" )); + mGenderBox->insertItem ( i18n( "female" )); + mGenderBox->insertItem ( i18n( "male" )); + connect( mGenderBox, SIGNAL( activated ( const QString & ) ), + SLOT( textChanged( const QString& ) ) ); + label->setBuddy( mGenderBox ); + layout->addWidget( mGenderBox, iii, 2 ); + ++iii; // Build the layout and add to the tab widget layout->activate(); // required mTabWidget->addTab( tab2, i18n( "&Details" ) ); } void AddresseeEditorWidget::setupTab2_1() { // This is the Details tab QWidget *tab2_2 = new QWidget( mTabWidget ); QGridLayout *layout = new QGridLayout( tab2_2, 1, 2 ); layout->setMargin( KDialogBase::marginHintSmall() ); layout->setSpacing( KDialogBase::spacingHintSmall() ); QLabel *label; KSeparator* bar; /*US /////////////////////// // Office info // Department label = new QLabel( tab2 ); @@ -992,112 +1019,127 @@ void AddresseeEditorWidget::load() //US mAnniversaryPicker->setDate( QDate::fromString( mAddressee.custom( //US "KADDRESSBOOK", "X-Anniversary" ), Qt::ISODate) ); QDate dt = KGlobal::locale()->readDate( mAddressee.custom("KADDRESSBOOK", "X-Anniversary" ), "%Y-%m-%d"); // = Qt::ISODate mAnniversaryPicker->setDate( dt ); mNicknameEdit->setText( mAddressee.nickName() ); mCategoryEdit->setText( mAddressee.categories().join( "," ) ); mGeoWidget->setGeo( mAddressee.geo() ); mImageWidget->setPhoto( mAddressee.photo() ); mImageWidget->setLogo( mAddressee.logo() ); mKeyWidget->setKeys( mAddressee.keys() ); mSecrecyWidget->setSecrecy( mAddressee.secrecy() ); #ifndef KAB_EMBEDDED mSoundWidget->setSound( mAddressee.sound() ); #else //KAB_EMBEDDED //US qDebug("AddresseeEditorWidget::load has to be changed 2"); #endif //KAB_EMBEDDED // Load customs mIMAddressEdit->setText( mAddressee.custom( "KADDRESSBOOK", "X-IMAddress" ) ); mSpouseEdit->setText( mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" ) ); + mChildEdit->setText( mAddressee.custom( "KADDRESSBOOK", "X-Children" ) ); mManagerEdit->setText( mAddressee.custom( "KADDRESSBOOK", "X-ManagersName" ) ); mAssistantEdit->setText( mAddressee.custom( "KADDRESSBOOK", "X-AssistantsName" ) ); mDepartmentEdit->setText( mAddressee.custom( "KADDRESSBOOK", "X-Department" ) ); mOfficeEdit->setText( mAddressee.custom( "KADDRESSBOOK", "X-Office" ) ); mProfessionEdit->setText( mAddressee.custom( "KADDRESSBOOK", "X-Profession" ) ); - + QString gen = mAddressee.custom( "KADDRESSBOOK", "X-Gender" ); + if ( gen == "female" ) + mGenderBox->setCurrentItem ( 1 ); + else if ( gen == "male" ) + mGenderBox->setCurrentItem ( 2 ); + else + mGenderBox->setCurrentItem ( 0 ); blockSignals( block ); mBlockSignals = false; mDirty = false; } void AddresseeEditorWidget::save() { if ( !dirty() ) { return; } mAddressee.setRole( mRoleEdit->text() ); mAddressee.setOrganization( mOrgEdit->text() ); mAddressee.setUrl( KURL( mURLEdit->text() ) ); mAddressee.setNote( mNoteEdit->text() ); if ( mBirthdayPicker->inputIsValid() ) { QDate da = mBirthdayPicker->date(); if ( da > QDate::currentDate() ) da.setYMD(da.year()-100, da.month(), da.day() ); mAddressee.setBirthday( QDateTime( da ) ); qDebug("bday %s ",da.toString().latin1()); } else { mAddressee.setBirthday( QDateTime() ); mBirthdayPicker->clear(); } mAddressee.setNickName( mNicknameEdit->text() ); mAddressee.setCategories( QStringList::split( ",", mCategoryEdit->text() ) ); mAddressee.setGeo( mGeoWidget->geo() ); mAddressee.setPhoto( mImageWidget->photo() ); mAddressee.setLogo( mImageWidget->logo() ); mAddressee.setKeys( mKeyWidget->keys() ); #ifndef KAB_EMBEDDED mAddressee.setSound( mSoundWidget->sound() ); #else //KAB_EMBEDDED //US qDebug("AddresseeEditorWidget::save sound not supported"); #endif //KAB_EMBEDDED mAddressee.setSecrecy( mSecrecyWidget->secrecy() ); // save custom fields mAddressee.insertCustom( "KADDRESSBOOK", "X-IMAddress", mIMAddressEdit->text() ); mAddressee.insertCustom( "KADDRESSBOOK", "X-SpousesName", mSpouseEdit->text() ); + mAddressee.insertCustom( "KADDRESSBOOK", "X-Children", mChildEdit->text() ); mAddressee.insertCustom( "KADDRESSBOOK", "X-ManagersName", mManagerEdit->text() ); mAddressee.insertCustom( "KADDRESSBOOK", "X-AssistantsName", mAssistantEdit->text() ); mAddressee.insertCustom( "KADDRESSBOOK", "X-Department", mDepartmentEdit->text() ); mAddressee.insertCustom( "KADDRESSBOOK", "X-Office", mOfficeEdit->text() ); mAddressee.insertCustom( "KADDRESSBOOK", "X-Profession", mProfessionEdit->text() ); if ( mAnniversaryPicker->inputIsValid() ) { QString dt = KGlobal::locale()->formatDate(mAnniversaryPicker->date(), true, KLocale::ISODate); mAddressee.insertCustom( "KADDRESSBOOK", "X-Anniversary", dt); } else { mAddressee.removeCustom( "KADDRESSBOOK", "X-Anniversary" ); mAnniversaryPicker->clear(); } - + int gen = mGenderBox->currentItem (); + if ( gen == 1 ) + mAddressee.insertCustom( "KADDRESSBOOK", "X-Gender", "female"); + else if ( gen == 2 ) + mAddressee.insertCustom( "KADDRESSBOOK", "X-Gender", "male"); + else + mAddressee.removeCustom( "KADDRESSBOOK", "X-Gender" ); + // Save the email addresses QStringList emails = mAddressee.emails(); QStringList::Iterator iter; for ( iter = emails.begin(); iter != emails.end(); ++iter ) mAddressee.removeEmail( *iter ); emails = mEmailWidget->emails(); bool first = true; for ( iter = emails.begin(); iter != emails.end(); ++iter ) { mAddressee.insertEmail( *iter, first ); first = false; } // Save the phone numbers KABC::PhoneNumber::List phoneNumbers; KABC::PhoneNumber::List::Iterator phoneIter; phoneNumbers = mAddressee.phoneNumbers(); for ( phoneIter = phoneNumbers.begin(); phoneIter != phoneNumbers.end(); ++phoneIter ) mAddressee.removePhoneNumber( *phoneIter ); phoneNumbers = mPhoneEditWidget->phoneNumbers(); for ( phoneIter = phoneNumbers.begin(); phoneIter != phoneNumbers.end(); ++phoneIter ) diff --git a/kaddressbook/addresseeeditorwidget.h b/kaddressbook/addresseeeditorwidget.h index b9d9e25..995f30e 100644 --- a/kaddressbook/addresseeeditorwidget.h +++ b/kaddressbook/addresseeeditorwidget.h @@ -139,46 +139,48 @@ class AddresseeEditorWidget : public ExtensionWidget // Tab1 and Tab1_1 KLineEdit *mNameEdit; KLineEdit *mRoleEdit; KLineEdit *mOrgEdit; KSqueezedTextLabel *mFormattedNameLabel; AddressEditWidget *mAddressEditWidget; EmailEditWidget *mEmailWidget; PhoneEditWidget *mPhoneEditWidget; KLineEdit *mURLEdit; KLineEdit *mIMAddressEdit; KLineEdit *mCategoryEdit; SecrecyWidget *mSecrecyWidget; KSqueezedTextLabel *mNameLabel; // Tab2 and Tab2_2 KLineEdit *mDepartmentEdit; KLineEdit *mOfficeEdit; KLineEdit *mProfessionEdit; KLineEdit *mManagerEdit; KLineEdit *mAssistantEdit; KLineEdit *mNicknameEdit; KLineEdit *mSpouseEdit; + KLineEdit *mChildEdit; + QComboBox *mGenderBox; KDateEdit *mBirthdayPicker; KDateEdit *mAnniversaryPicker; #ifndef KAB_EMBEDDED QTextEdit *mNoteEdit; #else //KAB_EMBEDDED QMultiLineEdit *mNoteEdit; #endif //KAB_EMBEDDED QSpinBox *mTimeZoneSpin; QSpinBox *mGeoLat; QSpinBox *mGeoLon; // Tab3 GeoWidget *mGeoWidget; ImageWidget *mImageWidget; #ifndef KAB_EMBEDDED SoundWidget *mSoundWidget; #endif //KAB_EMBEDDED KeyWidget *mKeyWidget; }; #endif |