diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 1e12d94fa..736bdb64b 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -3059,12 +3059,15 @@ void GLCanvas3D::on_char(wxKeyEvent& evt) case WXK_BACK: { post_event(SimpleEvent(EVT_GLTOOLBAR_DELETE)); break; } #endif case WXK_ESCAPE: { deselect_all(); break; } - //case WXK_F5: { - // if ((wxGetApp().is_editor() && !wxGetApp().plater()->model().objects.empty()) || - // (wxGetApp().is_gcode_viewer() && !wxGetApp().plater()->get_last_loaded_gcode().empty())) - // post_event(SimpleEvent(EVT_GLCANVAS_RELOAD_FROM_DISK)); - // break; - //} + case WXK_F5: { + if (wxGetApp().mainframe->is_printer_view()) + wxGetApp().mainframe->load_printer_url(); + + //if ((wxGetApp().is_editor() && !wxGetApp().plater()->model().objects.empty()) || + // (wxGetApp().is_gcode_viewer() && !wxGetApp().plater()->get_last_loaded_gcode().empty())) + // post_event(SimpleEvent(EVT_GLCANVAS_RELOAD_FROM_DISK)); + break; + } // BBS: use keypad to change extruder case '1': diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 94121fa6a..6d49ab588 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -3240,6 +3240,27 @@ void MainFrame::load_printer_url(wxString url) evt->SetString(url); wxQueueEvent(this, evt); } + +void MainFrame::load_printer_url() +{ + PresetBundle &preset_bundle = *wxGetApp().preset_bundle; + if (preset_bundle.printers.get_edited_preset().is_bbl_vendor_preset(&preset_bundle)) + return; + + auto cfg = preset_bundle.printers.get_edited_preset().config; + wxString url = + cfg.opt_string("print_host_webui").empty() ? cfg.opt_string("print_host") : cfg.opt_string("print_host_webui"); + if (!url.empty()) { + if (!url.Lower().starts_with("http")) + url = wxString::Format("http://%s", url); + + load_printer_url(url); + } +} + +bool MainFrame::is_printer_view() const { return m_tabpanel->GetSelection() == TabPosition::tpMonitor; } + + void MainFrame::refresh_plugin_tips() { if (m_webview != nullptr) diff --git a/src/slic3r/GUI/MainFrame.hpp b/src/slic3r/GUI/MainFrame.hpp index 046849a7b..59c8c7f35 100644 --- a/src/slic3r/GUI/MainFrame.hpp +++ b/src/slic3r/GUI/MainFrame.hpp @@ -325,6 +325,8 @@ public: //BBS void load_url(wxString url); void load_printer_url(wxString url); + void load_printer_url(); + bool is_printer_view() const; void refresh_plugin_tips(); void RunScript(wxString js);