ENH:do not write to config file when user access code is empty

Change-Id: I180e20b7d26fd337eef09ff4267cd4c2c61b6518
This commit is contained in:
tao wang 2023-05-18 15:24:30 +08:00 committed by Lane.Wei
parent 4892a0491c
commit c351ac54aa
4 changed files with 31 additions and 16 deletions

View File

@ -337,14 +337,6 @@ std::string MachineObject::get_ftp_folder()
return DeviceManager::get_ftp_folder(printer_type);
}
void MachineObject::set_access_code(std::string code)
{
this->access_code = code;
AppConfig *config = GUI::wxGetApp().app_config;
if (config && !code.empty()) {
GUI::wxGetApp().app_config->set_str("access_code", dev_id, code);
}
}
std::string MachineObject::get_access_code()
{
@ -353,12 +345,35 @@ std::string MachineObject::get_access_code()
return get_user_access_code();
}
void MachineObject::set_user_access_code(std::string code)
void MachineObject::set_access_code(std::string code, bool only_refresh)
{
this->user_access_code = code;
this->access_code = code;
if (only_refresh) {
AppConfig* config = GUI::wxGetApp().app_config;
if (config && !code.empty()) {
GUI::wxGetApp().app_config->set_str("access_code", dev_id, code);
}
}
}
void MachineObject::erase_user_access_code()
{
this->user_access_code = "";
AppConfig* config = GUI::wxGetApp().app_config;
if (config) {
GUI::wxGetApp().app_config->set_str("user_access_code", dev_id, code);
GUI::wxGetApp().app_config->erase("user_access_code", dev_id);
GUI::wxGetApp().app_config->save();
}
}
void MachineObject::set_user_access_code(std::string code, bool only_refresh)
{
this->user_access_code = code;
if (only_refresh && !code.empty()) {
AppConfig* config = GUI::wxGetApp().app_config;
if (config) {
GUI::wxGetApp().app_config->set_str("user_access_code", dev_id, code);
}
}
}

View File

@ -418,11 +418,11 @@ public:
void set_dev_ip(std::string ip) {dev_ip = ip;};
bool has_access_right() { return !get_access_code().empty(); }
std::string get_ftp_folder();
void set_access_code(std::string code);
std::string get_access_code();
void set_user_access_code(std::string code);
void set_access_code(std::string code, bool only_refresh = true);
void set_user_access_code(std::string code, bool only_refresh = true);
void erase_user_access_code();
std::string get_user_access_code();
bool is_lan_mode_printer();

View File

@ -1888,7 +1888,7 @@ void GUI_App::init_networking_callbacks()
event.SetString(obj->dev_id);
} else if (state == ConnectStatus::ConnectStatusFailed) {
obj->set_access_code("");
obj->set_user_access_code("");
obj->erase_user_access_code();
m_device_manager->set_selected_machine("", true);
wxString text;
if (msg == "5") {

View File

@ -753,7 +753,7 @@ void SelectMachinePopup::update_user_devices()
dev->set_selected_machine("");
if (mobj) {
mobj->set_access_code("");
mobj->set_user_access_code("");
mobj->erase_user_access_code();
}
MessageDialog msg_wingow(nullptr, _L("Log out successful."), "", wxAPPLY | wxOK);