Mailcommon

messagerulewidgethandler.h
1/*
2 SPDX-FileCopyrightText: 2013-2024 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
11namespace MailCommon
12{
13class MessageRuleWidgetHandler : public MailCommon::RuleWidgetHandler
14{
15public:
16 MessageRuleWidgetHandler()
17 : MailCommon::RuleWidgetHandler()
18 {
19 }
20
21 ~MessageRuleWidgetHandler() override = default;
22
23 QWidget *createFunctionWidget(int number, QStackedWidget *functionStack, const QObject *receiver, bool isBalooSearch) const override;
24
25 QWidget *createValueWidget(int number, QStackedWidget *valueStack, const QObject *receiver) const override;
26
27 SearchRule::Function function(const QByteArray &field, const QStackedWidget *functionStack) const override;
28
29 [[nodiscard]] QString value(const QByteArray &field, const QStackedWidget *functionStack, const QStackedWidget *valueStack) const override;
30
31 [[nodiscard]] QString prettyValue(const QByteArray &field, const QStackedWidget *functionStack, const QStackedWidget *valueStack) const override;
32
33 bool handlesField(const QByteArray &field) const override;
34
35 void reset(QStackedWidget *functionStack, QStackedWidget *valueStack) const override;
36
37 bool setRule(QStackedWidget *functionStack, QStackedWidget *valueStack, const SearchRule::Ptr rule, bool isBalooSearch) const override;
38
39 bool update(const QByteArray &field, QStackedWidget *functionStack, QStackedWidget *valueStack) const override;
40
41private:
42 SearchRule::Function currentFunction(const QStackedWidget *functionStack) const;
43 QString currentValue(const QStackedWidget *valueStack, SearchRule::Function func) const;
44};
45}
An interface to filter/search rule widget handlers.
std::shared_ptr< SearchRule > Ptr
Defines a pointer to a search rule.
Definition searchrule.h:29
Function
Describes operators for comparison of field and contents.
Definition searchrule.h:40
The filter dialog.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Dec 6 2024 12:02:04 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.