Restore build preview scroll bar after update (#1837)
This commit is contained in:
@@ -752,6 +752,7 @@ class _PreviewWidget(QTextBrowser):
|
|||||||
|
|
||||||
self._docTime = 0
|
self._docTime = 0
|
||||||
self._buildName = ""
|
self._buildName = ""
|
||||||
|
self._scrollPos = 0
|
||||||
|
|
||||||
# Document Setup
|
# Document Setup
|
||||||
dPalette = self.palette()
|
dPalette = self.palette()
|
||||||
@@ -848,6 +849,7 @@ class _PreviewWidget(QTextBrowser):
|
|||||||
self.buildProgress.setValue(0)
|
self.buildProgress.setValue(0)
|
||||||
self.buildProgress.setCentreText(None)
|
self.buildProgress.setCentreText(None)
|
||||||
self.buildProgress.setVisible(True)
|
self.buildProgress.setVisible(True)
|
||||||
|
self._scrollPos = self.verticalScrollBar().value()
|
||||||
self.setPlaceholderText("")
|
self.setPlaceholderText("")
|
||||||
self.clear()
|
self.clear()
|
||||||
return
|
return
|
||||||
@@ -860,7 +862,6 @@ class _PreviewWidget(QTextBrowser):
|
|||||||
|
|
||||||
def setContent(self, data: dict) -> None:
|
def setContent(self, data: dict) -> None:
|
||||||
"""Set the content of the preview widget."""
|
"""Set the content of the preview widget."""
|
||||||
sPos = self.verticalScrollBar().value()
|
|
||||||
QApplication.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
|
QApplication.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
|
||||||
|
|
||||||
self.buildProgress.setCentreText(self.tr("Processing ..."))
|
self.buildProgress.setCentreText(self.tr("Processing ..."))
|
||||||
@@ -877,7 +878,6 @@ class _PreviewWidget(QTextBrowser):
|
|||||||
cursor = self.textCursor()
|
cursor = self.textCursor()
|
||||||
cursor.insertText("\t")
|
cursor.insertText("\t")
|
||||||
|
|
||||||
self.verticalScrollBar().setValue(sPos)
|
|
||||||
self._docTime = checkInt(data.get("time"), 0)
|
self._docTime = checkInt(data.get("time"), 0)
|
||||||
self._updateBuildAge()
|
self._updateBuildAge()
|
||||||
|
|
||||||
@@ -888,7 +888,7 @@ class _PreviewWidget(QTextBrowser):
|
|||||||
self.buildProgress.setCentreText(self.tr("Done"))
|
self.buildProgress.setCentreText(self.tr("Done"))
|
||||||
QApplication.restoreOverrideCursor()
|
QApplication.restoreOverrideCursor()
|
||||||
QApplication.processEvents()
|
QApplication.processEvents()
|
||||||
QTimer.singleShot(300, self._hideProgress)
|
QTimer.singleShot(300, self._postUpdate)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -943,9 +943,10 @@ class _PreviewWidget(QTextBrowser):
|
|||||||
return
|
return
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def _hideProgress(self) -> None:
|
def _postUpdate(self) -> None:
|
||||||
"""Clean up the build progress bar."""
|
"""Run tasks after content update."""
|
||||||
self.buildProgress.setVisible(False)
|
self.buildProgress.setVisible(False)
|
||||||
|
self.verticalScrollBar().setValue(self._scrollPos)
|
||||||
return
|
return
|
||||||
|
|
||||||
##
|
##
|
||||||
|
|||||||
@@ -270,7 +270,7 @@ def testManuscript_Features(monkeypatch, qtbot, nwGUI, projPath, mockRnd):
|
|||||||
assert manus.docPreview.document().defaultTextOption().alignment() == QtAlignAbsolute
|
assert manus.docPreview.document().defaultTextOption().alignment() == QtAlignAbsolute
|
||||||
|
|
||||||
# Tests are too fast to trigger this one, so we trigger it manually to ensure it isn't failing
|
# Tests are too fast to trigger this one, so we trigger it manually to ensure it isn't failing
|
||||||
manus.docPreview._hideProgress()
|
manus.docPreview._postUpdate()
|
||||||
|
|
||||||
# Builds
|
# Builds
|
||||||
# ======
|
# ======
|
||||||
|
|||||||
Reference in New Issue
Block a user