ENH:disconnect lan mode printer when switing other printers
Change-Id: Ibd2d80e248b8a25a103cec75fdc9cd11b84e8b48
This commit is contained in:
parent
fdd659cefe
commit
ede8a2dc30
|
@ -3956,7 +3956,7 @@ void DeviceManager::clean_user_info()
|
||||||
userMachineList.clear();
|
userMachineList.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DeviceManager::set_selected_machine(std::string dev_id)
|
bool DeviceManager::set_selected_machine(std::string dev_id, bool need_disconnect)
|
||||||
{
|
{
|
||||||
BOOST_LOG_TRIVIAL(info) << "set_selected_machine=" << dev_id;
|
BOOST_LOG_TRIVIAL(info) << "set_selected_machine=" << dev_id;
|
||||||
auto my_machine_list = get_my_machine_list();
|
auto my_machine_list = get_my_machine_list();
|
||||||
|
@ -3966,7 +3966,7 @@ bool DeviceManager::set_selected_machine(std::string dev_id)
|
||||||
auto last_selected = my_machine_list.find(selected_machine);
|
auto last_selected = my_machine_list.find(selected_machine);
|
||||||
if (last_selected != my_machine_list.end()) {
|
if (last_selected != my_machine_list.end()) {
|
||||||
if (last_selected->second->connection_type() == "lan") {
|
if (last_selected->second->connection_type() == "lan") {
|
||||||
if (last_selected->second->is_connecting())
|
if (last_selected->second->is_connecting() && !need_disconnect)
|
||||||
return false;
|
return false;
|
||||||
m_agent->disconnect_printer();
|
m_agent->disconnect_printer();
|
||||||
}
|
}
|
||||||
|
|
|
@ -816,7 +816,7 @@ public:
|
||||||
void erase_user_machine(std::string dev_id);
|
void erase_user_machine(std::string dev_id);
|
||||||
void clean_user_info();
|
void clean_user_info();
|
||||||
|
|
||||||
bool set_selected_machine(std::string dev_id);
|
bool set_selected_machine(std::string dev_id, bool need_disconnect = false);
|
||||||
MachineObject* get_selected_machine();
|
MachineObject* get_selected_machine();
|
||||||
|
|
||||||
/* return machine has access code and user machine if login*/
|
/* return machine has access code and user machine if login*/
|
||||||
|
|
|
@ -2575,7 +2575,7 @@ void SelectMachineDialog::on_selection_changed(wxCommandEvent &event)
|
||||||
if (obj && !obj->get_lan_mode_connection_state()) {
|
if (obj && !obj->get_lan_mode_connection_state()) {
|
||||||
obj->command_get_version();
|
obj->command_get_version();
|
||||||
obj->command_request_push_all();
|
obj->command_request_push_all();
|
||||||
dev->set_selected_machine(m_printer_last_select);
|
dev->set_selected_machine(m_printer_last_select, true);
|
||||||
// Has changed machine unrecoverably
|
// Has changed machine unrecoverably
|
||||||
GUI::wxGetApp().sidebar().load_ams_list(obj->dev_id, obj->amsList);
|
GUI::wxGetApp().sidebar().load_ams_list(obj->dev_id, obj->amsList);
|
||||||
update_select_layout(obj);
|
update_select_layout(obj);
|
||||||
|
|
Loading…
Reference in New Issue