started number pages handle, needs to refresh toolbar num page display on change
This commit is contained in:
+31
-3
@@ -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
@@ -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)
|
||||
|
||||
|
||||
@@ -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']))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 @@
|
||||
nb_page = 2;
|
||||
nb_page=2;
|
||||
|
||||
Reference in New Issue
Block a user