[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdepim] libksieve/ksieveui/vacation: Add page
From: Montel Laurent <montel () kde ! org>
Date: 2013-12-14 9:32:41
Message-ID: E1VrlaT-0000Mp-6N () scm ! kde ! org
[Download RAW message or body]
Git commit 595aec8a040d924cd75d0735afcbcc6ef7fb1bf5 by Montel Laurent.
Committed on 14/12/2013 at 09:32.
Pushed by mlaurent into branch 'master'.
Add page
M +27 -1 libksieve/ksieveui/vacation/multiimapvacationdialog.cpp
M +2 -0 libksieve/ksieveui/vacation/multiimapvacationdialog.h
M +26 -1 libksieve/ksieveui/vacation/vacationpagewidget.cpp
M +10 -0 libksieve/ksieveui/vacation/vacationpagewidget.h
http://commits.kde.org/kdepim/595aec8a040d924cd75d0735afcbcc6ef7fb1bf5
diff --git a/libksieve/ksieveui/vacation/multiimapvacationdialog.cpp \
b/libksieve/ksieveui/vacation/multiimapvacationdialog.cpp index 4a91a70..c400e8d \
100644
--- a/libksieve/ksieveui/vacation/multiimapvacationdialog.cpp
+++ b/libksieve/ksieveui/vacation/multiimapvacationdialog.cpp
@@ -17,6 +17,10 @@
#include "multiimapvacationdialog.h"
+#include "vacationpagewidget.h"
+#include "ksieveui/util/util.h"
+
+#include <Akonadi/AgentInstance>
#include <KLocale>
#include <kwindowsystem.h>
@@ -36,7 +40,7 @@ MultiImapVacationDialog::MultiImapVacationDialog(const QString \
&caption, QWidget
mTabWidget = new QTabWidget;
setMainWidget(mTabWidget);
-
+ init();
readConfig();
}
@@ -45,6 +49,28 @@ MultiImapVacationDialog::~MultiImapVacationDialog()
}
+void MultiImapVacationDialog::init()
+{
+ const Akonadi::AgentInstance::List instances = \
KSieveUi::Util::imapAgentInstances(); + foreach ( const Akonadi::AgentInstance \
&instance, instances ) { + if ( instance.status() == \
Akonadi::AgentInstance::Broken ) + continue;
+
+ const KUrl url = KSieveUi::Util::findSieveUrlForAccount( \
instance.identifier() ); + if ( !url.isEmpty() ) {
+ const QString serverName = instance.name();
+ createPage(serverName, url);
+ }
+ }
+}
+
+void MultiImapVacationDialog::createPage(const QString &serverName, const KUrl &url)
+{
+ VacationPageWidget *page = new VacationPageWidget;
+ page->setServerUrl(url);
+ mTabWidget->addTab(page,serverName);
+}
+
void MultiImapVacationDialog::readConfig()
{
KConfigGroup group( KGlobal::config(), "MultiImapVacationDialog" );
diff --git a/libksieve/ksieveui/vacation/multiimapvacationdialog.h \
b/libksieve/ksieveui/vacation/multiimapvacationdialog.h index 9fd467e..2487306 100644
--- a/libksieve/ksieveui/vacation/multiimapvacationdialog.h
+++ b/libksieve/ksieveui/vacation/multiimapvacationdialog.h
@@ -30,6 +30,8 @@ public:
~MultiImapVacationDialog();
private:
+ void createPage(const QString &serverName, const KUrl &url);
+ void init();
void readConfig();
void writeConfig();
QTabWidget *mTabWidget;
diff --git a/libksieve/ksieveui/vacation/vacationpagewidget.cpp \
b/libksieve/ksieveui/vacation/vacationpagewidget.cpp index 20e91be..93bd53d 100644
--- a/libksieve/ksieveui/vacation/vacationpagewidget.cpp
+++ b/libksieve/ksieveui/vacation/vacationpagewidget.cpp
@@ -19,11 +19,17 @@
#include "vacationeditwidget.h"
#include "vacationwarningwidget.h"
+#include <kmanagesieve/sievejob.h>
+
+#include <KUrl>
+#include <KDebug>
+
#include <QVBoxLayout>
using namespace KSieveUi;
VacationPageWidget::VacationPageWidget(QWidget *parent)
- : QWidget(parent)
+ : QWidget(parent),
+ mSieveJob(0)
{
QVBoxLayout *lay = new QVBoxLayout;
lay->setMargin(0);
@@ -38,5 +44,24 @@ VacationPageWidget::VacationPageWidget(QWidget *parent)
VacationPageWidget::~VacationPageWidget()
{
+ if ( mSieveJob )
+ mSieveJob->kill();
+ mSieveJob = 0;
+}
+void VacationPageWidget::setServerUrl(const KUrl &url)
+{
+ mSieveJob = KManageSieve::SieveJob::get( url );
+ connect( mSieveJob, \
SIGNAL(gotScript(KManageSieve::SieveJob*,bool,QString,bool)), + \
SLOT(slotGetResult(KManageSieve::SieveJob*,bool,QString,bool)) ); +}
+
+void VacationPageWidget::slotGetResult( KManageSieve::SieveJob * job, bool success, \
const QString & script, bool active ) +{
+ kDebug() << success
+ << ", ?," << active << ")" << endl
+ << "script:" << endl
+ << script;
+ mSieveJob = 0; // job deletes itself after returning from this slot!
+ //TODO
}
diff --git a/libksieve/ksieveui/vacation/vacationpagewidget.h \
b/libksieve/ksieveui/vacation/vacationpagewidget.h index c689f17..1f3d98a 100644
--- a/libksieve/ksieveui/vacation/vacationpagewidget.h
+++ b/libksieve/ksieveui/vacation/vacationpagewidget.h
@@ -19,6 +19,10 @@
#define VACATIONPAGEWIDGET_H
#include <QWidget>
+class KUrl;
+namespace KManageSieve {
+class SieveJob;
+}
namespace KSieveUi {
class VacationEditWidget;
@@ -30,9 +34,15 @@ public:
explicit VacationPageWidget(QWidget *parent=0);
~VacationPageWidget();
+ void setServerUrl(const KUrl &url);
+
+private slots:
+ void slotGetResult(KManageSieve::SieveJob *job, bool success, const QString \
&script, bool active); +
private:
VacationEditWidget *mVacationEditWidget;
VacationWarningWidget *mVacationWarningWidget;
+ KManageSieve::SieveJob *mSieveJob;
};
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic