mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-06-14 08:54:34 +12:00
Fixes fullScreen scrollbar range
This commit is contained in:
parent
91989269f1
commit
c504cb510e
|
@ -206,6 +206,7 @@ class fullScreenEditor(QWidget):
|
||||||
# self.lblWC.setPalette(p)
|
# self.lblWC.setPalette(p)
|
||||||
|
|
||||||
self.update()
|
self.update()
|
||||||
|
self.editor.centerCursor()
|
||||||
|
|
||||||
def paintEvent(self, event):
|
def paintEvent(self, event):
|
||||||
if self._background:
|
if self._background:
|
||||||
|
@ -307,10 +308,21 @@ class myScrollBar(QScrollBar):
|
||||||
self.timer.timeout.connect(lambda: self.parent().hideWidget(self))
|
self.timer.timeout.connect(lambda: self.parent().hideWidget(self))
|
||||||
self.valueChanged.connect(lambda v: self.timer.start())
|
self.valueChanged.connect(lambda v: self.timer.start())
|
||||||
self.valueChanged.connect(lambda: self.parent().showWidget(self))
|
self.valueChanged.connect(lambda: self.parent().showWidget(self))
|
||||||
|
self.rangeChanged.connect(self.rangeHasChanged)
|
||||||
|
|
||||||
def setColor(self, color):
|
def setColor(self, color):
|
||||||
self._color = color
|
self._color = color
|
||||||
|
|
||||||
|
def rangeHasChanged(self, min, max):
|
||||||
|
"""
|
||||||
|
Adds viewport height to scrollbar max so that we can center cursor
|
||||||
|
on screen.
|
||||||
|
"""
|
||||||
|
if settings.textEditor["alwaysCenter"]:
|
||||||
|
self.blockSignals(True)
|
||||||
|
self.setMaximum(max + self.parent().height())
|
||||||
|
self.blockSignals(False)
|
||||||
|
|
||||||
def paintEvent(self, event):
|
def paintEvent(self, event):
|
||||||
opt = QStyleOptionSlider()
|
opt = QStyleOptionSlider()
|
||||||
self.initStyleOption(opt)
|
self.initStyleOption(opt)
|
||||||
|
|
|
@ -51,17 +51,21 @@ class MDEditView(textEditView):
|
||||||
# TypeWriterScrolling
|
# TypeWriterScrolling
|
||||||
###########################################################################
|
###########################################################################
|
||||||
|
|
||||||
|
def setCurrentModelIndex(self, index):
|
||||||
|
textEditView.setCurrentModelIndex(self, index)
|
||||||
|
self.centerCursor()
|
||||||
|
|
||||||
def cursorPositionHasChanged(self):
|
def cursorPositionHasChanged(self):
|
||||||
self.centerCursor()
|
self.centerCursor()
|
||||||
|
|
||||||
def centerCursor(self, force=False):
|
def centerCursor(self, force=False):
|
||||||
cursor = self.cursorRect()
|
cursor = self.cursorRect()
|
||||||
|
scrollbar = self.verticalScrollBar()
|
||||||
viewport = self.viewport().rect()
|
viewport = self.viewport().rect()
|
||||||
if (force or settings.textEditor["alwaysCenter"]
|
if (force or settings.textEditor["alwaysCenter"]
|
||||||
or cursor.bottom() >= viewport.bottom()
|
or cursor.bottom() >= viewport.bottom()
|
||||||
or cursor.top() <= viewport.top()):
|
or cursor.top() <= viewport.top()):
|
||||||
offset = viewport.center() - cursor.center()
|
offset = viewport.center() - cursor.center()
|
||||||
scrollbar = self.verticalScrollBar()
|
|
||||||
scrollbar.setValue(scrollbar.value() - offset.y())
|
scrollbar.setValue(scrollbar.value() - offset.y())
|
||||||
|
|
||||||
def scrollBarRangeChanged(self, min, max):
|
def scrollBarRangeChanged(self, min, max):
|
||||||
|
|
Loading…
Reference in a new issue