Make sure the kmail config is reloaded when a kcm based dialog changes

one of our settings, by hooking up to the KSettings::dispatcher. Nicely
solves proko2 issue 967.

svn path=/branches/kdepim/proko2/kdepim/; revision=490359
wilder-work
Till Adam 21 years ago
parent bf30519ff6
commit 54d28c178d
  1. 16
      kmail_part.cpp
  2. 2
      kmail_part.h
  3. 2
      kmkernel.h

@ -50,6 +50,8 @@ using KRecentAddress::RecentAddresses;
#include <dcopclient.h>
#include <kiconloader.h>
#include <kdebug.h>
#include <ksettings/dispatcher.h>
#include <qlayout.h>
@ -82,15 +84,15 @@ KMailPart::KMailPart(QWidget *parentWidget, const char *widgetName,
kapp->dcopClient()->suspend(); // Don't handle DCOP requests yet
//local, do the init
KMKernel *kmailKernel = new KMKernel();
kmailKernel->init();
kmailKernel->setXmlGuiInstance( KMailFactory::instance() );
KMKernel *mKMailKernel = new KMKernel();
mKMailKernel->init();
mKMailKernel->setXmlGuiInstance( KMailFactory::instance() );
// and session management
kmailKernel->doSessionManagement();
mKMailKernel->doSessionManagement();
// any dead letters?
kmailKernel->recoverDeadLetters();
mKMailKernel->recoverDeadLetters();
kmsetSignalHandler(kmsignalHandler);
kapp->dcopClient()->resume(); // Ok. We are ready for DCOP requests.
@ -143,6 +145,9 @@ KMailPart::KMailPart(QWidget *parentWidget, const char *widgetName,
KGlobal::iconLoader()->addAppDir( "kmail" );
setXMLFile( "kmmainwin.rc" );
#endif
KSettings::Dispatcher::self()->registerInstance( KMailFactory::instance(), mKMailKernel,
SLOT( slotConfigChanged() ) );
}
KMailPart::~KMailPart()
@ -246,6 +251,5 @@ KMainWindow * KMailStatusBarExtension::mainWindow() const
return static_cast<KMainWindow*>( mParent->parentWidget() );
}
#include "kmail_part.moc"

@ -76,7 +76,7 @@ class KMailPart: public KParts::ReadOnlyPart, virtual public KMailPartIface
virtual void guiActivateEvent(KParts::GUIActivateEvent *e);
private:
KMKernel *kmailKernel;
KMKernel *mKMailKernel;
KMMainWidget *mainWidget;
ActionManager *mActionManager;
KMailBrowserExtension *m_extension;

@ -285,11 +285,11 @@ public slots:
void slotShowConfigurationDialog();
void slotRunBackgroundTasks();
void slotConfigChanged();
protected slots:
void slotDataReq(KIO::Job*,QByteArray&);
void slotResult(KIO::Job*);
void slotConfigChanged();
signals:
void configChanged();

Loading…
Cancel
Save