diff --git a/cura/SingleInstance.py b/cura/SingleInstance.py index 61ab1204fe..2c3e816767 100644 --- a/cura/SingleInstance.py +++ b/cura/SingleInstance.py @@ -92,7 +92,11 @@ class SingleInstance: # Command: Load a model or project file elif command == "open": - self._application.callLater(lambda f = payload["filePath"]: self._application._openFile(f)) + if payload["filePath"].file(): + self._application.callLater(lambda f = payload["filePath"]: self._application._openFile(f)) + if payload["filePath"].url(): + self._application.callLater(lambda f= payload["filepath"]: self._application._openUrl(f)) + # Command: Activate the window and bring it to the top. elif command == "focus": diff --git a/packaging/NSIS/Ultimaker-Cura.nsi.jinja b/packaging/NSIS/Ultimaker-Cura.nsi.jinja index 0a2ce0f517..2106c47312 100644 --- a/packaging/NSIS/Ultimaker-Cura.nsi.jinja +++ b/packaging/NSIS/Ultimaker-Cura.nsi.jinja @@ -156,7 +156,7 @@ WriteRegStr HKCR "slicer" "" "URL:slicer" WriteRegStr HKCR "slicer" "URL Protocol" "" WriteRegStr HKCR "slicer\DefaultIcon" "" "$INSTDIR\${MAIN_APP_EXE},1" WriteRegStr HKCR "slicer\shell" "" "open" -WriteRegStr HKCR "slicer\shell\open\command" "" '"$INSTDIR\${MAIN_APP_EXE}" "%1"' +WriteRegStr HKCR "slicer\shell\open\command" "" '"$INSTDIR\${MAIN_APP_EXE}" --single-instance "%1"' SectionEnd ###################################################################### diff --git a/packaging/msi/UltiMaker-Cura.wxs.jinja b/packaging/msi/UltiMaker-Cura.wxs.jinja index 21f017c813..13c5d2842e 100644 --- a/packaging/msi/UltiMaker-Cura.wxs.jinja +++ b/packaging/msi/UltiMaker-Cura.wxs.jinja @@ -165,7 +165,7 @@ - +