From ae79139cc46b67949601e8974031d2d13a598c82 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Tue, 11 Aug 2015 16:48:50 +0200 Subject: [PATCH] Handle Open File events on Mac OSX --- cura/CuraApplication.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 180bcb22d2..6e64acc4e6 100644 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -38,7 +38,7 @@ from . import PrintInformation from . import CuraActions from . import MultiMaterialDecorator -from PyQt5.QtCore import pyqtSlot, QUrl, Qt, pyqtSignal, pyqtProperty +from PyQt5.QtCore import pyqtSlot, QUrl, Qt, pyqtSignal, pyqtProperty, QEvent from PyQt5.QtGui import QColor, QIcon import platform @@ -170,12 +170,17 @@ class CuraApplication(QtApplication): self.closeSplash() for file in self.getCommandLineOption("file", []): - job = ReadMeshJob(os.path.abspath(file)) - job.finished.connect(self._onFileLoaded) - job.start() + self._openFile(file) self.exec_() + # Handle Qt events + def event(self, event): + if event.type() == QEvent.FileOpen: + self._openFile(event.file()) + + return super().event(event) + def registerObjects(self, engine): engine.rootContext().setContextProperty("Printer", self) self._print_information = PrintInformation.PrintInformation() @@ -508,3 +513,9 @@ class CuraApplication(QtApplication): def _reloadMeshFinished(self, job): job._node = job.getResult() + + def _openFile(self, file): + job = ReadMeshJob(os.path.abspath(file)) + job.finished.connect(self._onFileLoaded) + job.start() +