diff --git a/novelwriter/core/buildsettings.py b/novelwriter/core/buildsettings.py index 1bd03485..84ee5a1c 100644 --- a/novelwriter/core/buildsettings.py +++ b/novelwriter/core/buildsettings.py @@ -56,13 +56,13 @@ SETTINGS_TEMPLATE = { "headings.fmtChapter": (str, nwHeadFmt.TITLE), "headings.fmtUnnumbered": (str, nwHeadFmt.TITLE), "headings.fmtScene": (str, "* * *"), - "headings.fmtHardScene": (str, ""), + "headings.fmtAltScene": (str, ""), "headings.fmtSection": (str, ""), "headings.hideTitle": (bool, False), "headings.hideChapter": (bool, False), "headings.hideUnnumbered": (bool, False), "headings.hideScene": (bool, False), - "headings.hideHardScene": (bool, False), + "headings.hideAltScene": (bool, False), "headings.hideSection": (bool, True), "headings.centerTitle": (bool, True), "headings.centerChapter": (bool, False), @@ -110,7 +110,7 @@ SETTINGS_LABELS = { "headings.fmtChapter": QT_TRANSLATE_NOOP("Builds", "Chapter Format"), "headings.fmtUnnumbered": QT_TRANSLATE_NOOP("Builds", "Unnumbered Format"), "headings.fmtScene": QT_TRANSLATE_NOOP("Builds", "Scene Format"), - "headings.fmtHardScene": QT_TRANSLATE_NOOP("Builds", "Hard Scene Format"), + "headings.fmtAltScene": QT_TRANSLATE_NOOP("Builds", "Alt. Scene Format"), "headings.fmtSection": QT_TRANSLATE_NOOP("Builds", "Section Format"), "text.grpContent": QT_TRANSLATE_NOOP("Builds", "Text Content"), diff --git a/novelwriter/core/docbuild.py b/novelwriter/core/docbuild.py index 3c1d6951..0c2ab461 100644 --- a/novelwriter/core/docbuild.py +++ b/novelwriter/core/docbuild.py @@ -306,8 +306,8 @@ class NWBuildDocument: self._build.getBool("headings.hideScene") ) bldObj.setHardSceneFormat( - self._build.getStr("headings.fmtHardScene"), - self._build.getBool("headings.hideHardScene") + self._build.getStr("headings.fmtAltScene"), + self._build.getBool("headings.hideAltScene") ) bldObj.setSectionFormat( self._build.getStr("headings.fmtSection"), diff --git a/novelwriter/core/tokenizer.py b/novelwriter/core/tokenizer.py index d3f2b690..8cd84816 100644 --- a/novelwriter/core/tokenizer.py +++ b/novelwriter/core/tokenizer.py @@ -639,8 +639,8 @@ class Tokenizer(ABC): tmpMarkdown.append(f"{aLine}\n") elif aLine.startswith(("### ", "###! ")): - # (Hard) Scene Headings - # ===================== + # (Alternative) Scene Headings + # ============================ # Scene headings in novel documents are treated as centred # separators if the formatting does not change the text. If the # format is empty, the scene can be hidden or a blank paragraph diff --git a/novelwriter/gui/dochighlight.py b/novelwriter/gui/dochighlight.py index 27ae33be..c81291cf 100644 --- a/novelwriter/gui/dochighlight.py +++ b/novelwriter/gui/dochighlight.py @@ -327,7 +327,7 @@ class GuiDocHighlighter(QSyntaxHighlighter): self.setFormat(0, 3, self._hStyles["head2h"]) self.setFormat(3, len(text), self._hStyles["header2"]) - elif text.startswith("###! "): # Hard Scene + elif text.startswith("###! "): # Alternative Scene self.setFormat(0, 4, self._hStyles["head3h"]) self.setFormat(4, len(text), self._hStyles["header3"]) diff --git a/novelwriter/gui/mainmenu.py b/novelwriter/gui/mainmenu.py index 4a9c198d..960dee33 100644 --- a/novelwriter/gui/mainmenu.py +++ b/novelwriter/gui/mainmenu.py @@ -736,8 +736,8 @@ class GuiMainMenu(QMenuBar): lambda: self.requestDocAction.emit(nwDocAction.BLOCK_UNN) ) - # Format > Hard Scene - self.aFmtHardSc = self.fmtMenu.addAction(self.tr("Hard Scene")) + # Format > Alternative Scene + self.aFmtHardSc = self.fmtMenu.addAction(self.tr("Alternative Scene")) self.aFmtHardSc.triggered.connect( lambda: self.requestDocAction.emit(nwDocAction.BLOCK_HSC) ) diff --git a/novelwriter/tools/manuscript.py b/novelwriter/tools/manuscript.py index 3b81429e..8f1df562 100644 --- a/novelwriter/tools/manuscript.py +++ b/novelwriter/tools/manuscript.py @@ -627,7 +627,7 @@ class _DetailsWidget(QWidget): ("headings.fmtChapter", "headings.hideChapter"), ("headings.fmtUnnumbered", "headings.hideUnnumbered"), ("headings.fmtScene", "headings.hideScene"), - ("headings.fmtHardScene", "headings.hideHardScene"), + ("headings.fmtAltScene", "headings.hideAltScene"), ("headings.fmtSection", "headings.hideSection"), ]: sub = QTreeWidgetItem() diff --git a/novelwriter/tools/manussettings.py b/novelwriter/tools/manussettings.py index ebbcbb17..c909f8a5 100644 --- a/novelwriter/tools/manussettings.py +++ b/novelwriter/tools/manussettings.py @@ -669,20 +669,20 @@ class _HeadingsTab(NScrollablePage): self.formatBox.addWidget(self.swtScene, 3, 4) # Alt Scene Heading - self.lblHScene = QLabel(self._build.getLabel("headings.fmtHardScene"), self) - self.fmtHScene = QLineEdit("", self) - self.fmtHScene.setReadOnly(True) - self.btnHScene = NIconToolButton(self, iSz, "edit") - self.btnHScene.clicked.connect(lambda: self._editHeading(self.EDIT_HSCENE)) - self.hdeHScene = QLabel(trHide, self) - self.hdeHScene.setIndent(bSp) - self.swtHScene = NSwitch(self, height=iPx) + self.lblAScene = QLabel(self._build.getLabel("headings.fmtAltScene"), self) + self.fmtAScene = QLineEdit("", self) + self.fmtAScene.setReadOnly(True) + self.btnAScene = NIconToolButton(self, iSz, "edit") + self.btnAScene.clicked.connect(lambda: self._editHeading(self.EDIT_HSCENE)) + self.hdeAScene = QLabel(trHide, self) + self.hdeAScene.setIndent(bSp) + self.swtAScene = NSwitch(self, height=iPx) - self.formatBox.addWidget(self.lblHScene, 4, 0) - self.formatBox.addWidget(self.fmtHScene, 4, 1) - self.formatBox.addWidget(self.btnHScene, 4, 2) - self.formatBox.addWidget(self.hdeHScene, 4, 3) - self.formatBox.addWidget(self.swtHScene, 4, 4) + self.formatBox.addWidget(self.lblAScene, 4, 0) + self.formatBox.addWidget(self.fmtAScene, 4, 1) + self.formatBox.addWidget(self.btnAScene, 4, 2) + self.formatBox.addWidget(self.hdeAScene, 4, 3) + self.formatBox.addWidget(self.swtAScene, 4, 4) # Section Heading self.lblSection = QLabel(self._build.getLabel("headings.fmtSection"), self) @@ -826,14 +826,14 @@ class _HeadingsTab(NScrollablePage): self.fmtChapter.setText(self._build.getStr("headings.fmtChapter")) self.fmtUnnumbered.setText(self._build.getStr("headings.fmtUnnumbered")) self.fmtScene.setText(self._build.getStr("headings.fmtScene")) - self.fmtHScene.setText(self._build.getStr("headings.fmtHardScene")) + self.fmtAScene.setText(self._build.getStr("headings.fmtAltScene")) self.fmtSection.setText(self._build.getStr("headings.fmtSection")) self.swtTitle.setChecked(self._build.getBool("headings.hideTitle")) self.swtChapter.setChecked(self._build.getBool("headings.hideChapter")) self.swtUnnumbered.setChecked(self._build.getBool("headings.hideUnnumbered")) self.swtScene.setChecked(self._build.getBool("headings.hideScene")) - self.swtHScene.setChecked(self._build.getBool("headings.hideHardScene")) + self.swtAScene.setChecked(self._build.getBool("headings.hideAltScene")) self.swtSection.setChecked(self._build.getBool("headings.hideSection")) self.centerTitle.setChecked(self._build.getBool("headings.centerTitle")) @@ -850,7 +850,7 @@ class _HeadingsTab(NScrollablePage): self._build.setValue("headings.hideChapter", self.swtChapter.isChecked()) self._build.setValue("headings.hideUnnumbered", self.swtUnnumbered.isChecked()) self._build.setValue("headings.hideScene", self.swtScene.isChecked()) - self._build.setValue("headings.hideHardScene", self.swtHScene.isChecked()) + self._build.setValue("headings.hideAltScene", self.swtAScene.isChecked()) self._build.setValue("headings.hideSection", self.swtSection.isChecked()) self._build.setValue("headings.centerTitle", self.centerTitle.isChecked()) @@ -890,8 +890,8 @@ class _HeadingsTab(NScrollablePage): text = self.fmtScene.text() label = self._build.getLabel("headings.fmtScene") elif heading == self.EDIT_HSCENE: - text = self.fmtHScene.text() - label = self._build.getLabel("headings.fmtHardScene") + text = self.fmtAScene.text() + label = self._build.getLabel("headings.fmtAltScene") elif heading == self.EDIT_SECTION: text = self.fmtSection.text() label = self._build.getLabel("headings.fmtSection") @@ -928,8 +928,8 @@ class _HeadingsTab(NScrollablePage): self.fmtScene.setText(text) self._build.setValue("headings.fmtScene", text) elif heading == self.EDIT_HSCENE: - self.fmtHScene.setText(text) - self._build.setValue("headings.fmtHardScene", text) + self.fmtAScene.setText(text) + self._build.setValue("headings.fmtAltScene", text) elif heading == self.EDIT_SECTION: self.fmtSection.setText(text) self._build.setValue("headings.fmtSection", text) diff --git a/tests/test_tools/test_tools_manuscript.py b/tests/test_tools/test_tools_manuscript.py index 0d2e04ca..5e80767f 100644 --- a/tests/test_tools/test_tools_manuscript.py +++ b/tests/test_tools/test_tools_manuscript.py @@ -212,7 +212,7 @@ def testManuscript_Features(monkeypatch, qtbot, nwGUI, projPath, mockRnd): build = manus._builds.getBuild(first.data(GuiManuscript.D_KEY)) assert isinstance(build, BuildSettings) build.setValue("headings.fmtScene", nwHeadFmt.TITLE) - build.setValue("headings.fmtHardScene", nwHeadFmt.TITLE) + build.setValue("headings.fmtAltScene", nwHeadFmt.TITLE) manus._builds.setBuild(build) # Preview again, and allow cache file to be created diff --git a/tests/test_tools/test_tools_manussettings.py b/tests/test_tools/test_tools_manussettings.py index 179df303..3f51c9cd 100644 --- a/tests/test_tools/test_tools_manussettings.py +++ b/tests/test_tools/test_tools_manussettings.py @@ -335,7 +335,7 @@ def testBuildSettings_Headings(qtbot: QtBot, nwGUI: GuiMain): build.setValue("headings.fmtChapter", chTitle) build.setValue("headings.fmtUnnumbered", unTitle) build.setValue("headings.fmtScene", scTitle) - build.setValue("headings.fmtHardScene", shTitle) + build.setValue("headings.fmtAltScene", shTitle) build.setValue("headings.fmtSection", sxTitle) build.setValue("headings.hideScene", False) build.setValue("headings.hideSection", False) @@ -354,7 +354,7 @@ def testBuildSettings_Headings(qtbot: QtBot, nwGUI: GuiMain): assert headTab.fmtChapter.text() == chTitle assert headTab.fmtUnnumbered.text() == unTitle assert headTab.fmtScene.text() == scTitle - assert headTab.fmtHScene.text() == shTitle + assert headTab.fmtAScene.text() == shTitle assert headTab.fmtSection.text() == sxTitle assert headTab.swtScene.isChecked() is False assert headTab.swtSection.isChecked() is False @@ -401,7 +401,7 @@ def testBuildSettings_Headings(qtbot: QtBot, nwGUI: GuiMain): assert headTab.editTextBox.isEnabled() is False # Hard Scene - headTab.btnHScene.click() + headTab.btnAScene.click() assert headTab._editing == headTab.EDIT_HSCENE assert headTab.editTextBox.isEnabled() is True assert headTab.editTextBox.toPlainText() == shTitle @@ -467,10 +467,10 @@ def testBuildSettings_Headings(qtbot: QtBot, nwGUI: GuiMain): headTab.btnApply.click() assert build.getStr("headings.fmtScene") == nwHeadFmt.TITLE - headTab.btnHScene.click() + headTab.btnAScene.click() headTab.editTextBox.setPlainText(nwHeadFmt.TITLE) headTab.btnApply.click() - assert build.getStr("headings.fmtHardScene") == nwHeadFmt.TITLE + assert build.getStr("headings.fmtAltScene") == nwHeadFmt.TITLE headTab.btnSection.click() headTab.editTextBox.setPlainText(nwHeadFmt.TITLE)