diff --git a/src/filter/autotests/filteractionmissingtemplatedialogtest.cpp b/src/filter/autotests/filteractionmissingtemplatedialogtest.cpp new file mode 100644 index 0000000..dd2fadf --- /dev/null +++ b/src/filter/autotests/filteractionmissingtemplatedialogtest.cpp @@ -0,0 +1,54 @@ +/* + Copyright (C) 2016 Laurent Montel + + 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 "filteractionmissingtemplatedialogtest.h" +#include "../filter/dialog/filteractionmissingtemplatedialog.h" +#include +#include +#include +#include + +FilterActionMissingTemplateDialogTest::FilterActionMissingTemplateDialogTest(QObject *parent) + : QObject(parent) +{ + +} + +FilterActionMissingTemplateDialogTest::~FilterActionMissingTemplateDialogTest() +{ + +} + +void FilterActionMissingTemplateDialogTest::shouldHaveDefaultValue() +{ + MailCommon::FilterActionMissingTemplateDialog dlg(QStringList(), QStringLiteral("filename")); + QVERIFY(!dlg.windowTitle().isEmpty()); + + QDialogButtonBox *buttonBox = dlg.findChild(QStringLiteral("buttonbox")); + QVERIFY(buttonBox); + + QLabel *label = dlg.findChild(QStringLiteral("label")); + QVERIFY(label); + QVERIFY(!label->text().isEmpty()); + + KComboBox *mComboBoxTemplate = dlg.findChild(QStringLiteral("comboboxtemplate")); + QVERIFY(mComboBoxTemplate); +} + +QTEST_MAIN(FilterActionMissingTemplateDialogTest) diff --git a/src/filter/autotests/filteractionmissingtemplatedialogtest.h b/src/filter/autotests/filteractionmissingtemplatedialogtest.h new file mode 100644 index 0000000..ba95a78 --- /dev/null +++ b/src/filter/autotests/filteractionmissingtemplatedialogtest.h @@ -0,0 +1,35 @@ +/* + Copyright (C) 2016 Laurent Montel + + 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 FILTERACTIONMISSINGTEMPLATEDIALOGTEST_H +#define FILTERACTIONMISSINGTEMPLATEDIALOGTEST_H + +#include + +class FilterActionMissingTemplateDialogTest : public QObject +{ + Q_OBJECT +public: + explicit FilterActionMissingTemplateDialogTest(QObject *parent = Q_NULLPTR); + ~FilterActionMissingTemplateDialogTest(); +private Q_SLOTS: + void shouldHaveDefaultValue(); +}; + +#endif // FILTERACTIONMISSINGTEMPLATEDIALOGTEST_H diff --git a/src/filter/dialog/filteractionmissingtemplatedialog.cpp b/src/filter/dialog/filteractionmissingtemplatedialog.cpp index 2338c5f..5afe7f2 100644 --- a/src/filter/dialog/filteractionmissingtemplatedialog.cpp +++ b/src/filter/dialog/filteractionmissingtemplatedialog.cpp @@ -39,10 +39,22 @@ FilterActionMissingTemplateDialog::FilterActionMissingTemplateDialog( setModal(true); setWindowTitle(i18n("Select Template")); QVBoxLayout *mainLayout = new QVBoxLayout(this); - QWidget *mainWidget = new QWidget(this); - mainLayout->addWidget(mainWidget); + + QLabel *label = new QLabel(this); + label->setObjectName(QStringLiteral("label")); + label->setText(i18n("Filter template is missing. " + "Please select a template to use with filter \"%1\"", + filtername)); + label->setWordWrap(true); + mainLayout->addWidget(label); + mComboBoxTemplate = new KComboBox(this); + mComboBoxTemplate->setObjectName(QStringLiteral("comboboxtemplate")); + mComboBoxTemplate->addItems(templateList); + mainLayout->addWidget(mComboBoxTemplate); + QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this); + buttonBox->setObjectName(QStringLiteral("buttonbox")); QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok); okButton->setDefault(true); okButton->setShortcut(Qt::CTRL | Qt::Key_Return); @@ -50,16 +62,6 @@ FilterActionMissingTemplateDialog::FilterActionMissingTemplateDialog( 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(); } diff --git a/src/filter/tests/filteractionmissingtemplatedialoggui.cpp b/src/filter/tests/filteractionmissingtemplatedialoggui.cpp new file mode 100644 index 0000000..781ac35 --- /dev/null +++ b/src/filter/tests/filteractionmissingtemplatedialoggui.cpp @@ -0,0 +1,32 @@ +/* + Copyright (C) 2016 Laurent Montel + + 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 +#include "../filter/dialog/filteractionmissingtemplatedialog.h" + +int main(int argc, char **argv) +{ + QApplication app(argc, argv); + + MailCommon::FilterActionMissingTemplateDialog *w = new MailCommon::FilterActionMissingTemplateDialog(QStringList(), QStringLiteral("argument")); + w->exec(); + app.exec(); + delete w; + return 0; +}