added webview toolbar, just elements, not connected
This commit is contained in:
+78
-10
@@ -6,7 +6,7 @@ import sys, os, re
|
||||
from PyQt5 import QtCore
|
||||
from PyQt5.QtCore import QUrl, QSettings
|
||||
from PyQt5.QtGui import QKeySequence, QFont, QSyntaxHighlighter
|
||||
from PyQt5.QtWidgets import QWidget, QLabel, QTabWidget, QVBoxLayout, QHBoxLayout, QSplitter, QPlainTextEdit, QShortcut
|
||||
from PyQt5.QtWidgets import QWidget, QLabel, QTabWidget, QVBoxLayout, QHBoxLayout, QSplitter, QPlainTextEdit, QShortcut, QPushButton, QCheckBox
|
||||
from PyQt5.QtWebKit import QWebSettings
|
||||
from PyQt5.QtWebKitWidgets import QWebView, QWebInspector
|
||||
|
||||
@@ -28,7 +28,66 @@ class WebkitInspector(QWebInspector):
|
||||
self.showMaximized()
|
||||
# TODO: webkitinspector is disappearing when chaging tabs
|
||||
|
||||
class WebViewOptions(QWidget):
|
||||
def __init__(self, parent):
|
||||
super(WebViewOptions, self).__init__(parent)
|
||||
self.parent = parent
|
||||
self.hbox = QHBoxLayout()
|
||||
self.hbox.setContentsMargins(0,0,0,0)
|
||||
|
||||
self.preview = QCheckBox('&Preview', self)
|
||||
# self.preview.setShortcut('Ctrl+Shift+p')
|
||||
self.preview.clicked.connect(self.onPreview)
|
||||
self.hbox.addWidget(self.preview)
|
||||
|
||||
self.debug = QCheckBox('Deb&ug', self)
|
||||
# self.debug.setShortcut('Ctrl+Shift+u')
|
||||
self.debug.clicked.connect(self.onDebug)
|
||||
self.hbox.addWidget(self.debug)
|
||||
|
||||
self.grid = QCheckBox('&Grid', self)
|
||||
# self.grid.setShortcut('Ctrl+Shift+g')
|
||||
self.grid.clicked.connect(self.onGrid)
|
||||
self.hbox.addWidget(self.grid)
|
||||
|
||||
# spread
|
||||
self.spread = QCheckBox('&Spread', self)
|
||||
# self.spread.setShortcut('Ctrl+Shift+g')
|
||||
self.spread.clicked.connect(self.onSpread)
|
||||
self.hbox.addWidget(self.spread)
|
||||
|
||||
self.hbox.addStretch()
|
||||
|
||||
# zoom
|
||||
# page
|
||||
|
||||
self.hbox.addStretch()
|
||||
|
||||
|
||||
|
||||
self.reload = QPushButton("&Reload", self)
|
||||
# self.reload.setShortcut('Ctrl+Shift+r')
|
||||
# TODO: how to define same shortcut in different places
|
||||
# self.reload.setIcon(Icon(ico)))
|
||||
self.reload.clicked.connect(self.onReload)
|
||||
self.hbox.addWidget(self.reload)
|
||||
|
||||
self.setLayout(self.hbox)
|
||||
|
||||
def onReload(self):
|
||||
print("onReload")
|
||||
|
||||
def onPreview(self):
|
||||
print('onPreview')
|
||||
|
||||
def onDebug(self):
|
||||
print('onDebug')
|
||||
|
||||
def onGrid(self):
|
||||
print('onGrid')
|
||||
|
||||
def onSpread(self):
|
||||
print('onSpread')
|
||||
|
||||
class CodeEditor(QPlainTextEdit):
|
||||
def __init__(self, core, tabs, file=None):
|
||||
@@ -99,36 +158,45 @@ class DesignStack(QWidget):
|
||||
super(DesignStack, self).__init__()
|
||||
|
||||
# self.grid = QGridLayout()
|
||||
hbox = QHBoxLayout()
|
||||
hbox.setContentsMargins(0,0,0,0)
|
||||
self.setLayout(hbox)
|
||||
self.hbox = QHBoxLayout()
|
||||
self.hbox.setContentsMargins(0,0,0,0)
|
||||
self.setLayout(self.hbox)
|
||||
|
||||
|
||||
# webviewbox = QVBoxLayout()
|
||||
self.vsplitter = QSplitter(QtCore.Qt.Vertical)
|
||||
self.webview = QWidget()
|
||||
self.webview.vbox = QVBoxLayout()
|
||||
self.webview.setLayout(self.webview.vbox)
|
||||
self.webview.vbox.setContentsMargins(0,0,0,0)
|
||||
|
||||
|
||||
self.webkitview = WebkitView(self, core.server.port)
|
||||
self.vsplitter.addWidget(self.webkitview)
|
||||
|
||||
self.webkitinspector = WebkitInspector(self, self.webkitview)
|
||||
self.vsplitter.addWidget(self.webkitinspector)
|
||||
|
||||
shortcut = QShortcut(self)
|
||||
shortcut.setKey("F12")
|
||||
shortcut.activated.connect(self.toggleInspector)
|
||||
self.webkitinspector.setVisible(False)
|
||||
|
||||
self.webviewoptions = WebViewOptions(self)
|
||||
self.webview.vbox.addWidget(self.webviewoptions)
|
||||
|
||||
self.vsplitter = QSplitter(QtCore.Qt.Vertical)
|
||||
self.vsplitter.addWidget(self.webkitview)
|
||||
self.vsplitter.addWidget(self.webkitinspector)
|
||||
self.vsplitter.splitterMoved.connect(self.movedSplitter)
|
||||
|
||||
self.webview.vbox.addWidget(self.vsplitter)
|
||||
|
||||
self.hsplitter = QSplitter(QtCore.Qt.Horizontal)
|
||||
self.hsplitter.addWidget(self.vsplitter)
|
||||
self.hsplitter.addWidget(self.webview)
|
||||
|
||||
self.editor = Editor(self, core)
|
||||
self.hsplitter.addWidget(self.editor)
|
||||
|
||||
self.hsplitter.splitterMoved.connect(self.movedSplitter)
|
||||
|
||||
hbox.addWidget(self.hsplitter)
|
||||
self.hbox.addWidget(self.hsplitter)
|
||||
|
||||
self.restorePrefs()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user