diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 9d53fa2c1f..26b3e9c3f7 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -308,6 +308,9 @@ class CuraApplication(QtApplication): super().initialize() + self._preferences.addPreference("cura/single_instance", False) + self._use_single_instance = self._preferences.getValue("cura/single_instance") + self.__sendCommandToSingleInstance() self._initializeSettingDefinitions() self._initializeSettingFunctions() diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index caf01b518c..e8de1b8fbe 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -72,6 +72,9 @@ UM.PreferencesPage var defaultTheme = UM.Preferences.getValue("general/theme") setDefaultTheme(defaultTheme) + UM.Preferences.resetPreference("cura/single_instance") + scaleToFitCheckbox.checked = boolCheck(UM.Preferences.getValue("cura/single_instance")) + UM.Preferences.resetPreference("physics/automatic_push_free") pushFreeCheckbox.checked = boolCheck(UM.Preferences.getValue("physics/automatic_push_free")) UM.Preferences.resetPreference("physics/automatic_drop_down") @@ -560,6 +563,21 @@ UM.PreferencesPage text: catalog.i18nc("@label","Opening and saving files") } + UM.TooltipArea + { + width: childrenRect.width + height: childrenRect.height + text: catalog.i18nc("@info:tooltip","Should opening files from the desktop or external applications open in the same instance of Cura?") + + CheckBox + { + id: singleInstanceCheckbox + text: catalog.i18nc("@option:check","Use a single instance of Cura") + checked: boolCheck(UM.Preferences.getValue("cura/single_instance")) + onCheckedChanged: UM.Preferences.setValue("cura/single_instance", checked) + } + } + UM.TooltipArea { width: childrenRect.width