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:
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)
sassfilepath = os.path.join(self.cwd,'assets/css/setup.scss')
# print(sassfilepath)
@@ -156,7 +157,34 @@ class Core():
# print('sass', 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)
# 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)
# TODO: action
self.hbox.addWidget(self.page)
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.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()
#
@@ -316,6 +319,7 @@ class Editor(QWidget):
class DesignStack(QWidget):
def __init__(self, core):
super(DesignStack, self).__init__()
self.core = core
# self.grid = QGridLayout()
self.hbox = QHBoxLayout()
@@ -328,18 +332,21 @@ class DesignStack(QWidget):
self.webview.setLayout(self.webview.vbox)
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)
# webkitinspector
self.webkitinspector = WebkitInspector(self, self.webkitview)
shortcut = QShortcut(self)
shortcut.setKey("F12")
shortcut.activated.connect(self.toggleInspector)
self.webkitinspector.setVisible(False)
self.webviewtoolbar = WebViewToolBar(self)
self.webview.vbox.addWidget(self.webviewtoolbar)
# V layout
self.vsplitter = QSplitter(QtCore.Qt.Vertical)
self.vsplitter.addWidget(self.webkitview)
self.vsplitter.addWidget(self.webkitinspector)
@@ -347,9 +354,11 @@ class DesignStack(QWidget):
self.webview.vbox.addWidget(self.vsplitter)
# H layout
self.hsplitter = QSplitter(QtCore.Qt.Horizontal)
self.hsplitter.addWidget(self.webview)
# editor
self.editor = Editor(self, core)
self.hsplitter.addWidget(self.editor)
+5
View File
@@ -36,6 +36,11 @@ class DocsetDialog(QDialog):
self.formGroupBox = QGroupBox()
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']))
layout.addRow(QLabel("Page Width (mm):"), self.pw)
self.ph = FormLineEdit(str(ds['ph']))
+3
View File
@@ -202,6 +202,7 @@ class MainWindow(QMainWindow):
d = docsetdialog.DocsetDialog(self)
d.exec_()
self.core.recordDocSettings({
"np":d.np.text(),
"pw":d.pw.text(),
"ph":d.ph.text(),
"mt":d.mt.text(),
@@ -264,4 +265,6 @@ class MainWindow(QMainWindow):
self.mainstack.setCurrentIndex(self.core.mw_curstack)
# TODO: add an app console window (show sass compilation errors for example)
self.setCentralWidget(self.mainstack)
+1 -1
View File
@@ -2,7 +2,7 @@
$(function() {
// 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").attr("data-width", $(".paper:first-child").width()).hide();
+1 -1
View File
@@ -1 +1 @@
nb_page = 2;
nb_page=2;