From cfb734321c326ef30eeb708948186e8965b42b8e Mon Sep 17 00:00:00 2001 From: Bachir Soussi Chiadmi Date: Tue, 30 May 2017 17:04:07 +0200 Subject: [PATCH] added webview toolbar, just elements, not connected --- classes/design.py | 88 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 78 insertions(+), 10 deletions(-) diff --git a/classes/design.py b/classes/design.py index f5ae3ac..92a0d6a 100644 --- a/classes/design.py +++ b/classes/design.py @@ -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()