diff --git a/configuredialog.cpp b/configuredialog.cpp index e63b04f7a..e0a03fb82 100644 --- a/configuredialog.cpp +++ b/configuredialog.cpp @@ -1009,6 +1009,7 @@ void ConfigureDialog::makeAppearancePage( void ) KScoringRulesConfig* ksc = new KScoringRulesConfig(KMScoringManager::globalScoringManager(), false, page6); + KMScoringManager::globalScoringManager()->setMainWin(parent()); vlay->addWidget( ksc ); } diff --git a/kmscoring.cpp b/kmscoring.cpp index 39b4d547f..574fee340 100644 --- a/kmscoring.cpp +++ b/kmscoring.cpp @@ -2,9 +2,9 @@ #include +#include "kmmainwin.h" #include "kmmessage.h" -#include "kmfoldermgr.h" -#include "kmkernel.h" +#include "kmfoldertree.h" #include "kmscoring.h" KMScorableArticle::KMScorableArticle(const QString &msg) @@ -80,7 +80,8 @@ KMScorableGroup::~KMScorableGroup() ////////////////////////////// KMScoringManager::KMScoringManager() - : mConfDialog(0) + : mConfDialog(0), + mMainWin(0) { } @@ -90,13 +91,28 @@ KMScoringManager::~KMScoringManager() class KMFolder; +void +KMScoringManager::setMainWin(QObject *parent) +{ + mMainWin = dynamic_cast(parent); + if (!mMainWin) { + kdDebug() << "KMScoringManager::setMainWin() : mMainWin == 0" << endl; + } +} + + QStringList KMScoringManager::getGroups() const { QValueList > dummy; QStringList res; - kernel->folderMgr()->createFolderList( &res, &dummy ); + + if (mMainWin) { + KMFolderTree *tree = mMainWin->folderTree(); + if (tree) + tree->createFolderList( &res, &dummy ); + } return res; } diff --git a/kmscoring.h b/kmscoring.h index 4733f540e..b98d83613 100644 --- a/kmscoring.h +++ b/kmscoring.h @@ -19,6 +19,8 @@ #include #include +class QWidget; +class KMMainWin; class KDialogBase; class KMScorableArticle : public ScorableArticle @@ -54,21 +56,24 @@ class KMScoringManager : public KScoringManager Q_OBJECT public: - KMScoringManager(); - virtual ~KMScoringManager(); - virtual QStringList getGroups() const; + KMScoringManager(); + virtual ~KMScoringManager(); + virtual QStringList getGroups() const; - void configure(); + void setMainWin(QObject *parent); + + void configure(); - static KMScoringManager* globalScoringManager(); + static KMScoringManager* globalScoringManager(); protected: - KDialogBase *mConfDialog; + KDialogBase *mConfDialog; + KMMainWin *mMainWin; - static KMScoringManager *mScoringManager; + static KMScoringManager *mScoringManager; protected slots: - void slotDialogDone(); + void slotDialogDone(); };