mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-22 11:00:48 +03:00
Improve Login and Register page hinting
This commit is contained in:
parent
197f702dd0
commit
813790e603
3 changed files with 28 additions and 2 deletions
|
@ -81,6 +81,14 @@ LoginPage::LoginPage(QWidget *parent)
|
||||||
matrixid_input_ = new TextField(this);
|
matrixid_input_ = new TextField(this);
|
||||||
matrixid_input_->setLabel(tr("Matrix ID"));
|
matrixid_input_->setLabel(tr("Matrix ID"));
|
||||||
matrixid_input_->setPlaceholderText(tr("e.g @joe:matrix.org"));
|
matrixid_input_->setPlaceholderText(tr("e.g @joe:matrix.org"));
|
||||||
|
matrixid_input_->setToolTip(
|
||||||
|
tr("Your login name. A mxid should start with @ followed by the user id. After the user "
|
||||||
|
"id you need to include your server name after a :.\nYou can also put your homeserver "
|
||||||
|
"address there, if your server doesn't support .well-known lookup.\nExample: "
|
||||||
|
"@user:server.my\nIf Nheko fails to discover your homeserver, it will show you a "
|
||||||
|
"field to enter the server manually."));
|
||||||
|
matrixid_input_->setValidator(
|
||||||
|
new QRegularExpressionValidator(QRegularExpression("@.+?:.{3,}"), this));
|
||||||
|
|
||||||
spinner_ = new LoadingIndicator(this);
|
spinner_ = new LoadingIndicator(this);
|
||||||
spinner_->setFixedHeight(40);
|
spinner_->setFixedHeight(40);
|
||||||
|
@ -97,13 +105,19 @@ LoginPage::LoginPage(QWidget *parent)
|
||||||
password_input_ = new TextField(this);
|
password_input_ = new TextField(this);
|
||||||
password_input_->setLabel(tr("Password"));
|
password_input_->setLabel(tr("Password"));
|
||||||
password_input_->setEchoMode(QLineEdit::Password);
|
password_input_->setEchoMode(QLineEdit::Password);
|
||||||
|
password_input_->setToolTip("Your password.");
|
||||||
|
|
||||||
deviceName_ = new TextField(this);
|
deviceName_ = new TextField(this);
|
||||||
deviceName_->setLabel(tr("Device name"));
|
deviceName_->setLabel(tr("Device name"));
|
||||||
|
deviceName_->setToolTip(
|
||||||
|
tr("A name for this device, which will be shown to others, when verifying your devices. "
|
||||||
|
"If none is provided, a random string is used for privacy purposes."));
|
||||||
|
|
||||||
serverInput_ = new TextField(this);
|
serverInput_ = new TextField(this);
|
||||||
serverInput_->setLabel("Homeserver address");
|
serverInput_->setLabel("Homeserver address");
|
||||||
serverInput_->setPlaceholderText("matrix.org");
|
serverInput_->setPlaceholderText("matrix.org");
|
||||||
|
serverInput_->setToolTip(tr("The address that can be used to contact you homeservers "
|
||||||
|
"client API.\nExample: https://server.my:8787"));
|
||||||
serverInput_->hide();
|
serverInput_->hide();
|
||||||
|
|
||||||
serverLayout_ = new QHBoxLayout();
|
serverLayout_ = new QHBoxLayout();
|
||||||
|
|
|
@ -85,17 +85,26 @@ RegisterPage::RegisterPage(QWidget *parent)
|
||||||
|
|
||||||
username_input_ = new TextField();
|
username_input_ = new TextField();
|
||||||
username_input_->setLabel(tr("Username"));
|
username_input_->setLabel(tr("Username"));
|
||||||
|
username_input_->setValidator(
|
||||||
|
new QRegularExpressionValidator(QRegularExpression("[a-z0-9._=/-]+"), this));
|
||||||
|
username_input_->setToolTip(tr("The username must not be empty, and must contain only the "
|
||||||
|
"characters a-z, 0-9, ., _, =, -, and /."));
|
||||||
|
|
||||||
password_input_ = new TextField();
|
password_input_ = new TextField();
|
||||||
password_input_->setLabel(tr("Password"));
|
password_input_->setLabel(tr("Password"));
|
||||||
password_input_->setEchoMode(QLineEdit::Password);
|
password_input_->setEchoMode(QLineEdit::Password);
|
||||||
|
password_input_->setToolTip(tr("Please choose a secure password. The exact requirements "
|
||||||
|
"for password strength may depend on your server"));
|
||||||
|
|
||||||
password_confirmation_ = new TextField();
|
password_confirmation_ = new TextField();
|
||||||
password_confirmation_->setLabel(tr("Password confirmation"));
|
password_confirmation_->setLabel(tr("Password confirmation"));
|
||||||
password_confirmation_->setEchoMode(QLineEdit::Password);
|
password_confirmation_->setEchoMode(QLineEdit::Password);
|
||||||
|
|
||||||
server_input_ = new TextField();
|
server_input_ = new TextField();
|
||||||
server_input_->setLabel(tr("Home Server"));
|
server_input_->setLabel(tr("Homeserver"));
|
||||||
|
server_input_->setToolTip(
|
||||||
|
tr("A server that allows registration. Since matrix is decentralized, you need to first "
|
||||||
|
"find a server you can register on or host your own."));
|
||||||
|
|
||||||
form_layout_->addWidget(username_input_, Qt::AlignHCenter, nullptr);
|
form_layout_->addWidget(username_input_, Qt::AlignHCenter, nullptr);
|
||||||
form_layout_->addWidget(password_input_, Qt::AlignHCenter, nullptr);
|
form_layout_->addWidget(password_input_, Qt::AlignHCenter, nullptr);
|
||||||
|
|
|
@ -147,7 +147,10 @@ QColor
|
||||||
TextField::underlineColor() const
|
TextField::underlineColor() const
|
||||||
{
|
{
|
||||||
if (!underline_color_.isValid()) {
|
if (!underline_color_.isValid()) {
|
||||||
return QPalette().color(QPalette::Highlight);
|
if (hasAcceptableInput() || !isModified())
|
||||||
|
return QPalette().color(QPalette::Highlight);
|
||||||
|
else
|
||||||
|
return Qt::red;
|
||||||
}
|
}
|
||||||
|
|
||||||
return underline_color_;
|
return underline_color_;
|
||||||
|
|
Loading…
Reference in a new issue