git / moonbite-core / src/qt/qvalidatedlineedit.h · raw

// Copyright (c) 2011-2018 The Bitcoin Core developers// Distributed under the MIT software license, see the accompanying// file COPYING or http://www.opensource.org/licenses/mit-license.php.#ifndef BITCOIN_QT_QVALIDATEDLINEEDIT_H#define BITCOIN_QT_QVALIDATEDLINEEDIT_H#include <QLineEdit>/** Line edit that can be marked as "invalid" to show input validation feedback. When marked as invalid,   it will get a red background until it is focused. */class QValidatedLineEdit : public QLineEdit{    Q_OBJECTpublic:    explicit QValidatedLineEdit(QWidget *parent);    void clear();    void setCheckValidator(const QValidator *v);    bool isValid();    void setValidating(bool validating);protected:    void focusInEvent(QFocusEvent *evt) override;    void focusOutEvent(QFocusEvent *evt) override;private:    bool valid;    bool validating;    const QValidator *checkValidator;public Q_SLOTS:    void setValid(bool valid);    void setEnabled(bool enabled);Q_SIGNALS:    void validationDidChange(QValidatedLineEdit *validatedLineEdit);private Q_SLOTS:    void markValid();    void checkValidity();};#endif // BITCOIN_QT_QVALIDATEDLINEEDIT_H