From b78a3cb0aa090855c7124069f999c169c5082b6a Mon Sep 17 00:00:00 2001 From: Montel Laurent Date: Sat, 3 Jun 2017 20:35:17 +0200 Subject: [PATCH] Fix add regexp support --- .../autocreatescripts/autotests/data/comparator-ref.siv | 1 + .../sieveactions/sieveactiondeleteheader.cpp | 7 +++++++ .../sieveactions/sieveactiondeleteheader.h | 1 + .../sieveconditions/sieveconditionaddress.cpp | 4 +++- .../sieveconditions/sieveconditionbody.cpp | 6 ++++-- .../sieveconditions/sieveconditioncurrentdate.cpp | 6 ++++-- .../sieveconditions/sieveconditiondate.cpp | 5 +++-- .../sieveconditions/sieveconditionenvelope.cpp | 3 ++- .../sieveconditions/sieveconditionhasflag.cpp | 4 +++- .../sieveconditions/sieveconditionmetadata.cpp | 5 +++-- .../sieveconditions/sieveconditionservermetadata.cpp | 5 +++-- 11 files changed, 34 insertions(+), 13 deletions(-) diff --git a/src/ksieveui/autocreatescripts/autotests/data/comparator-ref.siv b/src/ksieveui/autocreatescripts/autotests/data/comparator-ref.siv index c74d0bb4..655d713c 100644 --- a/src/ksieveui/autocreatescripts/autotests/data/comparator-ref.siv +++ b/src/ksieveui/autocreatescripts/autotests/data/comparator-ref.siv @@ -1,4 +1,5 @@ require "subaddress"; +require "regex"; require "spamtest"; require "relational"; require "spamtestplus"; diff --git a/src/ksieveui/autocreatescripts/sieveactions/sieveactiondeleteheader.cpp b/src/ksieveui/autocreatescripts/sieveactions/sieveactiondeleteheader.cpp index 917aba52..651844d1 100644 --- a/src/ksieveui/autocreatescripts/sieveactions/sieveactiondeleteheader.cpp +++ b/src/ksieveui/autocreatescripts/sieveactions/sieveactiondeleteheader.cpp @@ -138,3 +138,10 @@ QUrl SieveActionDeleteHeader::href() const { return SieveEditorUtil::helpUrl(SieveEditorUtil::strToVariableName(name())); } + + +QStringList SieveActionDeleteHeader::needRequires(QWidget *w) const +{ + const SelectMatchTypeComboBox *combo = w->findChild(QStringLiteral("matchtype")); + return SieveActionAbstractEditHeader::needRequires(w) + combo->needRequires(); +} diff --git a/src/ksieveui/autocreatescripts/sieveactions/sieveactiondeleteheader.h b/src/ksieveui/autocreatescripts/sieveactions/sieveactiondeleteheader.h index 7a9aca00..bcf64d48 100644 --- a/src/ksieveui/autocreatescripts/sieveactions/sieveactiondeleteheader.h +++ b/src/ksieveui/autocreatescripts/sieveactions/sieveactiondeleteheader.h @@ -31,6 +31,7 @@ public: bool setParamWidgetValue(const QDomElement &element, QWidget *parent, QString &error) Q_DECL_OVERRIDE; QString help() const Q_DECL_OVERRIDE; QUrl href() const Q_DECL_OVERRIDE; + QStringList needRequires(QWidget *parent) const Q_DECL_OVERRIDE; private: bool parseValue(const QDomElement &element, QWidget *w, QString &error, bool isNegative); }; diff --git a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionaddress.cpp b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionaddress.cpp index e51adeec..5f73c04f 100644 --- a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionaddress.cpp +++ b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionaddress.cpp @@ -96,7 +96,9 @@ QString SieveConditionAddress::code(QWidget *w) const QStringList SieveConditionAddress::needRequires(QWidget *w) const { const SelectAddressPartComboBox *selectAddressPart = w->findChild(QStringLiteral("addresspartcombobox")); - return selectAddressPart->extraRequire(); + const SelectMatchTypeComboBox *selectMatchCombobox = w->findChild(QStringLiteral("matchtypecombobox")); + + return selectAddressPart->extraRequire() + selectMatchCombobox->needRequires(); } QString SieveConditionAddress::help() const diff --git a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionbody.cpp b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionbody.cpp index 6839e0c6..17a4e0d3 100644 --- a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionbody.cpp +++ b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionbody.cpp @@ -75,9 +75,11 @@ QString SieveConditionBody::code(QWidget *w) const + AutoCreateScriptUtil::generateConditionComment(comment()); } -QStringList SieveConditionBody::needRequires(QWidget *) const +QStringList SieveConditionBody::needRequires(QWidget *w) const { - return QStringList() << QStringLiteral("body"); + const SelectMatchTypeComboBox *matchType = w->findChild(QStringLiteral("matchtype")); + + return QStringList() << QStringLiteral("body") << matchType->needRequires(); } bool SieveConditionBody::needCheckIfServerHasCapability() const diff --git a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditioncurrentdate.cpp b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditioncurrentdate.cpp index ed0ccdaa..7f5352a7 100644 --- a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditioncurrentdate.cpp +++ b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditioncurrentdate.cpp @@ -78,9 +78,11 @@ QString SieveConditionCurrentDate::serverNeedsCapability() const return QStringLiteral("date"); } -QStringList SieveConditionCurrentDate::needRequires(QWidget *) const +QStringList SieveConditionCurrentDate::needRequires(QWidget *w) const { - return QStringList() << QStringLiteral("date"); + const SelectMatchTypeComboBox *selectMatchCombobox = w->findChild(QStringLiteral("matchtype")); + + return QStringList() << QStringLiteral("date") << selectMatchCombobox->needRequires(); } QString SieveConditionCurrentDate::help() const diff --git a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditiondate.cpp b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditiondate.cpp index 02ae1289..587d2ca3 100644 --- a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditiondate.cpp +++ b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditiondate.cpp @@ -93,9 +93,10 @@ QString SieveConditionDate::serverNeedsCapability() const return QStringLiteral("date"); } -QStringList SieveConditionDate::needRequires(QWidget *) const +QStringList SieveConditionDate::needRequires(QWidget *w) const { - return QStringList() << QStringLiteral("date"); + const SelectMatchTypeComboBox *selectMatchCombobox = w->findChild(QStringLiteral("matchtype")); + return QStringList() << QStringLiteral("date") << selectMatchCombobox->needRequires(); } QString SieveConditionDate::help() const diff --git a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionenvelope.cpp b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionenvelope.cpp index 0e076ac6..85dc3430 100644 --- a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionenvelope.cpp +++ b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionenvelope.cpp @@ -99,7 +99,8 @@ QString SieveConditionEnvelope::code(QWidget *w) const QStringList SieveConditionEnvelope::needRequires(QWidget *w) const { const SelectAddressPartComboBox *selectAddressPart = w->findChild(QStringLiteral("addresspartcombobox")); - return QStringList() << QStringLiteral("envelope") << selectAddressPart->extraRequire(); + const SelectMatchTypeComboBox *selectMatchCombobox = w->findChild(QStringLiteral("matchtypecombobox")); + return QStringList() << QStringLiteral("envelope") << selectAddressPart->extraRequire() << selectMatchCombobox->needRequires(); } bool SieveConditionEnvelope::needCheckIfServerHasCapability() const diff --git a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionhasflag.cpp b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionhasflag.cpp index ca1a1b82..8e1fc273 100644 --- a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionhasflag.cpp +++ b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionhasflag.cpp @@ -97,7 +97,7 @@ QString SieveConditionHasFlag::code(QWidget *w) const return result + AutoCreateScriptUtil::generateConditionComment(comment()); } -QStringList SieveConditionHasFlag::needRequires(QWidget *) const +QStringList SieveConditionHasFlag::needRequires(QWidget *w) const { QStringList lst; if (sieveCapabilities().contains(QStringLiteral("imap4flags"))) { @@ -108,6 +108,8 @@ QStringList SieveConditionHasFlag::needRequires(QWidget *) const if (hasVariableSupport) { lst << QStringLiteral("variables"); } + const SelectMatchTypeComboBox *matchTypeCombo = w->findChild(QStringLiteral("matchtype")); + lst << matchTypeCombo->needRequires(); return lst; } diff --git a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionmetadata.cpp b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionmetadata.cpp index ada25ba1..c5ffb3c8 100644 --- a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionmetadata.cpp +++ b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionmetadata.cpp @@ -103,9 +103,10 @@ QString SieveConditionMetaData::code(QWidget *w) const return result + AutoCreateScriptUtil::generateConditionComment(comment()); } -QStringList SieveConditionMetaData::needRequires(QWidget *) const +QStringList SieveConditionMetaData::needRequires(QWidget *w) const { - return QStringList() << QStringLiteral("mboxmetadata"); + const SelectMatchTypeComboBox *selectType = w->findChild(QStringLiteral("selecttype")); + return QStringList() << QStringLiteral("mboxmetadata") << selectType->needRequires(); } bool SieveConditionMetaData::needCheckIfServerHasCapability() const diff --git a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionservermetadata.cpp b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionservermetadata.cpp index d78311f4..d1a2783e 100644 --- a/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionservermetadata.cpp +++ b/src/ksieveui/autocreatescripts/sieveconditions/sieveconditionservermetadata.cpp @@ -104,9 +104,10 @@ QString SieveConditionServerMetaData::code(QWidget *w) const return result + AutoCreateScriptUtil::generateConditionComment(comment()); } -QStringList SieveConditionServerMetaData::needRequires(QWidget *) const +QStringList SieveConditionServerMetaData::needRequires(QWidget *w) const { - return QStringList() << QStringLiteral("servermetadata"); + const SelectMatchTypeComboBox *selectType = w->findChild(QStringLiteral("selecttype")); + return QStringList() << QStringLiteral("servermetadata") << selectType->needRequires(); } bool SieveConditionServerMetaData::needCheckIfServerHasCapability() const -- GitLab