mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-05-17 11:22:28 +12:00
Moves textedit scrollbar outside the margins
This commit is contained in:
parent
0f49bc7517
commit
59742accfa
|
@ -2,7 +2,8 @@
|
|||
# --!-- coding: utf8 --!--
|
||||
from PyQt5.QtCore import pyqtSignal, QModelIndex
|
||||
from PyQt5.QtGui import QPalette
|
||||
from PyQt5.QtWidgets import QWidget, QFrame, QSpacerItem, QSizePolicy, QVBoxLayout
|
||||
from PyQt5.QtWidgets import QWidget, QFrame, QSpacerItem, QSizePolicy
|
||||
from PyQt5.QtWidgets import QVBoxLayout, qApp, QStyle
|
||||
|
||||
from manuskript import settings
|
||||
from manuskript.functions import AUC, mainWindow
|
||||
|
@ -60,10 +61,37 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
|
|||
|
||||
self._model = None
|
||||
|
||||
# Capture textEdit scrollbar, so that we can put it outside the margins.
|
||||
self.txtEditScrollBar = self.txtRedacText.verticalScrollBar()
|
||||
self.txtEditScrollBar.setParent(self)
|
||||
self.stack.currentChanged.connect(self.setScrollBarVisibility)
|
||||
|
||||
# def setModel(self, model):
|
||||
# self._model = model
|
||||
# self.setView()
|
||||
|
||||
def resizeEvent(self, event):
|
||||
"""
|
||||
textEdit's scrollBar has been reparented to self. So we need to
|
||||
update it's geomtry when self is resized, and put it where we want it
|
||||
to be.
|
||||
"""
|
||||
# Update scrollbar geometry
|
||||
r = self.geometry()
|
||||
w = 10 # Cf. style.mainEditorTabSS
|
||||
r.setWidth(w)
|
||||
r.moveRight(self.geometry().width())
|
||||
self.txtEditScrollBar.setGeometry(r)
|
||||
|
||||
QWidget.resizeEvent(self, event)
|
||||
|
||||
def setScrollBarVisibility(self):
|
||||
"""
|
||||
Since the texteEdit scrollBar has been reparented to self, it is not
|
||||
hidden when stack changes. We have to do it manually.
|
||||
"""
|
||||
self.txtEditScrollBar.setVisible(self.stack.currentIndex() == 0)
|
||||
|
||||
def setFolderView(self, v):
|
||||
oldV = self.folderView
|
||||
if v == "cork":
|
||||
|
@ -214,7 +242,12 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
|
|||
w = QWidget()
|
||||
w.setObjectName("editorWidgetFolderText")
|
||||
l = QVBoxLayout(w)
|
||||
w.setStyleSheet("background: {};".format(settings.textEditor["background"]))
|
||||
opt = settings.textEditor
|
||||
background = (opt["background"] if not opt["backgroundTransparent"]
|
||||
else "transparent")
|
||||
w.setStyleSheet("background: {};".format(background))
|
||||
self.stack.widget(1).setStyleSheet("background: {}"
|
||||
.format(background))
|
||||
# self.scroll.setWidgetResizable(False)
|
||||
|
||||
self.txtEdits = []
|
||||
|
|
|
@ -388,7 +388,8 @@ class textEditView(QTextEdit):
|
|||
self.sizeChange()
|
||||
|
||||
def sizeChange(self):
|
||||
docHeight = self.document().size().height()
|
||||
opt = settings.textEditor
|
||||
docHeight = self.document().size().height() + 2 * opt["marginsTB"]
|
||||
if self.heightMin <= docHeight <= self.heightMax:
|
||||
self.setMinimumHeight(docHeight)
|
||||
|
||||
|
|
Loading…
Reference in a new issue