From 2ca3e6a237aaf72ad97296402d63621730c2793a Mon Sep 17 00:00:00 2001 From: emeric Date: Tue, 23 Jun 2020 14:41:38 +0200 Subject: [PATCH] Added some form elements + autocomplete attributes --- approot/admin-database.xml | 104 ++++++----- approot/admin-initwizard.xml | 62 +++--- approot/admin-user.xml | 34 ++-- approot/login.xml | 79 ++++---- approot/settings.xml | 280 ++++++++++++++-------------- src/lms/ui/Auth.cpp | 5 +- src/lms/ui/SettingsView.cpp | 3 + src/lms/ui/admin/InitWizardView.cpp | 24 ++- src/lms/ui/admin/UserView.cpp | 1 + 9 files changed, 309 insertions(+), 283 deletions(-) diff --git a/approot/admin-database.xml b/approot/admin-database.xml index e2d504a1..4e01c81b 100644 --- a/approot/admin-database.xml +++ b/approot/admin-database.xml @@ -6,62 +6,64 @@
- ${tr:Lms.Admin.Database.database} -
-
- -
- ${media-directory} - ${media-directory-info class="help-block"} +
+ ${tr:Lms.Admin.Database.database} +
+
+ +
+ ${media-directory} + ${media-directory-info class="help-block"} +
+
+
+ +
+ ${update-period} + ${update-period-info class="help-block"} +
+
+
+ +
+ ${update-start-time} + ${update-start-time-info class="help-block"} +
+
+
+ ${tr:Lms.Admin.Database.scan-options} +
+
+ +
+ ${recommendation-engine-type} + ${recommendation-engine-type-info class="help-block"} +
+
+
+ +
+ ${tags} + ${tags-info class="help-block"} +
- -
- ${update-period} - ${update-period-info class="help-block"} +
+ ${apply-btn class="btn-primary"} ${discard-btn} ${immediate-scan-btn class="btn-info"}
-
- -
- ${update-start-time} - ${update-start-time-info class="help-block"} -
-
-
- ${tr:Lms.Admin.Database.scan-options} -
-
- -
- ${recommendation-engine-type} - ${recommendation-engine-type-info class="help-block"} -
-
-
- -
- ${tags} - ${tags-info class="help-block"} -
-
-
-
-
- ${apply-btn class="btn-primary"} ${discard-btn} ${immediate-scan-btn class="btn-info"} -
-
+

diff --git a/approot/admin-initwizard.xml b/approot/admin-initwizard.xml index d58c2bb7..d9ca837a 100644 --- a/approot/admin-initwizard.xml +++ b/approot/admin-initwizard.xml @@ -9,42 +9,44 @@ -
-
- -
- ${admin-login} - ${admin-login-info class="help-block"} +
+
+
+ +
+ ${admin-login} + ${admin-login-info class="help-block"} +
-
-
- -
- ${password} - ${password-info class="help-block"} +
+ +
+ ${password} + ${password-info class="help-block"} +
-
-
- -
- ${password-confirm} - ${password-confirm-info class="help-block"} +
+ +
+ ${password-confirm} + ${password-confirm-info class="help-block"} +
+
+
+
+ ${create-btn class="btn-primary"} +
-
-
- ${create-btn class="btn-primary"} -
-
-
+
diff --git a/approot/admin-user.xml b/approot/admin-user.xml index 9ce8c4f4..c3adc97a 100644 --- a/approot/admin-user.xml +++ b/approot/admin-user.xml @@ -5,8 +5,9 @@
${title} -
- ${} +
+
+ ${}
${} - ${} + ${}
${} -
- -
- ${password} - ${password-info class="help-block"} +
+ +
+ ${password} + ${password-info class="help-block"} +
-
- ${} + ${}
@@ -48,12 +49,13 @@
${} -
-
- ${save-btn class="btn-primary"} +
+
+ ${save-btn class="btn-primary"} +
-
+
diff --git a/approot/login.xml b/approot/login.xml index 175b7df8..7dab178c 100644 --- a/approot/login.xml +++ b/approot/login.xml @@ -4,50 +4,51 @@
- -
-
- -
- ${login-name} -
-
- ${login-name-info} -
+ +
+
+
+ +
+ ${login-name} +
+
+ ${login-name-info} +
+
-
- -
- ${password} -
-
- ${password-info} -
-
+
+ +
+ ${password} +
+
+ ${password-info} +
+
-
- -
-
+
+ +
+
+
+
+
+
+ ${login-btn class="btn-primary"} +
+
-
-
-
- ${login-btn class="btn-primary"} -
-
-
+
- diff --git a/approot/settings.xml b/approot/settings.xml index 239b745e..6b52ee30 100644 --- a/approot/settings.xml +++ b/approot/settings.xml @@ -6,168 +6,170 @@
- ${tr:Lms.Settings.appearance} -
-
-
-
- - ${dark-mode-info clas="help-block"} +
+ ${tr:Lms.Settings.appearance} +
+
+
+
+ + ${dark-mode-info clas="help-block"} +
-
- ${tr:Lms.Settings.audio} -
- ${tr:Lms.Settings.audio-settings-are-local} -
-
-
- -
- ${transcode-mode} - ${transcode-mode-info class="help-block"} -
+ ${tr:Lms.Settings.audio} +
+ ${tr:Lms.Settings.audio-settings-are-local}
-
- -
- ${transcode-format} - ${transcode-format-info class="help-block"} -
-
-
- -
-
- ${transcode-bitrate} - kbps +
+
+ +
+ ${transcode-mode} + ${transcode-mode-info class="help-block"} +
+
+
+ +
+ ${transcode-format} + ${transcode-format-info class="help-block"} +
+
+
+ +
+
+ ${transcode-bitrate} + kbps +
+ ${transcode-bitrate-info class="help-block"}
- ${transcode-bitrate-info class="help-block"}
-
-
- -
- ${replaygain-mode} - ${replaygain-mode-info class="help-block"} -
-
-
- -
-
- ${replaygain-preamp} - dB +
+ +
+ ${replaygain-mode} + ${replaygain-mode-info class="help-block"}
- ${replaygain-preamp-info class="help-block"}
-
-
- -
-
- ${replaygain-preamp-no-rg-info} - dB +
+ +
+
+ ${replaygain-preamp} + dB +
+ ${replaygain-preamp-info class="help-block"}
- ${replaygain-preamp-no-rg-info-info class="help-block"}
-
-
- ${} - ${tr:Lms.Settings.subsonic-api} -
-
-
-
- - ${subsonic-transcode-enable-info class="help-block"} +
+ +
+
+ ${replaygain-preamp-no-rg-info} + dB +
+ ${replaygain-preamp-no-rg-info-info class="help-block"}
-
- -
- ${subsonic-transcode-format} - ${subsonic-transcode-format-info class="help-block"} -
-
-
- -
-
- ${subsonic-transcode-bitrate} - kbps + ${} + ${tr:Lms.Settings.subsonic-api} +
+
+
+
+ + ${subsonic-transcode-enable-info class="help-block"} +
+
+
+
+ +
+ ${subsonic-transcode-format} + ${subsonic-transcode-format-info class="help-block"} +
+
+
+ +
+
+ ${subsonic-transcode-bitrate} + kbps +
+ ${subsonic-transcode-bitrate-info class="help-block"} +
+
+
+ +
+ ${subsonic-artist-list-mode} + ${subsonic-artist-list-mode-info class="help-block"}
- ${subsonic-transcode-bitrate-info class="help-block"}
-
- -
- ${subsonic-artist-list-mode} - ${subsonic-artist-list-mode-info class="help-block"} + ${} + ${tr:Lms.Settings.change-password} +
+ ${} +
+ +
+ ${password-old} + ${password-old-info class="help-block"} +
-
-
- ${} - ${tr:Lms.Settings.change-password} -
- ${} -
- -
- ${password-old} - ${password-old-info class="help-block"} + ${} +
+ +
+ ${password} + ${password-info class="help-block"} +
-
- ${} -
- -
- ${password} - ${password-info class="help-block"} +
+ +
+ ${password-confirm} + ${password-confirm-info class="help-block"} +
-
-
- -
- ${password-confirm} - ${password-confirm-info class="help-block"} -
-
-
-
- ${apply-btn class="btn-primary"} ${discard-btn} +
+
+ ${apply-btn class="btn-primary"} ${discard-btn} +
-
+
diff --git a/src/lms/ui/Auth.cpp b/src/lms/ui/Auth.cpp index d450b0c7..cae9ee16 100644 --- a/src/lms/ui/Auth.cpp +++ b/src/lms/ui/Auth.cpp @@ -181,12 +181,15 @@ Auth::Auth() }; // LoginName - setFormWidget(AuthModel::LoginNameField, std::make_unique()); + auto loginName {std::make_unique()}; + loginName->setAttributeValue("autocomplete", "username"); + setFormWidget(AuthModel::LoginNameField, std::move(loginName)); // Password auto password = std::make_unique(); password->setEchoMode(Wt::EchoMode::Password); password->enterPressed().connect(this, processAuth); + password->setAttributeValue("autocomplete", "current-password"); setFormWidget(AuthModel::PasswordField, std::move(password)); // Remember me diff --git a/src/lms/ui/SettingsView.cpp b/src/lms/ui/SettingsView.cpp index 30d8a401..33cfd766 100644 --- a/src/lms/ui/SettingsView.cpp +++ b/src/lms/ui/SettingsView.cpp @@ -387,17 +387,20 @@ SettingsView::refreshView() auto oldPassword {std::make_unique()}; oldPassword->setEchoMode(Wt::EchoMode::Password); + oldPassword->setAttributeValue("autocomplete", "current-password"); t->setFormWidget(SettingsModel::PasswordOldField, std::move(oldPassword)); } // Password auto password {std::make_unique()}; password->setEchoMode(Wt::EchoMode::Password); + password->setAttributeValue("autocomplete", "new-password"); t->setFormWidget(SettingsModel::PasswordField, std::move(password)); // Password confirm auto passwordConfirm {std::make_unique()}; passwordConfirm->setEchoMode(Wt::EchoMode::Password); + passwordConfirm->setAttributeValue("autocomplete", "new-password"); t->setFormWidget(SettingsModel::PasswordConfirmField, std::move(passwordConfirm)); // Audio diff --git a/src/lms/ui/admin/InitWizardView.cpp b/src/lms/ui/admin/InitWizardView.cpp index 34d7c5fb..e62820b0 100644 --- a/src/lms/ui/admin/InitWizardView.cpp +++ b/src/lms/ui/admin/InitWizardView.cpp @@ -113,17 +113,27 @@ InitWizardView::InitWizardView() auto model = std::make_shared(); // AdminLogin - setFormWidget(InitWizardModel::AdminLoginField, std::make_unique()); + { + auto adminLogin {std::make_unique()}; + adminLogin->setAttributeValue("autocomplete", "username"); + setFormWidget(InitWizardModel::AdminLoginField, std::move(adminLogin)); + } // Password - auto passwordEdit = std::make_unique(); - passwordEdit->setEchoMode(Wt::EchoMode::Password); - setFormWidget(InitWizardModel::PasswordField, std::move(passwordEdit) ); + { + auto passwordEdit = std::make_unique(); + passwordEdit->setEchoMode(Wt::EchoMode::Password); + passwordEdit->setAttributeValue("autocomplete", "current-password"); + setFormWidget(InitWizardModel::PasswordField, std::move(passwordEdit) ); + } // Password confirmation - auto passwordConfirmEdit = std::make_unique(); - passwordConfirmEdit->setEchoMode(Wt::EchoMode::Password); - setFormWidget(InitWizardModel::PasswordConfirmField, std::move(passwordConfirmEdit)); + { + auto passwordConfirmEdit = std::make_unique(); + passwordConfirmEdit->setEchoMode(Wt::EchoMode::Password); + passwordConfirmEdit->setAttributeValue("autocomplete", "current-password"); + setFormWidget(InitWizardModel::PasswordConfirmField, std::move(passwordConfirmEdit)); + } Wt::WPushButton* saveButton = bindNew("create-btn", Wt::WString::tr("Lms.create")); saveButton->clicked().connect([=] diff --git a/src/lms/ui/admin/UserView.cpp b/src/lms/ui/admin/UserView.cpp index 3bb52e6d..53c27e82 100644 --- a/src/lms/ui/admin/UserView.cpp +++ b/src/lms/ui/admin/UserView.cpp @@ -227,6 +227,7 @@ UserView::refreshView() // Password auto passwordEdit = std::make_unique(); passwordEdit->setEchoMode(Wt::EchoMode::Password); + passwordEdit->setAttributeValue("autocomplete", "off"); t->setFormWidget(UserModel::PasswordField, std::move(passwordEdit)); // Demo account