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

0001 /*
0002    SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 #pragma once
0007 
0008 #include "ksieveui_private_export.h"
0009 #include <KSieveUi/AbstractSelectEmailLineEdit>
0010 class QLineEdit;
0011 namespace KSieveUi
0012 {
0013 class KSIEVEUI_TESTS_EXPORT AddressLineEdit : public AbstractSelectEmailLineEdit
0014 {
0015     Q_OBJECT
0016 public:
0017     explicit AddressLineEdit(QWidget *parent = nullptr);
0018     ~AddressLineEdit() override;
0019 
0020     void setText(const QString &str) override;
0021     [[nodiscard]] QString text() const override;
0022     [[nodiscard]] bool isValid() const override;
0023 
0024 protected:
0025     void focusOutEvent(QFocusEvent *ev) override;
0026 
0027 private:
0028     void slotTextChanged();
0029     void verifyAddress();
0030     QLineEdit *mLineEdit = nullptr;
0031     QString mNegativeBackground;
0032     bool mEmailIsInvalid = true;
0033 };
0034 }