From d4a794e42a647314b25e1221896b652cfdb43ba4 Mon Sep 17 00:00:00 2001 From: David Kocik Date: Tue, 16 Apr 2024 13:09:13 +0200 Subject: [PATCH] Show error page in webviewPanel --- src/slic3r/GUI/WebViewDialog.cpp | 21 ++++++++++++--------- src/slic3r/GUI/WebViewDialog.hpp | 4 +++- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/slic3r/GUI/WebViewDialog.cpp b/src/slic3r/GUI/WebViewDialog.cpp index 51bdf38fdc..01979db1eb 100644 --- a/src/slic3r/GUI/WebViewDialog.cpp +++ b/src/slic3r/GUI/WebViewDialog.cpp @@ -159,7 +159,11 @@ void WebViewPanel::load_default_url_delayed() void WebViewPanel::load_error_page() { - load_url(GUI::format_wxstr("file://%1%/web/connection_failed.html", boost::filesystem::path(resources_dir()).generic_string())); + if (!m_browser) + return; + + m_browser->Stop(); + m_load_error_page = true; } void WebViewPanel::on_show(wxShowEvent& evt) @@ -168,18 +172,22 @@ void WebViewPanel::on_show(wxShowEvent& evt) m_load_default_url = false; load_url(m_default_url); } - // TODO: add check that any url was loaded } void WebViewPanel::on_idle(wxIdleEvent& WXUNUSED(evt)) { if (!m_browser) return; - if (m_browser->IsBusy()) + if (m_browser->IsBusy()) { wxSetCursor(wxCURSOR_ARROWWAIT); - else + } else { wxSetCursor(wxNullCursor); + if (m_load_error_page) { + m_load_error_page = false; + load_url(GUI::format_wxstr("file://%1%/web/connection_failed.html", boost::filesystem::path(resources_dir()).generic_string())); + } + } #ifdef DEBUG_URL_PANEL m_button_stop->Enable(m_browser->IsBusy()); #endif @@ -238,20 +246,15 @@ void WebViewPanel::on_reload_button(wxCommandEvent& WXUNUSED(evt)) m_browser->Reload(); } - - void WebViewPanel::on_close(wxCloseEvent& evt) { this->Hide(); } - void WebViewPanel::on_script_message(wxWebViewEvent& evt) { } - - /** * Invoked when user selects the "View Source" menu item */ diff --git a/src/slic3r/GUI/WebViewDialog.hpp b/src/slic3r/GUI/WebViewDialog.hpp index 7e123f5e59..0011ec9de0 100644 --- a/src/slic3r/GUI/WebViewDialog.hpp +++ b/src/slic3r/GUI/WebViewDialog.hpp @@ -85,7 +85,9 @@ protected: std::string m_loading_html; //DECLARE_EVENT_TABLE() -}; + + bool m_load_error_page { false }; +}; class ConnectRequestHandler {