parent
f3f3b5bdac
commit
bf19abea21
7 changed files with 141 additions and 80 deletions
@ -0,0 +1,94 @@ |
|||||||
|
/*
|
||||||
|
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 "kernel/mailkernel.h" |
||||||
|
|
||||||
|
#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(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(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
@ -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
|
||||||
Loading…
Reference in new issue