support downloading from makerworld on Mac by default. (#6867)

handle bambustudioopen on Mac by default
This commit is contained in:
SoftFever 2024-09-22 16:49:14 +08:00 committed by GitHub
parent 99d4d0957a
commit 96effc179b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 14 additions and 3 deletions

View file

@ -145,9 +145,10 @@ void Downloader::start_download(const std::string& full_url)
// Orca: Replace PS workaround for "mysterious slash" with a more dynamic approach
// Windows seems to have fixed the issue and this provides backwards compatability for those it still affects
boost::regex re(R"(^(orcaslicer|prusaslicer|bambustudio|cura):\/\/open[\/]?\?file=)", boost::regbase::icase);
boost::regex re2(R"(^(bambustudioopen):\/\/)", boost::regex::icase);
boost::smatch results;
if (!boost::regex_search(full_url, results, re)) {
if (!boost::regex_search(full_url, results, re) && !boost::regex_search(full_url, results, re2)) {
BOOST_LOG_TRIVIAL(error) << "Could not start download due to wrong URL: " << full_url;
// Orca: show error
NotificationManager* ntf_mngr = wxGetApp().notification_manager();

View file

@ -502,6 +502,7 @@ void OtherInstanceMessageHandler::handle_message(const std::string& message)
std::vector<boost::filesystem::path> paths;
std::vector<std::string> downloads;
boost::regex re(R"(^(orcaslicer|prusaslicer|cura|bambustudio):\/\/open[\/]?\?file=)", boost::regbase::icase);
boost::regex re2(R"(^(bambustudioopen):\/\/)", boost::regex::icase);
boost::smatch results;
// Skip the first argument, it is the path to the slicer executable.
@ -510,7 +511,7 @@ void OtherInstanceMessageHandler::handle_message(const std::string& message)
boost::filesystem::path p = MessageHandlerInternal::get_path(*it);
if (! p.string().empty())
paths.emplace_back(p);
else if (boost::regex_search(*it, results, re))
else if (boost::regex_search(*it, results, re) || boost::regex_search(*it, results, re2))
downloads.emplace_back(*it);
}
if (! paths.empty()) {