Change "hard scene" to "alternative scene" format (#1803)

This commit is contained in:
Veronica Berglyd Olsen
2024-04-08 21:07:28 +02:00
committed by GitHub
10 changed files with 39 additions and 39 deletions
+2 -2
View File
@@ -50,7 +50,7 @@
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="113" /> <location filename="../novelwriter/core/buildsettings.py" line="113" />
<source>Hard Scene Format</source> <source>Alt. Scene Format</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
@@ -1898,7 +1898,7 @@
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/mainmenu.py" line="740" /> <location filename="../novelwriter/gui/mainmenu.py" line="740" />
<source>Hard Scene</source> <source>Alternative Scene</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
+3 -3
View File
@@ -56,13 +56,13 @@ SETTINGS_TEMPLATE = {
"headings.fmtChapter": (str, nwHeadFmt.TITLE), "headings.fmtChapter": (str, nwHeadFmt.TITLE),
"headings.fmtUnnumbered": (str, nwHeadFmt.TITLE), "headings.fmtUnnumbered": (str, nwHeadFmt.TITLE),
"headings.fmtScene": (str, "* * *"), "headings.fmtScene": (str, "* * *"),
"headings.fmtHardScene": (str, ""), "headings.fmtAltScene": (str, ""),
"headings.fmtSection": (str, ""), "headings.fmtSection": (str, ""),
"headings.hideTitle": (bool, False), "headings.hideTitle": (bool, False),
"headings.hideChapter": (bool, False), "headings.hideChapter": (bool, False),
"headings.hideUnnumbered": (bool, False), "headings.hideUnnumbered": (bool, False),
"headings.hideScene": (bool, False), "headings.hideScene": (bool, False),
"headings.hideHardScene": (bool, False), "headings.hideAltScene": (bool, False),
"headings.hideSection": (bool, True), "headings.hideSection": (bool, True),
"headings.centerTitle": (bool, True), "headings.centerTitle": (bool, True),
"headings.centerChapter": (bool, False), "headings.centerChapter": (bool, False),
@@ -110,7 +110,7 @@ SETTINGS_LABELS = {
"headings.fmtChapter": QT_TRANSLATE_NOOP("Builds", "Chapter Format"), "headings.fmtChapter": QT_TRANSLATE_NOOP("Builds", "Chapter Format"),
"headings.fmtUnnumbered": QT_TRANSLATE_NOOP("Builds", "Unnumbered Format"), "headings.fmtUnnumbered": QT_TRANSLATE_NOOP("Builds", "Unnumbered Format"),
"headings.fmtScene": QT_TRANSLATE_NOOP("Builds", "Scene 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"), "headings.fmtSection": QT_TRANSLATE_NOOP("Builds", "Section Format"),
"text.grpContent": QT_TRANSLATE_NOOP("Builds", "Text Content"), "text.grpContent": QT_TRANSLATE_NOOP("Builds", "Text Content"),
+2 -2
View File
@@ -306,8 +306,8 @@ class NWBuildDocument:
self._build.getBool("headings.hideScene") self._build.getBool("headings.hideScene")
) )
bldObj.setHardSceneFormat( bldObj.setHardSceneFormat(
self._build.getStr("headings.fmtHardScene"), self._build.getStr("headings.fmtAltScene"),
self._build.getBool("headings.hideHardScene") self._build.getBool("headings.hideAltScene")
) )
bldObj.setSectionFormat( bldObj.setSectionFormat(
self._build.getStr("headings.fmtSection"), self._build.getStr("headings.fmtSection"),
+2 -2
View File
@@ -639,8 +639,8 @@ class Tokenizer(ABC):
tmpMarkdown.append(f"{aLine}\n") tmpMarkdown.append(f"{aLine}\n")
elif aLine.startswith(("### ", "###! ")): elif aLine.startswith(("### ", "###! ")):
# (Hard) Scene Headings # (Alternative) Scene Headings
# ===================== # ============================
# Scene headings in novel documents are treated as centred # Scene headings in novel documents are treated as centred
# separators if the formatting does not change the text. If the # separators if the formatting does not change the text. If the
# format is empty, the scene can be hidden or a blank paragraph # format is empty, the scene can be hidden or a blank paragraph
+1 -1
View File
@@ -327,7 +327,7 @@ class GuiDocHighlighter(QSyntaxHighlighter):
self.setFormat(0, 3, self._hStyles["head2h"]) self.setFormat(0, 3, self._hStyles["head2h"])
self.setFormat(3, len(text), self._hStyles["header2"]) 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(0, 4, self._hStyles["head3h"])
self.setFormat(4, len(text), self._hStyles["header3"]) self.setFormat(4, len(text), self._hStyles["header3"])
+2 -2
View File
@@ -736,8 +736,8 @@ class GuiMainMenu(QMenuBar):
lambda: self.requestDocAction.emit(nwDocAction.BLOCK_UNN) lambda: self.requestDocAction.emit(nwDocAction.BLOCK_UNN)
) )
# Format > Hard Scene # Format > Alternative Scene
self.aFmtHardSc = self.fmtMenu.addAction(self.tr("Hard Scene")) self.aFmtHardSc = self.fmtMenu.addAction(self.tr("Alternative Scene"))
self.aFmtHardSc.triggered.connect( self.aFmtHardSc.triggered.connect(
lambda: self.requestDocAction.emit(nwDocAction.BLOCK_HSC) lambda: self.requestDocAction.emit(nwDocAction.BLOCK_HSC)
) )
+1 -1
View File
@@ -627,7 +627,7 @@ class _DetailsWidget(QWidget):
("headings.fmtChapter", "headings.hideChapter"), ("headings.fmtChapter", "headings.hideChapter"),
("headings.fmtUnnumbered", "headings.hideUnnumbered"), ("headings.fmtUnnumbered", "headings.hideUnnumbered"),
("headings.fmtScene", "headings.hideScene"), ("headings.fmtScene", "headings.hideScene"),
("headings.fmtHardScene", "headings.hideHardScene"), ("headings.fmtAltScene", "headings.hideAltScene"),
("headings.fmtSection", "headings.hideSection"), ("headings.fmtSection", "headings.hideSection"),
]: ]:
sub = QTreeWidgetItem() sub = QTreeWidgetItem()
+20 -20
View File
@@ -669,20 +669,20 @@ class _HeadingsTab(NScrollablePage):
self.formatBox.addWidget(self.swtScene, 3, 4) self.formatBox.addWidget(self.swtScene, 3, 4)
# Alt Scene Heading # Alt Scene Heading
self.lblHScene = QLabel(self._build.getLabel("headings.fmtHardScene"), self) self.lblAScene = QLabel(self._build.getLabel("headings.fmtAltScene"), self)
self.fmtHScene = QLineEdit("", self) self.fmtAScene = QLineEdit("", self)
self.fmtHScene.setReadOnly(True) self.fmtAScene.setReadOnly(True)
self.btnHScene = NIconToolButton(self, iSz, "edit") self.btnAScene = NIconToolButton(self, iSz, "edit")
self.btnHScene.clicked.connect(lambda: self._editHeading(self.EDIT_HSCENE)) self.btnAScene.clicked.connect(lambda: self._editHeading(self.EDIT_HSCENE))
self.hdeHScene = QLabel(trHide, self) self.hdeAScene = QLabel(trHide, self)
self.hdeHScene.setIndent(bSp) self.hdeAScene.setIndent(bSp)
self.swtHScene = NSwitch(self, height=iPx) self.swtAScene = NSwitch(self, height=iPx)
self.formatBox.addWidget(self.lblHScene, 4, 0) self.formatBox.addWidget(self.lblAScene, 4, 0)
self.formatBox.addWidget(self.fmtHScene, 4, 1) self.formatBox.addWidget(self.fmtAScene, 4, 1)
self.formatBox.addWidget(self.btnHScene, 4, 2) self.formatBox.addWidget(self.btnAScene, 4, 2)
self.formatBox.addWidget(self.hdeHScene, 4, 3) self.formatBox.addWidget(self.hdeAScene, 4, 3)
self.formatBox.addWidget(self.swtHScene, 4, 4) self.formatBox.addWidget(self.swtAScene, 4, 4)
# Section Heading # Section Heading
self.lblSection = QLabel(self._build.getLabel("headings.fmtSection"), self) 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.fmtChapter.setText(self._build.getStr("headings.fmtChapter"))
self.fmtUnnumbered.setText(self._build.getStr("headings.fmtUnnumbered")) self.fmtUnnumbered.setText(self._build.getStr("headings.fmtUnnumbered"))
self.fmtScene.setText(self._build.getStr("headings.fmtScene")) 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.fmtSection.setText(self._build.getStr("headings.fmtSection"))
self.swtTitle.setChecked(self._build.getBool("headings.hideTitle")) self.swtTitle.setChecked(self._build.getBool("headings.hideTitle"))
self.swtChapter.setChecked(self._build.getBool("headings.hideChapter")) self.swtChapter.setChecked(self._build.getBool("headings.hideChapter"))
self.swtUnnumbered.setChecked(self._build.getBool("headings.hideUnnumbered")) self.swtUnnumbered.setChecked(self._build.getBool("headings.hideUnnumbered"))
self.swtScene.setChecked(self._build.getBool("headings.hideScene")) 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.swtSection.setChecked(self._build.getBool("headings.hideSection"))
self.centerTitle.setChecked(self._build.getBool("headings.centerTitle")) 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.hideChapter", self.swtChapter.isChecked())
self._build.setValue("headings.hideUnnumbered", self.swtUnnumbered.isChecked()) self._build.setValue("headings.hideUnnumbered", self.swtUnnumbered.isChecked())
self._build.setValue("headings.hideScene", self.swtScene.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.hideSection", self.swtSection.isChecked())
self._build.setValue("headings.centerTitle", self.centerTitle.isChecked()) self._build.setValue("headings.centerTitle", self.centerTitle.isChecked())
@@ -890,8 +890,8 @@ class _HeadingsTab(NScrollablePage):
text = self.fmtScene.text() text = self.fmtScene.text()
label = self._build.getLabel("headings.fmtScene") label = self._build.getLabel("headings.fmtScene")
elif heading == self.EDIT_HSCENE: elif heading == self.EDIT_HSCENE:
text = self.fmtHScene.text() text = self.fmtAScene.text()
label = self._build.getLabel("headings.fmtHardScene") label = self._build.getLabel("headings.fmtAltScene")
elif heading == self.EDIT_SECTION: elif heading == self.EDIT_SECTION:
text = self.fmtSection.text() text = self.fmtSection.text()
label = self._build.getLabel("headings.fmtSection") label = self._build.getLabel("headings.fmtSection")
@@ -928,8 +928,8 @@ class _HeadingsTab(NScrollablePage):
self.fmtScene.setText(text) self.fmtScene.setText(text)
self._build.setValue("headings.fmtScene", text) self._build.setValue("headings.fmtScene", text)
elif heading == self.EDIT_HSCENE: elif heading == self.EDIT_HSCENE:
self.fmtHScene.setText(text) self.fmtAScene.setText(text)
self._build.setValue("headings.fmtHardScene", text) self._build.setValue("headings.fmtAltScene", text)
elif heading == self.EDIT_SECTION: elif heading == self.EDIT_SECTION:
self.fmtSection.setText(text) self.fmtSection.setText(text)
self._build.setValue("headings.fmtSection", text) self._build.setValue("headings.fmtSection", text)
+1 -1
View File
@@ -212,7 +212,7 @@ def testManuscript_Features(monkeypatch, qtbot, nwGUI, projPath, mockRnd):
build = manus._builds.getBuild(first.data(GuiManuscript.D_KEY)) build = manus._builds.getBuild(first.data(GuiManuscript.D_KEY))
assert isinstance(build, BuildSettings) assert isinstance(build, BuildSettings)
build.setValue("headings.fmtScene", nwHeadFmt.TITLE) build.setValue("headings.fmtScene", nwHeadFmt.TITLE)
build.setValue("headings.fmtHardScene", nwHeadFmt.TITLE) build.setValue("headings.fmtAltScene", nwHeadFmt.TITLE)
manus._builds.setBuild(build) manus._builds.setBuild(build)
# Preview again, and allow cache file to be created # Preview again, and allow cache file to be created
+5 -5
View File
@@ -335,7 +335,7 @@ def testBuildSettings_Headings(qtbot: QtBot, nwGUI: GuiMain):
build.setValue("headings.fmtChapter", chTitle) build.setValue("headings.fmtChapter", chTitle)
build.setValue("headings.fmtUnnumbered", unTitle) build.setValue("headings.fmtUnnumbered", unTitle)
build.setValue("headings.fmtScene", scTitle) build.setValue("headings.fmtScene", scTitle)
build.setValue("headings.fmtHardScene", shTitle) build.setValue("headings.fmtAltScene", shTitle)
build.setValue("headings.fmtSection", sxTitle) build.setValue("headings.fmtSection", sxTitle)
build.setValue("headings.hideScene", False) build.setValue("headings.hideScene", False)
build.setValue("headings.hideSection", False) build.setValue("headings.hideSection", False)
@@ -354,7 +354,7 @@ def testBuildSettings_Headings(qtbot: QtBot, nwGUI: GuiMain):
assert headTab.fmtChapter.text() == chTitle assert headTab.fmtChapter.text() == chTitle
assert headTab.fmtUnnumbered.text() == unTitle assert headTab.fmtUnnumbered.text() == unTitle
assert headTab.fmtScene.text() == scTitle assert headTab.fmtScene.text() == scTitle
assert headTab.fmtHScene.text() == shTitle assert headTab.fmtAScene.text() == shTitle
assert headTab.fmtSection.text() == sxTitle assert headTab.fmtSection.text() == sxTitle
assert headTab.swtScene.isChecked() is False assert headTab.swtScene.isChecked() is False
assert headTab.swtSection.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 assert headTab.editTextBox.isEnabled() is False
# Hard Scene # Hard Scene
headTab.btnHScene.click() headTab.btnAScene.click()
assert headTab._editing == headTab.EDIT_HSCENE assert headTab._editing == headTab.EDIT_HSCENE
assert headTab.editTextBox.isEnabled() is True assert headTab.editTextBox.isEnabled() is True
assert headTab.editTextBox.toPlainText() == shTitle assert headTab.editTextBox.toPlainText() == shTitle
@@ -467,10 +467,10 @@ def testBuildSettings_Headings(qtbot: QtBot, nwGUI: GuiMain):
headTab.btnApply.click() headTab.btnApply.click()
assert build.getStr("headings.fmtScene") == nwHeadFmt.TITLE assert build.getStr("headings.fmtScene") == nwHeadFmt.TITLE
headTab.btnHScene.click() headTab.btnAScene.click()
headTab.editTextBox.setPlainText(nwHeadFmt.TITLE) headTab.editTextBox.setPlainText(nwHeadFmt.TITLE)
headTab.btnApply.click() headTab.btnApply.click()
assert build.getStr("headings.fmtHardScene") == nwHeadFmt.TITLE assert build.getStr("headings.fmtAltScene") == nwHeadFmt.TITLE
headTab.btnSection.click() headTab.btnSection.click()
headTab.editTextBox.setPlainText(nwHeadFmt.TITLE) headTab.editTextBox.setPlainText(nwHeadFmt.TITLE)