Merge branch 'main' into dev

This commit is contained in:
Veronica Berglyd Olsen
2024-03-14 23:55:27 +01:00
9 changed files with 21 additions and 26 deletions
+1 -4
View File
@@ -322,11 +322,8 @@ class nwHeadFmt:
CHAR_POV, CHAR_FOCUS
]
# ODT Document Page Header
ODT_PROJECT = "{Project}"
ODT_AUTHOR = "{Author}"
# ODT Document Header Page Counter
ODT_PAGE = "{Page}"
ODT_AUTO = "{Project} / {Author} / {Page}"
# END Class nwHeadFmt
+2 -2
View File
@@ -91,7 +91,7 @@ SETTINGS_TEMPLATE = {
"format.leftMargin": (float, 2.0),
"format.rightMargin": (float, 2.0),
"odt.addColours": (bool, True),
"odt.pageHeader": (str, nwHeadFmt.ODT_AUTO),
"odt.pageHeaderText": (str, nwHeadFmt.ODT_PAGE),
"odt.pageCountOffset": (int, 0),
"odt.firstLineIndent": (bool, False),
"md.preserveBreaks": (bool, True),
@@ -142,7 +142,7 @@ SETTINGS_LABELS = {
"odt": QT_TRANSLATE_NOOP("Builds", "Open Document (.odt)"),
"odt.addColours": QT_TRANSLATE_NOOP("Builds", "Add Highlight Colours"),
"odt.pageHeader": QT_TRANSLATE_NOOP("Builds", "Page Header"),
"odt.pageHeaderText": QT_TRANSLATE_NOOP("Builds", "Page Header"),
"odt.pageCountOffset": QT_TRANSLATE_NOOP("Builds", "Page Counter Offset"),
"odt.firstLineIndent": QT_TRANSLATE_NOOP("Builds", "First Line Indent"),
+1 -1
View File
@@ -330,7 +330,7 @@ class NWBuildDocument:
bldObj.setColourHeaders(self._build.getBool("odt.addColours"))
bldObj.setLanguage(self._project.data.language)
bldObj.setHeaderFormat(
self._build.getStr("odt.pageHeader"), self._build.getInt("odt.pageCountOffset")
self._build.getStr("odt.pageHeaderText"), self._build.getInt("odt.pageCountOffset")
)
bldObj.setFirstLineIndent(self._build.getBool("odt.firstLineIndent"))
-6
View File
@@ -1048,12 +1048,6 @@ class ToOdt(Tokenizer):
# Standard Page Header
if self._headerFormat:
pre, page, post = self._headerFormat.partition(nwHeadFmt.ODT_PAGE)
pre = pre.replace(nwHeadFmt.ODT_PROJECT, self._project.data.name)
pre = pre.replace(nwHeadFmt.ODT_AUTHOR, self._project.data.author)
post = post.replace(nwHeadFmt.ODT_PROJECT, self._project.data.name)
post = post.replace(nwHeadFmt.ODT_AUTHOR, self._project.data.author)
xHead = ET.SubElement(xPage, _mkTag("style", "header"))
xPar = ET.SubElement(xHead, _mkTag("text", "p"), attrib={
_mkTag("text", "style-name"): "Header"
+8 -5
View File
@@ -1352,8 +1352,8 @@ class _OutputTab(NScrollableForm):
self.btnPageHeader.setIcon(SHARED.theme.getIcon("revert"))
self.btnPageHeader.clicked.connect(self._resetPageHeader)
self.addRow(
self._build.getLabel("odt.pageHeader"), self.odtPageHeader,
button=self.btnPageHeader, stretch=(1, 1)
self._build.getLabel("odt.pageHeaderText"), self.odtPageHeader,
button=self.btnPageHeader, stretch=(2, 3)
)
self.odtPageCountOffset = NSpinBox(self)
@@ -1389,7 +1389,7 @@ class _OutputTab(NScrollableForm):
def loadContent(self) -> None:
"""Populate the widgets."""
self.odtAddColours.setChecked(self._build.getBool("odt.addColours"))
self.odtPageHeader.setText(self._build.getStr("odt.pageHeader"))
self.odtPageHeader.setText(self._build.getStr("odt.pageHeaderText"))
self.odtPageCountOffset.setValue(self._build.getInt("odt.pageCountOffset"))
self.odtFirstLineIndent.setChecked(self._build.getBool("odt.firstLineIndent"))
self.htmlAddStyles.setChecked(self._build.getBool("html.addStyles"))
@@ -1400,7 +1400,7 @@ class _OutputTab(NScrollableForm):
def saveContent(self) -> None:
"""Save choices back into build object."""
self._build.setValue("odt.addColours", self.odtAddColours.isChecked())
self._build.setValue("odt.pageHeader", self.odtPageHeader.text())
self._build.setValue("odt.pageHeaderText", self.odtPageHeader.text())
self._build.setValue("odt.pageCountOffset", self.odtPageCountOffset.value())
self._build.setValue("odt.firstLineIndent", self.odtFirstLineIndent.isChecked())
self._build.setValue("html.addStyles", self.htmlAddStyles.isChecked())
@@ -1414,7 +1414,10 @@ class _OutputTab(NScrollableForm):
def _resetPageHeader(self) -> None:
"""Reset the ODT header format to default."""
self.odtPageHeader.setText(nwHeadFmt.ODT_AUTO)
self.odtPageHeader.setText(" / ".join(filter(bool, [
SHARED.project.data.name, SHARED.project.data.author, nwHeadFmt.ODT_PAGE
])))
self.odtPageHeader.setCursorPosition(0)
return
# END Class _OutputTab
@@ -79,7 +79,7 @@
<office:master-styles>
<style:master-page style:name="Standard" style:page-layout-name="PM1">
<style:header>
<text:p text:style-name="Header">Test Project / Jane Smith / <text:page-number text:page-adjust="-1">2</text:page-number></text:p>
<text:p text:style-name="Header"><text:page-number text:page-adjust="-1">2</text:page-number></text:p>
</style:header>
<style:header-first>
<text:p text:style-name="Header" />
@@ -103,7 +103,7 @@
<office:master-styles>
<style:master-page style:name="Standard" style:page-layout-name="PM1">
<style:header>
<text:p text:style-name="Header">Lorem Ipsum / lipsum.com / <text:page-number text:select-page="current">2</text:page-number></text:p>
<text:p text:style-name="Header"><text:page-number text:select-page="current">2</text:page-number></text:p>
</style:header>
<style:header-first>
<text:p text:style-name="Header" />
+3 -3
View File
@@ -711,8 +711,8 @@ def testCoreToOdt_SaveFlat(mockGUI, fncPath, tstPaths):
assert odt._dLanguage == "nb"
odt.setColourHeaders(True)
assert odt._colourHead is True
odt.setHeaderFormat(nwHeadFmt.ODT_AUTO, 1)
assert odt._headerFormat == nwHeadFmt.ODT_AUTO
odt.setHeaderFormat(nwHeadFmt.ODT_PAGE, 1)
assert odt._headerFormat == nwHeadFmt.ODT_PAGE
odt.setPageLayout(148, 210, 20, 18, 17, 15)
assert odt._mDocWidth == "14.800cm"
@@ -759,7 +759,7 @@ def testCoreToOdt_SaveFull(mockGUI, fncPath, tstPaths):
odt._isNovel = True
# Set a format without page number
odt.setHeaderFormat(f"{nwHeadFmt.ODT_PROJECT} - {nwHeadFmt.ODT_AUTHOR}", 0)
odt.setHeaderFormat("Test Project - Jane Smith", 0)
odt._text = (
"## Chapter One\n\n"
+4 -3
View File
@@ -673,7 +673,7 @@ def testBuildSettings_Output(qtbot: QtBot, nwGUI: GuiMain):
# Check initial values
assert outTab.odtAddColours.isChecked() is False
assert outTab.odtPageHeader.text() == nwHeadFmt.ODT_AUTO
assert outTab.odtPageHeader.text() == nwHeadFmt.ODT_PAGE
assert outTab.odtPageCountOffset.value() == 0
assert outTab.odtFirstLineIndent.isChecked() is False
assert outTab.htmlAddStyles.isChecked() is False
@@ -695,7 +695,7 @@ def testBuildSettings_Output(qtbot: QtBot, nwGUI: GuiMain):
outTab.saveContent()
assert build.getBool("odt.addColours") is True
assert build.getStr("odt.pageHeader") == "Stuff"
assert build.getStr("odt.pageHeaderText") == "Stuff"
assert build.getInt("odt.pageCountOffset") == 1
assert build.getBool("odt.firstLineIndent") is True
assert build.getBool("html.addStyles") is True
@@ -703,8 +703,9 @@ def testBuildSettings_Output(qtbot: QtBot, nwGUI: GuiMain):
assert build.getBool("md.preserveBreaks") is False
# Reset header format
SHARED.project.data.setName("Test Project")
outTab.btnPageHeader.click()
assert outTab.odtPageHeader.text() == nwHeadFmt.ODT_AUTO
assert outTab.odtPageHeader.text() == f"Test Project / {nwHeadFmt.ODT_PAGE}"
# Finish
bSettings._dialogButtonClicked(bSettings.buttonBox.button(QDialogButtonBox.Close))