Browse Source

added webview toolbar, just elements, not connected

Bachir Soussi Chiadmi 7 years ago
parent
commit
cfb734321c
1 changed files with 78 additions and 10 deletions
  1. 78 10
      classes/design.py

+ 78 - 10
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()