mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-05 10:17:30 -05:00
b7942c9482
aeb18b665c
Bugfix: GUI: Check validity when QValidatedLineEdit::setText is called (Luke Dashjr)b1a544be10
Bugfix: GUI: Re-check validity after QValidatedLineEdit::setCheckValidator (Luke Dashjr)2385b508d5
Bugfix: GUI: Only apply invalid style to QValidatedLineEdit, not its tooltip (Luke Dashjr) Pull request description: 1. Use a CSS selector to avoid changing the background colour of the tooltip. 2. Re-check validity of input when we first set the validator (probably a no-op in practice). 3. Check validity of input when it is set programmatically via `setText` (eg, via the address book). Probably no-op in practice UNTIL merging https://github.com/bitcoin/bitcoin/pull/15987 or any other PR that adds a warning for valid addresses. Moved from https://github.com/bitcoin/bitcoin/pull/18133 (just concept ACKs) ACKs for top commit: Sjors: tACKaeb18b665c
hebasto: ACKaeb18b665c
, tested on Linux Mint 20.3 (Qt 5.12.8). Tree-SHA512: b6fa8ee4dec76e1c759095721240e6fa5071a02993cb28406e96a0fa2e819f5dddc03d2e7c9073354d7865c2b09eb263afaf853ecba42e9fc4f50ef4ae20bf0f
44 lines
1.1 KiB
C++
44 lines
1.1 KiB
C++
// Copyright (c) 2011-2020 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_OBJECT
|
|
|
|
public:
|
|
explicit QValidatedLineEdit(QWidget *parent);
|
|
void clear();
|
|
void setCheckValidator(const QValidator *v);
|
|
bool isValid();
|
|
|
|
protected:
|
|
void focusInEvent(QFocusEvent *evt) override;
|
|
void focusOutEvent(QFocusEvent *evt) override;
|
|
|
|
private:
|
|
bool valid;
|
|
const QValidator *checkValidator;
|
|
|
|
public Q_SLOTS:
|
|
void setText(const QString&);
|
|
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
|