Open, save, recents, all that misery

This commit is contained in:
Olivier Keshavjee 2015-06-23 00:19:40 +02:00
parent 1585906911
commit 8971183d8e
8 changed files with 2401 additions and 1806 deletions

3
.gitignore vendored
View file

@ -2,7 +2,6 @@ snowflake*
*.pyc
*.lprof
.directory
test_project.zip
test_project_
*.msk
Notes.t2t
*.nja

View file

@ -24,6 +24,7 @@ def saveFilesToZip(files, zipname):
def loadFilesFromZip(zipname):
"""Returns the content of zipfile as a dict of filename:content."""
print(zipname)
zf = zipfile.ZipFile(zipname)
files = {}
for f in zf.namelist():

View file

@ -6,7 +6,7 @@ from qt import *
_version = "0.1"
import faulthandler
#faulthandler.enable()
faulthandler.enable()
def run():

View file

@ -28,12 +28,19 @@ class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.setupUi(self)
self.currentProject = None
self.readSettings()
# UI
self.setupMoreUi()
# Welcome
self.treeWelcome.expandAll()
self.loadRecents()
self.btnWelcomeOpen.clicked.connect(self.openFile)
self.actOpen.triggered.connect(self.openFile)
# Word count
self.mprWordCount = QSignalMapper(self)
for t, i in [
@ -107,8 +114,12 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.mdlOutline = outlineModel()
# Main Menu
self.actSave.setEnabled(False)
self.actSaveAs.setEnabled(False)
for i in [self.actSave, self.actSaveAs, self.actCloseProject,
self.menuEdit, self.menuMode, self.menuView, self.menuTools,
self.menuHelp]:
i.setEnabled(False)
self.actSave.triggered.connect(self.saveDatas)
self.actLabels.triggered.connect(self.settingsLabel)
self.actStatus.triggered.connect(self.settingsStatus)
@ -136,8 +147,34 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.treeDebugOutline.setModel(self.mdlOutline)
self.lstDebugLabels.setModel(self.mdlLabels)
self.lstDebugStatus.setModel(self.mdlStatus)
#self.loadProject(os.path.join(appPath(), "test_project.zip"))
self.loadProject(os.path.join(appPath(), "test_project.zip"))
###############################################################################
# WELCOME
###############################################################################
def loadRecents(self):
sttgns = QSettings()
if sttgns.contains("recentFiles"):
lst = sttgns.value("recentFiles")
self.menuRecents.clear()
for f in lst:
name = os.path.split(f)[1]
a = QAction(name, self)
a.setData(f)
a.triggered.connect(self.loadRecentFile)
self.menuRecents.addAction(a)
self.btnWelcomeRecent.setMenu(self.menuRecents)
def openFile(self):
filename = QFileDialog.getOpenFileName(self,
self.tr("Open project"),
".",
self.tr("Manuskript project (*.msk)"))[0]
if filename:
self.loadProject(filename)
###############################################################################
# SUMMARY
@ -350,9 +387,13 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self._updatingSubPlot = False
###############################################################################
# GENERAL
# GENERAL AKA UNSORTED
###############################################################################
def loadRecentFile(self):
act = self.sender()
self.loadProject(act.data())
def loadProject(self, project):
self.currentProject = project
@ -401,8 +442,10 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.saveTimerNoChanges.stop()
# UI
self.actSave.setEnabled(True)
self.actSaveAs.setEnabled(True)
for i in [self.actSave, self.actSaveAs, self.actCloseProject,
self.menuEdit, self.menuMode, self.menuView, self.menuTools,
self.menuHelp]:
i.setEnabled(True)
#FIXME: set Window's name: project name
# Stuff
@ -410,6 +453,22 @@ class MainWindow(QMainWindow, Ui_MainWindow):
# Adds header labels
self.mdlPersos.setHorizontalHeaderLabels([i.name for i in Perso])
# Save recent files in settings
sttgns = QSettings()
if sttgns.contains("recentFiles"):
recentFiles = sttgns.value("recentFiles")
else:
recentFiles = []
while project in recentFiles:
recentFiles.remove(project)
recentFiles.insert(0, project)
recentFiles = recentFiles[:10]
sttgns.setValue("recentFiles", recentFiles)
# Show main Window
self.stack.setCurrentIndex(1)
def makeConnections(self):
@ -575,17 +634,17 @@ class MainWindow(QMainWindow, Ui_MainWindow):
def readSettings(self):
# Load State and geometry
settings = QSettings(qApp.organizationName(), qApp.applicationName())
if settings.contains("geometry"):
self.restoreGeometry(settings.value("geometry"))
if settings.contains("windowState"):
self.restoreState(settings.value("windowState"))
sttgns = QSettings(qApp.organizationName(), qApp.applicationName())
if sttgns.contains("geometry"):
self.restoreGeometry(sttgns.value("geometry"))
if sttgns.contains("windowState"):
self.restoreState(sttgns.value("windowState"))
def closeEvent(self, event):
# Save State and geometry
stgs = QSettings(qApp.organizationName(), qApp.applicationName())
stgs.setValue("geometry", self.saveGeometry())
stgs.setValue("windowState", self.saveState())
sttgns = QSettings(qApp.organizationName(), qApp.applicationName())
sttgns.setValue("geometry", self.saveGeometry())
sttgns.setValue("windowState", self.saveState())
# Specific settings to save before quitting
settings.lastTab = self.tabMain.currentIndex()
@ -596,7 +655,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
settings.lastIndex = self.mdlOutline.pathToIndex(sel)
# Save data from models
if settings.saveOnQuit:
if self.currentProject and settings.saveOnQuit:
self.saveDatas()
# closeEvent

View file

@ -11,13 +11,141 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1103, 834)
MainWindow.resize(1089, 803)
MainWindow.setWindowTitle("Manuskript")
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.centralwidget)
self.horizontalLayout_12 = QtWidgets.QHBoxLayout(self.centralwidget)
self.horizontalLayout_12.setContentsMargins(0, 6, 0, 0)
self.horizontalLayout_12.setObjectName("horizontalLayout_12")
self.stack = QtWidgets.QStackedWidget(self.centralwidget)
self.stack.setObjectName("stack")
self.page_5 = QtWidgets.QWidget()
self.page_5.setObjectName("page_5")
self.verticalLayout_33 = QtWidgets.QVBoxLayout(self.page_5)
self.verticalLayout_33.setObjectName("verticalLayout_33")
spacerItem = QtWidgets.QSpacerItem(20, 210, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_33.addItem(spacerItem)
self.horizontalLayout_35 = QtWidgets.QHBoxLayout()
self.horizontalLayout_35.setObjectName("horizontalLayout_35")
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_35.addItem(spacerItem1)
self.frame_2 = QtWidgets.QFrame(self.page_5)
self.frame_2.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_2.setObjectName("frame_2")
self.verticalLayout_32 = QtWidgets.QVBoxLayout(self.frame_2)
self.verticalLayout_32.setObjectName("verticalLayout_32")
self.horizontalLayout_23 = QtWidgets.QHBoxLayout()
self.horizontalLayout_23.setObjectName("horizontalLayout_23")
self.treeWelcome = QtWidgets.QTreeWidget(self.frame_2)
self.treeWelcome.setRootIsDecorated(False)
self.treeWelcome.setObjectName("treeWelcome")
item_0 = QtWidgets.QTreeWidgetItem(self.treeWelcome)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
item_0.setFont(0, font)
brush = QtGui.QBrush(QtGui.QColor(230, 230, 255))
brush.setStyle(QtCore.Qt.SolidPattern)
item_0.setBackground(0, brush)
brush = QtGui.QBrush(QtGui.QColor(0, 0, 128))
brush.setStyle(QtCore.Qt.NoBrush)
item_0.setForeground(0, brush)
item_1 = QtWidgets.QTreeWidgetItem(item_0)
item_1 = QtWidgets.QTreeWidgetItem(item_0)
item_1 = QtWidgets.QTreeWidgetItem(item_0)
item_1 = QtWidgets.QTreeWidgetItem(item_0)
item_1 = QtWidgets.QTreeWidgetItem(item_0)
item_0 = QtWidgets.QTreeWidgetItem(self.treeWelcome)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
item_0.setFont(0, font)
brush = QtGui.QBrush(QtGui.QColor(230, 230, 255))
brush.setStyle(QtCore.Qt.SolidPattern)
item_0.setBackground(0, brush)
brush = QtGui.QBrush(QtGui.QColor(0, 0, 128))
brush.setStyle(QtCore.Qt.NoBrush)
item_0.setForeground(0, brush)
self.treeWelcome.header().setVisible(False)
self.horizontalLayout_23.addWidget(self.treeWelcome)
self.verticalLayout_31 = QtWidgets.QVBoxLayout()
self.verticalLayout_31.setObjectName("verticalLayout_31")
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_31.addItem(spacerItem2)
self.gridLayout = QtWidgets.QGridLayout()
self.gridLayout.setObjectName("gridLayout")
self.spinBox = QtWidgets.QSpinBox(self.frame_2)
self.spinBox.setMaximum(999)
self.spinBox.setProperty("value", 20)
self.spinBox.setObjectName("spinBox")
self.gridLayout.addWidget(self.spinBox, 0, 1, 1, 1)
self.lineEdit_4 = QtWidgets.QLineEdit(self.frame_2)
self.lineEdit_4.setObjectName("lineEdit_4")
self.gridLayout.addWidget(self.lineEdit_4, 0, 2, 1, 1)
self.label_32 = QtWidgets.QLabel(self.frame_2)
self.label_32.setObjectName("label_32")
self.gridLayout.addWidget(self.label_32, 1, 0, 1, 1)
self.spinBox_2 = QtWidgets.QSpinBox(self.frame_2)
self.spinBox_2.setMaximum(999)
self.spinBox_2.setProperty("value", 5)
self.spinBox_2.setObjectName("spinBox_2")
self.gridLayout.addWidget(self.spinBox_2, 1, 1, 1, 1)
self.lineEdit_6 = QtWidgets.QLineEdit(self.frame_2)
self.lineEdit_6.setObjectName("lineEdit_6")
self.gridLayout.addWidget(self.lineEdit_6, 1, 2, 1, 1)
self.label_33 = QtWidgets.QLabel(self.frame_2)
self.label_33.setObjectName("label_33")
self.gridLayout.addWidget(self.label_33, 2, 0, 1, 1)
self.spinBox_3 = QtWidgets.QSpinBox(self.frame_2)
self.spinBox_3.setMaximum(99999)
self.spinBox_3.setProperty("value", 500)
self.spinBox_3.setObjectName("spinBox_3")
self.gridLayout.addWidget(self.spinBox_3, 2, 1, 1, 1)
self.label_30 = QtWidgets.QLabel(self.frame_2)
self.label_30.setObjectName("label_30")
self.gridLayout.addWidget(self.label_30, 2, 2, 1, 1)
self.verticalLayout_31.addLayout(self.gridLayout)
self.horizontalLayout_23.addLayout(self.verticalLayout_31)
self.verticalLayout_32.addLayout(self.horizontalLayout_23)
self.line_4 = QtWidgets.QFrame(self.frame_2)
self.line_4.setFrameShape(QtWidgets.QFrame.HLine)
self.line_4.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_4.setObjectName("line_4")
self.verticalLayout_32.addWidget(self.line_4)
self.checkBox = QtWidgets.QCheckBox(self.frame_2)
self.checkBox.setChecked(True)
self.checkBox.setObjectName("checkBox")
self.verticalLayout_32.addWidget(self.checkBox)
self.horizontalLayout_20 = QtWidgets.QHBoxLayout()
self.horizontalLayout_20.setObjectName("horizontalLayout_20")
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_20.addItem(spacerItem3)
self.btnWelcomeOpen = QtWidgets.QPushButton(self.frame_2)
self.btnWelcomeOpen.setObjectName("btnWelcomeOpen")
self.horizontalLayout_20.addWidget(self.btnWelcomeOpen)
self.btnWelcomeRecent = QtWidgets.QPushButton(self.frame_2)
self.btnWelcomeRecent.setObjectName("btnWelcomeRecent")
self.horizontalLayout_20.addWidget(self.btnWelcomeRecent)
self.btnWelcomeCreate = QtWidgets.QPushButton(self.frame_2)
self.btnWelcomeCreate.setObjectName("btnWelcomeCreate")
self.horizontalLayout_20.addWidget(self.btnWelcomeCreate)
self.verticalLayout_32.addLayout(self.horizontalLayout_20)
self.horizontalLayout_35.addWidget(self.frame_2)
spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_35.addItem(spacerItem4)
self.verticalLayout_33.addLayout(self.horizontalLayout_35)
spacerItem5 = QtWidgets.QSpacerItem(20, 209, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_33.addItem(spacerItem5)
self.stack.addWidget(self.page_5)
self.page_4 = QtWidgets.QWidget()
self.page_4.setObjectName("page_4")
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.page_4)
self.horizontalLayout_2.setSpacing(0)
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.tabMain = QtWidgets.QTabWidget(self.centralwidget)
self.tabMain = QtWidgets.QTabWidget(self.page_4)
self.tabMain.setDocumentMode(True)
self.tabMain.setObjectName("tabMain")
self.lytTabOverview = QtWidgets.QWidget()
@ -57,8 +185,8 @@ class Ui_MainWindow(object):
self.txtGeneralVolume = lineEditView(self.grpBookInfos)
self.txtGeneralVolume.setObjectName("txtGeneralVolume")
self.horizontalLayout_25.addWidget(self.txtGeneralVolume)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_25.addItem(spacerItem)
spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_25.addItem(spacerItem6)
self.formLayout_3.setLayout(3, QtWidgets.QFormLayout.FieldRole, self.horizontalLayout_25)
self.label_14 = QtWidgets.QLabel(self.grpBookInfos)
self.label_14.setObjectName("label_14")
@ -146,8 +274,8 @@ class Ui_MainWindow(object):
self.lblSummaryWCSentance.setText("")
self.lblSummaryWCSentance.setObjectName("lblSummaryWCSentance")
self.verticalLayout_5.addWidget(self.lblSummaryWCSentance)
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_5.addItem(spacerItem1)
spacerItem7 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_5.addItem(spacerItem7)
self.tabSummary.addWidget(self.tabSummaryPage1)
self.tabSummaryPage2 = QtWidgets.QWidget()
self.tabSummaryPage2.setObjectName("tabSummaryPage2")
@ -167,8 +295,8 @@ class Ui_MainWindow(object):
self.txtSummarySentance_2.setReadOnly(True)
self.txtSummarySentance_2.setObjectName("txtSummarySentance_2")
self.verticalLayout.addWidget(self.txtSummarySentance_2)
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout.addItem(spacerItem2)
spacerItem8 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout.addItem(spacerItem8)
self.horizontalLayout_4.addLayout(self.verticalLayout)
self.line = QtWidgets.QFrame(self.tabSummaryPage2)
self.line.setFrameShape(QtWidgets.QFrame.VLine)
@ -187,8 +315,8 @@ class Ui_MainWindow(object):
self.lblSummaryWCPara.setText("")
self.lblSummaryWCPara.setObjectName("lblSummaryWCPara")
self.verticalLayout_2.addWidget(self.lblSummaryWCPara)
spacerItem3 = QtWidgets.QSpacerItem(20, 264, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_2.addItem(spacerItem3)
spacerItem9 = QtWidgets.QSpacerItem(20, 264, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_2.addItem(spacerItem9)
self.horizontalLayout_4.addLayout(self.verticalLayout_2)
self.tabSummary.addWidget(self.tabSummaryPage2)
self.tabSummaryPage3 = QtWidgets.QWidget()
@ -204,8 +332,8 @@ class Ui_MainWindow(object):
self.txtSummaryPara_2.setReadOnly(True)
self.txtSummaryPara_2.setObjectName("txtSummaryPara_2")
self.verticalLayout_6.addWidget(self.txtSummaryPara_2)
spacerItem4 = QtWidgets.QSpacerItem(20, 264, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_6.addItem(spacerItem4)
spacerItem10 = QtWidgets.QSpacerItem(20, 264, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_6.addItem(spacerItem10)
self.horizontalLayout_7.addLayout(self.verticalLayout_6)
self.line_2 = QtWidgets.QFrame(self.tabSummaryPage3)
self.line_2.setFrameShape(QtWidgets.QFrame.VLine)
@ -262,8 +390,8 @@ class Ui_MainWindow(object):
self.formLayout_5.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.tabSummary)
self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_5.addItem(spacerItem5)
spacerItem11 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_5.addItem(spacerItem11)
self.btnStepThree = QtWidgets.QPushButton(self.lytTabSummary)
icon = QtGui.QIcon.fromTheme("go-next")
self.btnStepThree.setIcon(icon)
@ -380,8 +508,8 @@ class Ui_MainWindow(object):
self.formLayout.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.txtPersoSummaryPara)
self.horizontalLayout_21 = QtWidgets.QHBoxLayout()
self.horizontalLayout_21.setObjectName("horizontalLayout_21")
spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_21.addItem(spacerItem6)
spacerItem12 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_21.addItem(spacerItem12)
self.btnStepFour = QtWidgets.QPushButton(self.infos)
icon = QtGui.QIcon.fromTheme("go-next")
self.btnStepFour.setIcon(icon)
@ -416,8 +544,8 @@ class Ui_MainWindow(object):
self.verticalLayout_17.addWidget(self.txtPersoSummaryFull)
self.horizontalLayout_22 = QtWidgets.QHBoxLayout()
self.horizontalLayout_22.setObjectName("horizontalLayout_22")
spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_22.addItem(spacerItem7)
spacerItem13 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_22.addItem(spacerItem13)
self.btnStepSix = QtWidgets.QPushButton(self.tab_11)
icon = QtGui.QIcon.fromTheme("go-next")
self.btnStepSix.setIcon(icon)
@ -466,8 +594,8 @@ class Ui_MainWindow(object):
self.lineEdit = QtWidgets.QLineEdit(self.tab_12)
self.lineEdit.setObjectName("lineEdit")
self.horizontalLayout_9.addWidget(self.lineEdit)
spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_9.addItem(spacerItem8)
spacerItem14 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_9.addItem(spacerItem14)
self.btnStepEight = QtWidgets.QPushButton(self.tab_12)
icon = QtGui.QIcon.fromTheme("go-next")
self.btnStepEight.setIcon(icon)
@ -560,8 +688,8 @@ class Ui_MainWindow(object):
self.verticalLayout_12.addWidget(self.lstPlotPerso)
self.horizontalLayout_16 = QtWidgets.QHBoxLayout()
self.horizontalLayout_16.setObjectName("horizontalLayout_16")
spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_16.addItem(spacerItem9)
spacerItem15 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_16.addItem(spacerItem15)
self.btnAddPlotPerso = QtWidgets.QPushButton(self.infos_2)
self.btnAddPlotPerso.setText("")
icon = QtGui.QIcon.fromTheme("list-add")
@ -622,8 +750,8 @@ class Ui_MainWindow(object):
self.btnRmSubPlot.setIcon(icon)
self.btnRmSubPlot.setObjectName("btnRmSubPlot")
self.horizontalLayout_17.addWidget(self.btnRmSubPlot)
spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_17.addItem(spacerItem10)
spacerItem16 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_17.addItem(spacerItem16)
self.btnShowSubPlotSummary = QtWidgets.QPushButton(self.tab_15)
self.btnShowSubPlotSummary.setText("")
icon = QtGui.QIcon.fromTheme("text-x-generic")
@ -734,8 +862,8 @@ class Ui_MainWindow(object):
self.btnPlanRemoveItem.setIcon(icon)
self.btnPlanRemoveItem.setObjectName("btnPlanRemoveItem")
self.horizontalLayout_18.addWidget(self.btnPlanRemoveItem)
spacerItem11 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_18.addItem(spacerItem11)
spacerItem17 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_18.addItem(spacerItem17)
self.btnPlanShowDetails = QtWidgets.QPushButton(self.layoutWidget)
self.btnPlanShowDetails.setText("")
icon = QtGui.QIcon.fromTheme("text-x-generic")
@ -782,8 +910,8 @@ class Ui_MainWindow(object):
self.btnRedacRemoveItem.setIcon(icon)
self.btnRedacRemoveItem.setObjectName("btnRedacRemoveItem")
self.horizontalLayout_31.addWidget(self.btnRedacRemoveItem)
spacerItem12 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_31.addItem(spacerItem12)
spacerItem18 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_31.addItem(spacerItem18)
self.verticalLayout_30.addLayout(self.horizontalLayout_31)
self.layoutWidget1 = QtWidgets.QWidget(self.splitterRedac)
self.layoutWidget1.setObjectName("layoutWidget1")
@ -830,8 +958,8 @@ class Ui_MainWindow(object):
self.sldCorkSizeFactor.setOrientation(QtCore.Qt.Horizontal)
self.sldCorkSizeFactor.setObjectName("sldCorkSizeFactor")
self.horizontalLayout_19.addWidget(self.sldCorkSizeFactor)
spacerItem13 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_19.addItem(spacerItem13)
spacerItem19 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_19.addItem(spacerItem19)
self.lblRedacWC = QtWidgets.QLabel(self.layoutWidget1)
self.lblRedacWC.setMinimumSize(QtCore.QSize(10, 0))
self.lblRedacWC.setText("")
@ -976,12 +1104,16 @@ class Ui_MainWindow(object):
self.verticalLayout_29.addWidget(self.tabWidget)
self.tabMain.addTab(self.lytTabDebug, "")
self.horizontalLayout_2.addWidget(self.tabMain)
self.stack.addWidget(self.page_4)
self.horizontalLayout_12.addWidget(self.stack)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 1103, 31))
self.menubar.setGeometry(QtCore.QRect(0, 0, 1089, 31))
self.menubar.setObjectName("menubar")
self.menuFile = QtWidgets.QMenu(self.menubar)
self.menuFile.setObjectName("menuFile")
self.menuRecents = QtWidgets.QMenu(self.menuFile)
self.menuRecents.setObjectName("menuRecents")
self.menuMode = QtWidgets.QMenu(self.menubar)
self.menuMode.setObjectName("menuMode")
self.menuHelp = QtWidgets.QMenu(self.menubar)
@ -1000,10 +1132,6 @@ class Ui_MainWindow(object):
icon = QtGui.QIcon.fromTheme("document-open")
self.actOpen.setIcon(icon)
self.actOpen.setObjectName("actOpen")
self.actRecents = QtWidgets.QAction(MainWindow)
icon = QtGui.QIcon.fromTheme("document-open-recent")
self.actRecents.setIcon(icon)
self.actRecents.setObjectName("actRecents")
self.actSave = QtWidgets.QAction(MainWindow)
icon = QtGui.QIcon.fromTheme("document-save")
self.actSave.setIcon(icon)
@ -1016,10 +1144,6 @@ class Ui_MainWindow(object):
icon = QtGui.QIcon.fromTheme("application-exit")
self.actQuit.setIcon(icon)
self.actQuit.setObjectName("actQuit")
self.actNew = QtWidgets.QAction(MainWindow)
icon = QtGui.QIcon.fromTheme("document-new")
self.actNew.setIcon(icon)
self.actNew.setObjectName("actNew")
self.actShowHelp = QtWidgets.QAction(MainWindow)
self.actShowHelp.setCheckable(True)
self.actShowHelp.setChecked(True)
@ -1056,11 +1180,15 @@ class Ui_MainWindow(object):
icon = QtGui.QIcon.fromTheme("preferences-system")
self.actSettings.setIcon(icon)
self.actSettings.setObjectName("actSettings")
self.menuFile.addAction(self.actNew)
self.actCloseProject = QtWidgets.QAction(MainWindow)
icon = QtGui.QIcon.fromTheme("window-close")
self.actCloseProject.setIcon(icon)
self.actCloseProject.setObjectName("actCloseProject")
self.menuFile.addAction(self.actOpen)
self.menuFile.addAction(self.actRecents)
self.menuFile.addAction(self.menuRecents.menuAction())
self.menuFile.addAction(self.actSave)
self.menuFile.addAction(self.actSaveAs)
self.menuFile.addAction(self.actCloseProject)
self.menuFile.addSeparator()
self.menuFile.addAction(self.actQuit)
self.menuMode.addAction(self.actModeNorma)
@ -1079,6 +1207,7 @@ class Ui_MainWindow(object):
self.menubar.addAction(self.menuHelp.menuAction())
self.retranslateUi(MainWindow)
self.stack.setCurrentIndex(0)
self.tabMain.setCurrentIndex(3)
self.tabSummary.setCurrentIndex(0)
self.tabPersos.setCurrentIndex(0)
@ -1099,6 +1228,26 @@ class Ui_MainWindow(object):
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
self.treeWelcome.headerItem().setText(0, _translate("MainWindow", "1"))
__sortingEnabled = self.treeWelcome.isSortingEnabled()
self.treeWelcome.setSortingEnabled(False)
self.treeWelcome.topLevelItem(0).setText(0, _translate("MainWindow", "Templates"))
self.treeWelcome.topLevelItem(0).child(0).setText(0, _translate("MainWindow", "Empty"))
self.treeWelcome.topLevelItem(0).child(1).setText(0, _translate("MainWindow", "Novel"))
self.treeWelcome.topLevelItem(0).child(2).setText(0, _translate("MainWindow", "Novella"))
self.treeWelcome.topLevelItem(0).child(3).setText(0, _translate("MainWindow", "Short Story"))
self.treeWelcome.topLevelItem(0).child(4).setText(0, _translate("MainWindow", "Research paper"))
self.treeWelcome.topLevelItem(1).setText(0, _translate("MainWindow", "Demo projects"))
self.treeWelcome.setSortingEnabled(__sortingEnabled)
self.lineEdit_4.setText(_translate("MainWindow", "Chapter"))
self.label_32.setText(_translate("MainWindow", "of"))
self.lineEdit_6.setText(_translate("MainWindow", "Scene"))
self.label_33.setText(_translate("MainWindow", "of"))
self.label_30.setText(_translate("MainWindow", "words each."))
self.checkBox.setText(_translate("MainWindow", "Next time, automatically open last project"))
self.btnWelcomeOpen.setText(_translate("MainWindow", "Open..."))
self.btnWelcomeRecent.setText(_translate("MainWindow", "Recent"))
self.btnWelcomeCreate.setText(_translate("MainWindow", "Create"))
self.grpBookInfos.setTitle(_translate("MainWindow", "Book infos"))
self.label_10.setText(_translate("MainWindow", "Title"))
self.label_11.setText(_translate("MainWindow", "Subtitle"))
@ -1193,6 +1342,7 @@ class Ui_MainWindow(object):
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Labels"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabDebug), _translate("MainWindow", "Debug"))
self.menuFile.setTitle(_translate("MainWindow", "File"))
self.menuRecents.setTitle(_translate("MainWindow", "Recents"))
self.menuMode.setTitle(_translate("MainWindow", "Mode"))
self.menuHelp.setTitle(_translate("MainWindow", "Help"))
self.menuTools.setTitle(_translate("MainWindow", "Tools"))
@ -1200,16 +1350,12 @@ class Ui_MainWindow(object):
self.menuView.setTitle(_translate("MainWindow", "View"))
self.actOpen.setText(_translate("MainWindow", "Open"))
self.actOpen.setShortcut(_translate("MainWindow", "Ctrl+O"))
self.actRecents.setText(_translate("MainWindow", "Recents"))
self.actRecents.setShortcut(_translate("MainWindow", "Ctrl+R"))
self.actSave.setText(_translate("MainWindow", "Save"))
self.actSave.setShortcut(_translate("MainWindow", "Ctrl+S"))
self.actSaveAs.setText(_translate("MainWindow", "Save as..."))
self.actSaveAs.setShortcut(_translate("MainWindow", "Ctrl+Shift+S"))
self.actQuit.setText(_translate("MainWindow", "Quit"))
self.actQuit.setShortcut(_translate("MainWindow", "Ctrl+Q"))
self.actNew.setText(_translate("MainWindow", "New"))
self.actNew.setShortcut(_translate("MainWindow", "Ctrl+N"))
self.actShowHelp.setText(_translate("MainWindow", "Show help texts"))
self.actShowHelp.setShortcut(_translate("MainWindow", "Ctrl+Shift+B"))
self.actSpellcheck.setText(_translate("MainWindow", "Spellcheck"))
@ -1224,13 +1370,14 @@ class Ui_MainWindow(object):
self.actViewOutline.setText(_translate("MainWindow", "Outline"))
self.actSettings.setText(_translate("MainWindow", "Settings"))
self.actSettings.setShortcut(_translate("MainWindow", "F8"))
self.actCloseProject.setText(_translate("MainWindow", "Close project"))
from ui.views.plotTreeView import plotTreeView
from ui.views.treeView import treeView
from ui.views.outlineView import outlineView
from ui.views.basicItemView import basicItemView
from ui.views.lineEditView import lineEditView
from ui.views.treeView import treeView
from ui.editors.editorWidget import editorWidget
from ui.views.outlineView import outlineView
from ui.views.textEditView import textEditView
from ui.sldImportance import sldImportance
from ui.views.metadataView import metadataView
from ui.editors.editorWidget import editorWidget
from ui.views.plotTreeView import plotTreeView
from ui.views.textEditView import textEditView

File diff suppressed because it is too large Load diff

View file

@ -74,6 +74,23 @@ class Ui_Settings(object):
self.cmbStyle.setObjectName("cmbStyle")
self.verticalLayout_5.addWidget(self.cmbStyle)
self.verticalLayout_7.addWidget(self.groupBox_2)
self.groupBox_10 = QtWidgets.QGroupBox(self.stackedWidgetPage1)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.groupBox_10.setFont(font)
self.groupBox_10.setObjectName("groupBox_10")
self.verticalLayout_18 = QtWidgets.QVBoxLayout(self.groupBox_10)
self.verticalLayout_18.setObjectName("verticalLayout_18")
self.chkAutoLoad = QtWidgets.QCheckBox(self.groupBox_10)
font = QtGui.QFont()
font.setBold(False)
font.setWeight(50)
self.chkAutoLoad.setFont(font)
self.chkAutoLoad.setChecked(True)
self.chkAutoLoad.setObjectName("chkAutoLoad")
self.verticalLayout_18.addWidget(self.chkAutoLoad)
self.verticalLayout_7.addWidget(self.groupBox_10)
self.groupBox = QtWidgets.QGroupBox(self.stackedWidgetPage1)
font = QtGui.QFont()
font.setBold(True)
@ -1177,6 +1194,8 @@ class Ui_Settings(object):
self.lblTitleGeneral.setText(_translate("Settings", "General settings"))
self.groupBox_2.setTitle(_translate("Settings", "Application style"))
self.label_2.setText(_translate("Settings", "You might need to restart manuskript in order to avoid some visual issues."))
self.groupBox_10.setTitle(_translate("Settings", "Loading"))
self.chkAutoLoad.setText(_translate("Settings", "Automatically load last project on startup"))
self.groupBox.setTitle(_translate("Settings", "Saving"))
self.chkAutoSave.setText(_translate("Settings", "Automatically save every"))
self.label.setText(_translate("Settings", "minutes."))

View file

@ -119,6 +119,37 @@ text-align:center;</string>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_10">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="title">
<string>Loading</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_18">
<item>
<widget class="QCheckBox" name="chkAutoLoad">
<property name="font">
<font>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="text">
<string>Automatically load last project on startup</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="font">