Make sure manuscript preview always preserves tabs
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user