completed doc settings, and now are applied on project
This commit is contained in:
+98
-14
@@ -9,7 +9,7 @@
|
||||
# @Last modified time: 21-04-2017
|
||||
# @License: GPL-V3
|
||||
|
||||
import os, shutil, tempfile
|
||||
import os, re, shutil, tempfile
|
||||
# sys,
|
||||
from PyQt5 import QtCore
|
||||
from PyQt5.QtCore import QSettings, QCoreApplication
|
||||
@@ -77,18 +77,6 @@ class Core():
|
||||
self.mw_pos = settings.value('mainwindow/pos', QtCore.QPoint(0, 0))
|
||||
self.mw_curstack = int(settings.value('mainwindow/curstack', 0))
|
||||
|
||||
def loadDocSettings(self):
|
||||
self.docsettings = json.loads(open(os.path.join(self.cwd,'.config/prefs.json')).read())
|
||||
|
||||
def recordDocSettings(self,docsettings):
|
||||
# print("doc settings",docsettings)
|
||||
for key in docsettings:
|
||||
self.docsettings[key] = docsettings[key]
|
||||
jsonfilepath = os.path.join(self.cwd,'.config/prefs.json')
|
||||
with open(jsonfilepath, "w") as fp:
|
||||
json.dump(self.docsettings, fp, ensure_ascii=False, indent="\t")
|
||||
|
||||
|
||||
def savePreferences(self):
|
||||
# print("savePreferences")
|
||||
settings = QSettings('FiguresLibres', 'Cascade')
|
||||
@@ -103,6 +91,102 @@ class Core():
|
||||
settings.setValue('mainwindow/pos', self._mw.pos())
|
||||
settings.setValue('mainwindow/curstack', self._mw.mainstack.currentIndex())
|
||||
|
||||
def loadDocSettings(self):
|
||||
self.docsettings = json.loads(open(os.path.join(self.cwd,'.config/docsettings.json')).read())
|
||||
|
||||
def recordDocSettings(self,docsettings):
|
||||
# print("doc settings",docsettings)
|
||||
for key in docsettings:
|
||||
self.docsettings[key] = docsettings[key]
|
||||
jsonfilepath = os.path.join(self.cwd,'.config/docsettings.json')
|
||||
with open(jsonfilepath, "w") as fp:
|
||||
json.dump(self.docsettings, fp, ensure_ascii=False, indent="\t")
|
||||
|
||||
self.updateScss()
|
||||
|
||||
def updateScss(self):
|
||||
# print(self.docsettings)
|
||||
sassfilepath = os.path.join(self.cwd,'assets/css/main.scss')
|
||||
# print(sassfilepath)
|
||||
sass = open(sassfilepath,"r").read()
|
||||
|
||||
# $page-width: mm2pt(180);
|
||||
sass = re.sub(
|
||||
r'\$page-width:\smm2pt\([0-9|\.]+\);',
|
||||
'$page-width: mm2pt('+self.docsettings['pw']+');',
|
||||
sass)
|
||||
# $page-height: mm2pt(287);
|
||||
sass = re.sub(
|
||||
r'\$page-height:\smm2pt\([0-9|\.]+\);',
|
||||
'$page-height: mm2pt('+self.docsettings['ph']+');',
|
||||
sass)
|
||||
|
||||
# $page-margin-outside: mm2pt(15);
|
||||
sass = re.sub(
|
||||
r'\$page-margin-outside:\smm2pt\([0-9|\.]+\);',
|
||||
'$page-margin-outside: mm2pt('+self.docsettings['me']+');',
|
||||
sass)
|
||||
# $page-margin-inside: mm2pt(7.5);
|
||||
sass = re.sub(
|
||||
r'\$page-margin-inside:\smm2pt\([0-9|\.]+\);',
|
||||
'$page-margin-inside: mm2pt('+self.docsettings['mi']+');',
|
||||
sass)
|
||||
# $page-margin-top: mm2pt(10);
|
||||
sass = re.sub(
|
||||
r'\$page-margin-top:\smm2pt\([0-9|\.]+\);',
|
||||
'$page-margin-top: mm2pt('+self.docsettings['mt']+');',
|
||||
sass)
|
||||
# $page-margin-bottom: mm2pt(10);
|
||||
sass = re.sub(
|
||||
r'\$page-margin-bottom:\smm2pt\([0-9|\.]+\);',
|
||||
'$page-margin-bottom: mm2pt('+self.docsettings['mb']+');',
|
||||
sass)
|
||||
|
||||
# $crop-size: mm2pt(2);
|
||||
sass = re.sub(
|
||||
r'\$crop-size:\smm2pt\([0-9|\.]+\);',
|
||||
'$crop-size: mm2pt('+self.docsettings['cs']+');',
|
||||
sass)
|
||||
# $bleed: mm2pt(3);
|
||||
sass = re.sub(
|
||||
r'\$bleed:\smm2pt\([0-9|\.]+\);',
|
||||
'$bleed: mm2pt('+self.docsettings['bs']+');',
|
||||
sass)
|
||||
|
||||
# $col-number: 9;
|
||||
sass = re.sub(
|
||||
r'\$col-number:\smm2pt\([0-9|\.]+\);',
|
||||
'$col-number: mm2pt('+self.docsettings['cn']+');',
|
||||
sass)
|
||||
# $col-gutter: mm2pt(3);
|
||||
sass = re.sub(
|
||||
r'\$col-butter:\smm2pt\([0-9|\.]+\);',
|
||||
'$col-butter: mm2pt('+self.docsettings['cg']+');',
|
||||
sass)
|
||||
#
|
||||
# $row-number: 12;
|
||||
sass = re.sub(
|
||||
r'\$row-number:\smm2pt\([0-9|\.]+\);',
|
||||
'$row-number: mm2pt('+self.docsettings['rn']+');',
|
||||
sass)
|
||||
# $row-gutter: mm2pt(4);
|
||||
sass = re.sub(
|
||||
r'\$row-butter:\smm2pt\([0-9|\.]+\);',
|
||||
'$row-butter: mm2pt('+self.docsettings['rg']+');',
|
||||
sass)
|
||||
#
|
||||
# $line-height: mm2pt(4);
|
||||
sass = re.sub(
|
||||
r'\$line-height:\smm2pt\([0-9|\.]+\);',
|
||||
'$line-height: mm2pt('+self.docsettings['lh']+');',
|
||||
sass)
|
||||
|
||||
# print('sass', sass)
|
||||
open(sassfilepath,"w").write(sass)
|
||||
|
||||
self._mw.designstack.webkitview.reload()
|
||||
|
||||
|
||||
def initnewproject(self, cwd = None):
|
||||
print('initnewproject')
|
||||
if cwd == None :
|
||||
@@ -111,7 +195,7 @@ class Core():
|
||||
shutil.copytree(os.path.join(self.appcwd,'templates/newproject'), cwd)
|
||||
self.changeCWD(cwd)
|
||||
self.loadDocSettings()
|
||||
# self.docsettings = json.loads(open(os.path.join(cwd,'.config/prefs.json')).read())
|
||||
# self.docsettings = json.loads(open(os.path.join(cwd,'.config/docsettings.json')).read())
|
||||
self.summary = json.loads(open(os.path.join(cwd,'.config/summary.json')).read())
|
||||
self.repository = git.Repo.init(cwd)
|
||||
self.repository.index.add(['assets','contents','.config'])
|
||||
|
||||
+45
-44
@@ -34,63 +34,64 @@ class DocsetDialog(QDialog):
|
||||
def createFormGroupBox(self):
|
||||
ds = self.parent.core.docsettings
|
||||
|
||||
self.formGroupBox = QGroupBox("Form layout")
|
||||
self.formGroupBox = QGroupBox()
|
||||
layout = QFormLayout()
|
||||
|
||||
layout.addRow(QLabel("Page"))
|
||||
self.pw = QLineEdit(str(ds['pw']))
|
||||
self.pw.setFixedWidth(60)
|
||||
self.pw.setValidator(QIntValidator())
|
||||
self.pw.setMaxLength(5)
|
||||
self.pw = FormLineEdit(str(ds['pw']))
|
||||
layout.addRow(QLabel("Page Width (mm):"), self.pw)
|
||||
self.ph = QLineEdit(str(ds['ph']))
|
||||
self.ph.setFixedWidth(60)
|
||||
self.ph.setValidator(QIntValidator())
|
||||
self.ph.setMaxLength(5)
|
||||
self.ph = FormLineEdit(str(ds['ph']))
|
||||
layout.addRow(QLabel("Page Height (mm):"), self.ph)
|
||||
#
|
||||
line1 = QFrame()
|
||||
line1.setFrameShape(QFrame.HLine)
|
||||
line1.setFrameShadow(QFrame.Sunken)
|
||||
layout.addRow(line1)
|
||||
layout.addRow(Line(self))
|
||||
#
|
||||
self.mt = QLineEdit(str(ds['mt']))
|
||||
self.mt.setFixedWidth(60)
|
||||
self.mt.setValidator(QIntValidator())
|
||||
self.mt.setMaxLength(3)
|
||||
self.mt = FormLineEdit(str(ds['mt']),3)
|
||||
layout.addRow(QLabel("Margin Top (mm):"), self.mt)
|
||||
self.mb = QLineEdit(str(ds['mb']))
|
||||
self.mb.setFixedWidth(60)
|
||||
self.mb.setValidator(QIntValidator())
|
||||
self.mb.setMaxLength(3)
|
||||
self.mb = FormLineEdit(str(ds['mb']),3)
|
||||
layout.addRow(QLabel("Margin Bottom (mm):"), self.mb)
|
||||
self.mi = QLineEdit(str(ds['mi']))
|
||||
self.mi.setFixedWidth(60)
|
||||
self.mi.setValidator(QIntValidator())
|
||||
self.mi.setMaxLength(3)
|
||||
self.mi = FormLineEdit(str(ds['mi']),3)
|
||||
layout.addRow(QLabel("Margin inner (mm):"), self.mi)
|
||||
self.me = QLineEdit(str(ds['me']))
|
||||
self.me.setFixedWidth(60)
|
||||
self.me.setValidator(QIntValidator())
|
||||
self.me.setMaxLength(3)
|
||||
self.me = FormLineEdit(str(ds['me']),3)
|
||||
layout.addRow(QLabel("Margin external (mm):"), self.me)
|
||||
#
|
||||
line2 = QFrame()
|
||||
line2.setFrameShape(QFrame.HLine)
|
||||
line2.setFrameShadow(QFrame.Sunken)
|
||||
layout.addRow(line2)
|
||||
layout.addRow(Line(self))
|
||||
#
|
||||
self.cs = QLineEdit(str(ds['cs']))
|
||||
self.cs.setFixedWidth(60)
|
||||
self.cs.setValidator(QIntValidator())
|
||||
self.cs.setMaxLength(3)
|
||||
self.cs = FormLineEdit(str(ds['cs']),3)
|
||||
layout.addRow(QLabel("Crop size (mm):"), self.cs)
|
||||
self.bs = QLineEdit(str(ds['bs']))
|
||||
self.bs.setFixedWidth(60)
|
||||
self.bs.setValidator(QIntValidator())
|
||||
self.bs.setMaxLength(3)
|
||||
self.bs = FormLineEdit(str(ds['bs']),3)
|
||||
layout.addRow(QLabel("Bleed size (mm):"), self.bs)
|
||||
# # layout.addRow(QLabel("Country:"), QComboBox())
|
||||
# layout.addRow(QLabel("Age:"), QSpinBox())
|
||||
#
|
||||
layout.addRow(Line(self))
|
||||
#
|
||||
self.cn = FormLineEdit(str(ds['cn']),2,True)
|
||||
layout.addRow(QLabel("Columns number:"), self.cn)
|
||||
self.cg = FormLineEdit(str(ds['cg']),2)
|
||||
layout.addRow(QLabel("Columns gutters:"), self.cg)
|
||||
#
|
||||
self.rn = FormLineEdit(str(ds['rn']),2,True)
|
||||
layout.addRow(QLabel("Rows number:"), self.rn)
|
||||
self.rg = FormLineEdit(str(ds['rg']),2)
|
||||
layout.addRow(QLabel("Rows gutters:"), self.rg)
|
||||
#
|
||||
layout.addRow(Line(self))
|
||||
#
|
||||
self.lh = FormLineEdit(str(ds['lh']),2,True)
|
||||
layout.addRow(QLabel("Line height:"), self.lh)
|
||||
|
||||
self.formGroupBox.setLayout(layout)
|
||||
|
||||
class FormLineEdit(QLineEdit):
|
||||
def __init__(self, parent, ml=5, int=False, mw=60):
|
||||
super(FormLineEdit, self).__init__(parent)
|
||||
self.setFixedWidth(mw)
|
||||
self.setMaxLength(ml)
|
||||
if int:
|
||||
self.setValidator(QIntValidator())
|
||||
else:
|
||||
# TODO: set float validator
|
||||
self.setValidator(QIntValidator())
|
||||
|
||||
class Line(QFrame):
|
||||
def __init__(self, parent):
|
||||
super(Line, self).__init__(parent)
|
||||
self.setFrameShape(QFrame.HLine)
|
||||
self.setFrameShadow(QFrame.Sunken)
|
||||
|
||||
@@ -205,7 +205,12 @@ class MainWindow(QMainWindow):
|
||||
"me":d.me.text(),
|
||||
"mi":d.mi.text(),
|
||||
"cs":d.cs.text(),
|
||||
"bs":d.bs.text()
|
||||
"bs":d.bs.text(),
|
||||
"cn":d.cn.text(),
|
||||
"cg":d.cg.text(),
|
||||
"rn":d.rn.text(),
|
||||
"rg":d.rg.text(),
|
||||
"lh":d.lh.text()
|
||||
})
|
||||
|
||||
def genPDF(self):
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"git.user.name":"Cascade",
|
||||
"git.user.email":"cascade@figureslibres.io",
|
||||
"docsettings":{
|
||||
"pw":210,
|
||||
"ph":297,
|
||||
"mt":15,
|
||||
"mb":15,
|
||||
"me":10,
|
||||
"mi":15,
|
||||
"cs":5,
|
||||
"bs":5,
|
||||
"cn": 6,
|
||||
"cg": 5,
|
||||
"rn": 12,
|
||||
"rg": 4,
|
||||
"lh": 3
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"git.user.name":"Cascade",
|
||||
"git.user.email":"cascade@figureslibres.io",
|
||||
"docsettings":{
|
||||
"pw":210,
|
||||
"ph":297,
|
||||
"mt":15,
|
||||
"mb":15,
|
||||
"me":10,
|
||||
"mi":15,
|
||||
"cs":5,
|
||||
"bs":5
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user