Fix Windows single-instance file handoff
On Windows, opening a model file while OrcaSlicer is already running could
fail when single-instance mode was enabled.
The second launch correctly detected that another instance already existed,
but it could no longer find the running main window to forward the file-open
request. As a result, the new process exited and the file was dropped.
This happened because the existing-instance lookup depended on the native
window title containing "OrcaSlicer". After the titlebar change from #12706,
the title may contain only the project name, so the running instance was no
longer discoverable that way.
Fix this by identifying the existing main window through stable window
properties instead of title text:
- require the expected wxWidgets window class
- require the instance hash properties to exist
- match against the current instance hash
This restores forwarding of externally opened files to the already-running
instance without depending on the current titlebar text.
* 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
* register prusaslicer:// on user request only
* fix build error
* fix single instance problem
* format
* add orcalicer:// handler for Mac
Attempt to add Linux support but seems not working
---------
Co-authored-by: Ocraftyone <Ocraftyone@users.noreply.github.com>