Merge remote-tracking branch 'origin/Applications/16.08'

wilder
Montel Laurent 10 years ago
commit c532207cc1
  1. 4
      src/CMakeLists.txt
  2. 4
      src/filter/autotests/CMakeLists.txt
  3. 115
      src/filter/dialog/filteractionmissingaccountdialog.cpp
  4. 45
      src/filter/dialog/filteractionmissingaccountdialog.h
  5. 254
      src/filter/dialog/filteractionmissingargumentdialog.cpp
  6. 62
      src/filter/dialog/filteractionmissingargumentdialog.h
  7. 93
      src/filter/dialog/filteractionmissingidentitydialog.cpp
  8. 48
      src/filter/dialog/filteractionmissingidentitydialog.h
  9. 6
      src/filter/dialog/filteractionmissingsoundurldialog.cpp
  10. 6
      src/filter/dialog/filteractionmissingtagdialog.cpp
  11. 95
      src/filter/dialog/filteractionmissingtemplatedialog.cpp
  12. 43
      src/filter/dialog/filteractionmissingtemplatedialog.h
  13. 89
      src/filter/dialog/filteractionmissingtransportdialog.cpp
  14. 47
      src/filter/dialog/filteractionmissingtransportdialog.h
  15. 6
      src/filter/dialog/selectthunderbirdfilterfilesdialog.cpp
  16. 4
      src/filter/filteractions/filteractionforward.cpp
  17. 4
      src/filter/filteractions/filteractionsetidentity.cpp
  18. 4
      src/filter/filteractions/filteractionsettransport.cpp
  19. 6
      src/filter/mailfilter.cpp

@ -67,6 +67,10 @@ set(libmailcommon_filter_dialog
filter/dialog/filteractionmissingargumentdialog.cpp
filter/dialog/filteractionmissingsoundurldialog.cpp
filter/dialog/filteractionmissingtagdialog.cpp
filter/dialog/filteractionmissingaccountdialog.cpp
filter/dialog/filteractionmissingtemplatedialog.cpp
filter/dialog/filteractionmissingtransportdialog.cpp
filter/dialog/filteractionmissingidentitydialog.cpp
)

@ -166,7 +166,7 @@ add_mailcommon_filter_test(filteractionforwardtest
../filteractions/filteractionforward.cpp
../filteractions/filteractionwithaddress.cpp
../filteractions/filteractionwithstring.cpp
../dialog/filteractionmissingargumentdialog.cpp
../dialog/filteractionmissingtemplatedialog.cpp
../kmfilteraccountlist.cpp
${filter_common_SRCS}
)
@ -209,7 +209,7 @@ add_mailcommon_filter_test(filteractionsendreceipttest
add_mailcommon_filter_test(filteractionsettransporttest
filteractionsettransporttest.cpp
../filteractions/filteractionsettransport.cpp
../dialog/filteractionmissingargumentdialog.cpp
../dialog/filteractionmissingtransportdialog.cpp
../kmfilteraccountlist.cpp
${filter_common_SRCS}
)

@ -0,0 +1,115 @@
/*
Copyright (C) 2016 Laurent Montel <montel@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "filteractionmissingaccountdialog.h"
#include "filter/kmfilteraccountlist.h"
#include "util/mailutil.h"
#include <KLocalizedString>
#include <KSharedConfig>
#include <KConfigGroup>
#include <QDialogButtonBox>
#include <QHBoxLayout>
#include <QLabel>
#include <QPushButton>
using namespace MailCommon;
FilterActionMissingAccountDialog::FilterActionMissingAccountDialog(const QStringList &lstAccount,
const QString &filtername,
QWidget *parent)
: QDialog(parent)
{
setModal(true);
setWindowTitle(i18n("Select Account"));
QVBoxLayout *mainLayout = new QVBoxLayout(this);
QWidget *mainWidget = new QWidget(this);
mainLayout->addWidget(mainWidget);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok);
okButton->setDefault(true);
okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
connect(buttonBox, &QDialogButtonBox::accepted, this, &FilterActionMissingAccountDialog::accept);
connect(buttonBox, &QDialogButtonBox::rejected, this, &FilterActionMissingAccountDialog::reject);
mainLayout->addWidget(buttonBox);
okButton->setDefault(true);
QVBoxLayout *lay = new QVBoxLayout(mainWidget);
QLabel *label = new QLabel(this);
label->setText(i18n("Filter account is missing. "
"Please select account to use with filter \"%1\"",
filtername));
label->setWordWrap(true);
lay->addWidget(label);
mAccountList = new MailCommon::KMFilterAccountList(this);
mAccountList->applyOnAccount(lstAccount);
lay->addWidget(mAccountList);
readConfig();
}
FilterActionMissingAccountDialog::~FilterActionMissingAccountDialog()
{
writeConfig();
}
void FilterActionMissingAccountDialog::readConfig()
{
KConfigGroup group(KSharedConfig::openConfig(), "FilterActionMissingAccountDialog");
const QSize size = group.readEntry("Size", QSize(500, 300));
if (size.isValid()) {
resize(size);
}
}
void FilterActionMissingAccountDialog::writeConfig()
{
KConfigGroup group(KSharedConfig::openConfig(), "FilterActionMissingAccountDialog");
group.writeEntry("Size", size());
}
QStringList FilterActionMissingAccountDialog::selectedAccount() const
{
return mAccountList->selectedAccount();
}
bool FilterActionMissingAccountDialog::allAccountExist(const QStringList &lst)
{
const Akonadi::AgentInstance::List lstAgent = MailCommon::Util::agentInstances();
const int numberOfAccount(lst.count());
const int numberOfAgent(lstAgent.count());
for (int i = 0; i < numberOfAccount; ++i) {
bool found = false;
const QString accountName(lst.at(i));
for (int j = 0; j < numberOfAgent; ++j) {
if (lstAgent.at(j).identifier() == accountName) {
found = true;
break;
}
}
if (!found) {
return false;
}
}
return true;
}

@ -0,0 +1,45 @@
/*
Copyright (C) 2016 Laurent Montel <montel@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef FILTERACTIONMISSINGACCOUNTDIALOG_H
#define FILTERACTIONMISSINGACCOUNTDIALOG_H
#include <QDialog>
namespace MailCommon
{
class KMFilterAccountList;
class FilterActionMissingAccountDialog : public QDialog
{
Q_OBJECT
public:
explicit FilterActionMissingAccountDialog(const QStringList &lstAccount,
const QString &filtername,
QWidget *parent = Q_NULLPTR);
~FilterActionMissingAccountDialog();
QStringList selectedAccount() const;
static bool allAccountExist(const QStringList &lst);
private:
void readConfig();
void writeConfig();
MailCommon::KMFilterAccountList *mAccountList;
};
}
#endif // FILTERACTIONMISSINGACCOUNTDIALOG_H

@ -203,257 +203,3 @@ Akonadi::Collection::List FilterActionMissingCollectionDialog::potentialCorrectF
return lst;
}
FilterActionMissingIdentityDialog::FilterActionMissingIdentityDialog(const QString &filtername,
QWidget *parent)
: QDialog(parent)
{
setModal(true);
setWindowTitle(i18n("Select Identity"));
QVBoxLayout *mainLayout = new QVBoxLayout(this);
QWidget *mainWidget = new QWidget(this);
mainLayout->addWidget(mainWidget);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok);
okButton->setDefault(true);
okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
connect(buttonBox, &QDialogButtonBox::accepted, this, &FilterActionMissingIdentityDialog::accept);
connect(buttonBox, &QDialogButtonBox::rejected, this, &FilterActionMissingIdentityDialog::reject);
mainLayout->addWidget(buttonBox);
okButton->setDefault(true);
QVBoxLayout *lay = new QVBoxLayout(mainWidget);
QLabel *label = new QLabel(this);
label->setText(i18n("Filter identity is missing. "
"Please select an identity to use with filter \"%1\"",
filtername));
label->setWordWrap(true);
lay->addWidget(label);
mComboBoxIdentity = new KIdentityManagement::IdentityCombo(KernelIf->identityManager(), this);
lay->addWidget(mComboBoxIdentity);
readConfig();
}
FilterActionMissingIdentityDialog::~FilterActionMissingIdentityDialog()
{
writeConfig();
}
void FilterActionMissingIdentityDialog::readConfig()
{
KConfigGroup group(KernelIf->config(), "FilterActionMissingMissingIdentity");
const QSize size = group.readEntry("Size", QSize(500, 300));
if (size.isValid()) {
resize(size);
}
}
void FilterActionMissingIdentityDialog::writeConfig()
{
KConfigGroup group(KernelIf->config(), "FilterActionMissingMissingIdentity");
group.writeEntry("Size", size());
}
int FilterActionMissingIdentityDialog::selectedIdentity() const
{
return mComboBoxIdentity->currentIdentity();
}
FilterActionMissingTransportDialog::FilterActionMissingTransportDialog(const QString &filtername,
QWidget *parent)
: QDialog(parent)
{
setModal(true);
setWindowTitle(i18n("Select Transport"));
QVBoxLayout *mainLayout = new QVBoxLayout(this);
QWidget *mainWidget = new QWidget(this);
mainLayout->addWidget(mainWidget);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok);
okButton->setDefault(true);
okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
connect(buttonBox, &QDialogButtonBox::accepted, this, &FilterActionMissingTransportDialog::accept);
connect(buttonBox, &QDialogButtonBox::rejected, this, &FilterActionMissingTransportDialog::reject);
mainLayout->addWidget(buttonBox);
okButton->setDefault(true);
QVBoxLayout *lay = new QVBoxLayout(mainWidget);
QLabel *label = new QLabel(this);
label->setText(i18n("Filter transport is missing. "
"Please select a transport to use with filter \"%1\"",
filtername));
label->setWordWrap(true);
lay->addWidget(label);
mComboBoxTransport = new MailTransport::TransportComboBox(this);
lay->addWidget(mComboBoxTransport);
readConfig();
}
FilterActionMissingTransportDialog::~FilterActionMissingTransportDialog()
{
writeConfig();
}
void FilterActionMissingTransportDialog::readConfig()
{
KConfigGroup group(KernelIf->config(), "FilterActionMissingTransportDialog");
const QSize size = group.readEntry("Size", QSize(500, 300));
if (size.isValid()) {
resize(size);
}
}
void FilterActionMissingTransportDialog::writeConfig()
{
KConfigGroup group(KernelIf->config(), "FilterActionMissingTransportDialog");
group.writeEntry("Size", size());
}
int FilterActionMissingTransportDialog::selectedTransport() const
{
return mComboBoxTransport->currentTransportId();
}
FilterActionMissingTemplateDialog::FilterActionMissingTemplateDialog(
const QStringList &templateList, const QString &filtername, QWidget *parent)
: QDialog(parent)
{
setModal(true);
setWindowTitle(i18n("Select Template"));
QVBoxLayout *mainLayout = new QVBoxLayout(this);
QWidget *mainWidget = new QWidget(this);
mainLayout->addWidget(mainWidget);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok);
okButton->setDefault(true);
okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
connect(buttonBox, &QDialogButtonBox::accepted, this, &FilterActionMissingTemplateDialog::accept);
connect(buttonBox, &QDialogButtonBox::rejected, this, &FilterActionMissingTemplateDialog::reject);
mainLayout->addWidget(buttonBox);
okButton->setDefault(true);
QVBoxLayout *lay = new QVBoxLayout(mainWidget);
QLabel *label = new QLabel(this);
label->setText(i18n("Filter template is missing. "
"Please select a template to use with filter \"%1\"",
filtername));
label->setWordWrap(true);
lay->addWidget(label);
mComboBoxTemplate = new KComboBox(this);
mComboBoxTemplate->addItems(templateList);
lay->addWidget(mComboBoxTemplate);
readConfig();
}
FilterActionMissingTemplateDialog::~FilterActionMissingTemplateDialog()
{
writeConfig();
}
void FilterActionMissingTemplateDialog::readConfig()
{
KConfigGroup group(KernelIf->config(), "FilterActionMissingTemplateDialog");
const QSize size = group.readEntry("Size", QSize(500, 300));
if (size.isValid()) {
resize(size);
}
}
void FilterActionMissingTemplateDialog::writeConfig()
{
KConfigGroup group(KernelIf->config(), "FilterActionMissingTemplateDialog");
group.writeEntry("Size", size());
}
QString FilterActionMissingTemplateDialog::selectedTemplate() const
{
if (mComboBoxTemplate->currentIndex() == 0) {
return QString();
} else {
return mComboBoxTemplate->currentText();
}
}
FilterActionMissingAccountDialog::FilterActionMissingAccountDialog(const QStringList &lstAccount,
const QString &filtername,
QWidget *parent)
: QDialog(parent)
{
setModal(true);
setWindowTitle(i18n("Select Account"));
QVBoxLayout *mainLayout = new QVBoxLayout(this);
QWidget *mainWidget = new QWidget(this);
mainLayout->addWidget(mainWidget);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok);
okButton->setDefault(true);
okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
connect(buttonBox, &QDialogButtonBox::accepted, this, &FilterActionMissingAccountDialog::accept);
connect(buttonBox, &QDialogButtonBox::rejected, this, &FilterActionMissingAccountDialog::reject);
mainLayout->addWidget(buttonBox);
okButton->setDefault(true);
QVBoxLayout *lay = new QVBoxLayout(mainWidget);
QLabel *label = new QLabel(this);
label->setText(i18n("Filter account is missing. "
"Please select account to use with filter \"%1\"",
filtername));
label->setWordWrap(true);
lay->addWidget(label);
mAccountList = new MailCommon::KMFilterAccountList(this);
mAccountList->applyOnAccount(lstAccount);
lay->addWidget(mAccountList);
readConfig();
}
FilterActionMissingAccountDialog::~FilterActionMissingAccountDialog()
{
writeConfig();
}
void FilterActionMissingAccountDialog::readConfig()
{
KConfigGroup group(KernelIf->config(), "FilterActionMissingAccountDialog");
const QSize size = group.readEntry("Size", QSize(500, 300));
if (size.isValid()) {
resize(size);
}
}
void FilterActionMissingAccountDialog::writeConfig()
{
KConfigGroup group(KernelIf->config(), "FilterActionMissingAccountDialog");
group.writeEntry("Size", size());
}
QStringList FilterActionMissingAccountDialog::selectedAccount() const
{
return mAccountList->selectedAccount();
}
bool FilterActionMissingAccountDialog::allAccountExist(const QStringList &lst)
{
const Akonadi::AgentInstance::List lstAgent = MailCommon::Util::agentInstances();
const int numberOfAccount(lst.count());
const int numberOfAgent(lstAgent.count());
for (int i = 0; i < numberOfAccount; ++i) {
bool found = false;
const QString accountName(lst.at(i));
for (int j = 0; j < numberOfAgent; ++j) {
if (lstAgent.at(j).identifier() == accountName) {
found = true;
break;
}
}
if (!found) {
return false;
}
}
return true;
}

@ -86,68 +86,6 @@ private:
QPushButton *mOkButton;
};
class FilterActionMissingIdentityDialog : public QDialog
{
Q_OBJECT
public:
explicit FilterActionMissingIdentityDialog(const QString &filtername,
QWidget *parent = Q_NULLPTR);
~FilterActionMissingIdentityDialog();
int selectedIdentity() const;
private:
void writeConfig();
void readConfig();
KIdentityManagement::IdentityCombo *mComboBoxIdentity;
};
class FilterActionMissingTransportDialog : public QDialog
{
Q_OBJECT
public:
explicit FilterActionMissingTransportDialog(const QString &filtername,
QWidget *parent = Q_NULLPTR);
~FilterActionMissingTransportDialog();
int selectedTransport() const;
private:
void writeConfig();
void readConfig();
MailTransport::TransportComboBox *mComboBoxTransport;
};
class FilterActionMissingTemplateDialog : public QDialog
{
Q_OBJECT
public:
explicit FilterActionMissingTemplateDialog(const QStringList &templateList,
const QString &filtername,
QWidget *parent = Q_NULLPTR);
~FilterActionMissingTemplateDialog();
QString selectedTemplate() const;
private:
void readConfig();
void writeConfig();
KComboBox *mComboBoxTemplate;
};
class FilterActionMissingAccountDialog : public QDialog
{
Q_OBJECT
public:
explicit FilterActionMissingAccountDialog(const QStringList &lstAccount,
const QString &filtername,
QWidget *parent = Q_NULLPTR);
~FilterActionMissingAccountDialog();
QStringList selectedAccount() const;
static bool allAccountExist(const QStringList &lst);
private:
void readConfig();
void writeConfig();
MailCommon::KMFilterAccountList *mAccountList;
};
#endif /* FILTERACTIONMISSINGARGUMENTDIALOG_H */

@ -0,0 +1,93 @@
/*
Copyright (C) 2016 Laurent Montel <montel@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "filteractionmissingidentitydialog.h"
#include "kernel/mailkernel.h"
#include <KSharedConfig>
#include <KConfigGroup>
#include <KLocalizedString>
#include <QDialogButtonBox>
#include <QLabel>
#include <QPushButton>
#include <QVBoxLayout>
#include <KIdentityManagement/IdentityCombo>
using namespace MailCommon;
FilterActionMissingIdentityDialog::FilterActionMissingIdentityDialog(const QString &filtername,
QWidget *parent)
: QDialog(parent)
{
setModal(true);
setWindowTitle(i18n("Select Identity"));
QVBoxLayout *mainLayout = new QVBoxLayout(this);
QWidget *mainWidget = new QWidget(this);
mainLayout->addWidget(mainWidget);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok);
okButton->setDefault(true);
okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
connect(buttonBox, &QDialogButtonBox::accepted, this, &FilterActionMissingIdentityDialog::accept);
connect(buttonBox, &QDialogButtonBox::rejected, this, &FilterActionMissingIdentityDialog::reject);
mainLayout->addWidget(buttonBox);
okButton->setDefault(true);
QVBoxLayout *lay = new QVBoxLayout(mainWidget);
QLabel *label = new QLabel(this);
label->setText(i18n("Filter identity is missing. "
"Please select an identity to use with filter \"%1\"",
filtername));
label->setWordWrap(true);
lay->addWidget(label);
mComboBoxIdentity = new KIdentityManagement::IdentityCombo(KernelIf->identityManager(), this);
lay->addWidget(mComboBoxIdentity);
readConfig();
}
FilterActionMissingIdentityDialog::~FilterActionMissingIdentityDialog()
{
writeConfig();
}
void FilterActionMissingIdentityDialog::readConfig()
{
KConfigGroup group(KSharedConfig::openConfig(), "FilterActionMissingMissingIdentity");
const QSize size = group.readEntry("Size", QSize(500, 300));
if (size.isValid()) {
resize(size);
}
}
void FilterActionMissingIdentityDialog::writeConfig()
{
KConfigGroup group(KSharedConfig::openConfig(), "FilterActionMissingMissingIdentity");
group.writeEntry("Size", size());
}
int FilterActionMissingIdentityDialog::selectedIdentity() const
{
return mComboBoxIdentity->currentIdentity();
}

@ -0,0 +1,48 @@
/*
Copyright (C) 2016 Laurent Montel <montel@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef FILTERACTIONMISSINGIDENTITYDIALOG_H
#define FILTERACTIONMISSINGIDENTITYDIALOG_H
#include <QDialog>
namespace KIdentityManagement
{
class IdentityCombo;
}
namespace MailCommon
{
class FilterActionMissingIdentityDialog : public QDialog
{
Q_OBJECT
public:
explicit FilterActionMissingIdentityDialog(const QString &filtername,
QWidget *parent = Q_NULLPTR);
~FilterActionMissingIdentityDialog();
int selectedIdentity() const;
private:
void writeConfig();
void readConfig();
KIdentityManagement::IdentityCombo *mComboBoxIdentity;
};
}
#endif // FILTERACTIONMISSINGIDENTITYDIALOG_H

@ -18,11 +18,11 @@
*/
#include "filteractionmissingsoundurldialog.h"
#include "kernel/mailkernel.h"
#include <KConfigGroup>
#include <KLocalizedString>
#include <KUrlRequester>
#include <KSharedConfig>
#include <QDialogButtonBox>
#include <QLabel>
#include <QPushButton>
@ -78,7 +78,7 @@ QString FilterActionMissingSoundUrlDialog::soundUrl() const
void FilterActionMissingSoundUrlDialog::readConfig()
{
KConfigGroup group(KernelIf->config(), "FilterActionMissingSoundUrlDialog");
KConfigGroup group(KSharedConfig::openConfig(), "FilterActionMissingSoundUrlDialog");
const QSize size = group.readEntry("Size", QSize(500, 300));
if (size.isValid()) {
@ -88,7 +88,7 @@ void FilterActionMissingSoundUrlDialog::readConfig()
void FilterActionMissingSoundUrlDialog::writeConfig()
{
KConfigGroup group(KernelIf->config(), "FilterActionMissingSoundUrlDialog");
KConfigGroup group(KSharedConfig::openConfig(), "FilterActionMissingSoundUrlDialog");
group.writeEntry("Size", size());
}

@ -20,9 +20,9 @@
#include "filteractionmissingtagdialog.h"
#include <KLocalizedString>
#include <KSharedConfig>
#include "tag/addtagdialog.h"
#include "kernel/mailkernel.h"
#include <KConfigGroup>
#include <QDialogButtonBox>
@ -89,7 +89,7 @@ FilterActionMissingTagDialog::~FilterActionMissingTagDialog()
void FilterActionMissingTagDialog::readConfig()
{
KConfigGroup group(KernelIf->config(), "FilterActionMissingTagDialog");
KConfigGroup group(KSharedConfig::openConfig(), "FilterActionMissingTagDialog");
const QSize size = group.readEntry("Size", QSize(500, 300));
if (size.isValid()) {
@ -99,7 +99,7 @@ void FilterActionMissingTagDialog::readConfig()
void FilterActionMissingTagDialog::writeConfig()
{
KConfigGroup group(KernelIf->config(), "FilterActionMissingTagDialog");
KConfigGroup group(KSharedConfig::openConfig(), "FilterActionMissingTagDialog");
group.writeEntry("Size", size());
}

@ -0,0 +1,95 @@
/*
Copyright (C) 2016 Laurent Montel <montel@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "filteractionmissingtemplatedialog.h"
#include <KSharedConfig>
#include <KComboBox>
#include <KConfigGroup>
#include <KLocalizedString>
#include <QDialogButtonBox>
#include <QPushButton>
#include <QLabel>
#include <QVBoxLayout>
using namespace MailCommon;
FilterActionMissingTemplateDialog::FilterActionMissingTemplateDialog(
const QStringList &templateList, const QString &filtername, QWidget *parent)
: QDialog(parent)
{
setModal(true);
setWindowTitle(i18n("Select Template"));
QVBoxLayout *mainLayout = new QVBoxLayout(this);
QWidget *mainWidget = new QWidget(this);
mainLayout->addWidget(mainWidget);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok);
okButton->setDefault(true);
okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
connect(buttonBox, &QDialogButtonBox::accepted, this, &FilterActionMissingTemplateDialog::accept);
connect(buttonBox, &QDialogButtonBox::rejected, this, &FilterActionMissingTemplateDialog::reject);
mainLayout->addWidget(buttonBox);
okButton->setDefault(true);
QVBoxLayout *lay = new QVBoxLayout(mainWidget);
QLabel *label = new QLabel(this);
label->setText(i18n("Filter template is missing. "
"Please select a template to use with filter \"%1\"",
filtername));
label->setWordWrap(true);
lay->addWidget(label);
mComboBoxTemplate = new KComboBox(this);
mComboBoxTemplate->addItems(templateList);
lay->addWidget(mComboBoxTemplate);
readConfig();
}
FilterActionMissingTemplateDialog::~FilterActionMissingTemplateDialog()
{
writeConfig();
}
void FilterActionMissingTemplateDialog::readConfig()
{
KConfigGroup group(KSharedConfig::openConfig(), "FilterActionMissingTemplateDialog");
const QSize size = group.readEntry("Size", QSize(500, 300));
if (size.isValid()) {
resize(size);
}
}
void FilterActionMissingTemplateDialog::writeConfig()
{
KConfigGroup group(KSharedConfig::openConfig(), "FilterActionMissingTemplateDialog");
group.writeEntry("Size", size());
}
QString FilterActionMissingTemplateDialog::selectedTemplate() const
{
if (mComboBoxTemplate->currentIndex() == 0) {
return QString();
} else {
return mComboBoxTemplate->currentText();
}
}

@ -0,0 +1,43 @@
/*
Copyright (C) 2016 Laurent Montel <montel@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef FILTERACTIONMISSINGTEMPLATEDIALOG_H
#define FILTERACTIONMISSINGTEMPLATEDIALOG_H
#include <QDialog>
class KComboBox;
namespace MailCommon {
class FilterActionMissingTemplateDialog : public QDialog
{
Q_OBJECT
public:
explicit FilterActionMissingTemplateDialog(const QStringList &templateList,
const QString &filtername,
QWidget *parent = Q_NULLPTR);
~FilterActionMissingTemplateDialog();
QString selectedTemplate() const;
private:
void readConfig();
void writeConfig();
KComboBox *mComboBoxTemplate;
};
}
#endif // FILTERACTIONMISSINGTEMPLATEDIALOG_H

@ -0,0 +1,89 @@
/*
Copyright (C) 2016 Laurent Montel <montel@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "filteractionmissingtransportdialog.h"
#include <KSharedConfig>
#include <KLocalizedString>
#include <QDialogButtonBox>
#include <QLabel>
#include <QVBoxLayout>
#include <QPushButton>
#include <MailTransport/TransportComboBox>
using namespace MailCommon;
FilterActionMissingTransportDialog::FilterActionMissingTransportDialog(const QString &filtername,
QWidget *parent)
: QDialog(parent)
{
setModal(true);
setWindowTitle(i18n("Select Transport"));
QVBoxLayout *mainLayout = new QVBoxLayout(this);
QWidget *mainWidget = new QWidget(this);
mainLayout->addWidget(mainWidget);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok);
okButton->setDefault(true);
okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
connect(buttonBox, &QDialogButtonBox::accepted, this, &FilterActionMissingTransportDialog::accept);
connect(buttonBox, &QDialogButtonBox::rejected, this, &FilterActionMissingTransportDialog::reject);
mainLayout->addWidget(buttonBox);
okButton->setDefault(true);
QVBoxLayout *lay = new QVBoxLayout(mainWidget);
QLabel *label = new QLabel(this);
label->setText(i18n("Filter transport is missing. "
"Please select a transport to use with filter \"%1\"",
filtername));
label->setWordWrap(true);
lay->addWidget(label);
mComboBoxTransport = new MailTransport::TransportComboBox(this);
lay->addWidget(mComboBoxTransport);
readConfig();
}
FilterActionMissingTransportDialog::~FilterActionMissingTransportDialog()
{
writeConfig();
}
void FilterActionMissingTransportDialog::readConfig()
{
KConfigGroup group(KSharedConfig::openConfig(), "FilterActionMissingTransportDialog");
const QSize size = group.readEntry("Size", QSize(500, 300));
if (size.isValid()) {
resize(size);
}
}
void FilterActionMissingTransportDialog::writeConfig()
{
KConfigGroup group(KSharedConfig::openConfig(), "FilterActionMissingTransportDialog");
group.writeEntry("Size", size());
}
int FilterActionMissingTransportDialog::selectedTransport() const
{
return mComboBoxTransport->currentTransportId();
}

@ -0,0 +1,47 @@
/*
Copyright (C) 2016 Laurent Montel <montel@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef FILTERACTIONMISSINGTRANSPORTDIALOG_H
#define FILTERACTIONMISSINGTRANSPORTDIALOG_H
#include <QDialog>
namespace MailTransport
{
class TransportComboBox;
}
namespace MailCommon
{
class FilterActionMissingTransportDialog : public QDialog
{
Q_OBJECT
public:
explicit FilterActionMissingTransportDialog(const QString &filtername,
QWidget *parent = Q_NULLPTR);
~FilterActionMissingTransportDialog();
int selectedTransport() const;
private:
void writeConfig();
void readConfig();
MailTransport::TransportComboBox *mComboBoxTransport;
};
}
#endif // FILTERACTIONMISSINGTRANSPORTDIALOG_H

@ -17,7 +17,7 @@
#include "selectthunderbirdfilterfilesdialog.h"
#include "selectthunderbirdfilterfileswidget.h"
#include "kernel/mailkernel.h"
#include <KSharedConfig>
#include <KLocalizedString>
#include <QHBoxLayout>
@ -67,7 +67,7 @@ void SelectThunderbirdFilterFilesDialog::setStartDir(const QUrl &url)
void SelectThunderbirdFilterFilesDialog::readConfig()
{
KConfigGroup group(KernelIf->config(), "SelectThunderbirdFilterFilesDialog");
KConfigGroup group(KSharedConfig::openConfig(), "SelectThunderbirdFilterFilesDialog");
const QSize size = group.readEntry("Size", QSize(500, 300));
if (size.isValid()) {
@ -77,6 +77,6 @@ void SelectThunderbirdFilterFilesDialog::readConfig()
void SelectThunderbirdFilterFilesDialog::writeConfig()
{
KConfigGroup group(KernelIf->config(), "SelectThunderbirdFilterFilesDialog");
KConfigGroup group(KSharedConfig::openConfig(), "SelectThunderbirdFilterFilesDialog");
group.writeEntry("Size", size());
}

@ -22,7 +22,7 @@
#include "kernel/mailkernel.h"
#include "util/mailutil.h"
#include "filter/dialog/filteractionmissingargumentdialog.h"
#include "filter/dialog/filteractionmissingtemplatedialog.h"
#include <PimCommon/MinimumComboBox>
#include <MessageComposer/MessageFactory>
@ -221,7 +221,7 @@ bool FilterActionForward::argsFromStringInteractive(const QString &argsStr, cons
currentTemplateList << templateName;
}
}
QPointer<FilterActionMissingTemplateDialog> dlg = new FilterActionMissingTemplateDialog(currentTemplateList, filterName);
QPointer<MailCommon::FilterActionMissingTemplateDialog> dlg = new MailCommon::FilterActionMissingTemplateDialog(currentTemplateList, filterName);
if (dlg->exec()) {
mTemplate = dlg->selectedTemplate();
needUpdate = true;

@ -21,7 +21,7 @@
#include "MessageCore/StringUtil"
#include "kernel/mailkernel.h"
#include "filter/dialog/filteractionmissingargumentdialog.h"
#include "filter/dialog/filteractionmissingidentitydialog.h"
#include <KIdentityManagement/Identity>
#include <KIdentityManagement/IdentityCombo>
@ -48,7 +48,7 @@ bool FilterActionSetIdentity::argsFromStringInteractive(const QString &argsStr,
bool needUpdate = false;
argsFromString(argsStr);
if (KernelIf->identityManager()->identityForUoid(mParameter).isNull()) {
QPointer<FilterActionMissingIdentityDialog> dlg = new FilterActionMissingIdentityDialog(filterName);
QPointer<MailCommon::FilterActionMissingIdentityDialog> dlg = new MailCommon::FilterActionMissingIdentityDialog(filterName);
if (dlg->exec()) {
mParameter = dlg->selectedIdentity();
needUpdate = true;

@ -19,7 +19,7 @@
#include "filteractionsettransport.h"
#include "filter/dialog/filteractionmissingargumentdialog.h"
#include "filter/dialog/filteractionmissingtransportdialog.h"
#include <KLocalizedString>
#include <MailTransport/Transport>
@ -57,7 +57,7 @@ bool FilterActionSetTransport::argsFromStringInteractive(const QString &argsStr,
bool needUpdate = false;
argsFromString(argsStr);
if (!MailTransport::TransportManager::self()->transportById(mParameter, false)) {
QPointer<FilterActionMissingTransportDialog> dlg = new FilterActionMissingTransportDialog(filterName);
QPointer<MailCommon::FilterActionMissingTransportDialog> dlg = new MailCommon::FilterActionMissingTransportDialog(filterName);
if (dlg->exec()) {
mParameter = dlg->selectedTransport();
needUpdate = true;

@ -27,7 +27,7 @@
#include "filteractions/filteractiondict.h"
#include "filtermanager.h"
#include "filterlog.h"
#include "dialog/filteractionmissingargumentdialog.h"
#include "dialog/filteractionmissingaccountdialog.h"
using MailCommon::FilterLog;
#include "PimCommon/PimUtil"
@ -470,8 +470,8 @@ bool MailFilter::readConfig(const KConfigGroup &config, bool interactive)
mAccounts = config.readEntry("accounts-set", QStringList());
if (!mAccounts.isEmpty() && interactive) {
if (!FilterActionMissingAccountDialog::allAccountExist(mAccounts)) {
FilterActionMissingAccountDialog *dlg = new FilterActionMissingAccountDialog(mAccounts, name());
if (!MailCommon::FilterActionMissingAccountDialog::allAccountExist(mAccounts)) {
MailCommon::FilterActionMissingAccountDialog *dlg = new MailCommon::FilterActionMissingAccountDialog(mAccounts, name());
if (dlg->exec()) {
mAccounts = dlg->selectedAccount();
needUpdate = true;

Loading…
Cancel
Save