File indexing completed on 2024-06-23 05:17:59
0001 /* 0002 SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "interfaces/rulewidgethandler.h" 0010 0011 namespace MailCommon 0012 { 0013 class TextRuleWidgetHandler : public MailCommon::RuleWidgetHandler 0014 { 0015 public: 0016 TextRuleWidgetHandler() 0017 : MailCommon::RuleWidgetHandler() 0018 { 0019 } 0020 0021 ~TextRuleWidgetHandler() override = default; 0022 0023 QWidget *createFunctionWidget(int number, QStackedWidget *functionStack, const QObject *receiver, bool isBalooSearch) const override; 0024 0025 QWidget *createValueWidget(int number, QStackedWidget *valueStack, const QObject *receiver) const override; 0026 0027 SearchRule::Function function(const QByteArray &field, const QStackedWidget *functionStack) const override; 0028 0029 QString value(const QByteArray &field, const QStackedWidget *functionStack, const QStackedWidget *valueStack) const override; 0030 0031 QString prettyValue(const QByteArray &field, const QStackedWidget *functionStack, const QStackedWidget *valueStack) const override; 0032 0033 bool handlesField(const QByteArray &field) const override; 0034 0035 void reset(QStackedWidget *functionStack, QStackedWidget *valueStack) const override; 0036 0037 bool setRule(QStackedWidget *functionStack, QStackedWidget *valueStack, const SearchRule::Ptr rule, bool isBalooSearch) const override; 0038 0039 bool update(const QByteArray &field, QStackedWidget *functionStack, QStackedWidget *valueStack) const override; 0040 0041 private: 0042 SearchRule::Function currentFunction(const QStackedWidget *functionStack) const; 0043 QString currentValue(const QStackedWidget *valueStack, SearchRule::Function func) const; 0044 }; 0045 }