Ensure cursor is visible after showing or closing the document viewer (#1302)
This commit is contained in:
@@ -688,6 +688,7 @@ class GuiMain(QMainWindow):
|
|||||||
logger.debug("Viewing document with handle '%s'", tHandle)
|
logger.debug("Viewing document with handle '%s'", tHandle)
|
||||||
if self.docViewer.loadText(tHandle):
|
if self.docViewer.loadText(tHandle):
|
||||||
if not self.splitView.isVisible():
|
if not self.splitView.isVisible():
|
||||||
|
cursorVisible = self.docEditor.cursorIsVisible()
|
||||||
bPos = self.splitMain.sizes()
|
bPos = self.splitMain.sizes()
|
||||||
self.splitView.setVisible(True)
|
self.splitView.setVisible(True)
|
||||||
vPos = [0, 0]
|
vPos = [0, 0]
|
||||||
@@ -696,6 +697,11 @@ class GuiMain(QMainWindow):
|
|||||||
self.splitDocs.setSizes(vPos)
|
self.splitDocs.setSizes(vPos)
|
||||||
self.docViewerPanel.setVisible(CONFIG.showViewerPanel)
|
self.docViewerPanel.setVisible(CONFIG.showViewerPanel)
|
||||||
|
|
||||||
|
# Since editor width changes, we need to make sure we
|
||||||
|
# restore cursor visibility in the editor. See #1302
|
||||||
|
if cursorVisible:
|
||||||
|
self.docEditor.ensureCursorVisibleNoCentre()
|
||||||
|
|
||||||
if sTitle:
|
if sTitle:
|
||||||
self.docViewer.navigateTo(f"#{sTitle}")
|
self.docViewer.navigateTo(f"#{sTitle}")
|
||||||
|
|
||||||
@@ -1113,11 +1119,18 @@ class GuiMain(QMainWindow):
|
|||||||
# Only reset the last handle if the user called this
|
# Only reset the last handle if the user called this
|
||||||
SHARED.project.data.setLastHandle(None, "viewer")
|
SHARED.project.data.setLastHandle(None, "viewer")
|
||||||
|
|
||||||
|
cursorVisible = self.docEditor.cursorIsVisible()
|
||||||
|
|
||||||
# Hide the panel
|
# Hide the panel
|
||||||
bPos = self.splitMain.sizes()
|
bPos = self.splitMain.sizes()
|
||||||
self.splitView.setVisible(False)
|
self.splitView.setVisible(False)
|
||||||
self.splitDocs.setSizes([bPos[1], 0])
|
self.splitDocs.setSizes([bPos[1], 0])
|
||||||
|
|
||||||
|
# Since editor width changes, we need to make sure we restore
|
||||||
|
# cursor visibility in the editor. See #1302
|
||||||
|
if cursorVisible:
|
||||||
|
self.docEditor.ensureCursorVisibleNoCentre()
|
||||||
|
|
||||||
return not self.splitView.isVisible()
|
return not self.splitView.isVisible()
|
||||||
|
|
||||||
def toggleFullScreenMode(self) -> None:
|
def toggleFullScreenMode(self) -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user