started number pages handle, needs to refresh toolbar num page display on change

This commit is contained in:
Bachir Soussi Chiadmi
2017-06-04 15:29:56 +02:00
parent 3e40a5e3cb
commit 9fcfbeae40
6 changed files with 58 additions and 13 deletions
+31 -3
View File
@@ -115,9 +115,10 @@ class Core():
with open(jsonfilepath, "w") as fp: with open(jsonfilepath, "w") as fp:
json.dump(self.docsettings, fp, ensure_ascii=False, indent="\t") json.dump(self.docsettings, fp, ensure_ascii=False, indent="\t")
self.updateScss() self.updateScss(False)
self.updateJs()
def updateScss(self): def updateScss(self, reload=True):
# print(self.docsettings) # print(self.docsettings)
sassfilepath = os.path.join(self.cwd,'assets/css/setup.scss') sassfilepath = os.path.join(self.cwd,'assets/css/setup.scss')
# print(sassfilepath) # print(sassfilepath)
@@ -156,7 +157,34 @@ class Core():
# print('sass', sass) # print('sass', sass)
open(sassfilepath,"w").write(sass) open(sassfilepath,"w").write(sass)
self._mw.designstack.webkitview.reload() if reload:
self._mw.designstack.webkitview.reload()
def updateJs(self, reload=True):
# print(self.docsettings)
jsfilepath = os.path.join(self.cwd,'assets/js/setup.js')
# print(jsfilepath)
js = open(jsfilepath,"r").read()
# $row-number: 12;
js = re.sub(
r'nb_page=[0-9]+;',
'nb_page='+str(self.docsettings['np'])+';',
js)
# print('sass', sass)
open(jsfilepath,"w").write(js)
if reload:
self._mw.designstack.webkitview.reload()
def addPage(self):
self.docsettings['np'] = int(self.docsettings['np'])+1
self.updateJs()
def rmPage(self):
self.docsettings['np'] = int(self.docsettings['np'])-1
self.updateJs()
# ____ _ __ # ____ _ __
# / __ \_________ (_)__ _____/ /_ # / __ \_________ (_)__ _____/ /_
+17 -8
View File
@@ -150,17 +150,20 @@ class WebViewToolBar(QWidget):
self.hbox.addWidget(self.zoom) self.hbox.addWidget(self.zoom)
# page # page
self.hbox.addWidget(QLabel("Page:")) self.gotopage = QLabel("Go to Page: /"+self.parent.core.docsettings['np'])
# TODO: refresh page number on change
self.hbox.addWidget(self.gotopage)
self.page = QSpinBox(self) self.page = QSpinBox(self)
# TODO: action # TODO: action
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+n')
# TODO: how to define same shortcut in different places
# 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.rmpage = QPushButton("Re&move Page", self)
self.rmpage.clicked.connect(self.onRmPage)
self.hbox.addWidget(self.rmpage)
# #
self.hbox.addStretch() self.hbox.addStretch()
# #
@@ -316,6 +319,7 @@ class Editor(QWidget):
class DesignStack(QWidget): class DesignStack(QWidget):
def __init__(self, core): def __init__(self, core):
super(DesignStack, self).__init__() super(DesignStack, self).__init__()
self.core = core
# self.grid = QGridLayout() # self.grid = QGridLayout()
self.hbox = QHBoxLayout() self.hbox = QHBoxLayout()
@@ -328,18 +332,21 @@ class DesignStack(QWidget):
self.webview.setLayout(self.webview.vbox) self.webview.setLayout(self.webview.vbox)
self.webview.vbox.setContentsMargins(0,0,0,0) self.webview.vbox.setContentsMargins(0,0,0,0)
# toolbar
self.webviewtoolbar = WebViewToolBar(self)
self.webview.vbox.addWidget(self.webviewtoolbar)
# webkitview
self.webkitview = WebkitView(self, core) self.webkitview = WebkitView(self, core)
# webkitinspector
self.webkitinspector = WebkitInspector(self, self.webkitview) self.webkitinspector = WebkitInspector(self, self.webkitview)
shortcut = QShortcut(self) shortcut = QShortcut(self)
shortcut.setKey("F12") shortcut.setKey("F12")
shortcut.activated.connect(self.toggleInspector) shortcut.activated.connect(self.toggleInspector)
self.webkitinspector.setVisible(False) self.webkitinspector.setVisible(False)
self.webviewtoolbar = WebViewToolBar(self) # V layout
self.webview.vbox.addWidget(self.webviewtoolbar)
self.vsplitter = QSplitter(QtCore.Qt.Vertical) self.vsplitter = QSplitter(QtCore.Qt.Vertical)
self.vsplitter.addWidget(self.webkitview) self.vsplitter.addWidget(self.webkitview)
self.vsplitter.addWidget(self.webkitinspector) self.vsplitter.addWidget(self.webkitinspector)
@@ -347,9 +354,11 @@ class DesignStack(QWidget):
self.webview.vbox.addWidget(self.vsplitter) self.webview.vbox.addWidget(self.vsplitter)
# H layout
self.hsplitter = QSplitter(QtCore.Qt.Horizontal) self.hsplitter = QSplitter(QtCore.Qt.Horizontal)
self.hsplitter.addWidget(self.webview) self.hsplitter.addWidget(self.webview)
# editor
self.editor = Editor(self, core) self.editor = Editor(self, core)
self.hsplitter.addWidget(self.editor) self.hsplitter.addWidget(self.editor)
+5
View File
@@ -36,6 +36,11 @@ class DocsetDialog(QDialog):
self.formGroupBox = QGroupBox() self.formGroupBox = QGroupBox()
layout = QFormLayout() layout = QFormLayout()
self.np = FormLineEdit(str(ds['np']),3,True)
layout.addRow(QLabel("Numbers of Pages:"), self.np)
#
layout.addRow(Line(self))
#
self.pw = FormLineEdit(str(ds['pw'])) self.pw = FormLineEdit(str(ds['pw']))
layout.addRow(QLabel("Page Width (mm):"), self.pw) layout.addRow(QLabel("Page Width (mm):"), self.pw)
self.ph = FormLineEdit(str(ds['ph'])) self.ph = FormLineEdit(str(ds['ph']))
+3
View File
@@ -202,6 +202,7 @@ class MainWindow(QMainWindow):
d = docsetdialog.DocsetDialog(self) d = docsetdialog.DocsetDialog(self)
d.exec_() d.exec_()
self.core.recordDocSettings({ self.core.recordDocSettings({
"np":d.np.text(),
"pw":d.pw.text(), "pw":d.pw.text(),
"ph":d.ph.text(), "ph":d.ph.text(),
"mt":d.mt.text(), "mt":d.mt.text(),
@@ -264,4 +265,6 @@ class MainWindow(QMainWindow):
self.mainstack.setCurrentIndex(self.core.mw_curstack) self.mainstack.setCurrentIndex(self.core.mw_curstack)
# TODO: add an app console window (show sass compilation errors for example)
self.setCentralWidget(self.mainstack) self.setCentralWidget(self.mainstack)
+1 -1
View File
@@ -2,7 +2,7 @@
$(function() { $(function() {
// Cloning the master page // Cloning the master page
for (i = 1; i < nb_page; i++){ for (i = 0; i < nb_page; i++){
$("#master-page").clone().attr("id","page-"+i).insertBefore($("#master-page")); $("#master-page").clone().attr("id","page-"+i).insertBefore($("#master-page"));
} }
$("#master-page").attr("data-width", $(".paper:first-child").width()).hide(); $("#master-page").attr("data-width", $(".paper:first-child").width()).hide();
+1 -1
View File
@@ -1 +1 @@
nb_page = 2; nb_page=2;