File indexing completed on 2024-12-29 04:54:51

0001 /*
0002    SPDX-FileCopyrightText: 2018-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "ksieveui_export.h"
0010 #include <QWidget>
0011 namespace KSieveUi
0012 {
0013 /**
0014  * @brief The AbstractSelectEmailLineEdit class
0015  * @author Laurent Montel <montel@kde.org>
0016  */
0017 class KSIEVEUI_EXPORT AbstractSelectEmailLineEdit : public QWidget
0018 {
0019     Q_OBJECT
0020 public:
0021     explicit AbstractSelectEmailLineEdit(QWidget *parent = nullptr);
0022     ~AbstractSelectEmailLineEdit() override;
0023     virtual void setText(const QString &str) = 0;
0024     virtual QString text() const = 0;
0025 
0026     [[nodiscard]] bool multiSelection() const;
0027     void setMultiSelection(bool multiSelection);
0028     [[nodiscard]] virtual bool isValid() const = 0;
0029 
0030 Q_SIGNALS:
0031     void valueChanged();
0032 
0033 private:
0034     bool mMultiSelection = false;
0035 };
0036 }