Update wizard custom page functionality (#1201)

This commit is contained in:
Veronica Berglyd Olsen
2022-10-20 23:10:18 +02:00
committed by GitHub
2 changed files with 31 additions and 4 deletions
+23 -4
View File
@@ -334,13 +334,18 @@ class ProjWizardCustomPage(QWizardPage):
# Root Folders
self.addPlot = QSwitch()
self.addChar = QSwitch()
self.addWorld = QSwitch()
self.addNotes = QSwitch()
self.addPlot.setChecked(True)
self.addPlot.clicked.connect(self._syncSwitches)
self.addChar = QSwitch()
self.addChar.setChecked(True)
self.addChar.clicked.connect(self._syncSwitches)
self.addWorld = QSwitch()
self.addWorld.setChecked(False)
self.addWorld.clicked.connect(self._syncSwitches)
self.addNotes = QSwitch()
self.addNotes.setChecked(False)
# Generate Content
@@ -391,6 +396,20 @@ class ProjWizardCustomPage(QWizardPage):
return
##
# Internal Functions
##
def _syncSwitches(self):
"""Check if the add notes option should also be switched off.
"""
addPlot = self.addPlot.isChecked()
addChar = self.addChar.isChecked()
addWorld = self.addWorld.isChecked()
if not (addPlot or addChar or addWorld):
self.addNotes.setChecked(False)
return
# END Class ProjWizardCustomPage
@@ -202,6 +202,14 @@ def testToolProjectWizard_Run(qtbot, monkeypatch, nwGUI, fncDir, prjType):
assert isinstance(customPage, ProjWizardCustomPage)
assert nwWiz.button(QWizard.NextButton).isEnabled()
# Make sure the fourth option is also turned off
customPage.addPlot.setChecked(False)
customPage.addChar.setChecked(False)
customPage.addWorld.setChecked(False)
customPage._syncSwitches()
assert not customPage.addNotes.isChecked()
# Switch everything back on again
customPage.addPlot.setChecked(True)
customPage.addChar.setChecked(True)
customPage.addWorld.setChecked(True)