Make sure manuscript preview always preserves tabs

This commit is contained in:
Veronica Berglyd Olsen
2024-03-01 22:15:28 +01:00
parent ef1fc0943d
commit 44adc42fa6
3 changed files with 24 additions and 6 deletions
+20 -4
View File
@@ -52,15 +52,16 @@ class NWBuildDocument:
manuscript, based on a build definition object (BuildSettings). manuscript, based on a build definition object (BuildSettings).
""" """
__slots__ = ("_project", "_build", "_queue", "_error", "_cache", "_count") __slots__ = ("_project", "_build", "_queue", "_error", "_cache", "_count", "_preview")
def __init__(self, project: NWProject, build: BuildSettings, doCount: bool = False) -> None: def __init__(self, project: NWProject, build: BuildSettings) -> None:
self._project = project self._project = project
self._build = build self._build = build
self._queue = [] self._queue = []
self._error = None self._error = None
self._cache = None self._cache = None
self._count = doCount self._count = False
self._preview = False
return return
## ##
@@ -80,6 +81,21 @@ class NWBuildDocument:
""" """
return self._cache return self._cache
##
# Setters
##
def setCountEnabled(self, state: bool) -> None:
"""Turn on/off stats counting for builds."""
self._count = state
return
def setPreviewMode(self, state: bool) -> None:
"""Set the preview mode of the build. Implies count mode."""
self._preview = state
self._count = state
return
## ##
# Special Methods # Special Methods
## ##
@@ -161,7 +177,7 @@ class NWBuildDocument:
else: else:
yield i, False yield i, False
if not self._build.getBool("html.preserveTabs"): if not (self._build.getBool("html.preserveTabs") or self._preview):
makeObj.replaceTabs() makeObj.replaceTabs()
self._error = None self._error = None
+2 -1
View File
@@ -337,7 +337,8 @@ class GuiManuscript(QDialog):
if build is None: if build is None:
return return
docBuild = NWBuildDocument(SHARED.project, build, doCount=True) docBuild = NWBuildDocument(SHARED.project, build)
docBuild.setPreviewMode(True)
docBuild.queueAll() docBuild.queueAll()
self.docPreview.beginNewBuild(len(docBuild)) self.docPreview.beginNewBuild(len(docBuild))
+2 -1
View File
@@ -83,7 +83,8 @@ def testCoreDocBuild_OpenDocument(monkeypatch, mockGUI, prjLipsum, fncPath, tstP
build = BuildSettings() build = BuildSettings()
build.unpack(BUILD_CONF) build.unpack(BUILD_CONF)
docBuild = NWBuildDocument(project, build, doCount=True) docBuild = NWBuildDocument(project, build)
docBuild.setCountEnabled(True)
docBuild.queueAll() docBuild.queueAll()
assert len(docBuild) == 21 assert len(docBuild) == 21