diff --git a/novelwriter/dialogs/preferences.py b/novelwriter/dialogs/preferences.py index f700a267..64e43d19 100644 --- a/novelwriter/dialogs/preferences.py +++ b/novelwriter/dialogs/preferences.py @@ -271,10 +271,10 @@ class GuiPreferences(NDialog): self.tr("Include project notes in status bar word count"), self.incNotesWCount ) - # Auto Save + # Behaviour # ========= - title = self.tr("Auto Save") + title = self.tr("Behaviour") section += 1 self.sidebar.addButton(title, section) self.mainForm.addGroupLabel(title, section) @@ -301,6 +301,13 @@ class GuiPreferences(NDialog): self.tr("How often the project is automatically saved."), unit=self.tr("seconds") ) + # Ask before exiting novelWriter + self.askBeforeExit = NSwitch(self) + self.askBeforeExit.setChecked(CONFIG.askBeforeExit) + self.mainForm.addRow( + self.tr("Ask before exiting novelWriter"), self.askBeforeExit + ) + # Project Backup # ============== @@ -927,9 +934,10 @@ class GuiPreferences(NDialog): CONFIG.incNotesWCount = self.incNotesWCount.isChecked() CONFIG.setTextFont(self._textFont) - # Auto Save - CONFIG.autoSaveDoc = self.autoSaveDoc.value() - CONFIG.autoSaveProj = self.autoSaveProj.value() + # Behaviour + CONFIG.autoSaveDoc = self.autoSaveDoc.value() + CONFIG.autoSaveProj = self.autoSaveProj.value() + CONFIG.askBeforeExit = self.askBeforeExit.isChecked() # Project Backup CONFIG.setBackupPath(self.backupPath) diff --git a/tests/test_dialogs/test_dlg_preferences.py b/tests/test_dialogs/test_dlg_preferences.py index df0a0ff8..9bb081db 100644 --- a/tests/test_dialogs/test_dlg_preferences.py +++ b/tests/test_dialogs/test_dlg_preferences.py @@ -182,12 +182,14 @@ def testDlgPreferences_Settings(qtbot, monkeypatch, nwGUI, tstPaths): assert CONFIG.showFullPath is True assert CONFIG.incNotesWCount is True - # Auto Save + # Behaviour prefs.autoSaveDoc.stepUp() prefs.autoSaveProj.stepUp() + prefs.askBeforeExit.setChecked(False) assert CONFIG.autoSaveDoc == 30 assert CONFIG.autoSaveProj == 60 + assert CONFIG.askBeforeExit is True # Project Backup with monkeypatch.context() as mp: @@ -333,9 +335,10 @@ def testDlgPreferences_Settings(qtbot, monkeypatch, nwGUI, tstPaths): assert CONFIG.showFullPath is False assert CONFIG.incNotesWCount is False - # Auto Save + # Behaviour assert CONFIG.autoSaveDoc == 31 assert CONFIG.autoSaveProj == 61 + assert CONFIG.askBeforeExit is False # Project Backup assert CONFIG._backupPath == tstPaths.testDir