Changeset View
Changeset View
Standalone View
Standalone View
libksieve/ksieveui/vacation/multiimapvacationdialog.cpp
Show All 12 Lines | /* | ||||
You should have received a copy of the GNU General Public License along | You should have received a copy of the GNU General Public License along | ||||
with this program; if not, write to the Free Software Foundation, Inc., | with this program; if not, write to the Free Software Foundation, Inc., | ||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
*/ | */ | ||||
#include "multiimapvacationdialog.h" | #include "multiimapvacationdialog.h" | ||||
#include "vacationpagewidget.h" | #include "vacationpagewidget.h" | ||||
#include "multiimapvacationmanager.h" | |||||
#include "ksieveui/util/util.h" | #include "ksieveui/util/util.h" | ||||
#include <Akonadi/AgentInstance> | #include <Akonadi/AgentInstance> | ||||
#include <KLocalizedString> | #include <KLocalizedString> | ||||
#include <KSharedConfig> | #include <KSharedConfig> | ||||
#include <kwindowsystem.h> | #include <kwindowsystem.h> | ||||
#include <KTabWidget> | #include <KTabWidget> | ||||
#include <QApplication> | #include <QApplication> | ||||
#include <QStackedWidget> | #include <QStackedWidget> | ||||
#include <QVBoxLayout> | #include <QVBoxLayout> | ||||
#include <QLabel> | #include <QLabel> | ||||
using namespace KSieveUi; | using namespace KSieveUi; | ||||
MultiImapVacationDialog::MultiImapVacationDialog(QWidget *parent) | MultiImapVacationDialog::MultiImapVacationDialog(MultiImapVacationManager *manager, QWidget *parent) | ||||
: KDialog(parent) | : KDialog(parent) | ||||
, mVacationManager(manager) | |||||
{ | { | ||||
setCaption( i18n("Configure \"Out of Office\" Replies") ); | setCaption( i18n("Configure \"Out of Office\" Replies") ); | ||||
KWindowSystem::setIcons( winId(), qApp->windowIcon().pixmap(IconSize(KIconLoader::Desktop),IconSize(KIconLoader::Desktop)), qApp->windowIcon().pixmap(IconSize(KIconLoader::Small),IconSize(KIconLoader::Small)) ); | KWindowSystem::setIcons( winId(), qApp->windowIcon().pixmap(IconSize(KIconLoader::Desktop),IconSize(KIconLoader::Desktop)), qApp->windowIcon().pixmap(IconSize(KIconLoader::Small),IconSize(KIconLoader::Small)) ); | ||||
mStackedWidget = new QStackedWidget; | mStackedWidget = new QStackedWidget; | ||||
setMainWidget(mStackedWidget); | setMainWidget(mStackedWidget); | ||||
mTabWidget = new KTabWidget; | mTabWidget = new KTabWidget; | ||||
Show All 35 Lines | |||||
QList<VacationCreateScriptJob *> MultiImapVacationDialog::listCreateJob() const | QList<VacationCreateScriptJob *> MultiImapVacationDialog::listCreateJob() const | ||||
{ | { | ||||
return mListCreateJob; | return mListCreateJob; | ||||
} | } | ||||
void MultiImapVacationDialog::init() | void MultiImapVacationDialog::init() | ||||
{ | { | ||||
bool foundOneImap = false; | bool foundOneImap = false; | ||||
const Akonadi::AgentInstance::List instances = KSieveUi::Util::imapAgentInstances(); | |||||
foreach ( const Akonadi::AgentInstance &instance, instances ) { | QMap <QString, KUrl> list = mVacationManager->serverList(); | ||||
if ( instance.status() == Akonadi::AgentInstance::Broken ) | foreach (const QString &serverName, list.keys()) { | ||||
continue; | const KUrl url = list.value(serverName); | ||||
const KUrl url = KSieveUi::Util::findSieveUrlForAccount( instance.identifier() ); | |||||
if ( !url.isEmpty() ) { | |||||
const QString serverName = instance.name(); | |||||
createPage(serverName, url); | createPage(serverName, url); | ||||
foundOneImap = true; | foundOneImap = true; | ||||
} | } | ||||
} | |||||
if (foundOneImap) { | if (foundOneImap) { | ||||
setButtons( Ok | Cancel | Default ); | setButtons( Ok | Cancel | Default ); | ||||
setDefaultButton( Ok ); | setDefaultButton( Ok ); | ||||
} else { | } else { | ||||
mStackedWidget->setCurrentIndex(1); | mStackedWidget->setCurrentIndex(1); | ||||
setButtons( Close ); | setButtons( Close ); | ||||
} | } | ||||
if (mTabWidget->count() <= 1) | if (mTabWidget->count() <= 1) | ||||
mTabWidget->setTabBarHidden(true); | mTabWidget->setTabBarHidden(true); | ||||
} | } | ||||
void MultiImapVacationDialog::createPage(const QString &serverName, const KUrl &url) | void MultiImapVacationDialog::createPage(const QString &serverName, const KUrl &url) | ||||
{ | { | ||||
VacationPageWidget *page = new VacationPageWidget; | VacationPageWidget *page = new VacationPageWidget; | ||||
page->setServerUrl(url); | page->setServerUrl(url); | ||||
page->setServerName(serverName); | page->setServerName(serverName); | ||||
page->setVacationManager(mVacationManager); | |||||
mTabWidget->addTab(page,serverName); | mTabWidget->addTab(page,serverName); | ||||
} | } | ||||
void MultiImapVacationDialog::readConfig() | void MultiImapVacationDialog::readConfig() | ||||
{ | { | ||||
KConfigGroup group( KGlobal::config(), "MultiImapVacationDialog" ); | KConfigGroup group( KGlobal::config(), "MultiImapVacationDialog" ); | ||||
const QSize size = group.readEntry( "Size", QSize() ); | const QSize size = group.readEntry( "Size", QSize() ); | ||||
if ( size.isValid() ) { | if ( size.isValid() ) { | ||||
Show All 33 Lines |