20#ifndef ORES_QT_PASSWORD_MATCH_INDICATOR_HPP
21#define ORES_QT_PASSWORD_MATCH_INDICATOR_HPP
37 static inline const QString match_border_style =
38 QStringLiteral(
"QLineEdit { border: 2px solid #4CAF50; }");
39 static inline const QString mismatch_border_style =
40 QStringLiteral(
"QLineEdit { border: 2px solid #cc0000; }");
49 const QString& password,
const QString& confirm,
50 const QString& defaultStyle = {}) {
51 if (confirm.isEmpty()) {
52 field->setStyleSheet(defaultStyle);
53 }
else if (password == confirm) {
54 field->setStyleSheet(match_border_style);
56 field->setStyleSheet(mismatch_border_style);
65 QLineEdit* confirmField,
66 const QString& defaultStyle = {}) {
69 confirmField->text(), defaultStyle);
71 QObject::connect(passwordField, &QLineEdit::textChanged,
72 confirmField, update);
73 QObject::connect(confirmField, &QLineEdit::textChanged,
74 confirmField, update);
Qt-based graphical user interface for ORE Studio.
Definition AboutDialog.hpp:29
Helper for password confirmation match indicators.
Definition PasswordMatchIndicator.hpp:36
static void updateFieldBorder(QLineEdit *field, const QString &password, const QString &confirm, const QString &defaultStyle={})
Update the border colour of the confirm password field.
Definition PasswordMatchIndicator.hpp:48
static void connectFields(QLineEdit *passwordField, QLineEdit *confirmField, const QString &defaultStyle={})
Connect two password fields so the confirm field's border updates automatically on every keystroke.
Definition PasswordMatchIndicator.hpp:64