diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 1192455312..d02e630911 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -555,11 +555,18 @@ class CuraApplication(QtApplication): def needToShowUserAgreement(self) -> bool: return self._need_to_show_user_agreement + @pyqtSlot(bool) def setNeedToShowUserAgreement(self, set_value = True) -> None: self._need_to_show_user_agreement = set_value + @pyqtSlot(str, str) + def writeToLog(self, severity: str, message: str) -> None: + Logger.log(severity, message) + # DO NOT call this function to close the application, use checkAndExitApplication() instead which will perform # pre-exit checks such as checking for in-progress USB printing, etc. + # Except for the 'Decline and close' in the 'User Agreement'-step in the Welcome-pages, that should be a hard exit. + @pyqtSlot() def closeApplication(self) -> None: Logger.log("i", "Close application") main_window = self.getMainWindow() diff --git a/plugins/UserAgreement/UserAgreement.py b/plugins/UserAgreement/UserAgreement.py index 4ea1ccf9bb..92d23ce725 100644 --- a/plugins/UserAgreement/UserAgreement.py +++ b/plugins/UserAgreement/UserAgreement.py @@ -24,10 +24,11 @@ class UserAgreement(QObject, Extension): self.showUserAgreement() def showUserAgreement(self): - if not self._user_agreement_window: - self.createUserAgreementWindow() - - self._user_agreement_window.show() + # if not self._user_agreement_window: + # self.createUserAgreementWindow() + # + # self._user_agreement_window.show() + pass @pyqtSlot(bool) def didAgree(self, user_choice): diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 47f712e21a..9d1a3e1201 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -45,7 +45,7 @@ UM.MainWindow WelcomeDialog { id: welcomeDialog - visible: false + visible: CuraApplication.needToShowUserAgreement } Rectangle diff --git a/resources/qml/WelcomePages/UserAgreementContent.qml b/resources/qml/WelcomePages/UserAgreementContent.qml index 871dea4602..82b16ba2ee 100644 --- a/resources/qml/WelcomePages/UserAgreementContent.qml +++ b/resources/qml/WelcomePages/UserAgreementContent.qml @@ -62,7 +62,12 @@ Item text: catalog.i18nc("@button", "Agree") width: 140 fixedWidthMode: true - onClicked: base.showNextPage() + onClicked: + { + CuraApplication.writeToLog("i", "User accepted the User-Agreement.") + CuraApplication.setNeedToShowUserAgreement(false) + base.showNextPage() + } } Cura.SecondaryButton @@ -74,6 +79,11 @@ Item text: catalog.i18nc("@button", "Decline and close") width: 140 fixedWidthMode: true - onClicked: base.showNextPage() // TODO: quit + onClicked: + { + CuraApplication.writeToLog("i", "User declined the User Agreement.") + base.passLastPage() + CuraApplication.closeApplication() // NOTE: Hard exit, don't use if anything needs to be saved! + } } }