design view toolbar state restore on launch

This commit is contained in:
Bachir Soussi Chiadmi
2017-06-04 10:09:52 +02:00
parent 18c7e00843
commit 3e40a5e3cb
+35 -15
View File
@@ -34,6 +34,7 @@ class WebkitView(QWebView):
self.port = core.server.port self.port = core.server.port
self.view = QWebView.__init__(self, parent) self.view = QWebView.__init__(self, parent)
self.setZoomFactor(1) self.setZoomFactor(1)
self.loadFinished.connect(self.onLoaded)
self.load(QUrl('http://localhost:'+str(self.port))) self.load(QUrl('http://localhost:'+str(self.port)))
self.settings().setAttribute(QWebSettings.DeveloperExtrasEnabled, True) self.settings().setAttribute(QWebSettings.DeveloperExtrasEnabled, True)
# self.settings().setAttribute(QWebSettings.PluginsEnabled, True) # self.settings().setAttribute(QWebSettings.PluginsEnabled, True)
@@ -42,6 +43,10 @@ class WebkitView(QWebView):
# self.mainframe = self.page.mainFrame() # self.mainframe = self.page.mainFrame()
# print(self.mainframe) # print(self.mainframe)
def onLoaded(self):
print("onLoaded")
self.parent.webviewtoolbar.onReload()
def initPDF(self): def initPDF(self):
self.printer = QPrinter(QPrinter.HighResolution) self.printer = QPrinter(QPrinter.HighResolution)
self.printer.setFullPage(True) self.printer.setFullPage(True)
@@ -59,7 +64,6 @@ class WebkitView(QWebView):
self.printer.setOutputFileName(self.core.projectname+".pdf") self.printer.setOutputFileName(self.core.projectname+".pdf")
# self.setFixedWidth(1000) # self.setFixedWidth(1000)
def ongenPDF(self): def ongenPDF(self):
# QPrinter::Custom # QPrinter::Custom
# dialog = QPrintPreviewDialog(self.printer) # dialog = QPrintPreviewDialog(self.printer)
@@ -85,7 +89,6 @@ class WebkitView(QWebView):
command = """document.documentElement.classList."""+togg+"""('"""+c+"""')""" command = """document.documentElement.classList."""+togg+"""('"""+c+"""')"""
self.evaluateJS(command) self.evaluateJS(command)
def evaluateJS(self, command): def evaluateJS(self, command):
self.page().mainFrame().evaluateJavaScript(command) self.page().mainFrame().evaluateJavaScript(command)
@@ -119,29 +122,23 @@ class WebViewToolBar(QWidget):
font.setPointSize(8) font.setPointSize(8)
self.setFont(font) self.setFont(font)
self.hbox = QHBoxLayout() self.hbox = QHBoxLayout()
self.hbox.setContentsMargins(0,0,0,0) self.hbox.setContentsMargins(0,0,0,0)
self.preview = QCheckBox('Prev&iew', self) self.preview = QCheckBox('Prev&iew', self)
# self.preview.setShortcut('Ctrl+Shift+p') self.preview.stateChanged.connect(self.onPreview)
self.preview.clicked.connect(self.onPreview)
self.hbox.addWidget(self.preview) self.hbox.addWidget(self.preview)
self.debug = QCheckBox('Deb&ug', self) self.debug = QCheckBox('Deb&ug', self)
# self.debug.setShortcut('Ctrl+Shift+u') self.debug.stateChanged.connect(self.onDebug)
self.debug.clicked.connect(self.onDebug)
self.hbox.addWidget(self.debug) self.hbox.addWidget(self.debug)
self.grid = QCheckBox('&Grid', self) self.grid = QCheckBox('&Grid', self)
# self.grid.setShortcut('Ctrl+Shift+g') self.grid.stateChanged.connect(self.onGrid)
self.grid.clicked.connect(self.onGrid)
self.hbox.addWidget(self.grid) self.hbox.addWidget(self.grid)
# spread
self.spread = QCheckBox('&Spread', self) self.spread = QCheckBox('&Spread', self)
# self.spread.setShortcut('Ctrl+Shift+g') self.spread.stateChanged.connect(self.onSpread)
self.spread.clicked.connect(self.onSpread)
self.hbox.addWidget(self.spread) self.hbox.addWidget(self.spread)
# #
self.hbox.addStretch() self.hbox.addStretch()
@@ -159,10 +156,10 @@ class WebViewToolBar(QWidget):
self.hbox.addWidget(self.page) self.hbox.addWidget(self.page)
self.addpage = QPushButton("&Add Page", self) self.addpage = QPushButton("&Add Page", self)
# self.addpage.setShortcut('Ctrl+Shift+r') # self.addpage.setShortcut('Ctrl+Shift+n')
# TODO: how to define same shortcut in different places # TODO: how to define same shortcut in different places
# self.addpage.setIcon(Icon(ico))) # self.addpage.setIcon(Icon(ico)))
# self.addpage.clicked.connect(self.onAddPage) self.addpage.clicked.connect(self.onAddPage)
self.hbox.addWidget(self.addpage) self.hbox.addWidget(self.addpage)
# #
self.hbox.addStretch() self.hbox.addStretch()
@@ -183,26 +180,49 @@ class WebViewToolBar(QWidget):
self.setLayout(self.hbox) self.setLayout(self.hbox)
# def onCheckboxAction(self, box):
# self.parent.webkitview.toggleDocClass(box, self[box].isChecked())
# self.recordDocSettings(box, self[box].isChecked())
def onPreview(self): def onPreview(self):
self.parent.webkitview.toggleDocClass('preview', self.preview.isChecked()) self.parent.webkitview.toggleDocClass('preview', self.preview.isChecked())
self.recordDocSettings('preview', self.preview.isChecked())
def onDebug(self): def onDebug(self):
self.parent.webkitview.toggleDocClass('debug', self.debug.isChecked()) self.parent.webkitview.toggleDocClass('debug', self.debug.isChecked())
self.recordDocSettings('debug', self.debug.isChecked())
def onGrid(self): def onGrid(self):
self.parent.webkitview.toggleDocClass('grid', self.grid.isChecked()) self.parent.webkitview.toggleDocClass('grid', self.grid.isChecked())
self.recordDocSettings('grid', self.grid.isChecked())
def onSpread(self): def onSpread(self):
self.parent.webkitview.toggleDocClass('spread', self.spread.isChecked()) self.parent.webkitview.toggleDocClass('spread', self.spread.isChecked())
self.recordDocSettings('spread', self.spread.isChecked())
def onAddPage(self):
print("onAddPage")
def onReload(self): def onReload(self):
print("onReload") print("onReload")
# self.parent.webkitview.
def onGenPDF(self): def onGenPDF(self):
print("onGenPDF") print("onGenPDF")
self.parent.webkitview.ongenPDF() self.parent.webkitview.ongenPDF()
def recordDocSettings(self, prop, val):
print('recordDocSettings : '+prop, val)
settings = QSettings('FiguresLibres', 'Cascade')
settings.setValue('design/toolbar/'+prop, val)
def onReload(self):
# apply precedent toolbar state
settings = QSettings('FiguresLibres', 'Cascade')
self.preview.setChecked(settings.value('design/toolbar/preview', "false") == "true")
self.debug.setChecked(settings.value('design/toolbar/debug', "false") == "true")
self.grid.setChecked(settings.value('design/toolbar/grid', "false") == "true")
self.spread.setChecked(settings.value('design/toolbar/spread', "false") == "true")
# ______ ___ __ # ______ ___ __
# / ____/___/ (_) /_____ _____ # / ____/___/ (_) /_____ _____
# / __/ / __ / / __/ __ \/ ___/ # / __/ / __ / / __/ __ \/ ___/