From 8971183d8e3ffb2de602a25ef9108a1cd57e39e0 Mon Sep 17 00:00:00 2001 From: Olivier Keshavjee Date: Tue, 23 Jun 2015 00:19:40 +0200 Subject: [PATCH] Open, save, recents, all that misery --- .gitignore | 3 +- src/loadSave.py | 1 + src/main.py | 2 +- src/mainWindow.py | 93 +- src/ui/mainWindow.py | 249 ++- src/ui/mainWindow.ui | 3809 +++++++++++++++++++++++------------------- src/ui/settings.py | 19 + src/ui/settings.ui | 31 + 8 files changed, 2401 insertions(+), 1806 deletions(-) diff --git a/.gitignore b/.gitignore index 08bf4c5..f2bb6f0 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,6 @@ snowflake* *.pyc *.lprof .directory -test_project.zip -test_project_ +*.msk Notes.t2t *.nja \ No newline at end of file diff --git a/src/loadSave.py b/src/loadSave.py index d5ac7c4..a508cca 100644 --- a/src/loadSave.py +++ b/src/loadSave.py @@ -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(): diff --git a/src/main.py b/src/main.py index 79c1a74..0417fd6 100644 --- a/src/main.py +++ b/src/main.py @@ -6,7 +6,7 @@ from qt import * _version = "0.1" import faulthandler -#faulthandler.enable() +faulthandler.enable() def run(): diff --git a/src/mainWindow.py b/src/mainWindow.py index 47b0670..50ce699 100644 --- a/src/mainWindow.py +++ b/src/mainWindow.py @@ -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 diff --git a/src/ui/mainWindow.py b/src/ui/mainWindow.py index d294cea..433c9d5 100644 --- a/src/ui/mainWindow.py +++ b/src/ui/mainWindow.py @@ -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 diff --git a/src/ui/mainWindow.ui b/src/ui/mainWindow.ui index fc1f8bf..2ebb57f 100644 --- a/src/ui/mainWindow.ui +++ b/src/ui/mainWindow.ui @@ -6,1165 +6,286 @@ 0 0 - 1103 - 834 + 1089 + 803 Manuskript - + + + 0 + + + 6 + + + 0 + + + 0 + - + - 3 + 0 - - true - - - - Overview - - + + - + + + Qt::Vertical + + + + 20 + 210 + + + + + + - - - Book infos + + + Qt::Horizontal - - - 6 - - - 6 - - - 6 - - - - - Title - - - - - - - - - - Subtitle - - - - - - - - - - Serie - - - - - - - - - - Volume - - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Genre - - - - - - - - - - License - - - - - - - - + + + 40 + 20 + + + - - - Author + + + QFrame::StyledPanel - - - QFormLayout::ExpandingFieldsGrow - - - 6 - - - 6 - - - 6 - - - - - Name - - - - - - - - - - Email - - - - - - - - - - - - - - - - Summary - - - - - - Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing - - - - - - 75 - true - + + QFrame::Raised - - Situation: - - - - - - - - 75 - true - - - - Summary: - - - - - - - - - - One sentance - - - - - One paragraph - - - - - One page - - - - - Full - - - - - - - - - - 0 - - - - - - - One sentance summary - - - - - - - - 0 - 0 - - - - - - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - - - One sentance summary - - - - - - - - 0 - 0 - - - - true - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - Qt::Vertical - - - - - - - - - One paragraph summary - - - - - - - - - - - - - - - - - Qt::Vertical - - - - 20 - 264 - - - - - - - - - - - - - - - - One paragraph summary - - - - - - - true - - - - - - - Qt::Vertical - - - - 20 - 264 - - - - - - - - - - Qt::Vertical - - - - - - - - - Expand each sentence of your one paragraph summary to a paragraph - - - - - - - - - - - - - - - - - - - - - - - - - One page summary - - - - - - - true - - - - - - - - - Qt::Vertical - - - - - - - - - Full summary - - - - - - - - - - - - - - - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Next - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - Next - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - Next - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - Next - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - - - - - What if...? - - - - - - - - - - - - Characters - - - - - - Qt::Horizontal - - - false - - - - Names - - - - - - Qt::ScrollBarAlwaysOff - - - true - - - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - Filter - - - true - - - - - - - - - - 0 - - - - Basic infos - - - - QFormLayout::ExpandingFieldsGrow - - - - - Name - - - - - - - Importance - - - - - - - Motivation - - - - - - - - - - Goal - - - - - - - - - - Conflict - - - - - - - - - - Epiphany - - - - - - - - - - <html><head/><body><p align="right">One sentance<br/>summary</p></body></html> - - - - - - - - - - <html><head/><body><p align="right">One paragraph<br/>summary</p></body></html> - - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Next - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - - - - 0 - 0 - - - - - - - - - - - - - - - - - - - - - - - Summary - - + - - - - + - - - Qt::Horizontal + + + false - - - 40 - 20 - - - - - - - - Next - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - - - - Notes - - - - - - - - - - Detailed infos - - - - - - true - - - Qt::ElideNone - - - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - true - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - Filter - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Next - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - - - - - - - - - Plots - - - - - - Qt::Horizontal - - - - Plots - - - - - - false - - - - 1 - - - - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - Filter - - - true - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - true - - - true - - - - - - - - - - 1 - - - true - - - - Basic infos - - - - QFormLayout::ExpandingFieldsGrow - - - - - Plot - - - - - - - - - - Importance - - - - - - - Character(s) - - - - - - - Description - - - - - - - Result - - - - - - - - - - 0 - 0 - - - - QListView::Static - - - QListView::IconMode - - - - - + + false + + + + 1 + + - + + Templates + + + + 75 + true + + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + 230 + 230 + 255 + + + + + + + 0 + 0 + 128 + + + + + + Empty + + + + + Novel + + + + + Novella + + + + + Short Story + + + + + Research paper + + + + + + Demo projects + + + + 75 + true + + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + 230 + 230 + 255 + + + + + + + 0 + 0 + 128 + + + + + + + + + + - Qt::Horizontal + Qt::Vertical - 40 - 20 + 20 + 40 - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - + + + + + 999 + + + 20 + + + + + + + Chapter + + + + + + + of + + + + + + + 999 + + + 5 + + + + + + + Scene + + + + + + + of + + + + + + + 99999 + + + 500 + + + + + + + words each. + + + + - - - - - 0 - 0 - - - - - - - - - - - - - - - Resolution steps - - - - - QAbstractItemView::InternalMove - - - QAbstractItemView::SelectRows + + + Qt::Horizontal - - - Summary: + + + Next time, automatically open last project + + + true - - - - - - + - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - + Qt::Horizontal @@ -1177,19 +298,23 @@ - + - + Open... - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + Recent - - true - - - true + + + + + + Create @@ -1197,634 +322,1859 @@ - - - - Summary - - - - - - 0 - - - false - - - - One paragraph - - - - - One page - - - - - Full - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Context - - - - - Outline - - - - - - Qt::Horizontal - - - - true - - - QAbstractItemView::DragOnly - - - false - - - - - - - - Qt::Vertical - - - - true - - - QAbstractItemView::DragDrop - - - Qt::MoveAction - - - QAbstractItemView::ExtendedSelection - - - false - - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - - - - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - true - - - true - - - - - - - - - - - - - - Redaction - - - - - - Qt::Horizontal - - - - - 0 + + + + + Qt::Horizontal + + + 40 + 20 + + + + + + + + + + Qt::Vertical + + + + 20 + 209 + + + + + + + + + + 0 + + + 0 + + + + + 3 + + + true + + + + Overview + + - - - - + - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + Book infos + + + 6 + + + 6 + + + 6 + + + + + Title + + + + + + + + + + Subtitle + + + + + + + + + + Serie + + + + + + + + + + Volume + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Genre + + + + + + + + + + License + + + + + + + - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - true - - - true - - - - - - - Text - - - true - - - buttonGroup - - - - - - - Index cards - - - true - - - true - - - buttonGroup - - - - - - - Outline - - - true - - - buttonGroup - - - - - - - - 100 - 0 - - - - - 200 - 16777215 - - - - 50 - - - 200 - - - 100 - - - Qt::Horizontal - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 10 - 0 - - - - - - - - - - - - 100 - 6 - - - - - 200 - 14 - - - - - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - F11 - - - - - - - - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - true - - - true + + + Author + + + QFormLayout::ExpandingFieldsGrow + + + 6 + + + 6 + + + 6 + + + + + Name + + + + + + + + + + Email + + + + + + + - - - QTabWidget::South - - - 0 - - - true - - - - Metadata - - - - QLayout::SetMaximumSize - - - 0 - - - - - - - - - Tools - - - - 0 - - - - - Cheat sheet - - - true - - - + + + Summary + + + + + + Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing + + + + + + 75 + true + + + + Situation: + + + + + + + + 75 + true + + + + Summary: + + + + + + + + + + One sentance + + + + + One paragraph + + + + + One page + + + + + Full + + + + + + + + + 0 + + + + + + One sentance summary + + + + + + + + 0 + 0 + + + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + + + One sentance summary + + + + + + + + 0 + 0 + + + + true + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + Qt::Vertical + + + + + + + + + One paragraph summary + + + + + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 264 + + + + + + + + + + + + + + + + One paragraph summary + + + + + + + true + + + + + + + Qt::Vertical + + + + 20 + 264 + + + + + + + + + + Qt::Vertical + + + + + + + + + Expand each sentence of your one paragraph summary to a paragraph + + + + + + + + + + + + + + + + + + + + + + + + + One page summary + + + + + + + true + + + + + + + + + Qt::Vertical + + + + + + + + + Full summary + + + + + + + + + + + + + + + + + + + + + - - - Filter + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Next + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - - Albert - perso - - - - - Jean - perso - - - - - Crapoquak - animal - - - - - La revenche du capitaine - intrigue - - + + + Next + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + - + + + Next + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + Next + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + - - - - - - - - - - - - Debug - - - - - - QTabWidget::West - - - 3 - - - - FlatData - - - - - - - - - - Persos - - - - - - - - - - Perso Infos - - - - - - true - - - - - - - - Plots - - - - - - - - - - - + + + + + + What if...? + + + + - + - Outline + Characters - + - - - true + + + Qt::Horizontal + + false + + + + Names + + + + + + Qt::ScrollBarAlwaysOff + + + true + + + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + Filter + + + true + + + + + + + + + + 0 + + + + Basic infos + + + + QFormLayout::ExpandingFieldsGrow + + + + + Name + + + + + + + Importance + + + + + + + Motivation + + + + + + + + + + Goal + + + + + + + + + + Conflict + + + + + + + + + + Epiphany + + + + + + + + + + <html><head/><body><p align="right">One sentance<br/>summary</p></body></html> + + + + + + + + + + <html><head/><body><p align="right">One paragraph<br/>summary</p></body></html> + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Next + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + Summary + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Next + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + + + + Notes + + + + + + + + + + Detailed infos + + + + + + true + + + Qt::ElideNone + + + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + true + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + Filter + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Next + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + + - + - Labels + Plots - + - + + + Qt::Horizontal + + + + Plots + + + + + + false + + + + 1 + + + + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + Filter + + + true + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + true + + + true + + + + + + + + + + 1 + + + true + + + + Basic infos + + + + QFormLayout::ExpandingFieldsGrow + + + + + Plot + + + + + + + + + + Importance + + + + + + + Character(s) + + + + + + + Description + + + + + + + Result + + + + + + + + + + 0 + 0 + + + + QListView::Static + + + QListView::IconMode + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + + Resolution steps + + + + + + QAbstractItemView::InternalMove + + + QAbstractItemView::SelectRows + + + + + + + Summary: + + + + + + + + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + true + + + true + + + + + + + + + + + Summary + + + + + + 0 + + + false + + + + One paragraph + + + + + One page + + + + + Full + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Context + + + + + Outline + + - + + + Qt::Horizontal + + + + true + + + QAbstractItemView::DragOnly + + + false + + + + + + + + Qt::Vertical + + + + true + + + QAbstractItemView::DragDrop + + + Qt::MoveAction + + + QAbstractItemView::ExtendedSelection + + + false + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + true + + + true + + + + + + + + + + + + + + Redaction + + + + + + Qt::Horizontal + + + + + 0 + + + + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + true + + + true + + + + + + + Text + + + true + + + buttonGroup + + + + + + + Index cards + + + true + + + true + + + buttonGroup + + + + + + + Outline + + + true + + + buttonGroup + + + + + + + + 100 + 0 + + + + + 200 + 16777215 + + + + 50 + + + 200 + + + 100 + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 10 + 0 + + + + + + + + + + + + 100 + 6 + + + + + 200 + 14 + + + + + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + F11 + + + + + + + + + + + ../../../../../../../.designer/backup../../../../../../../.designer/backup + + + true + + + true + + + + + + + + + + QTabWidget::South + + + 0 + + + true + + + + Metadata + + + + QLayout::SetMaximumSize + + + 0 + + + + + + + + + Tools + + + + 0 + + + + + Cheat sheet + + + true + + + + 0 + + + + + Filter + + + + + + + + Albert - perso + + + + + Jean - perso + + + + + Crapoquak - animal + + + + + La revenche du capitaine - intrigue + + + + + + + + + + + + + + + + + + + + Debug + + + + + + QTabWidget::West + + + 3 + + + + FlatData + + + + + + + + + + Persos + + + + + + + + + + Perso Infos + + + + + + true + + + + + + + + Plots + + + + + + + + + + + + + + + + + + + + Outline + + + + + + true + + + + + + + + Labels + + + + + + + + + + + @@ -1841,7 +2191,7 @@ 0 0 - 1103 + 1089 31 @@ -1849,11 +2199,16 @@ File - + + + Recents + + - + + @@ -1910,18 +2265,6 @@ Ctrl+O - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - Recents - - - Ctrl+R - - @@ -1958,18 +2301,6 @@ Ctrl+Q - - - - ../../../../../../../.designer/backup../../../../../../../.designer/backup - - - New - - - Ctrl+N - - true @@ -2070,6 +2401,14 @@ F8 + + + + + + Close project + + diff --git a/src/ui/settings.py b/src/ui/settings.py index 08a14bd..1afd0d7 100644 --- a/src/ui/settings.py +++ b/src/ui/settings.py @@ -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.")) diff --git a/src/ui/settings.ui b/src/ui/settings.ui index 7201eeb..22e33f2 100644 --- a/src/ui/settings.ui +++ b/src/ui/settings.ui @@ -119,6 +119,37 @@ text-align:center; + + + + + 75 + true + + + + Loading + + + + + + + 50 + false + + + + Automatically load last project on startup + + + true + + + + + +