UI Improvements and minors corrections

This commit is contained in:
Olivier Keshavjee 2015-06-04 20:22:37 +02:00
parent db38b957b2
commit 123952ccaa
11 changed files with 386 additions and 191 deletions

View file

@ -3,4 +3,7 @@
Features
- Coach (entrer le nombre de mot viser, se fixer des objectifs quotidiens / hebdomadaires (en temps, ou en mots, min ou max), faire des statistiques)
- Différents modes: simple (que le outliner / rédacteur), snowflake strict (cache les éléments tant que le précédent n'a pas été accompli), snowflake souple (tout est affiché mais permet de naviger, avec conseils)
- Boîte à sable: endroit pour expérimenter, des scenes particulières ou des perso en situations spéciales. Avec suggestions de thèmes / lieux / ...
- Boîte à sable: endroit pour expérimenter, des scenes particulières ou des perso en situations spéciales. Avec suggestions de thèmes / lieux / ...
Outline:
- Afficher le nombre de mots, et la cible, et une barre de progressions

View file

@ -36,3 +36,6 @@ class Outline(Enum):
status = 7
compile = 8
text = 9
wordCount = 10
goal = 11
goalPercentage = 12

8
src/functions.py Normal file
View file

@ -0,0 +1,8 @@
#!/usr/bin/env python
#--!-- coding: utf8 --!--
from __future__ import print_function
from __future__ import unicode_literals
def wordCount(text):
return len(text.strip().split(" ")) if text else 0

View file

@ -13,6 +13,7 @@ from loadSave import *
from enums import *
from models.outlineModel import *
from models.persosProxyModel import *
from functions import *
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self):
@ -148,16 +149,20 @@ class MainWindow(QMainWindow, Ui_MainWindow):
]
for w, i in mapping:
self.mprPlan.addMapping(w, i)
self.treePlanOutline.selectionModel().currentChanged.connect(lambda idx: self.mprPlan.setRootIndex(idx.parent()))
self.treePlanOutline.selectionModel().currentChanged.connect(self.mprPlan.setCurrentModelIndex)
self.treePlanOutline.selectionModel().currentChanged.connect(self.cmbPlanPOV.setCurrentModelIndex)
self.treeRedacOutline.setSelectionModel(self.treePlanOutline.selectionModel())
for c in range(1, self.mdlOutline.columnCount()):
self.treeRedacOutline.hideColumn(c)
self.treePlanOutline.hideColumn(c)
for c in [Outline.POV.value, Outline.status.value, Outline.compile.value]:
for c in [Outline.POV.value, Outline.status.value, Outline.compile.value, Outline.wordCount.value, Outline.goal.value, Outline.goalPercentage.value]:
self.treePlanOutline.showColumn(c)
self.btnRedacAddFolder.clicked.connect(lambda: self.outlineAddItem("folder"))
self.btnPlanAddFolder.clicked.connect(lambda: self.outlineAddItem("folder"))
self.btnRedacAddScene.clicked.connect(lambda: self.outlineAddItem("scene"))
@ -167,6 +172,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.cmbRedacPOV.setModels(self.mdlPersos, self.mdlOutline)
self.cmbRedacStatus.setModel(self.mdlOutline)
#self.chkRedacCompile.setModel(self.mdlOutline)
self.mprOutline = QDataWidgetMapper()
self.mprOutline.setModel(self.mdlOutline)
mapping = [
@ -174,16 +181,18 @@ class MainWindow(QMainWindow, Ui_MainWindow):
(self.txtRedacSummarySentance, Outline.summarySentance.value),
(self.txtRedacSummaryFull, Outline.summaryFull.value),
(self.txtRedacNotes, Outline.notes.value),
(self.cmbRedacStatus, Outline.status.value),
(self.chkRedacCompile, Outline.compile.value),
(self.txtRedacTitle, Outline.title.value)
(self.txtRedacTitle, Outline.title.value),
(self.txtRedacGoal, Outline.goal.value)
]
for w, i in mapping:
self.mprOutline.addMapping(w, i)
self.treeRedacOutline.selectionModel().currentChanged.connect(lambda idx: self.mprOutline.setRootIndex(idx.parent()))
self.treeRedacOutline.selectionModel().currentChanged.connect(self.mprOutline.setCurrentModelIndex)
self.treeRedacOutline.selectionModel().currentChanged.connect(self.cmbRedacPOV.setCurrentModelIndex)
self.treeRedacOutline.selectionModel().currentChanged.connect(self.cmbRedacStatus.setCurrentModelIndex)
self.treeRedacOutline.selectionModel().currentChanged.connect(self.chkRedacCompile.setCurrentModelIndex)
self.treeRedacOutline.selectionModel().currentChanged.connect(lambda idx: self.lblRedacPOV.setHidden(idx.internalPointer().isFolder()))
self.treeRedacOutline.selectionModel().currentChanged.connect(lambda idx: self.cmbRedacPOV.setHidden(idx.internalPointer().isFolder()))
self.treePlanOutline.selectionModel().currentChanged.connect(lambda idx: self.lblPlanPOV.setHidden(idx.internalPointer().isFolder()))
@ -351,9 +360,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
if i == 6: # step 8 - scene list
self.tabMain.setCurrentIndex(3)
"Updates word counts over tabs"
def wordCount(self, i):
src= {
@ -370,7 +376,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
3:self.lblSummaryWCFull
}[i]
wc = len(src.toPlainText().strip().split(" ")) if src.toPlainText() else 0
wc = wordCount(src.toPlainText())
if i in [2, 3]: pages = " (~{} pages)".format(int(wc / 25) / 10.)
else: pages = ""
lbl.setText("Mots: {}{}".format(wc, pages))
@ -382,11 +388,14 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.splitterPersos.setStretchFactor(1, 75)
self.splitterPlot.setStretchFactor(0, 20)
self.splitterPlot.setStretchFactor(1, 40)
self.splitterPlot.setStretchFactor(2, 40)
self.splitterPlot.setStretchFactor(1, 60)
self.splitterPlot.setStretchFactor(2, 30)
self.splitterOutlineH.setStretchFactor(0, 25)
self.splitterOutlineH.setStretchFactor(1, 75)
self.splitterOutlineV.setStretchFactor(0, 75)
self.splitterOutlineV.setStretchFactor(1, 25)
self.splitterPlan.setStretchFactor(0, 25)
self.splitterPlan.setStretchFactor(1, 75)
self.splitterRedac.setStretchFactor(0, 20)
self.splitterRedac.setStretchFactor(1, 60)

View file

@ -10,6 +10,8 @@ from enums import *
from enum import Enum
from lxml import etree as ET
from functions import *
class outlineModel(QAbstractItemModel):
newStatuses = pyqtSignal()
@ -74,7 +76,7 @@ class outlineModel(QAbstractItemModel):
def setData(self, index, value, role=Qt.EditRole):
item = index.internalPointer()
item.setData(index.column(), value)
item.setData(index.column(), value, role)
if index.column() == Outline.status.value:
self.generateStatuses()
@ -316,9 +318,13 @@ class outlineItem():
return len(Outline)
def data(self, column, role=Qt.DisplayRole):
#print("Data: ", column, role)
if role == Qt.DisplayRole or role == Qt.EditRole:
if column == Outline.compile.value:
return self.data(column, Qt.CheckStateRole)
elif Outline(column) in self._data:
return self._data[Outline(column)]
else:
@ -340,7 +346,23 @@ class outlineItem():
else:
return Qt.Unchecked
def setData(self, column, data):
def setData(self, column, data, role=Qt.DisplayRole):
if role not in [Qt.DisplayRole, Qt.EditRole, Qt.CheckStateRole]:
print(column, column == Outline.text.value, data, role)
return
if column == Outline.text.value:
wc = wordCount(data)
self.setData(Outline.wordCount.value, wc)
if column in [Outline.wordCount.value, Outline.goal.value]:
wc = self.data(Outline.wordCount.value)
goal = self.data(Outline.goal.value)
if goal and wc:
self.setData(Outline.goalPercentage.value, int(wc) / float(goal))
else:
self.setData(Outline.goalPercentage.value, "0")
self._data[Outline(column)] = data
def row(self):
@ -373,7 +395,7 @@ class outlineItem():
item = ET.Element("outlineItem")
for attrib in Outline:
val = self.data(attrib)
val = self.data(attrib.value)
if val:
item.set(attrib.name, unicode(val))
@ -387,7 +409,7 @@ class outlineItem():
for k in root.attrib:
if k in Outline.__members__:
self._data[Outline.__members__[k]] = unicode(root.attrib[k])
self.setData(Outline.__members__[k].value, unicode(root.attrib[k]))
for child in root:
item = outlineItem(xml=ET.tostring(child))

View file

@ -0,0 +1,45 @@
#!/usr/bin/env python
#--!-- coding: utf8 --!--
from __future__ import print_function
from __future__ import unicode_literals
from qt import *
from enums import *
# Because I have trouble with QDataWidgetMapper and the checkbox, I don't know why.
class chkOutlineCompile(QCheckBox):
def __init__(self, parent=None):
QCheckBox.__init__(self, parent)
self.stateChanged.connect(self.changed)
self.currentModelIndex = None
def setModel(self, mdlOutline):
self.mdlOutline = mdlOutline
self.mdlOutline.dataChanged.connect(self.updateSelectedItem)
def setCurrentModelIndex(self, idx):
self.currentModelIndex = idx
self.updateSelectedItem()
def updateSelectedItem(self, idx1=None, idx2=None):
if not self.currentModelIndex:
self.setChecked(False)
self.setEnabled(False)
else:
self.setEnabled(True)
item = self.currentModelIndex.internalPointer()
c = item.data(Outline.compile)
if c:
c = int(c)
else:
c = Qt.Unchecked
self.setCheckState(c)
def changed(self, state):
if self.currentModelIndex:
mdl = self.currentModelIndex.model()
modelIndex = mdl.index(self.currentModelIndex.row(), Outline.compile.value, self.currentModelIndex.parent())
mdl.setData(modelIndex, state)

View file

@ -25,7 +25,7 @@ class cmbOutlinePersoChoser(QComboBox):
self.setCurrentIndex(0)
else:
item = self.currentModelIndex.internalPointer()
POV = item.data(Outline.POV)
POV = item.data(Outline.POV.value)
idx = self.findData(POV)
if idx <> -1:
self.setCurrentIndex(idx)

View file

@ -486,6 +486,7 @@ class Ui_MainWindow(object):
self.horizontalLayout_15.addWidget(self.btnPlotShowSummary)
self.verticalLayout_10.addLayout(self.horizontalLayout_15)
self.tabPlot = QtWidgets.QTabWidget(self.splitterPlot)
self.tabPlot.setDocumentMode(True)
self.tabPlot.setObjectName("tabPlot")
self.infos_2 = QtWidgets.QWidget()
self.infos_2.setObjectName("infos_2")
@ -678,11 +679,10 @@ class Ui_MainWindow(object):
self.lytTabOutline.setObjectName("lytTabOutline")
self.verticalLayout_27 = QtWidgets.QVBoxLayout(self.lytTabOutline)
self.verticalLayout_27.setObjectName("verticalLayout_27")
self.splitterPlan = QtWidgets.QSplitter(self.lytTabOutline)
self.splitterPlan.setOrientation(QtCore.Qt.Horizontal)
self.splitterPlan.setChildrenCollapsible(False)
self.splitterPlan.setObjectName("splitterPlan")
self.treeWidget_2 = QtWidgets.QTreeWidget(self.splitterPlan)
self.splitterOutlineH = QtWidgets.QSplitter(self.lytTabOutline)
self.splitterOutlineH.setOrientation(QtCore.Qt.Horizontal)
self.splitterOutlineH.setObjectName("splitterOutlineH")
self.treeWidget_2 = QtWidgets.QTreeWidget(self.splitterOutlineH)
self.treeWidget_2.setDragEnabled(True)
self.treeWidget_2.setDragDropMode(QtWidgets.QAbstractItemView.DragOnly)
self.treeWidget_2.setObjectName("treeWidget_2")
@ -692,57 +692,62 @@ class Ui_MainWindow(object):
item_0 = QtWidgets.QTreeWidgetItem(self.treeWidget_2)
item_1 = QtWidgets.QTreeWidgetItem(item_0)
item_1 = QtWidgets.QTreeWidgetItem(item_0)
self.layoutWidget = QtWidgets.QWidget(self.splitterPlan)
self.layoutWidget.setObjectName("layoutWidget")
self.verticalLayout_14 = QtWidgets.QVBoxLayout(self.layoutWidget)
self.widget = QtWidgets.QWidget(self.splitterOutlineH)
self.widget.setObjectName("widget")
self.verticalLayout_14 = QtWidgets.QVBoxLayout(self.widget)
self.verticalLayout_14.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_14.setObjectName("verticalLayout_14")
self.treePlanOutline = QtWidgets.QTreeView(self.layoutWidget)
self.splitterOutlineV = QtWidgets.QSplitter(self.widget)
self.splitterOutlineV.setOrientation(QtCore.Qt.Vertical)
self.splitterOutlineV.setObjectName("splitterOutlineV")
self.treePlanOutline = QtWidgets.QTreeView(self.splitterOutlineV)
self.treePlanOutline.setDragEnabled(True)
self.treePlanOutline.setDragDropMode(QtWidgets.QAbstractItemView.DragDrop)
self.treePlanOutline.setDefaultDropAction(QtCore.Qt.MoveAction)
self.treePlanOutline.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
self.treePlanOutline.setObjectName("treePlanOutline")
self.verticalLayout_14.addWidget(self.treePlanOutline)
self.groupbox = QtWidgets.QGroupBox(self.layoutWidget)
self.groupbox.setObjectName("groupbox")
self.verticalLayout_13 = QtWidgets.QVBoxLayout(self.groupbox)
self.frame = QtWidgets.QFrame(self.splitterOutlineV)
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame.setObjectName("frame")
self.verticalLayout_13 = QtWidgets.QVBoxLayout(self.frame)
self.verticalLayout_13.setObjectName("verticalLayout_13")
self.horizontalLayout_11 = QtWidgets.QHBoxLayout()
self.horizontalLayout_11.setObjectName("horizontalLayout_11")
self.lblPlanPOV = QtWidgets.QLabel(self.groupbox)
self.lblPlanPOV = QtWidgets.QLabel(self.frame)
self.lblPlanPOV.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.lblPlanPOV.setObjectName("lblPlanPOV")
self.horizontalLayout_11.addWidget(self.lblPlanPOV)
self.cmbPlanPOV = cmbOutlinePersoChoser(self.groupbox)
self.cmbPlanPOV = cmbOutlinePersoChoser(self.frame)
self.cmbPlanPOV.setFrame(False)
self.cmbPlanPOV.setObjectName("cmbPlanPOV")
self.horizontalLayout_11.addWidget(self.cmbPlanPOV)
self.verticalLayout_13.addLayout(self.horizontalLayout_11)
self.txtPlanSummarySentance = QtWidgets.QLineEdit(self.groupbox)
self.txtPlanSummarySentance = QtWidgets.QLineEdit(self.frame)
self.txtPlanSummarySentance.setObjectName("txtPlanSummarySentance")
self.verticalLayout_13.addWidget(self.txtPlanSummarySentance)
self.label_9 = QtWidgets.QLabel(self.groupbox)
self.label_9 = QtWidgets.QLabel(self.frame)
self.label_9.setObjectName("label_9")
self.verticalLayout_13.addWidget(self.label_9)
self.txtPlanSummaryFull = QtWidgets.QPlainTextEdit(self.groupbox)
self.txtPlanSummaryFull = QtWidgets.QPlainTextEdit(self.frame)
self.txtPlanSummaryFull.setObjectName("txtPlanSummaryFull")
self.verticalLayout_13.addWidget(self.txtPlanSummaryFull)
self.verticalLayout_14.addWidget(self.groupbox)
self.verticalLayout_14.addWidget(self.splitterOutlineV)
self.horizontalLayout_18 = QtWidgets.QHBoxLayout()
self.horizontalLayout_18.setObjectName("horizontalLayout_18")
self.btnPlanAddFolder = QtWidgets.QPushButton(self.layoutWidget)
self.btnPlanAddFolder = QtWidgets.QPushButton(self.widget)
self.btnPlanAddFolder.setText("")
icon = QtGui.QIcon.fromTheme("folder-new")
self.btnPlanAddFolder.setIcon(icon)
self.btnPlanAddFolder.setObjectName("btnPlanAddFolder")
self.horizontalLayout_18.addWidget(self.btnPlanAddFolder)
self.btnPlanAddScene = QtWidgets.QPushButton(self.layoutWidget)
self.btnPlanAddScene = QtWidgets.QPushButton(self.widget)
self.btnPlanAddScene.setText("")
icon = QtGui.QIcon.fromTheme("document-new")
self.btnPlanAddScene.setIcon(icon)
self.btnPlanAddScene.setObjectName("btnPlanAddScene")
self.horizontalLayout_18.addWidget(self.btnPlanAddScene)
self.btnPlanRemoveItem = QtWidgets.QPushButton(self.layoutWidget)
self.btnPlanRemoveItem = QtWidgets.QPushButton(self.widget)
self.btnPlanRemoveItem.setText("")
icon = QtGui.QIcon.fromTheme("list-remove")
self.btnPlanRemoveItem.setIcon(icon)
@ -750,30 +755,32 @@ class Ui_MainWindow(object):
self.horizontalLayout_18.addWidget(self.btnPlanRemoveItem)
spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_18.addItem(spacerItem8)
self.pushButton_23 = QtWidgets.QPushButton(self.layoutWidget)
self.pushButton_23.setText("")
self.btnPlanShowDetails = QtWidgets.QPushButton(self.widget)
self.btnPlanShowDetails.setText("")
icon = QtGui.QIcon.fromTheme("text-x-generic")
self.pushButton_23.setIcon(icon)
self.pushButton_23.setCheckable(True)
self.pushButton_23.setChecked(True)
self.pushButton_23.setObjectName("pushButton_23")
self.horizontalLayout_18.addWidget(self.pushButton_23)
self.btnPlanShowDetails.setIcon(icon)
self.btnPlanShowDetails.setCheckable(True)
self.btnPlanShowDetails.setChecked(True)
self.btnPlanShowDetails.setObjectName("btnPlanShowDetails")
self.horizontalLayout_18.addWidget(self.btnPlanShowDetails)
self.verticalLayout_14.addLayout(self.horizontalLayout_18)
self.verticalLayout_27.addWidget(self.splitterPlan)
self.verticalLayout_27.addWidget(self.splitterOutlineH)
self.tabMain.addTab(self.lytTabOutline, "")
self.lytTabRedac = QtWidgets.QWidget()
self.lytTabRedac.setObjectName("lytTabRedac")
self.verticalLayout_28 = QtWidgets.QVBoxLayout(self.lytTabRedac)
self.verticalLayout_28.setSpacing(0)
self.verticalLayout_28.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_28.setObjectName("verticalLayout_28")
self.splitterRedac = QtWidgets.QSplitter(self.lytTabRedac)
self.splitterRedac.setOrientation(QtCore.Qt.Horizontal)
self.splitterRedac.setObjectName("splitterRedac")
self.layoutWidget1 = QtWidgets.QWidget(self.splitterRedac)
self.layoutWidget1.setObjectName("layoutWidget1")
self.verticalLayout_19 = QtWidgets.QVBoxLayout(self.layoutWidget1)
self.layoutWidget = QtWidgets.QWidget(self.splitterRedac)
self.layoutWidget.setObjectName("layoutWidget")
self.verticalLayout_19 = QtWidgets.QVBoxLayout(self.layoutWidget)
self.verticalLayout_19.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_19.setObjectName("verticalLayout_19")
self.treeRedacOutline = QtWidgets.QTreeView(self.layoutWidget1)
self.treeRedacOutline = QtWidgets.QTreeView(self.layoutWidget)
self.treeRedacOutline.setDragDropMode(QtWidgets.QAbstractItemView.DragDrop)
self.treeRedacOutline.setDefaultDropAction(QtCore.Qt.MoveAction)
self.treeRedacOutline.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
@ -781,19 +788,19 @@ class Ui_MainWindow(object):
self.verticalLayout_19.addWidget(self.treeRedacOutline)
self.horizontalLayout_31 = QtWidgets.QHBoxLayout()
self.horizontalLayout_31.setObjectName("horizontalLayout_31")
self.btnRedacAddFolder = QtWidgets.QPushButton(self.layoutWidget1)
self.btnRedacAddFolder = QtWidgets.QPushButton(self.layoutWidget)
self.btnRedacAddFolder.setText("")
icon = QtGui.QIcon.fromTheme("folder-new")
self.btnRedacAddFolder.setIcon(icon)
self.btnRedacAddFolder.setObjectName("btnRedacAddFolder")
self.horizontalLayout_31.addWidget(self.btnRedacAddFolder)
self.btnRedacAddScene = QtWidgets.QPushButton(self.layoutWidget1)
self.btnRedacAddScene = QtWidgets.QPushButton(self.layoutWidget)
self.btnRedacAddScene.setText("")
icon = QtGui.QIcon.fromTheme("document-new")
self.btnRedacAddScene.setIcon(icon)
self.btnRedacAddScene.setObjectName("btnRedacAddScene")
self.horizontalLayout_31.addWidget(self.btnRedacAddScene)
self.btnRedacRemoveItem = QtWidgets.QPushButton(self.layoutWidget1)
self.btnRedacRemoveItem = QtWidgets.QPushButton(self.layoutWidget)
self.btnRedacRemoveItem.setText("")
icon = QtGui.QIcon.fromTheme("list-remove")
self.btnRedacRemoveItem.setIcon(icon)
@ -802,12 +809,12 @@ class Ui_MainWindow(object):
spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_31.addItem(spacerItem9)
self.verticalLayout_19.addLayout(self.horizontalLayout_31)
self.layoutWidget2 = QtWidgets.QWidget(self.splitterRedac)
self.layoutWidget2.setObjectName("layoutWidget2")
self.verticalLayout_16 = QtWidgets.QVBoxLayout(self.layoutWidget2)
self.layoutWidget1 = QtWidgets.QWidget(self.splitterRedac)
self.layoutWidget1.setObjectName("layoutWidget1")
self.verticalLayout_16 = QtWidgets.QVBoxLayout(self.layoutWidget1)
self.verticalLayout_16.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_16.setObjectName("verticalLayout_16")
self.txtRedacTitle = QtWidgets.QLineEdit(self.layoutWidget2)
self.txtRedacTitle = QtWidgets.QLineEdit(self.layoutWidget1)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
@ -817,12 +824,12 @@ class Ui_MainWindow(object):
self.txtRedacTitle.setFrame(False)
self.txtRedacTitle.setObjectName("txtRedacTitle")
self.verticalLayout_16.addWidget(self.txtRedacTitle)
self.txtRedacText = QtWidgets.QPlainTextEdit(self.layoutWidget2)
self.txtRedacText = QtWidgets.QPlainTextEdit(self.layoutWidget1)
self.txtRedacText.setObjectName("txtRedacText")
self.verticalLayout_16.addWidget(self.txtRedacText)
self.horizontalLayout_19 = QtWidgets.QHBoxLayout()
self.horizontalLayout_19.setObjectName("horizontalLayout_19")
self.pushButton_20 = QtWidgets.QPushButton(self.layoutWidget2)
self.pushButton_20 = QtWidgets.QPushButton(self.layoutWidget1)
self.pushButton_20.setText("")
icon = QtGui.QIcon.fromTheme("text-x-generic")
self.pushButton_20.setIcon(icon)
@ -832,7 +839,7 @@ class Ui_MainWindow(object):
self.horizontalLayout_19.addWidget(self.pushButton_20)
spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_19.addItem(spacerItem10)
self.pushButton_19 = QtWidgets.QPushButton(self.layoutWidget2)
self.pushButton_19 = QtWidgets.QPushButton(self.layoutWidget1)
self.pushButton_19.setText("")
icon = QtGui.QIcon.fromTheme("edit-find")
self.pushButton_19.setIcon(icon)
@ -849,6 +856,7 @@ class Ui_MainWindow(object):
self.tab_17.setObjectName("tab_17")
self.verticalLayout_20 = QtWidgets.QVBoxLayout(self.tab_17)
self.verticalLayout_20.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize)
self.verticalLayout_20.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_20.setObjectName("verticalLayout_20")
self.groupBox_4 = collapsibleGroupBox(self.tab_17)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
@ -856,9 +864,11 @@ class Ui_MainWindow(object):
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.groupBox_4.sizePolicy().hasHeightForWidth())
self.groupBox_4.setSizePolicy(sizePolicy)
self.groupBox_4.setFlat(True)
self.groupBox_4.setCheckable(True)
self.groupBox_4.setObjectName("groupBox_4")
self.formLayout_5 = QtWidgets.QFormLayout(self.groupBox_4)
self.formLayout_5.setContentsMargins(0, 0, 0, 0)
self.formLayout_5.setObjectName("formLayout_5")
self.lblRedacPOV = QtWidgets.QLabel(self.groupBox_4)
self.lblRedacPOV.setObjectName("lblRedacPOV")
@ -869,6 +879,7 @@ class Ui_MainWindow(object):
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmbRedacPOV.sizePolicy().hasHeightForWidth())
self.cmbRedacPOV.setSizePolicy(sizePolicy)
self.cmbRedacPOV.setFrame(False)
self.cmbRedacPOV.setObjectName("cmbRedacPOV")
self.formLayout_5.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.cmbRedacPOV)
self.label_30 = QtWidgets.QLabel(self.groupBox_4)
@ -881,22 +892,40 @@ class Ui_MainWindow(object):
sizePolicy.setHeightForWidth(self.cmbRedacStatus.sizePolicy().hasHeightForWidth())
self.cmbRedacStatus.setSizePolicy(sizePolicy)
self.cmbRedacStatus.setEditable(True)
self.cmbRedacStatus.setFrame(False)
self.cmbRedacStatus.setObjectName("cmbRedacStatus")
self.formLayout_5.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.cmbRedacStatus)
self.label_32 = QtWidgets.QLabel(self.groupBox_4)
self.label_32.setObjectName("label_32")
self.formLayout_5.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_32)
self.chkRedacCompile = QtWidgets.QCheckBox(self.groupBox_4)
self.chkRedacCompile = chkOutlineCompile(self.groupBox_4)
self.chkRedacCompile.setText("")
self.chkRedacCompile.setObjectName("chkRedacCompile")
self.formLayout_5.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.chkRedacCompile)
self.label_29 = QtWidgets.QLabel(self.groupBox_4)
self.label_29.setObjectName("label_29")
self.formLayout_5.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_29)
self.txtRedacGoal = QtWidgets.QLineEdit(self.groupBox_4)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.txtRedacGoal.sizePolicy().hasHeightForWidth())
self.txtRedacGoal.setSizePolicy(sizePolicy)
self.txtRedacGoal.setAutoFillBackground(False)
self.txtRedacGoal.setStyleSheet("border-radius: 6px;")
self.txtRedacGoal.setFrame(False)
self.txtRedacGoal.setObjectName("txtRedacGoal")
self.formLayout_5.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.txtRedacGoal)
self.verticalLayout_20.addWidget(self.groupBox_4)
self.groupBox_5 = collapsibleGroupBox(self.tab_17)
self.groupBox_5.setFlat(True)
self.groupBox_5.setCheckable(True)
self.groupBox_5.setObjectName("groupBox_5")
self.verticalLayout_22 = QtWidgets.QVBoxLayout(self.groupBox_5)
self.verticalLayout_22.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_22.setObjectName("verticalLayout_22")
self.txtRedacSummarySentance = QtWidgets.QLineEdit(self.groupBox_5)
self.txtRedacSummarySentance.setInputMask("")
self.txtRedacSummarySentance.setObjectName("txtRedacSummarySentance")
self.verticalLayout_22.addWidget(self.txtRedacSummarySentance)
self.txtRedacSummaryFull = QtWidgets.QPlainTextEdit(self.groupBox_5)
@ -904,9 +933,11 @@ class Ui_MainWindow(object):
self.verticalLayout_22.addWidget(self.txtRedacSummaryFull)
self.verticalLayout_20.addWidget(self.groupBox_5)
self.groupBox_6 = collapsibleGroupBox(self.tab_17)
self.groupBox_6.setFlat(True)
self.groupBox_6.setCheckable(True)
self.groupBox_6.setObjectName("groupBox_6")
self.horizontalLayout_29 = QtWidgets.QHBoxLayout(self.groupBox_6)
self.horizontalLayout_29.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_29.setObjectName("horizontalLayout_29")
self.txtRedacNotes = QtWidgets.QPlainTextEdit(self.groupBox_6)
self.txtRedacNotes.setObjectName("txtRedacNotes")
@ -916,10 +947,13 @@ class Ui_MainWindow(object):
self.tab_18 = QtWidgets.QWidget()
self.tab_18.setObjectName("tab_18")
self.verticalLayout_21 = QtWidgets.QVBoxLayout(self.tab_18)
self.verticalLayout_21.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_21.setObjectName("verticalLayout_21")
self.groupBox_3 = QtWidgets.QGroupBox(self.tab_18)
self.groupBox_3.setFlat(True)
self.groupBox_3.setObjectName("groupBox_3")
self.verticalLayout_15 = QtWidgets.QVBoxLayout(self.groupBox_3)
self.verticalLayout_15.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_15.setObjectName("verticalLayout_15")
self.lineEdit_3 = QtWidgets.QLineEdit(self.groupBox_3)
self.lineEdit_3.setObjectName("lineEdit_3")
@ -1047,18 +1081,18 @@ class Ui_MainWindow(object):
self.menubar.addAction(self.menu_Aide.menuAction())
self.retranslateUi(MainWindow)
self.tabMain.setCurrentIndex(2)
self.tabMain.setCurrentIndex(6)
self.tabSummary.setCurrentIndex(0)
self.tabPersos.setCurrentIndex(0)
self.tabPlot.setCurrentIndex(0)
self.comboBox_2.setCurrentIndex(1)
self.comboBox_2.setCurrentIndex(0)
self.stkPlotSummary.setCurrentIndex(1)
self.tabWidget_2.setCurrentIndex(0)
self.tabWidget.setCurrentIndex(3)
self.pushButton_16.toggled['bool'].connect(self.plainTextEdit_7.setVisible)
self.pushButton_23.toggled['bool'].connect(self.groupbox.setVisible)
self.btnPlotShowSummary.toggled['bool'].connect(self.grpPlotSummary.setVisible)
self.comboBox_2.currentIndexChanged['int'].connect(self.stkPlotSummary.setCurrentIndex)
self.btnPlanShowDetails.toggled['bool'].connect(self.frame.setVisible)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
@ -1149,7 +1183,7 @@ class Ui_MainWindow(object):
self.grpPlotSummary.setTitle(_translate("MainWindow", "Résumé"))
self.comboBox_2.setItemText(0, _translate("MainWindow", "Un paragraphe"))
self.comboBox_2.setItemText(1, _translate("MainWindow", "Une page"))
self.comboBox_2.setItemText(2, _translate("MainWindow", "4 pages"))
self.comboBox_2.setItemText(2, _translate("MainWindow", "Complet"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabPlot), _translate("MainWindow", "Intrigues"))
self.tabMain.setTabText(self.tabMain.indexOf(self.tab_5), _translate("MainWindow", "Contexte"))
self.treeWidget_2.headerItem().setText(0, _translate("MainWindow", "Liste de scènes"))
@ -1162,15 +1196,16 @@ class Ui_MainWindow(object):
self.treeWidget_2.topLevelItem(1).child(0).setText(0, _translate("MainWindow", "Scène 1"))
self.treeWidget_2.topLevelItem(1).child(1).setText(0, _translate("MainWindow", "Scène 2"))
self.treeWidget_2.setSortingEnabled(__sortingEnabled)
self.groupbox.setTitle(_translate("MainWindow", "Détails"))
self.lblPlanPOV.setText(_translate("MainWindow", "POV"))
self.txtPlanSummarySentance.setPlaceholderText(_translate("MainWindow", "Résumé de la scène en une ligne"))
self.label_9.setText(_translate("MainWindow", "Résumé en quelques phrases"))
self.label_9.setText(_translate("MainWindow", "Résumé en quelques phrases:"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabOutline), _translate("MainWindow", "Plan"))
self.groupBox_4.setTitle(_translate("MainWindow", "Propriétés"))
self.lblRedacPOV.setText(_translate("MainWindow", "POV"))
self.label_30.setText(_translate("MainWindow", "Status"))
self.label_32.setText(_translate("MainWindow", "Compile"))
self.label_29.setText(_translate("MainWindow", "Goal"))
self.txtRedacGoal.setPlaceholderText(_translate("MainWindow", "Nombre de mots"))
self.groupBox_5.setTitle(_translate("MainWindow", "Résumé de la scène"))
self.txtRedacSummarySentance.setPlaceholderText(_translate("MainWindow", "Résumé de la scène en une ligne"))
self.groupBox_6.setTitle(_translate("MainWindow", "Notes pour la scène"))
@ -1214,7 +1249,8 @@ class Ui_MainWindow(object):
self.actShowHelp.setText(_translate("MainWindow", "Afficher les &bulles d\'aide"))
self.actShowHelp.setShortcut(_translate("MainWindow", "Ctrl+Shift+B"))
from ui.cmbOutlinePersoChoser import cmbOutlinePersoChoser
from ui.cmbOutlineStatusChoser import cmbOutlineStatusChoser
from ui.sldImportance import sldImportance
from ui.collapsibleGroupBox import collapsibleGroupBox
from ui.chkOutlineCompile import chkOutlineCompile
from ui.cmbOutlinePersoChoser import cmbOutlinePersoChoser

View file

@ -18,7 +18,7 @@
<item>
<widget class="QTabWidget" name="tabMain">
<property name="currentIndex">
<number>2</number>
<number>6</number>
</property>
<property name="documentMode">
<bool>true</bool>
@ -935,6 +935,9 @@
<property name="currentIndex">
<number>0</number>
</property>
<property name="documentMode">
<bool>true</bool>
</property>
<widget class="QWidget" name="infos_2">
<attribute name="title">
<string>Informations générales</string>
@ -1202,7 +1205,7 @@
<item>
<widget class="QComboBox" name="comboBox_2">
<property name="currentIndex">
<number>1</number>
<number>0</number>
</property>
<property name="frame">
<bool>false</bool>
@ -1219,7 +1222,7 @@
</item>
<item>
<property name="text">
<string>4 pages</string>
<string>Complet</string>
</property>
</item>
</widget>
@ -1281,13 +1284,10 @@
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_27">
<item>
<widget class="QSplitter" name="splitterPlan">
<widget class="QSplitter" name="splitterOutlineH">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="childrenCollapsible">
<bool>false</bool>
</property>
<widget class="QTreeWidget" name="treeWidget_2">
<property name="dragEnabled">
<bool>true</bool>
@ -1331,66 +1331,75 @@
</item>
</item>
</widget>
<widget class="QWidget" name="layoutWidget">
<widget class="QWidget" name="">
<layout class="QVBoxLayout" name="verticalLayout_14">
<item>
<widget class="QTreeView" name="treePlanOutline">
<property name="dragEnabled">
<bool>true</bool>
<widget class="QSplitter" name="splitterOutlineV">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="dragDropMode">
<enum>QAbstractItemView::DragDrop</enum>
</property>
<property name="defaultDropAction">
<enum>Qt::MoveAction</enum>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::ExtendedSelection</enum>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupbox">
<property name="title">
<string>Détails</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_13">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<widget class="QLabel" name="lblPlanPOV">
<property name="text">
<string>POV</string>
</property>
</widget>
</item>
<item>
<widget class="cmbOutlinePersoChoser" name="cmbPlanPOV">
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLineEdit" name="txtPlanSummarySentance">
<property name="placeholderText">
<string>Résumé de la scène en une ligne</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_9">
<property name="text">
<string>Résumé en quelques phrases</string>
</property>
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="txtPlanSummaryFull"/>
</item>
</layout>
<widget class="QTreeView" name="treePlanOutline">
<property name="dragEnabled">
<bool>true</bool>
</property>
<property name="dragDropMode">
<enum>QAbstractItemView::DragDrop</enum>
</property>
<property name="defaultDropAction">
<enum>Qt::MoveAction</enum>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::ExtendedSelection</enum>
</property>
</widget>
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_13">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<widget class="QLabel" name="lblPlanPOV">
<property name="text">
<string>POV</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="cmbOutlinePersoChoser" name="cmbPlanPOV">
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLineEdit" name="txtPlanSummarySentance">
<property name="placeholderText">
<string>Résumé de la scène en une ligne</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_9">
<property name="text">
<string>Résumé en quelques phrases:</string>
</property>
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="txtPlanSummaryFull"/>
</item>
</layout>
</widget>
</widget>
</item>
<item>
@ -1445,7 +1454,7 @@
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton_23">
<widget class="QPushButton" name="btnPlanShowDetails">
<property name="text">
<string/>
</property>
@ -1475,6 +1484,12 @@
<string>Rédaction</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_28">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QSplitter" name="splitterRedac">
<property name="orientation">
@ -1647,6 +1662,9 @@
<property name="sizeConstraint">
<enum>QLayout::SetMaximumSize</enum>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="collapsibleGroupBox" name="groupBox_4">
<property name="sizePolicy">
@ -1658,10 +1676,16 @@
<property name="title">
<string>Propriétés</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<layout class="QFormLayout" name="formLayout_5">
<property name="margin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="lblRedacPOV">
<property name="text">
@ -1677,6 +1701,9 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="0">
@ -1697,6 +1724,9 @@
<property name="editable">
<bool>true</bool>
</property>
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0">
@ -1707,12 +1737,41 @@
</widget>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="chkRedacCompile">
<widget class="chkOutlineCompile" name="chkRedacCompile">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_29">
<property name="text">
<string>Goal</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="txtRedacGoal">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">border-radius: 6px;</string>
</property>
<property name="frame">
<bool>false</bool>
</property>
<property name="placeholderText">
<string>Nombre de mots</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
@ -1721,12 +1780,21 @@
<property name="title">
<string>Résumé de la scène</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_22">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QLineEdit" name="txtRedacSummarySentance">
<property name="inputMask">
<string/>
</property>
<property name="placeholderText">
<string>Résumé de la scène en une ligne</string>
</property>
@ -1743,10 +1811,16 @@
<property name="title">
<string>Notes pour la scène</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_29">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QPlainTextEdit" name="txtRedacNotes"/>
</item>
@ -1760,12 +1834,21 @@
<string>Tools</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_21">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Aide mémoire</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_15">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QLineEdit" name="lineEdit_3">
<property name="placeholderText">
@ -2045,6 +2128,11 @@
<extends>QComboBox</extends>
<header>ui.cmbOutlineStatusChoser.h</header>
</customwidget>
<customwidget>
<class>chkOutlineCompile</class>
<extends>QCheckBox</extends>
<header>ui.chkOutlineCompile.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections>
@ -2055,28 +2143,12 @@
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>117</x>
<y>124</y>
<x>436</x>
<y>127</y>
</hint>
<hint type="destinationlabel">
<x>105</x>
<y>88</y>
</hint>
</hints>
</connection>
<connection>
<sender>pushButton_23</sender>
<signal>toggled(bool)</signal>
<receiver>groupbox</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>111</x>
<y>102</y>
</hint>
<hint type="destinationlabel">
<x>111</x>
<y>102</y>
<x>436</x>
<y>120</y>
</hint>
</hints>
</connection>
@ -2087,12 +2159,12 @@
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>111</x>
<y>102</y>
<x>332</x>
<y>762</y>
</hint>
<hint type="destinationlabel">
<x>111</x>
<y>102</y>
<x>860</x>
<y>170</y>
</hint>
</hints>
</connection>
@ -2103,12 +2175,28 @@
<slot>setCurrentIndex(int)</slot>
<hints>
<hint type="sourcelabel">
<x>111</x>
<y>102</y>
<x>868</x>
<y>129</y>
</hint>
<hint type="destinationlabel">
<x>111</x>
<y>102</y>
<x>868</x>
<y>232</y>
</hint>
</hints>
</connection>
<connection>
<sender>btnPlanShowDetails</sender>
<signal>toggled(bool)</signal>
<receiver>frame</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>505</x>
<y>617</y>
</hint>
<hint type="destinationlabel">
<x>508</x>
<y>566</y>
</hint>
</hints>
</connection>

View file

@ -48,8 +48,8 @@ class treeOutlineCompileDelegate(QStyledItemDelegate):
def __init__(self, parent=None):
QStyledItemDelegate.__init__(self, parent)
def displayText(self, value, locale):
return ""
#def displayText(self, value, locale):
#return ""
class treeOutlineStatusDelegate(QStyledItemDelegate):

View file

@ -1,30 +1,11 @@
<?xml version='1.0' encoding='UTF-8'?>
<outlineItem title="root" type="folder">
<outlineItem title="NouveauNouveauNouveauNouveauNouveauNouveau asd asd s Franchement?" type="scene" summarySentance="Texte" POV="2" status="Second draft" compile="2"/>
<outlineItem title="Nouveau" type="folder" compile="2">
<outlineItem title="Nouveau" type="scene" POV="2" status="First draft" compile="2"/>
</outlineItem>
<outlineItem title="éüæ" type="folder" summarySentance="Il arrive au comptoir" summaryFull="Il arrive au comptoir après avoir garé son cheval, et mange une grosse glace à la vanille." notes="Utiliser un jeu de mot sur &quot;comptoir&quot; / &quot;abreuvoir&quot;" compile="2" text="Le texte.&#10;&#10;De l'histoire.">
<outlineItem title="Nouveau" type="scene" POV="0" status="TODO" compile="2" text="Le texte du truc."/>
</outlineItem>
<outlineItem title="Nouveau" type="folder" status="Second draft" compile="True">
<outlineItem title="Nouveau" type="folder">
<outlineItem title="Nouveau" type="folder"/>
<outlineItem title="Nouveau" type="folder" compile="2"/>
<outlineItem title="Nouveau" type="folder"/>
<outlineItem title="Nouveau" type="folder"/>
</outlineItem>
</outlineItem>
<outlineItem title="Nouveau Titre" type="folder" compile="True">
<outlineItem title="Nouveau" type="folder" status="TODO" compile="2"/>
<outlineItem title="Nouveau" type="folder" status="First draft"/>
<outlineItem title="Nouveau" type="folder" status="First draft">
<outlineItem title="Nouveau" type="scene"/>
<outlineItem title="Nouveau" type="scene"/>
<outlineItem title="Nouveau" type="scene"/>
<outlineItem title="Nouveau" type="scene"/>
</outlineItem>
<outlineItem title="Nouveau" type="folder" summarySentance="a" compile="2">
<outlineItem title="Nouveau" type="scene" summarySentance="b" compile="2" text="Le texte de cet élément" wordCount="5" goalPercentage="0"/>
<outlineItem title="Nouveau" type="scene" summarySentance="c" compile="2"/>
<outlineItem title="Nouveau" type="scene" summarySentance="d" compile="2"/>
</outlineItem>
<outlineItem title="Nouveau" type="folder" summarySentance="e" compile="2"/>
<outlineItem title="Nouveau" type="folder" compile="2"/>
<outlineItem title="Nouveau" type="folder" compile="2"/>
<outlineItem title="Nouveau" type="scene" compile="2" goal="3" goalPercentage="1.0"/>
</outlineItem>