diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 2f73d88481..f6855aecdb 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -38,6 +38,7 @@ from UM.Settings.Validator import Validator from UM.Message import Message from UM.i18n import i18nCatalog from UM.Workspace.WorkspaceReader import WorkspaceReader +import UM.Util from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation from UM.Operations.GroupedOperation import GroupedOperation @@ -548,11 +549,11 @@ class CuraApplication(QtApplication): @pyqtProperty(bool) def needToShowUserAgreement(self) -> bool: - return not self.getPreferences().getValue("general/accepted_user_agreement") + return not UM.Util.parseBool(self.getPreferences().getValue("general/accepted_user_agreement")) @pyqtSlot(bool) - def setNeedToShowUserAgreement(self, set_value = True) -> None: - self.getPreferences().setValue("general/accepted_user_agreement", not set_value) + def setNeedToShowUserAgreement(self, set_value: bool = True) -> None: + self.getPreferences().setValue("general/accepted_user_agreement", str(not set_value)) @pyqtSlot(str, str) def writeToLog(self, severity: str, message: str) -> None: diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 3572d299bb..5a60f552f4 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -74,13 +74,13 @@ UM.MainWindow Cura.Actions.parent = backgroundItem CuraApplication.purgeWindows() - if (CuraApplication.needToShowUserAgreement) + if (CuraApplication.needToShowUserAgreement || Cura.MachineManager.activeMachine == null) { - welcomeDialog.show() + welcomeDialog.visible = true } else { - welcomeDialog.close() + welcomeDialog.visible = false } // TODO: While the new onboarding process contains the user-agreement, // it should probably not entirely rely on 'needToShowUserAgreement' for show/hide.