From 075565f4f44cbd89ed7cebd4d8dac2ac2c905a7a Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Tue, 1 Apr 2025 22:38:38 +0800 Subject: [PATCH] Do not loade web page until switching to device page (#9031) * Do not loade web page until switching to device page --- src/slic3r/GUI/PrinterWebView.cpp | 18 ++++++++++++++++-- src/slic3r/GUI/PrinterWebView.hpp | 5 +++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/PrinterWebView.cpp b/src/slic3r/GUI/PrinterWebView.cpp index 35870df65b..86d89e1192 100644 --- a/src/slic3r/GUI/PrinterWebView.cpp +++ b/src/slic3r/GUI/PrinterWebView.cpp @@ -77,12 +77,26 @@ void PrinterWebView::load_url(wxString& url, wxString apikey) return; m_apikey = apikey; m_apikey_sent = false; - - m_browser->LoadURL(url); + + if (this->IsShown()) { + m_url_deferred = *wxEmptyString; + m_browser->LoadURL(url); + } else { + m_url_deferred = url; + } //m_browser->SetFocus(); UpdateState(); } +bool PrinterWebView::Show(bool show) +{ + if (show && !m_url_deferred.empty()) { + m_browser->LoadURL(m_url_deferred); + m_url_deferred = *wxEmptyString; + } + return wxPanel::Show(show); +} + void PrinterWebView::reload() { m_browser->Reload(); diff --git a/src/slic3r/GUI/PrinterWebView.hpp b/src/slic3r/GUI/PrinterWebView.hpp index 4b2702a4c8..887091dde3 100644 --- a/src/slic3r/GUI/PrinterWebView.hpp +++ b/src/slic3r/GUI/PrinterWebView.hpp @@ -43,6 +43,9 @@ public: void OnLoaded(wxWebViewEvent& evt); void reload(); void update_mode(); + + bool Show(bool show = true) override; + private: void SendAPIKey(); @@ -51,6 +54,8 @@ private: wxString m_apikey; bool m_apikey_sent; + wxString m_url_deferred; + // DECLARE_EVENT_TABLE() };