Make the autoscroll feature also work for a very short document
This commit is contained in:
+3
-2
@@ -454,8 +454,9 @@ class GuiDocEditor(QTextEdit):
|
|||||||
|
|
||||||
docChanged = self.docChanged
|
docChanged = self.docChanged
|
||||||
if self.mainConf.scrollPastEnd:
|
if self.mainConf.scrollPastEnd:
|
||||||
|
scrlFac = max(1 - self.mainConf.autoScrollPos*0.01, 0.6)
|
||||||
docFrame = self.qDocument.rootFrame().frameFormat()
|
docFrame = self.qDocument.rootFrame().frameFormat()
|
||||||
docFrame.setBottomMargin(max(0, 0.6*(wH - uM - lM - 4*tB)))
|
docFrame.setBottomMargin(max(0, scrlFac*(wH - uM - lM - 4*tB)))
|
||||||
self.qDocument.rootFrame().setFrameFormat(docFrame)
|
self.qDocument.rootFrame().setFrameFormat(docFrame)
|
||||||
|
|
||||||
# This is needed as the setFrameFormat function itself will
|
# This is needed as the setFrameFormat function itself will
|
||||||
@@ -847,7 +848,7 @@ class GuiDocEditor(QTextEdit):
|
|||||||
if okMod and okKey:
|
if okMod and okKey:
|
||||||
cNew = self.cursorRect().center().y()
|
cNew = self.cursorRect().center().y()
|
||||||
cMov = cNew - cOld
|
cMov = cNew - cOld
|
||||||
mPos = self.mainConf.autoScrollPos * self.viewport().height() * 0.01
|
mPos = self.mainConf.autoScrollPos*0.01 * self.viewport().height()
|
||||||
if abs(cMov) > 0 and cOld > mPos:
|
if abs(cMov) > 0 and cOld > mPos:
|
||||||
# Move the scroll bar
|
# Move the scroll bar
|
||||||
vBar = self.verticalScrollBar()
|
vBar = self.verticalScrollBar()
|
||||||
|
|||||||
Reference in New Issue
Block a user