-rw-r--r-- | bin/kdepim/WhatsNew.txt | 5 | ||||
-rw-r--r-- | kaddressbook/addresseeeditorwidget.cpp | 6 | ||||
-rw-r--r-- | kaddressbook/extensionmanager.cpp | 7 | ||||
-rw-r--r-- | kaddressbook/filter.cpp | 3 | ||||
-rw-r--r-- | kaddressbook/kabcore.cpp | 81 | ||||
-rw-r--r-- | kaddressbook/kabcore.h | 3 | ||||
-rw-r--r-- | kaddressbook/kabprefs.cpp | 2 | ||||
-rw-r--r-- | kaddressbook/kcmconfigs/addresseewidget.cpp | 11 | ||||
-rw-r--r-- | kaddressbook/nameeditdialog.cpp | 8 |
9 files changed, 106 insertions, 20 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt index ff87423..5be1d28 100644 --- a/bin/kdepim/WhatsNew.txt +++ b/bin/kdepim/WhatsNew.txt @@ -15,2 +15,7 @@ Fixed of missing save settings after filter configuration. Made saving of addressbook much faster. +Fixed extension widget layout problem. +Fixed saving of default formatted name settings. +Fixed formatted name handling in edit dialog. +Added an option for changing formatted names of many contacts +(menu: File - Change - Set formatted name). diff --git a/kaddressbook/addresseeeditorwidget.cpp b/kaddressbook/addresseeeditorwidget.cpp index 3397e06..c6993e9 100644 --- a/kaddressbook/addresseeeditorwidget.cpp +++ b/kaddressbook/addresseeeditorwidget.cpp @@ -983,3 +983,3 @@ void AddresseeEditorWidget::load() //US KConfig config( "kaddressbookrc" ); - KConfig config( locateLocal("config", "kaddressbookrc") ); + KConfig config( locateLocal("config", "kabcrc") ); config.setGroup( "General" ); @@ -987,3 +987,3 @@ void AddresseeEditorWidget::load() mAddressee.setFormattedName( NameEditDialog::formattedName( mAddressee, mFormattedNameType ) ); - } else { + } else {; if ( mAddressee.formattedName() == NameEditDialog::formattedName( mAddressee, NameEditDialog::SimpleName ) ) @@ -1187,2 +1187,4 @@ void AddresseeEditorWidget::nameTextChanged( const QString &text ) { + if ( mBlockSignals ) + return; // use the addressee class to parse the name for us diff --git a/kaddressbook/extensionmanager.cpp b/kaddressbook/extensionmanager.cpp index 98561dc..efbdf17 100644 --- a/kaddressbook/extensionmanager.cpp +++ b/kaddressbook/extensionmanager.cpp @@ -60,2 +60,3 @@ ExtensionManager::ExtensionManager( KABCore *core, QWidget *parent, mWidgetBox = new QWidget( viewport() ); + new QHBoxLayout (mWidgetBox ); addChild( mWidgetBox ); @@ -160,3 +161,3 @@ void ExtensionManager::createExtensionWidgets() - QHBoxLayout *hbl = new QHBoxLayout (mWidgetBox ); + QHBoxLayout *hbl = (QHBoxLayout *) mWidgetBox->layout();; @@ -182,3 +183,3 @@ void ExtensionManager::createExtensionWidgets() if ( !factory ) { - kdDebug(5720) << "ExtensionManager::loadExtensions(): Factory creation failed" << endl; + //kdDebug(5720) << "ExtensionManager::loadExtensions(): Factory creation failed" << endl; continue; @@ -189,3 +190,3 @@ void ExtensionManager::createExtensionWidgets() if ( !extensionFactory ) { - kdDebug(5720) << "ExtensionManager::loadExtensions(): Cast failed" << endl; + //kdDebug(5720) << "ExtensionManager::loadExtensions(): Cast failed" << endl; continue; diff --git a/kaddressbook/filter.cpp b/kaddressbook/filter.cpp index b0d04ca..39d2ae4 100644 --- a/kaddressbook/filter.cpp +++ b/kaddressbook/filter.cpp @@ -182,2 +182,3 @@ Filter::List Filter::restore( KConfig *config, QString baseGroup ) + if ( list.isEmpty()) { QStringList cats = KABPrefs::instance()->mCustomCategories; @@ -192,3 +193,3 @@ Filter::List Filter::restore( KConfig *config, QString baseGroup ) } - + } return list; diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index e14e579..c6288fa 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -153,2 +153,3 @@ $Id$ #include "addresseeconfig.h" +#include "nameeditdialog.h" #include <kcmultidialog.h> @@ -198,2 +199,37 @@ private: +class KABFormatPrefs : public QDialog +{ + public: + KABFormatPrefs( QWidget *parent=0, const char *name=0 ) : + QDialog( parent, name, true ) + { + setCaption( i18n("Set formatted name") ); + QVBoxLayout* lay = new QVBoxLayout( this ); + lay->setSpacing( 3 ); + lay->setMargin( 3 ); + QLabel * lab = new QLabel( i18n("You can set the formatted name\nfor a list of contacts in one go."), this ); + lay->addWidget( lab ); + QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("Set formatted name to:"), this ); + lay->addWidget( format ); + format->setExclusive ( true ) ; + simple = new QRadioButton(i18n("Simple: James Bond"), format ); + full = new QRadioButton(i18n("Full: Mr. James 007 Bond I"), format ); + reverse = new QRadioButton(i18n("Reverse: Bond, James"), format ); + company = new QRadioButton(i18n("Organization: MI6"), format ); + simple->setChecked( true ); + setCompany = new QCheckBox(i18n("Set formatted name to\norganization, if name empty"), this); + lay->addWidget( setCompany ); + QPushButton * ok = new QPushButton( i18n("Select contact list"), this ); + lay->addWidget( ok ); + QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); + lay->addWidget( cancel ); + connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); + connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); + resize( 200, 200 ); + } +public: + QRadioButton* simple, *full, *reverse, *company; + QCheckBox* setCompany; +}; + @@ -1150,2 +1186,7 @@ void KABCore::contactModified( const KABC::Addressee &addr ) { + addrModified( addr ); +} + +void KABCore::addrModified( const KABC::Addressee &addr ,bool updateDetails ) +{ @@ -1165,2 +1206,3 @@ void KABCore::contactModified( const KABC::Addressee &addr ) RedoStack::instance()->clear(); + if ( updateDetails ) mDetails->setAddressee( addr ); @@ -1998,2 +2040,5 @@ void KABCore::initActions() "remove_voice" ); + mActionSetFormattedName = new KAction( i18n( "Set formatted name..." ), 0, this, + SLOT( setFormattedName() ), actionCollection(), + "set_formatted" ); @@ -2138,2 +2183,3 @@ void KABCore::addActionsManually() + mActionSetFormattedName->plug( changeMenu ); mActionRemoveVoice->plug( changeMenu ); @@ -2304,3 +2350,3 @@ void KABCore::removeVoice() if ( (*it).removeVoice() ) - contactModified((*it) ); + addrModified((*it), false ); } @@ -2308,3 +2354,34 @@ void KABCore::removeVoice() - +void KABCore::setFormattedName() +{ + KABFormatPrefs setpref; + if ( !setpref.exec() ) { + return; + } + KABC::Addressee::List list; + XXPortSelectDialog dlg( this, false, this ); + if ( dlg.exec() ) + list = dlg.contacts(); + else + return; + KABC::Addressee::List::Iterator it; + for ( it = list.begin(); it != list.end(); ++it ) { + QString fName; + if ( setpref.simple->isChecked() ) + fName = NameEditDialog::formattedName( (*it), NameEditDialog::SimpleName ); + else if ( setpref.full->isChecked() ) + fName = NameEditDialog::formattedName( (*it), NameEditDialog::FullName ); + else if ( setpref.reverse->isChecked() ) + fName = NameEditDialog::formattedName( (*it), NameEditDialog::ReverseName ); + else + fName = (*it).organization(); + if ( setpref.setCompany->isChecked() ) + if ( fName.isEmpty() || fName =="," ) + fName = (*it).organization(); + (*it).setFormattedName( fName ); + addrModified((*it),false ); + } + Addressee add; + mDetails->setAddressee( add ); +} diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h index 85ffbdb..0d5891e 100644 --- a/kaddressbook/kabcore.h +++ b/kaddressbook/kabcore.h @@ -280,2 +280,3 @@ class KABCore : public QWidget, public KSyncInterface void contactModified( const KABC::Addressee &addr ); + void addrModified( const KABC::Addressee &addr, bool updateDetails = true ); @@ -375,2 +376,3 @@ class KABCore : public QWidget, public KSyncInterface void removeVoice(); + void setFormattedName(); #ifdef KAB_EMBEDDED @@ -479,2 +481,3 @@ class KABCore : public QWidget, public KSyncInterface KAction *mActionRemoveVoice; + KAction *mActionSetFormattedName; KAction * mActionImportOL; diff --git a/kaddressbook/kabprefs.cpp b/kaddressbook/kabprefs.cpp index db123da..a2095d4 100644 --- a/kaddressbook/kabprefs.cpp +++ b/kaddressbook/kabprefs.cpp @@ -62,3 +62,3 @@ KABPrefs::KABPrefs() addItemBool("ToolBarUp",&mToolBarUp, false ); - addItemBool("SearchWithReturn",&mSearchWithReturn, true ); + addItemBool("SearchWithReturn",&mSearchWithReturn, false ); addItemFont("DetailsFont",&mDetailsFont); diff --git a/kaddressbook/kcmconfigs/addresseewidget.cpp b/kaddressbook/kcmconfigs/addresseewidget.cpp index eb5bdd9..168d39e 100644 --- a/kaddressbook/kcmconfigs/addresseewidget.cpp +++ b/kaddressbook/kcmconfigs/addresseewidget.cpp @@ -220,6 +220,3 @@ void AddresseeWidget::restoreSettings() mSuffix->setNameParts( config.readListEntry( "Suffixes" ) ); - - KConfig cfg( locateLocal("config","kaddressbookrc") ); - cfg.setGroup( "General" ); - mFormattedNameCombo->setCurrentItem( cfg.readNumEntry( "FormattedNameType", 1 ) ); + mFormattedNameCombo->setCurrentItem( config.readNumEntry( "FormattedNameType", 1 ) ); } @@ -228,2 +225,3 @@ void AddresseeWidget::saveSettings() { + qDebug("AddresseeWidget::saveSettings() "); KConfig config( locateLocal("config","kabcrc") ); @@ -234,6 +232,3 @@ void AddresseeWidget::saveSettings() config.writeEntry( "Suffixes", mSuffix->nameParts() ); - - KConfig cfg( locateLocal("config","kaddressbookrc") ); - cfg.setGroup( "General" ); - cfg.writeEntry( "FormattedNameType", mFormattedNameCombo->currentItem() ); + config.writeEntry( "FormattedNameType", mFormattedNameCombo->currentItem() ); } diff --git a/kaddressbook/nameeditdialog.cpp b/kaddressbook/nameeditdialog.cpp index 8213c2b..f5dba0f 100644 --- a/kaddressbook/nameeditdialog.cpp +++ b/kaddressbook/nameeditdialog.cpp @@ -227,8 +227,9 @@ QString NameEditDialog::formattedName( const KABC::Addressee &addr, int type ) { + QString retval; switch ( type ) { case SimpleName: - return addr.givenName() + " " + addr.familyName(); + retval = addr.givenName() + " " + addr.familyName(); break; case FullName: - return addr.prefix() + " " + addr.givenName() + " " + + retval =addr.prefix() + " " + addr.givenName() + " " + addr.additionalName() + " " + addr.familyName() + " " + @@ -237,3 +238,3 @@ QString NameEditDialog::formattedName( const KABC::Addressee &addr, int type ) case ReverseName: - return addr.familyName() + ", " + addr.givenName(); + retval = addr.familyName() + ", " + addr.givenName(); break; @@ -243,2 +244,3 @@ QString NameEditDialog::formattedName( const KABC::Addressee &addr, int type ) } + return retval.stripWhiteSpace (); } |