Skip to content

Commit 94a03f2

Browse files
committed
WIP: Wrap QWebEngineView into a QFrame
1 parent d46983f commit 94a03f2

File tree

1 file changed

+23
-11
lines changed

1 file changed

+23
-11
lines changed

ReText/tab.py

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,14 @@
2424
from markups.common import MODULE_HOME_PAGE
2525
from PyQt6.QtCore import QDir, QFile, QFileInfo, QPoint, Qt, QTimer, QUrl, pyqtSignal
2626
from PyQt6.QtGui import QPalette, QTextCursor, QTextDocument
27-
from PyQt6.QtWidgets import QApplication, QMessageBox, QSplitter, QTextEdit
27+
from PyQt6.QtWidgets import (
28+
QApplication,
29+
QFrame,
30+
QMessageBox,
31+
QSplitter,
32+
QTextEdit,
33+
QVBoxLayout,
34+
)
2835

2936
from ReText import app_version, converterprocess, globalSettings
3037
from ReText.editor import ReTextEdit
@@ -57,7 +64,7 @@ def __init__(self, parent, fileName, previewState=PreviewDisabled):
5764
self.p = parent
5865
self._fileName = fileName
5966
self.editBox = ReTextEdit(self)
60-
self.previewBox = self.createPreviewBox(self.editBox)
67+
self.previewBox, self.previewBoxWidget = self.createPreviewBox(self.editBox)
6168
self.activeMarkupClass = None
6269
self.markup = None
6370
self.converted = None
@@ -85,7 +92,7 @@ def __init__(self, parent, fileName, previewState=PreviewDisabled):
8592

8693
# Give both boxes a minimum size so the minimumSizeHint will be
8794
# ignored when splitter.setSizes is called below
88-
for widget in self.editBox, self.previewBox:
95+
for widget in self.editBox, self.previewBoxWidget:
8996
widget.setMinimumWidth(125)
9097
self.addWidget(widget)
9198
self.setSizes((50, 50))
@@ -116,13 +123,18 @@ def sourceLineToEditorPosition(sourceLine):
116123
return rect.top()
117124

118125
if ReTextWebEnginePreview and globalSettings.useWebEngine:
126+
frame = QFrame()
127+
frame.setFrameStyle(QFrame.Shape.StyledPanel | QFrame.Shadow.Sunken)
128+
layout = QVBoxLayout(frame)
129+
layout.setContentsMargins(0, 0, 0, 0)
119130
preview = ReTextWebEnginePreview(self,
120131
editorPositionToSourceLine,
121132
sourceLineToEditorPosition)
122-
else:
123-
preview = ReTextPreview(self)
133+
layout.addWidget(preview)
134+
return preview, frame
124135

125-
return preview
136+
preview = ReTextPreview(self)
137+
return preview, preview
126138

127139
def getActiveMarkupClass(self):
128140
'''
@@ -292,15 +304,15 @@ def startPendingConversion(self):
292304

293305
def updateBoxesVisibility(self):
294306
self.editBox.setVisible(self.previewState < PreviewNormal)
295-
self.previewBox.setVisible(self.previewState > PreviewDisabled)
307+
self.previewBoxWidget.setVisible(self.previewState > PreviewDisabled)
296308

297309
def rebuildPreviewBox(self):
298310
self.previewBox.disconnectExternalSignals()
299-
self.previewBox.setParent(None)
300-
self.previewBox.deleteLater()
301-
self.previewBox = self.createPreviewBox(self.editBox)
311+
self.previewBoxWidget.setParent(None)
312+
self.previewBoxWidget.deleteLater()
313+
self.previewBox, self.previewBoxWidget = self.createPreviewBox(self.editBox)
302314
self.previewBox.setMinimumWidth(125)
303-
self.addWidget(self.previewBox)
315+
self.addWidget(self.previewBoxWidget)
304316
self.setSizes((50, 50))
305317
self.triggerPreviewUpdate()
306318
self.updateBoxesVisibility()

0 commit comments

Comments
 (0)