Bitcoin Core  27.99.0
P2P Digital Currency
qvalidatedlineedit.h
Go to the documentation of this file.
1 // Copyright (c) 2011-2022 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_QT_QVALIDATEDLINEEDIT_H
6 #define BITCOIN_QT_QVALIDATEDLINEEDIT_H
7 
8 #include <QLineEdit>
9 
13 class QValidatedLineEdit : public QLineEdit
14 {
15  Q_OBJECT
16 
17 public:
18  explicit QValidatedLineEdit(QWidget *parent);
19  void clear();
20  void setCheckValidator(const QValidator *v);
21  bool isValid();
22 
23 protected:
24  void focusInEvent(QFocusEvent *evt) override;
25  void focusOutEvent(QFocusEvent *evt) override;
26 
27 private:
28  bool valid{true};
29  const QValidator* checkValidator{nullptr};
30 
31 public Q_SLOTS:
32  void setText(const QString&);
33  void setValid(bool valid);
34  void setEnabled(bool enabled);
35 
36 Q_SIGNALS:
37  void validationDidChange(QValidatedLineEdit *validatedLineEdit);
38 
39 private Q_SLOTS:
40  void markValid();
41  void checkValidity();
42 };
43 
44 #endif // BITCOIN_QT_QVALIDATEDLINEEDIT_H
Line edit that can be marked as "invalid" to show input validation feedback.
void setText(const QString &)
QValidatedLineEdit(QWidget *parent)
void validationDidChange(QValidatedLineEdit *validatedLineEdit)
void focusOutEvent(QFocusEvent *evt) override
void setValid(bool valid)
void focusInEvent(QFocusEvent *evt) override
void setEnabled(bool enabled)
void setCheckValidator(const QValidator *v)
const QValidator * checkValidator