mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-16 03:07:55 -06:00
ENH: Open Prinables.com Links and Zip Archives (#3823)
* Enable ability to open `prusaslicer://` links * Add needed function to miniz * Import Zip Functionality Allows zip file to be drag and dropped or imported via the menu option Based on prusa3d/PrusaSlicer@ce38e57 and current master branch files * Update dialog style to match Orca * Ensure link is from printables * add toggle option in preferences doesn't actually control anything yet * Add Downloader classes As-is from PS master * Create Orca Styled Variant of Icons * Add Icons to ImGui * Use PS's Downloader impl for `prusaslicer://` links * Implement URL Registering on Windows * Implement prusaslicer:// link on macOS * Remove unnecessary class name qualifier in Plater.hpp * Add downloader desktop integration registration and undo * Revert Info.plist --------- Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
parent
0dbf610226
commit
a764d836e1
39 changed files with 3109 additions and 41 deletions
|
@ -74,6 +74,7 @@ class ObjectLayers;
|
|||
class Plater;
|
||||
class ParamsPanel;
|
||||
class NotificationManager;
|
||||
class Downloader;
|
||||
struct GUI_InitParams;
|
||||
class ParamsDialog;
|
||||
class HMSQuery;
|
||||
|
@ -90,6 +91,7 @@ enum FileType
|
|||
FT_3MF,
|
||||
FT_GCODE,
|
||||
FT_MODEL,
|
||||
FT_ZIP,
|
||||
FT_PROJECT,
|
||||
FT_GALLERY,
|
||||
|
||||
|
@ -275,6 +277,8 @@ private:
|
|||
std::string m_instance_hash_string;
|
||||
size_t m_instance_hash_int;
|
||||
|
||||
std::unique_ptr<Downloader> m_downloader;
|
||||
|
||||
//BBS
|
||||
bool m_is_closing {false};
|
||||
Slic3r::DeviceManager* m_device_manager { nullptr };
|
||||
|
@ -423,6 +427,7 @@ private:
|
|||
void keyboard_shortcuts();
|
||||
void load_project(wxWindow *parent, wxString& input_file) const;
|
||||
void import_model(wxWindow *parent, wxArrayString& input_files) const;
|
||||
void import_zip(wxWindow* parent, wxString& input_file) const;
|
||||
void load_gcode(wxWindow* parent, wxString& input_file) const;
|
||||
|
||||
wxString transition_tridid(int trid_id);
|
||||
|
@ -559,6 +564,7 @@ private:
|
|||
ParamsDialog* params_dialog();
|
||||
Model& model();
|
||||
NotificationManager * notification_manager();
|
||||
Downloader* downloader();
|
||||
|
||||
|
||||
std::string m_mall_model_download_url;
|
||||
|
@ -644,7 +650,13 @@ private:
|
|||
// extend is stl/3mf/gcode/step etc
|
||||
void associate_files(std::wstring extend);
|
||||
void disassociate_files(std::wstring extend);
|
||||
void associate_url(std::wstring url_prefix);
|
||||
void disassociate_url(std::wstring url_prefix);
|
||||
#endif // __WXMSW__
|
||||
|
||||
// URL download - PrusaSlicer gets system call to open prusaslicer:// URL which should contain address of download
|
||||
void start_download(std::string url);
|
||||
|
||||
std::string get_plugin_url(std::string name, std::string country_code);
|
||||
int download_plugin(std::string name, std::string package_name, InstallProgressFn pro_fn = nullptr, WasCancelledFn cancel_fn = nullptr);
|
||||
int install_plugin(std::string name, std::string package_name, InstallProgressFn pro_fn = nullptr, WasCancelledFn cancel_fn = nullptr);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue