mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-08-03 00:02:14 +00:00
Merge remote-tracking branch 'upstream/main' into dev/extruder-toggle-wip
# Conflicts: # src/libslic3r/GCode.cpp
This commit is contained in:
@@ -940,6 +940,33 @@ void GUI_App::post_init()
|
||||
});
|
||||
}
|
||||
|
||||
// Orca: notify users upgrading from a pre-2.4.0 version that profile syncing
|
||||
// moved from Bambu Cloud to Orca Cloud.
|
||||
if (is_editor() && m_last_config_version && m_last_config_version->valid()
|
||||
&& *m_last_config_version < Semver(2, 4, 0)) {
|
||||
CallAfter([] {
|
||||
const wxString wiki_url = "https://www.orcaslicer.com/wiki/user_profiles/user_profiles.html#profiles-missing-after-updating-from-bambu-cloud";
|
||||
MessageDialog dlg(nullptr,
|
||||
_L("Since version 2.4.0, OrcaSlicer syncs user profiles through Orca Cloud instead of Bambu Cloud.\n\n"
|
||||
"To migrate your existing profiles, log in to Orca Cloud and they will be transferred automatically. "
|
||||
"If any profiles are still missing afterwards, follow the guide in our wiki to restore them.\n\n"
|
||||
"If you did not use Bambu Cloud to sync profiles, this change does not affect you and you can safely ignore this message."),
|
||||
_L("Profile syncing change"),
|
||||
wxOK,
|
||||
"",
|
||||
_L("Learn more"),
|
||||
[wiki_url](const wxString &) { wxLaunchDefaultBrowser(wiki_url); });
|
||||
// Hack: the "Learn more" link renders the message in a wxHtmlWindow whose
|
||||
// height is underestimated for multi-paragraph text, leaving a scrollbar.
|
||||
// The html sits in a proportion-1 sizer chain, so grow the dialog (never
|
||||
// shrink it below its content width) to give the text enough room.
|
||||
const wxSize sz = dlg.GetSize();
|
||||
dlg.SetSize(std::max(sz.x, dlg.FromDIP(280)), std::max(sz.y, dlg.FromDIP(200)));
|
||||
dlg.CenterOnParent();
|
||||
dlg.ShowModal();
|
||||
});
|
||||
}
|
||||
|
||||
if(!m_networking_need_update && m_agent) {
|
||||
m_agent->set_on_ssdp_msg_fn(
|
||||
[this](std::string json_str) {
|
||||
@@ -2772,8 +2799,9 @@ bool GUI_App::on_init_inner()
|
||||
}
|
||||
}
|
||||
|
||||
if(app_config->get("version") != SLIC3R_VERSION) {
|
||||
app_config->set("version", SLIC3R_VERSION);
|
||||
//Orca: write OrcaSlicer version
|
||||
if(app_config->get("version") != SoftFever_VERSION) {
|
||||
app_config->set("version", SoftFever_VERSION);
|
||||
}
|
||||
|
||||
// Orca: use wxWeakRef to provent wild pointer.
|
||||
|
||||
@@ -1506,7 +1506,7 @@ FlowRateCalibrationDialog::FlowRateCalibrationDialog(wxWindow* parent, wxWindowI
|
||||
auto dlg_btns = new DialogButtons(this, {"OK"});
|
||||
|
||||
auto bottom_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/calibration/flow-ratio-calib");
|
||||
auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/flow_ratio_calib");
|
||||
bottom_sizer->Add(wiki, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(20));
|
||||
bottom_sizer->AddStretchSpacer();
|
||||
bottom_sizer->Add(dlg_btns, 0, wxEXPAND);
|
||||
|
||||
@@ -414,11 +414,19 @@ bool CrealityPrint::start_print(wxString &msg, const std::string &filename, cons
|
||||
};
|
||||
ws.write(net::buffer(to_string(cmd)));
|
||||
|
||||
// K1-family firmware closes the WebSocket right after accepting the
|
||||
// start command, so a blocking read here surfaces a benign
|
||||
// "End of file [asio.misc:2]" even though the print already started
|
||||
// (the command is delivered by write()). Read best-effort, ignore errors.
|
||||
beast::flat_buffer buffer;
|
||||
ws.read(buffer);
|
||||
beast::error_code read_ec;
|
||||
ws.read(buffer, read_ec);
|
||||
}
|
||||
|
||||
ws.close(websocket::close_code::normal);
|
||||
// Same reason: the printer may have already closed the connection. A close
|
||||
// error here is not a failure — the start command was sent above.
|
||||
beast::error_code close_ec;
|
||||
ws.close(websocket::close_code::normal, close_ec);
|
||||
return true;
|
||||
} catch(std::exception const& e) {
|
||||
BOOST_LOG_TRIVIAL(error) << "CrealityPrint: Error starting print: " << e.what();
|
||||
|
||||
Reference in New Issue
Block a user