Merge branch 'main' into feature/zaa-contouring

This commit is contained in:
SoftFever
2026-02-10 22:34:27 +08:00
committed by GitHub
5 changed files with 43 additions and 47 deletions

View File

@@ -736,7 +736,7 @@ else()
set(_opengl_link_lib OpenGL::GL) set(_opengl_link_lib OpenGL::GL)
endif() endif()
target_link_libraries(libslic3r_gui libslic3r cereal::cereal imgui imguizmo minilzo libvgcode md4c-html GLEW::GLEW OpenGL::GL hidapi ${wxWidgets_LIBRARIES} glfw libcurl OpenSSL::SSL OpenSSL::Crypto noise::noise) target_link_libraries(libslic3r_gui libslic3r cereal::cereal imgui imguizmo minilzo libvgcode GLEW::GLEW OpenGL::GL hidapi ${wxWidgets_LIBRARIES} glfw libcurl OpenSSL::SSL OpenSSL::Crypto noise::noise)
if (MSVC) if (MSVC)

View File

@@ -7308,6 +7308,7 @@ void GLCanvas3D::_rectangular_selection_picking_pass()
rect_near_top = rect_near_bottom + ratio_y; rect_near_top = rect_near_bottom + ratio_y;
framebuffer_camera.look_at(camera->get_position(), camera->get_target(), camera->get_dir_up()); framebuffer_camera.look_at(camera->get_position(), camera->get_target(), camera->get_dir_up());
framebuffer_camera.set_type(camera->get_type());
framebuffer_camera.apply_projection(rect_near_left, rect_near_right, rect_near_bottom, rect_near_top, camera->get_near_z(), camera->get_far_z()); framebuffer_camera.apply_projection(rect_near_left, rect_near_right, rect_near_bottom, rect_near_top, camera->get_near_z(), camera->get_far_z());
framebuffer_camera.set_viewport(0, 0, width, height); framebuffer_camera.set_viewport(0, 0, width, height);
framebuffer_camera.apply_viewport(); framebuffer_camera.apply_viewport();

View File

@@ -5450,7 +5450,7 @@ void GUI_App::check_new_version_sf(bool show_tips, int by_user)
} }
version_info.url = prefer_release ? best_release_url : best_pre_url; version_info.url = prefer_release ? best_release_url : best_pre_url;
version_info.version_str = prefer_release ? best_release.to_string_sf() : best_pre.to_string_sf(); version_info.version_str = prefer_release ? best_release.to_string_sf() : best_pre.to_string();
version_info.description = prefer_release ? best_release_content : best_pre_content; version_info.description = prefer_release ? best_release_content : best_pre_content;
version_info.force_upgrade = false; version_info.force_upgrade = false;

View File

@@ -27,7 +27,6 @@
#include "DeviceCore/DevManager.h" #include "DeviceCore/DevManager.h"
#include "DeviceCore/DevStorage.h" #include "DeviceCore/DevStorage.h"
#include "md4c/src/md4c-html.h"
namespace Slic3r { namespace GUI { namespace Slic3r { namespace GUI {
@@ -269,31 +268,32 @@ UpdateVersionDialog::UpdateVersionDialog(wxWindow *parent)
//webview //webview
m_vebview_release_note = CreateTipView(m_simplebook_release_note); m_vebview_release_note = CreateTipView(m_simplebook_release_note);
m_vebview_release_note->SetBackgroundColour(wxColour(0xF8, 0xF8, 0xF8));
m_vebview_release_note->SetSize(wxSize(FromDIP(560), FromDIP(430))); m_vebview_release_note->SetSize(wxSize(FromDIP(560), FromDIP(430)));
m_vebview_release_note->SetMinSize(wxSize(FromDIP(560), FromDIP(430))); m_vebview_release_note->SetMinSize(wxSize(FromDIP(560), FromDIP(430)));
//m_vebview_release_note->SetMaxSize(wxSize(FromDIP(560), FromDIP(430))); //m_vebview_release_note->SetMaxSize(wxSize(FromDIP(560), FromDIP(430)));
m_vebview_release_note->Bind(wxEVT_WEBVIEW_NAVIGATING,[=](wxWebViewEvent& event){
m_vebview_release_note->Bind(wxEVT_WEBVIEW_NAVIGATING,[=, count = 0](wxWebViewEvent& event) mutable { static bool load_url_first = false;
count++; if(load_url_first){
if (count == 1) { // Orca: not used in Orca Slicer
m_vebview_release_note->SetPage(wxString::FromUTF8(html_source), ""); // wxLaunchDefaultBrowser(url_line);
} else if (count >= 3) {
// Launch the default browser for links clicked by the user
wxLaunchDefaultBrowser(event.GetURL());
event.Veto(); event.Veto();
}else{
load_url_first = true;
} }
}); });
// fs::path ph(data_dir()); fs::path ph(data_dir());
// ph /= "resources/tooltip/releasenote.html"; ph /= "resources/tooltip/releasenote.html";
// if (!fs::exists(ph)) { if (!fs::exists(ph)) {
// ph = resources_dir(); ph = resources_dir();
// ph /= "tooltip/releasenote.html"; ph /= "tooltip/releasenote.html";
// } }
// auto url = ph.string(); auto url = ph.string();
// std::replace(url.begin(), url.end(), '\\', '/'); std::replace(url.begin(), url.end(), '\\', '/');
// url = "file:///" + url; url = "file:///" + url;
// m_vebview_release_note->LoadURL(from_u8(url)); m_vebview_release_note->LoadURL(from_u8(url));
m_simplebook_release_note->AddPage(m_scrollwindows_release_note, wxEmptyString, false); m_simplebook_release_note->AddPage(m_scrollwindows_release_note, wxEmptyString, false);
m_simplebook_release_note->AddPage(m_vebview_release_note, wxEmptyString, false); m_simplebook_release_note->AddPage(m_vebview_release_note, wxEmptyString, false);
@@ -470,31 +470,27 @@ void UpdateVersionDialog::update_version_info(wxString release_note, wxString ve
// } // }
// } // }
// if (use_web_link) { if (use_web_link) {
// m_brand->Hide(); m_brand->Hide();
// m_text_up_info->Hide(); m_text_up_info->Hide();
// m_simplebook_release_note->SetSelection(1); m_simplebook_release_note->SetSelection(1);
// m_vebview_release_note->LoadURL(from_u8(url_line)); m_vebview_release_note->LoadURL(from_u8(url_line));
// } }
// else { else {
m_simplebook_release_note->SetMaxSize(wxSize(FromDIP(560), FromDIP(430))); m_simplebook_release_note->SetMaxSize(wxSize(FromDIP(560), FromDIP(430)));
m_simplebook_release_note->SetSelection(1); m_simplebook_release_note->SetSelection(0);
m_text_up_info->SetLabel(wxString::Format(_L("Click to download new version in default browser: %s"), version)); m_text_up_info->SetLabel(wxString::Format(_L("Click to download new version in default browser: %s"), version));
auto data_buf_in = release_note.utf8_str(); wxBoxSizer* sizer_text_release_note = new wxBoxSizer(wxVERTICAL);
auto bg_color = StateColor::darkModeColorFor(*wxWHITE).GetAsString(); auto m_staticText_release_note = new ::Label(m_scrollwindows_release_note, release_note, LB_AUTO_WRAP);
auto fg_color = StateColor::darkModeColorFor(*wxBLACK).GetAsString(); m_staticText_release_note->SetMinSize(wxSize(FromDIP(560), -1));
html_source = (boost::format("<html><head><style>body { color: %1%; background-color: %2%; } a { color: #1E90FF }</style></head><body>") m_staticText_release_note->SetMaxSize(wxSize(FromDIP(560), -1));
% fg_color % bg_color).str(); sizer_text_release_note->Add(m_staticText_release_note, 0, wxALL, 5);
md_html(data_buf_in.data(), data_buf_in.length(), [](const MD_CHAR* text, MD_SIZE size, void* userdata) { m_scrollwindows_release_note->SetSizer(sizer_text_release_note);
std::string* out_buf = (std::string*)userdata; m_scrollwindows_release_note->Layout();
out_buf->append(text, size); m_scrollwindows_release_note->Fit();
}, (void*) &html_source, MD_DIALECT_GITHUB | MD_FLAG_STRIKETHROUGH | MD_FLAG_WIKILINKS, 0); SetMinSize(GetSize());
html_source.append("</body></html>"); SetMaxSize(GetSize());
m_vebview_release_note->LoadURL("file://" + (boost::filesystem::path (resources_dir()) / "web/guide/0/index.html").string()); }
SetMinSize(GetSize());
SetMaxSize(GetSize());
// }
wxGetApp().UpdateDlgDarkUI(this); wxGetApp().UpdateDlgDarkUI(this);
Layout(); Layout();

View File

@@ -107,7 +107,6 @@ public:
Button* m_button_download; Button* m_button_download;
Button* m_button_cancel; Button* m_button_cancel;
std::string url_line; std::string url_line;
std::string html_source;
}; };
class SecondaryCheckDialog : public DPIFrame class SecondaryCheckDialog : public DPIFrame