Changeset View
Changeset View
Standalone View
Standalone View
libksieve/ksieveui/vacation/vacationmanager.cpp
Show All 24 Lines | |||||
#include <QWidget> | #include <QWidget> | ||||
using namespace KSieveUi; | using namespace KSieveUi; | ||||
VacationManager::VacationManager(QWidget *parent) | VacationManager::VacationManager(QWidget *parent) | ||||
: QObject(parent), | : QObject(parent), | ||||
mWidget(parent) | mWidget(parent) | ||||
, mMultiImapVacationDialog(0) | |||||
, mQuestionAsked(false) | |||||
{ | { | ||||
mCheckVacation = new KSieveUi::MultiImapVacationManager( this ); | |||||
connect( mCheckVacation, SIGNAL(scriptActive(bool,QString)), SIGNAL(updateVacationScriptStatus(bool,QString)) ); | |||||
connect( mCheckVacation, SIGNAL(scriptActive(bool,QString)), SLOT(slotUpdateVacationScriptStatus(bool,QString)) ); | |||||
} | } | ||||
VacationManager::~VacationManager() | VacationManager::~VacationManager() | ||||
{ | { | ||||
delete mCheckVacation; | |||||
} | } | ||||
void VacationManager::checkVacation() | void VacationManager::checkVacation() | ||||
{ | { | ||||
delete mCheckVacation; | |||||
mCheckVacation = new KSieveUi::MultiImapVacationManager( this ); | |||||
connect( mCheckVacation, SIGNAL(scriptActive(bool,QString)), SIGNAL(updateVacationScriptStatus(bool,QString)) ); | |||||
connect( mCheckVacation, SIGNAL(requestEditVacation()), SIGNAL(editVacation()) ); | |||||
mCheckVacation->checkVacation(); | mCheckVacation->checkVacation(); | ||||
} | } | ||||
void VacationManager::slotUpdateVacationScriptStatus(bool active, const QString &serverName) | |||||
{ | |||||
if (active) { | |||||
if (!mQuestionAsked) { | |||||
mQuestionAsked = true; | |||||
if ( KMessageBox::questionYesNo( 0, i18n( "There is still an active out-of-office reply configured.\n" | |||||
"Do you want to edit it?"), i18n("Out-of-office reply still active"), | |||||
KGuiItem( i18n( "Edit"), QLatin1String("document-properties") ), | |||||
KGuiItem( i18n("Ignore"), QLatin1String("dialog-cancel") ) ) | |||||
== KMessageBox::Yes ) { | |||||
slotEditVacation(serverName); | |||||
} | |||||
} | |||||
} | |||||
} | |||||
void VacationManager::slotEditVacation(const QString &serverName) | void VacationManager::slotEditVacation(const QString &serverName) | ||||
{ | { | ||||
if ( mMultiImapVacationDialog ) { | if ( mMultiImapVacationDialog ) { | ||||
mMultiImapVacationDialog->show(); | |||||
mMultiImapVacationDialog->raise(); | mMultiImapVacationDialog->raise(); | ||||
mMultiImapVacationDialog->activateWindow(); | mMultiImapVacationDialog->activateWindow(); | ||||
if (!serverName.isEmpty()) { | } else { | ||||
mMultiImapVacationDialog->switchToServerNamePage(serverName); | mMultiImapVacationDialog = new KSieveUi::MultiImapVacationDialog(mCheckVacation, mWidget); | ||||
} | |||||
return; | |||||
} | |||||
mMultiImapVacationDialog = new KSieveUi::MultiImapVacationDialog(mWidget); | |||||
connect( mMultiImapVacationDialog, SIGNAL(okClicked()), SLOT(slotDialogOk()) ); | connect( mMultiImapVacationDialog, SIGNAL(okClicked()), SLOT(slotDialogOk()) ); | ||||
connect( mMultiImapVacationDialog, SIGNAL(cancelClicked()), SLOT(slotDialogCanceled()) ); | connect( mMultiImapVacationDialog, SIGNAL(cancelClicked()), SLOT(slotDialogCanceled()) ); | ||||
} | |||||
mMultiImapVacationDialog->show(); | mMultiImapVacationDialog->show(); | ||||
if (!serverName.isEmpty()) { | if (!serverName.isEmpty()) { | ||||
mMultiImapVacationDialog->switchToServerNamePage(serverName); | mMultiImapVacationDialog->switchToServerNamePage(serverName); | ||||
} | } | ||||
} | } | ||||
void VacationManager::slotDialogCanceled() | void VacationManager::slotDialogCanceled() | ||||
Show All 15 Lines |