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();
|
||||
}
|
||||
|
||||
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;
|
||||
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);
|
||||
if (last_selected != my_machine_list.end()) {
|
||||
if (last_selected->second->connection_type() == "lan") {
|
||||
if (last_selected->second->is_connecting())
|
||||
if (last_selected->second->is_connecting() && !need_disconnect)
|
||||
return false;
|
||||
m_agent->disconnect_printer();
|
||||
}
|
||||
|
|
|
@ -816,7 +816,7 @@ public:
|
|||
void erase_user_machine(std::string dev_id);
|
||||
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();
|
||||
|
||||
/* 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()) {
|
||||
obj->command_get_version();
|
||||
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
|
||||
GUI::wxGetApp().sidebar().load_ams_list(obj->dev_id, obj->amsList);
|
||||
update_select_layout(obj);
|
||||
|
|
Loading…
Reference in New Issue