File indexing completed on 2025-02-16 04:55:55

0001 /*
0002    SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 #include "sievecommonactioncondition.h"
0007 #include "libksieveui_debug.h"
0008 
0009 #include <KLocalizedString>
0010 
0011 #include "autocreatescripts/sieveeditorgraphicalmodewidget.h"
0012 #include <QUrl>
0013 #include <QWidget>
0014 
0015 using namespace KSieveUi;
0016 
0017 SieveCommonActionCondition::SieveCommonActionCondition(SieveEditorGraphicalModeWidget *sieveGraphicalModeWidget,
0018                                                        const QString &name,
0019                                                        const QString &label,
0020                                                        QObject *parent)
0021     : QObject(parent)
0022     , mSieveGraphicalModeWidget(sieveGraphicalModeWidget)
0023     , mName(name)
0024     , mLabel(label)
0025 {
0026 }
0027 
0028 SieveCommonActionCondition::~SieveCommonActionCondition() = default;
0029 
0030 QWidget *SieveCommonActionCondition::createParamWidget(QWidget *parent) const
0031 {
0032     return new QWidget(parent);
0033 }
0034 
0035 KSieveCore::SieveImapAccountSettings SieveCommonActionCondition::sieveImapAccountSettings() const
0036 {
0037     if (mSieveGraphicalModeWidget) {
0038         return mSieveGraphicalModeWidget->sieveImapAccountSettings();
0039     }
0040     qCWarning(LIBKSIEVEUI_LOG) << "SieveCommonActionCondition::sieveImapAccountSettings Problem during initialize mSieveGraphicalModeWidget ";
0041     return {};
0042 }
0043 
0044 QStringList SieveCommonActionCondition::sieveCapabilities() const
0045 {
0046     if (mSieveGraphicalModeWidget) {
0047         return mSieveGraphicalModeWidget->sieveCapabilities();
0048     }
0049     qCWarning(LIBKSIEVEUI_LOG) << "SieveCommonActionCondition::sieveCapabilities Problem during initialize mSieveGraphicalModeWidget ";
0050     return {};
0051 }
0052 
0053 QString SieveCommonActionCondition::name() const
0054 {
0055     return mName;
0056 }
0057 
0058 QString SieveCommonActionCondition::label() const
0059 {
0060     return mLabel;
0061 }
0062 
0063 QString SieveCommonActionCondition::code(QWidget *) const
0064 {
0065     return {};
0066 }
0067 
0068 QStringList SieveCommonActionCondition::needRequires(QWidget *parent) const
0069 {
0070     Q_UNUSED(parent)
0071     return {};
0072 }
0073 
0074 bool SieveCommonActionCondition::needCheckIfServerHasCapability() const
0075 {
0076     return false;
0077 }
0078 
0079 QString SieveCommonActionCondition::serverNeedsCapability() const
0080 {
0081     return {};
0082 }
0083 
0084 QString SieveCommonActionCondition::help() const
0085 {
0086     return {};
0087 }
0088 
0089 QString SieveCommonActionCondition::comment() const
0090 {
0091     return mComment;
0092 }
0093 
0094 void SieveCommonActionCondition::setComment(const QString &comment)
0095 {
0096     mComment = comment;
0097 }
0098 
0099 void SieveCommonActionCondition::unknownTagValue(const QString &tagValue, QString &error)
0100 {
0101     error += i18n("An unknown tag value \"%1\" was found during parsing action \"%2\".", tagValue, name()) + QLatin1Char('\n');
0102 }
0103 void SieveCommonActionCondition::unknownTag(const QStringView &tag, QString &error)
0104 {
0105     const QString result = tag.toString();
0106     error += i18n("An unknown tag \"%1\" was found during parsing action \"%2\".", result, name()) + QLatin1Char('\n');
0107 }
0108 
0109 void SieveCommonActionCondition::tooManyArguments(const QStringView &tagName, int index, int maxValue, QString &error)
0110 {
0111     const QString result = tagName.toString();
0112     error += i18n("Too many arguments found for \"%1\", max value is %2, number of value found %3 for %4", name(), maxValue, index, result) + QLatin1Char('\n');
0113 }
0114 
0115 void SieveCommonActionCondition::serverDoesNotSupportFeatures(const QString &feature, QString &error)
0116 {
0117     error += i18n("A feature \"%1\" in condition \"%2\" is not supported by server", feature, name()) + QLatin1Char('\n');
0118 }
0119 
0120 QUrl SieveCommonActionCondition::href() const
0121 {
0122     return {};
0123 }
0124 
0125 #include "moc_sievecommonactioncondition.cpp"