diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 73fc8745d..a77227e83 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -4556,6 +4556,26 @@ void GUI_App::update_mode() plater()->canvas3D()->update_gizmos_on_off_state(); } +void GUI_App::show_ip_address_enter_dialog() +{ + DeviceManager* dev = Slic3r::GUI::wxGetApp().getDeviceManager(); + if (!dev) return; + if (!dev->get_selected_machine()) return; + auto obj = dev->get_selected_machine(); + InputIpAddressDialog dlg(nullptr, from_u8(dev->get_selected_machine()->dev_name)); + dlg.Bind(EVT_ENTER_IP_ADDRESS, [this, obj](wxCommandEvent& e) { + auto ip_address = e.GetString(); + BOOST_LOG_TRIVIAL(info) << "User enter IP address is " << ip_address; + if (!ip_address.empty()) { + wxGetApp().app_config->set_str("ip_address", obj->dev_id, ip_address.ToStdString()); + wxGetApp().app_config->save(); + obj->dev_ip = ip_address.ToStdString(); + } + + }); + dlg.ShowModal(); +} + //void GUI_App::add_config_menu(wxMenuBar *menu) //void GUI_App::add_config_menu(wxMenu *menu) //{ diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index a080f9d78..d50ee42b4 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -437,6 +437,7 @@ public: ConfigOptionMode get_mode(); void save_mode(const /*ConfigOptionMode*/int mode) ; void update_mode(); + void show_ip_address_enter_dialog(); // BBS //void add_config_menu(wxMenuBar *menu); diff --git a/src/slic3r/GUI/SendToPrinter.cpp b/src/slic3r/GUI/SendToPrinter.cpp index fa2f058cf..351eb2868 100644 --- a/src/slic3r/GUI/SendToPrinter.cpp +++ b/src/slic3r/GUI/SendToPrinter.cpp @@ -674,19 +674,7 @@ void SendToPrinterDialog::clear_ip_address_config(wxCommandEvent& e) auto obj = dev->get_selected_machine(); Slic3r::GUI::wxGetApp().app_config->set_str("ip_address", obj->dev_id, ""); Slic3r::GUI::wxGetApp().app_config->save(); - - InputIpAddressDialog dlg(this, from_u8(dev->get_selected_machine()->dev_name)); - dlg.Bind(EVT_ENTER_IP_ADDRESS, [this, obj](wxCommandEvent& e) { - auto ip_address = e.GetString(); - BOOST_LOG_TRIVIAL(info) << "User enter IP address is " << ip_address; - if (!ip_address.empty()) { - wxGetApp().app_config->set_str("ip_address", obj->dev_id, ip_address.ToStdString()); - wxGetApp().app_config->save(); - obj->dev_ip = ip_address.ToStdString(); - } - - }); - dlg.ShowModal(); + wxGetApp().show_ip_address_enter_dialog(); } void SendToPrinterDialog::update_user_machine_list() @@ -876,18 +864,7 @@ void SendToPrinterDialog::on_selection_changed(wxCommandEvent &event) std::string app_config_dev_ip = Slic3r::GUI::wxGetApp().app_config->get("ip_address", obj->dev_id); if (app_config_dev_ip.empty()) { - InputIpAddressDialog dlg(this, from_u8(obj->dev_name)); - dlg.Bind(EVT_ENTER_IP_ADDRESS, [this, obj, app_config_dev_ip](wxCommandEvent& e) { - auto ip_address = e.GetString(); - BOOST_LOG_TRIVIAL(info) << "User enter IP address is "<< ip_address; - if (!ip_address.empty()) { - wxGetApp().app_config->set_str("ip_address", obj->dev_id, ip_address.ToStdString()); - wxGetApp().app_config->save(); - obj->dev_ip = ip_address.ToStdString(); - } - - }); - dlg.ShowModal(); + wxGetApp().show_ip_address_enter_dialog(); } else { obj->dev_ip = app_config_dev_ip;