-rw-r--r-- | kaddressbook/extensionmanager.cpp | 54 | ||||
-rw-r--r-- | kaddressbook/extensionmanager.h | 3 |
2 files changed, 30 insertions, 27 deletions
diff --git a/kaddressbook/extensionmanager.cpp b/kaddressbook/extensionmanager.cpp index 9114cdc..98561dc 100644 --- a/kaddressbook/extensionmanager.cpp +++ b/kaddressbook/extensionmanager.cpp @@ -24,15 +24,15 @@ #include <qapplication.h> #include <kactionclasses.h> #include <kconfig.h> #include <kdebug.h> #include <klocale.h> -#ifndef KAB_EMBEDDED +#ifndef KAB_EMBEDDED #include <ktrader.h> -#else //KAB_EMBEDDED +#else //KAB_EMBEDDED #include <features/mergewidget.h> #include <features/distributionlistwidget.h> #endif //KAB_EMBEDDED #include "addresseeeditorwidget.h" #include "kabcore.h" @@ -51,13 +51,13 @@ ExtensionManager::ExtensionManager( KABCore *core, QWidget *parent, mActionExtensions = new KSelectAction( i18n( "Show Extension Bar" ), 0, mCore->actionCollection(), "options_show_extensions" ); mActionExtensions->plug( settingsmenu ); - + connect( mActionExtensions, SIGNAL( activated( int ) ), SLOT( setActiveExtension( int ) ) ); mWidgetBox = new QWidget( viewport() ); addChild( mWidgetBox ); setResizePolicy(AutoOneFit); createExtensionWidgets(); @@ -71,16 +71,16 @@ ExtensionManager::~ExtensionManager() void ExtensionManager::restoreSettings() { mActionExtensions->setCurrentItem( KABPrefs::instance()->mCurrentExtension ); int i = 1; mCurrentExtensionWidget = mExtensionWidgetList.at( i-1 ); while ( mCurrentExtensionWidget ) { - if( i != KABPrefs::instance()->mCurrentExtension ) + if( i != KABPrefs::instance()->mCurrentExtension ) mCurrentExtensionWidget->hide(); mCurrentExtensionWidget = mExtensionWidgetList.at( ++i-1 ); - + } setActiveExtension( mActionExtensions->currentItem() ); } void ExtensionManager::saveSettings() { @@ -88,13 +88,13 @@ void ExtensionManager::saveSettings() } void ExtensionManager::reconfigure() { saveSettings(); createExtensionWidgets(); - restoreSettings(); + restoreSettings(); } bool ExtensionManager::isQuickEditVisible() const { return ( mCurrentExtensionWidget && mCurrentExtensionWidget->identifier() == "contact_editor" ); @@ -109,39 +109,41 @@ void ExtensionManager::setSelectionChanged() void ExtensionManager::setActiveExtension( int id ) { //qDebug("+++++++++++++++++++ExtensionManager::setActiveExtension %d ", id); if ( id == 0 ) { hide(); mCurrentExtensionWidget = 0; -#ifndef DESKTOP_VERSION -//US our screen is so small, that we better hide the detailscreen, just in case. - mCore->setDetailsToState( ); -#endif //KAB_EMBEDDED +#ifndef DESKTOP_VERSION +//US our screen is so small, that we better hide the detailscreen, just in case. +//US mCore->setDetailsToState( ); +#endif //KAB_EMBEDDED } else if ( id > 0 ) { if ( mCurrentExtensionWidget ) mCurrentExtensionWidget->hide(); mCurrentExtensionWidget = mExtensionWidgetList.at( id - 1 ); - + if ( mCurrentExtensionWidget ) { -#ifndef DESKTOP_VERSION -//US our screen is so small, that we better hide the detailscreen, just in case. - mCore->setDetailsVisible( false ); -#endif //KAB_EMBEDDED - show(); +#ifndef DESKTOP_VERSION +//US our screen is so small, that we better hide the detailscreen, just in case. +//US mCore->setDetailsVisible( false ); +#endif //KAB_EMBEDDED + show(); mWidgetBox->show(); mCurrentExtensionWidget->show(); } else { hide(); mCurrentExtensionWidget = 0; -#ifndef DESKTOP_VERSION -//US our screen is so small, that we better hide the detailscreen, just in case. - mCore->setDetailsToState( ); -#endif //KAB_EMBEDDED +#ifndef DESKTOP_VERSION +//US our screen is so small, that we better hide the detailscreen, just in case. +//US mCore->setDetailsToState( ); +#endif //KAB_EMBEDDED } } + + emit changedActiveExtension( id ); } void ExtensionManager::createExtensionWidgets() { // clear extension widget list mExtensionWidgetList.setAutoDelete( true ); @@ -166,13 +168,13 @@ void ExtensionManager::createExtensionWidgets() mExtensionWidgetList.append( wdg ); extensionNames.append( wdg->title() ); // load the other extensions QStringList activeExtensions = KABPrefs::instance()->mActiveExtensions; -#ifndef KAB_EMBEDDED +#ifndef KAB_EMBEDDED KTrader::OfferList plugins = KTrader::self()->query( "KAddressBook/Extension" ); KTrader::OfferList::ConstIterator it; for ( it = plugins.begin(); it != plugins.end(); ++it ) { if ( !(*it)->hasServiceType( "KAddressBook/Extension" ) ) continue; @@ -213,13 +215,13 @@ void ExtensionManager::createExtensionWidgets() connect( wdg, SIGNAL( modified( const KABC::Addressee::List& ) ), SIGNAL( modified( const KABC::Addressee::List& ) ) ); mExtensionWidgetList.append( wdg ); extensionNames.append( wdg->title() ); } } - + //load DistributionListfactory/extension extensionFactory = new DistributionListFactory(); if (activeExtensions.contains( extensionFactory->identifier() ) ) { wdg = extensionFactory->extension( mCore, mWidgetBox ); if ( wdg ) { @@ -228,19 +230,19 @@ void ExtensionManager::createExtensionWidgets() connect( wdg, SIGNAL( modified( const KABC::Addressee::List& ) ), SIGNAL( modified( const KABC::Addressee::List& ) ) ); mExtensionWidgetList.append( wdg ); extensionNames.append( wdg->title() ); } } - + hbl->addStretch(); #endif //KAB_EMBEDDED - - + + mActionExtensions->setItems( extensionNames ); mCurrentExtensionWidget = 0; } -#ifndef KAB_EMBEDDED +#ifndef KAB_EMBEDDED #include "extensionmanager.moc" #endif //KAB_EMBEDDED diff --git a/kaddressbook/extensionmanager.h b/kaddressbook/extensionmanager.h index 8f64a50..611a037 100644 --- a/kaddressbook/extensionmanager.h +++ b/kaddressbook/extensionmanager.h @@ -65,12 +65,13 @@ class ExtensionManager : public QScrollView public slots: void setSelectionChanged(); signals: void modified( const KABC::Addressee::List& ); + void changedActiveExtension( int id ); private slots: void setActiveExtension( int id ); private: void createExtensionWidgets(); @@ -79,10 +80,10 @@ class ExtensionManager : public QScrollView QWidget *mWidgetBox; ExtensionWidget *mCurrentExtensionWidget; QPtrList<ExtensionWidget> mExtensionWidgetList; KSelectAction *mActionExtensions; - + }; #endif |