Fix a few minor issues related to opening and resizing of window panes

This commit is contained in:
Veronica K. B. Olsen
2019-11-09 14:34:02 +01:00
parent fab20c6c26
commit be2f812945
2 changed files with 43 additions and 28 deletions
+33 -25
View File
@@ -185,6 +185,7 @@ class GuiDocEditor(QTextEdit):
tHandle = self.theHandle tHandle = self.theHandle
self.clearEditor() self.clearEditor()
self.loadText(tHandle) self.loadText(tHandle)
self.updateDocMargins()
else: else:
self.clearEditor() self.clearEditor()
@@ -241,6 +242,35 @@ class GuiDocEditor(QTextEdit):
return True return True
def updateDocMargins(self):
"""Automatically adjust the margins so the text is centred, but
only if Config.textFixedW is set to True.
"""
if self.mainConf.textFixedW or self.theParent.isZenMode:
vBar = self.verticalScrollBar()
if vBar.isVisible():
sW = vBar.width()
else:
sW = 0
if self.theParent.isZenMode:
tW = self.mainConf.zenWidth
else:
tW = self.mainConf.textWidth
wW = self.width()
tM = int((wW - sW - tW)/2)
if tM < self.mainConf.textMargin:
tM = self.mainConf.textMargin
else:
tM = self.mainConf.textMargin
docFormat = self.qDocument.rootFrame().frameFormat()
docFormat.setLeftMargin(tM)
docFormat.setRightMargin(tM)
self.qDocument.rootFrame().setFrameFormat(docFormat)
return
## ##
# Setters and Getters # Setters and Getters
## ##
@@ -403,33 +433,11 @@ class GuiDocEditor(QTextEdit):
return return
def resizeEvent(self, theEvent): def resizeEvent(self, theEvent):
"""Automatically adjust the margins so the text is centred, but """If the text editor is resize, we must make sure the document
only if Config.textFixedW is set to True. has its margins adjusted according to user preferences.
""" """
QTextEdit.resizeEvent(self, theEvent) QTextEdit.resizeEvent(self, theEvent)
self.updateDocMargins()
if self.mainConf.textFixedW or self.theParent.isZenMode:
vBar = self.verticalScrollBar()
if vBar.isVisible():
sW = vBar.width()
else:
sW = 0
if self.theParent.isZenMode:
tW = self.mainConf.zenWidth
else:
tW = self.mainConf.textWidth
wW = self.width()
tM = int((wW - sW - tW)/2)
if tM < self.mainConf.textMargin:
tM = self.mainConf.textMargin
else:
tM = self.mainConf.textMargin
docFormat = self.qDocument.rootFrame().frameFormat()
docFormat.setLeftMargin(tM)
docFormat.setRightMargin(tM)
self.qDocument.rootFrame().setFrameFormat(docFormat)
return return
## ##
+10 -3
View File
@@ -707,6 +707,10 @@ class GuiMain(QMainWindow):
statusbar and menu. statusbar and menu.
""" """
if self.docEditor.theHandle is None:
logger.error("No document open, so not activating Zen Mode")
return False
self.isZenMode = not self.isZenMode self.isZenMode = not self.isZenMode
if self.isZenMode: if self.isZenMode:
logger.debug("Activating Zen mode") logger.debug("Activating Zen mode")
@@ -714,12 +718,15 @@ class GuiMain(QMainWindow):
logger.debug("Deactivating Zen mode") logger.debug("Deactivating Zen mode")
isVisible = not self.isZenMode isVisible = not self.isZenMode
self.viewPane.setVisible(isVisible)
self.treePane.setVisible(isVisible) self.treePane.setVisible(isVisible)
self.statusBar.setVisible(isVisible) self.statusBar.setVisible(isVisible)
# self.mainMenu.setVisible(isVisible)
return if self.viewPane.isVisible():
self.viewPane.setVisible(False)
elif self.docViewer.theHandle is not None:
self.viewPane.setVisible(True)
return True
def toggleFullScreenMode(self): def toggleFullScreenMode(self):
"""Main GUI full screen mode. The mode is tracked by the flag """Main GUI full screen mode. The mode is tracked by the flag