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