1 /* 2 SPDX-FileCopyrightText: 2013-2021 Laurent Montel <montel@kde.org> 3 4 SPDX-License-Identifier: GPL-2.0-or-later 5 */ 6 7 #pragma once 8 9 #include "interfaces/rulewidgethandler.h" 10 11 namespace MailCommon 12 { 13 class MessageRuleWidgetHandler : public MailCommon::RuleWidgetHandler 14 { 15 public: MessageRuleWidgetHandler()16 MessageRuleWidgetHandler() 17 : MailCommon::RuleWidgetHandler() 18 { 19 } 20 ~MessageRuleWidgetHandler()21 ~MessageRuleWidgetHandler() override 22 { 23 } 24 25 QWidget *createFunctionWidget(int number, QStackedWidget *functionStack, const QObject *receiver, bool isBalooSearch) const override; 26 27 QWidget *createValueWidget(int number, QStackedWidget *valueStack, const QObject *receiver) const override; 28 29 SearchRule::Function function(const QByteArray &field, const QStackedWidget *functionStack) const override; 30 31 QString value(const QByteArray &field, const QStackedWidget *functionStack, const QStackedWidget *valueStack) const override; 32 33 QString prettyValue(const QByteArray &field, const QStackedWidget *functionStack, const QStackedWidget *valueStack) const override; 34 35 bool handlesField(const QByteArray &field) const override; 36 37 void reset(QStackedWidget *functionStack, QStackedWidget *valueStack) const override; 38 39 bool setRule(QStackedWidget *functionStack, QStackedWidget *valueStack, const SearchRule::Ptr rule, bool isBalooSearch) const override; 40 41 bool update(const QByteArray &field, QStackedWidget *functionStack, QStackedWidget *valueStack) const override; 42 43 private: 44 SearchRule::Function currentFunction(const QStackedWidget *functionStack) const; 45 QString currentValue(const QStackedWidget *valueStack, SearchRule::Function func) const; 46 }; 47 } 48 49