add option to prevent the password from being saved
This commit is contained in:
parent
d947002ca4
commit
ba0692ceb2
6 changed files with 167 additions and 14 deletions
|
@ -160,6 +160,56 @@
|
|||
|
||||
[/row]
|
||||
|
||||
|
||||
[row]
|
||||
grow_factor = 0
|
||||
|
||||
[column]
|
||||
grow_factor = 1
|
||||
border = "top"
|
||||
border_size = 10
|
||||
[spacer]
|
||||
definition = "default"
|
||||
[/spacer]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
[row]
|
||||
grow_factor = 1
|
||||
|
||||
[column]
|
||||
grow_factor = 1
|
||||
horizontal_alignment = "left"
|
||||
|
||||
[toggle_button]
|
||||
id = "remember_password"
|
||||
definition = "default"
|
||||
|
||||
label = _ "Save password to preferences (clear text)"
|
||||
[/toggle_button]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
|
||||
[row]
|
||||
grow_factor = 0
|
||||
|
||||
[column]
|
||||
grow_factor = 1
|
||||
border = "top"
|
||||
border_size = 30
|
||||
[spacer]
|
||||
definition = "default"
|
||||
[/spacer]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
[row]
|
||||
grow_factor = 0
|
||||
|
||||
|
|
|
@ -141,6 +141,56 @@
|
|||
[/row]
|
||||
|
||||
|
||||
[row]
|
||||
grow_factor = 0
|
||||
|
||||
[column]
|
||||
grow_factor = 1
|
||||
border = "top"
|
||||
border_size = 10
|
||||
[spacer]
|
||||
definition = "default"
|
||||
[/spacer]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
[row]
|
||||
grow_factor = 1
|
||||
|
||||
[column]
|
||||
grow_factor = 1
|
||||
horizontal_alignment = "left"
|
||||
|
||||
[toggle_button]
|
||||
id = "remember_password"
|
||||
definition = "default"
|
||||
|
||||
label = _ "Save password to preferences (clear text)"
|
||||
[/toggle_button]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
|
||||
[row]
|
||||
grow_factor = 0
|
||||
|
||||
[column]
|
||||
grow_factor = 1
|
||||
border = "top"
|
||||
border_size = 30
|
||||
[spacer]
|
||||
definition = "default"
|
||||
[/spacer]
|
||||
|
||||
[/column]
|
||||
|
||||
[/row]
|
||||
|
||||
|
||||
[row]
|
||||
grow_factor = 1
|
||||
vertical_grow = "true"
|
||||
|
|
|
@ -337,19 +337,45 @@ std::string login()
|
|||
return res;
|
||||
}
|
||||
|
||||
std::string password()
|
||||
{
|
||||
return preferences::get("password");
|
||||
}
|
||||
|
||||
void set_login(const std::string& username)
|
||||
{
|
||||
preferences::set("login", username);
|
||||
}
|
||||
|
||||
namespace prv {
|
||||
std::string password;
|
||||
}
|
||||
|
||||
std::string password()
|
||||
{
|
||||
if(remember_password()) {
|
||||
return preferences::get("password");
|
||||
} else {
|
||||
return prv::password;
|
||||
}
|
||||
}
|
||||
|
||||
void set_password(const std::string& password)
|
||||
{
|
||||
preferences::set("password", password);
|
||||
prv::password = password;
|
||||
if(remember_password()) {
|
||||
preferences::set("password", password);
|
||||
}
|
||||
}
|
||||
|
||||
bool remember_password()
|
||||
{
|
||||
return utils::string_bool(preferences::get("remember_password"), false);
|
||||
}
|
||||
|
||||
void set_remember_password(bool remember)
|
||||
{
|
||||
preferences::set("remember_password", remember ? "yes" : "no");
|
||||
|
||||
// Clear the password
|
||||
if(!remember) {
|
||||
preferences::set("password", "");
|
||||
}
|
||||
}
|
||||
|
||||
bool turn_dialog()
|
||||
|
|
|
@ -73,9 +73,16 @@ namespace preferences {
|
|||
std::string login();
|
||||
void set_login(const std::string& username);
|
||||
|
||||
namespace prv {
|
||||
extern std::string password;
|
||||
}
|
||||
|
||||
std::string password();
|
||||
void set_password(const std::string& password);
|
||||
|
||||
bool remember_password();
|
||||
void set_remember_password(bool remember);
|
||||
|
||||
bool turn_dialog();
|
||||
void set_turn_dialog(bool ison);
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include "gui/widgets/button.hpp"
|
||||
#include "gui/widgets/listbox.hpp"
|
||||
#include "gui/widgets/label.hpp"
|
||||
#include "gui/widgets/toggle_button.hpp"
|
||||
|
||||
namespace gui2 {
|
||||
|
||||
|
@ -234,21 +235,31 @@ void tmp_login::pre_show(CVideo& /*video*/, twindow& window)
|
|||
dynamic_cast<tlabel*>(window.find_widget("login_label", false));
|
||||
if(label) label->set_label(label_);
|
||||
|
||||
ttoggle_button* remember_password
|
||||
= dynamic_cast<ttoggle_button*>(window.find_widget("remember_password", false));
|
||||
if(remember_password) remember_password->set_value(preferences::remember_password());
|
||||
|
||||
}
|
||||
|
||||
void tmp_login::post_show(twindow& window)
|
||||
{
|
||||
ttext_box* username =
|
||||
dynamic_cast<ttext_box*>(window.find_widget("user_name", false));
|
||||
assert(username);
|
||||
if(get_retval() == twindow::OK) {
|
||||
ttoggle_button* remember_password
|
||||
= dynamic_cast<ttoggle_button*>(window.find_widget("remember_password", false));
|
||||
if(remember_password) preferences::set_remember_password(remember_password->get_value());
|
||||
|
||||
preferences::set_login(username->get_value());
|
||||
ttext_box* username =
|
||||
dynamic_cast<ttext_box*>(window.find_widget("user_name", false));
|
||||
assert(username);
|
||||
|
||||
ttext_box* password =
|
||||
dynamic_cast<ttext_box*>(window.find_widget("password", false));
|
||||
assert(password);
|
||||
preferences::set_login(username->get_value());
|
||||
|
||||
preferences::set_password(password->get_value());
|
||||
ttext_box* password =
|
||||
dynamic_cast<ttext_box*>(window.find_widget("password", false));
|
||||
assert(password);
|
||||
|
||||
preferences::set_password(password->get_value());
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace gui2
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include "gui/widgets/listbox.hpp"
|
||||
#include "gui/widgets/window.hpp"
|
||||
#include "gui/widgets/text_box.hpp"
|
||||
#include "gui/widgets/toggle_button.hpp"
|
||||
#include "multiplayer.hpp"
|
||||
|
||||
namespace gui2 {
|
||||
|
@ -58,6 +59,10 @@ void tmp_method_selection::pre_show(CVideo& /*video*/, twindow& window)
|
|||
|
||||
password_widget->set_value(preferences::password());
|
||||
|
||||
ttoggle_button* remember_password
|
||||
= dynamic_cast<ttoggle_button*>(window.find_widget("remember_password", false));
|
||||
if(remember_password) remember_password->set_value(preferences::remember_password());
|
||||
|
||||
tlistbox* list = dynamic_cast<tlistbox*>(window.find_widget("method_list", false));
|
||||
VALIDATE(list, missing_widget("method_list"));
|
||||
|
||||
|
@ -78,6 +83,10 @@ void tmp_method_selection::post_show(twindow& window)
|
|||
tlistbox* list = dynamic_cast<tlistbox*>(window.find_widget("method_list", false));
|
||||
assert(list);
|
||||
|
||||
ttoggle_button* remember_password
|
||||
= dynamic_cast<ttoggle_button*>(window.find_widget("remember_password", false));
|
||||
if(remember_password) preferences::set_remember_password(remember_password->get_value());
|
||||
|
||||
choice_ = list->get_selected_row();
|
||||
|
||||
user_widget->save_to_history();
|
||||
|
|
Loading…
Add table
Reference in a new issue