Stuff and all

This commit is contained in:
Olivier Keshavjee 2015-06-15 12:18:42 +02:00
parent 09e1f3f2e9
commit cfa6c72328
26 changed files with 788 additions and 454 deletions

View file

@ -1,5 +1,8 @@
Name:
- Digiscript?
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)

View file

@ -9,7 +9,7 @@ run: $(UIs)
python3 src/main.py
debug: $(UIs)
gdb --args python src/main.py
gdb --args python3 src/main.py
lineprof:
kernprof -l -v src/main.py

View file

@ -22,7 +22,7 @@ def toFloat(text):
return 0.
def toString(text):
if text == None:
if text in [None, "None"]:
return ""
else:
return str(text)

View file

@ -1,15 +1,14 @@
#!/usr/bin/env python
#--!-- coding: utf8 --!--
from qt import *
from functions import *
from lxml import etree as ET
def saveStandardItemModelXML(mdl, xml):
root = ET.Element("model")
root.attrib["version"] = qApp.applicationVersion()
# Header
header = ET.SubElement(root, "header")
@ -47,7 +46,6 @@ def saveStandardItemModelXML(mdl, xml):
def loadStandardItemModelXML(mdl, xml):
print(qApp.tr("Loading {}... ").format(xml), end="")
try:

View file

@ -3,13 +3,15 @@
import sys
from qt import *
_version = "0.1"
def run():
app = QApplication(sys.argv)
app.setOrganizationName("Theologeek")
app.setOrganizationDomain("www.theologeek.ch")
app.setApplicationName("snowFlaqe")
app.setApplicationVersion("0.1")
app.setStyle("Fusion")
### Translation process

View file

@ -163,26 +163,16 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.treePlanOutline.setModelPersos(self.mdlPersos)
self.treePlanOutline.setModelLabels(self.mdlLabels)
self.treePlanOutline.setModelStatus(self.mdlStatus)
self.viewRedacProperties.setModels(self.mdlOutline, self.mdlPersos, self.mdlLabels, self.mdlStatus)
self.redacMetadata.setModels(self.mdlOutline, self.mdlPersos, self.mdlLabels, self.mdlStatus)
self.outlineItemEditor.setModels(self.mdlOutline, self.mdlPersos, self.mdlLabels, self.mdlStatus)
self.treePlanOutline.setModel(self.mdlOutline)
self.cmbPlanPOV.setModels(self.mdlPersos, self.mdlOutline)
self.redacEditor.setModel(self.mdlOutline)
self.mprPlan = QDataWidgetMapper()
self.mprPlan.setModel(self.mdlOutline)
mapping = [
(self.txtPlanSummarySentance, Outline.summarySentance.value),
(self.txtPlanSummaryFull, Outline.summaryFull.value),
(self.txtOutlineGoal, Outline.setGoal.value)
]
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.tabMain.currentChanged.connect(self.mprPlan.submit)
self.treePlanOutline.selectionModel().selectionChanged.connect(
lambda: self.outlineItemEditor.selectionChanged(self.treePlanOutline))
self.treePlanOutline.clicked.connect(
lambda: self.outlineItemEditor.selectionChanged(self.treePlanOutline))
self.treeRedacOutline.setSelectionModel(self.treePlanOutline.selectionModel())
@ -193,30 +183,15 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.btnRedacRemoveItem.clicked.connect(self.outlineRemoveItems)
self.btnPlanRemoveItem.clicked.connect(self.outlineRemoveItems)
self.mprOutline = QDataWidgetMapper()
self.mprOutline.setModel(self.mdlOutline)
mapping = [
(self.txtRedacSummarySentance, Outline.summarySentance.value),
(self.txtRedacSummaryFull, Outline.summaryFull.value),
(self.txtRedacNotes, Outline.notes.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().selectionChanged.connect(
lambda: self.viewRedacProperties.selectionChanged(self.treeRedacOutline))
lambda: self.redacMetadata.selectionChanged(self.treeRedacOutline))
self.treeRedacOutline.clicked.connect(
lambda: self.viewRedacProperties.selectionChanged(self.treeRedacOutline))
lambda: self.redacMetadata.selectionChanged(self.treeRedacOutline))
#self.treeRedacOutline.selectionModel().currentChanged.connect(self.redacEditor.setCurrentModelIndex)
self.treeRedacOutline.selectionModel().selectionChanged.connect(self.redacEditor.setView)
self.treeRedacOutline.selectionModel().currentChanged.connect(self.redacEditor.txtRedacText.setCurrentModelIndex)
self.tabMain.currentChanged.connect(self.mprOutline.submit)
self.treeRedacOutline.selectionModel().selectionChanged.connect(self.outlineSelectionChanged)
self.treeRedacOutline.selectionModel().selectionChanged.connect(self.outlineSelectionChanged)
self.treePlanOutline.selectionModel().selectionChanged.connect(self.outlineSelectionChanged)
@ -264,7 +239,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
else:
hidden = False
self.btnRedacFolderText.setHidden(hidden)
self.btnRedacFolderCork.setHidden(hidden)
self.btnRedacFolderOutline.setHidden(hidden)
@ -484,6 +458,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.menuTools.addMenu(self.menuDict)
self.actSpellcheck.toggled.connect(self.redacEditor.toggleSpellcheck)
self.actSpellcheck.toggled.connect(self.redacMetadata.toggleSpellcheck)
self.actSpellcheck.toggled.connect(self.outlineItemEditor.toggleSpellcheck)
self.dictChanged.connect(self.redacEditor.setDict)

View file

@ -1,13 +1,10 @@
#!/usr/bin/env python
#--!-- coding: utf8 --!--
from qt import *
from enums import *
from ui.editors.editorWidget_ui import *
from ui.editors.customTextEdit import *
from ui.views.textEditView import *
from functions import *
class editorWidget(QWidget, Ui_editorWidget_ui):
@ -147,9 +144,9 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
self.corkView.setModel(self._model)
self.corkView.setRootIndex(index)
self.corkView.selectionModel().selectionChanged.connect(
lambda: mainWindow().viewRedacProperties.selectionChanged(self.corkView))
lambda: mainWindow().redacMetadata.selectionChanged(self.corkView))
self.corkView.clicked.connect(
lambda: mainWindow().viewRedacProperties.selectionChanged(self.corkView))
lambda: mainWindow().redacMetadata.selectionChanged(self.corkView))
elif item.isFolder() and self.folderView == "outline":
@ -160,9 +157,9 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
self.outlineView.setModel(self._model)
self.outlineView.setRootIndex(index)
self.outlineView.selectionModel().selectionChanged.connect(
lambda: mainWindow().viewRedacProperties.selectionChanged(self.outlineView))
lambda: mainWindow().redacMetadata.selectionChanged(self.outlineView))
self.outlineView.clicked.connect(
lambda: mainWindow().viewRedacProperties.selectionChanged(self.outlineView))
lambda: mainWindow().redacMetadata.selectionChanged(self.outlineView))
else:

View file

@ -22,7 +22,7 @@ class Ui_editorWidget_ui(object):
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.scene)
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.txtRedacText = customTextEdit(self.scene)
self.txtRedacText = textEditView(self.scene)
self.txtRedacText.setObjectName("txtRedacText")
self.horizontalLayout_2.addWidget(self.txtRedacText)
self.stack.addWidget(self.scene)
@ -63,13 +63,13 @@ class Ui_editorWidget_ui(object):
self.verticalLayout_2.addWidget(self.stack)
self.retranslateUi(editorWidget_ui)
self.stack.setCurrentIndex(2)
self.stack.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(editorWidget_ui)
def retranslateUi(self, editorWidget_ui):
_translate = QtCore.QCoreApplication.translate
editorWidget_ui.setWindowTitle(_translate("editorWidget_ui", "Form"))
from ui.editors.customTextEdit import customTextEdit
from ui.views.textEditView import textEditView
from ui.views.outlineView import outlineView
from ui.views.corkView import corkView

View file

@ -20,7 +20,7 @@
<item>
<widget class="QStackedWidget" name="stack">
<property name="currentIndex">
<number>2</number>
<number>0</number>
</property>
<widget class="QWidget" name="scene">
<layout class="QHBoxLayout" name="horizontalLayout_2">
@ -28,7 +28,7 @@
<number>0</number>
</property>
<item>
<widget class="customTextEdit" name="txtRedacText"/>
<widget class="textEditView" name="txtRedacText"/>
</item>
</layout>
</widget>
@ -88,9 +88,9 @@
</widget>
<customwidgets>
<customwidget>
<class>customTextEdit</class>
<class>textEditView</class>
<extends>QTextEdit</extends>
<header>ui.editors.customTextEdit.h</header>
<header>ui.views.textEditView.h</header>
</customwidget>
<customwidget>
<class>outlineView</class>

View file

@ -26,6 +26,7 @@ class t2tHighlighter (QSyntaxHighlighter):
# Stupid variable that fixes the loss of QTextBlockUserData.
self.thisDocument = editor.document()
self.style = t2tHighlighterStyle(self.editor, style)
self.inDocRules = []

View file

@ -33,19 +33,19 @@ class Ui_MainWindow(object):
self.label_10 = QtWidgets.QLabel(self.grpBookInfos)
self.label_10.setObjectName("label_10")
self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_10)
self.txtGeneralTitle = QtWidgets.QLineEdit(self.grpBookInfos)
self.txtGeneralTitle = lineEditView(self.grpBookInfos)
self.txtGeneralTitle.setObjectName("txtGeneralTitle")
self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.txtGeneralTitle)
self.label_11 = QtWidgets.QLabel(self.grpBookInfos)
self.label_11.setObjectName("label_11")
self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_11)
self.txtGeneralSubtitle = QtWidgets.QLineEdit(self.grpBookInfos)
self.txtGeneralSubtitle = lineEditView(self.grpBookInfos)
self.txtGeneralSubtitle.setObjectName("txtGeneralSubtitle")
self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.txtGeneralSubtitle)
self.label_12 = QtWidgets.QLabel(self.grpBookInfos)
self.label_12.setObjectName("label_12")
self.formLayout_3.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_12)
self.txtGeneralSerie = QtWidgets.QLineEdit(self.grpBookInfos)
self.txtGeneralSerie = lineEditView(self.grpBookInfos)
self.txtGeneralSerie.setObjectName("txtGeneralSerie")
self.formLayout_3.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.txtGeneralSerie)
self.label_13 = QtWidgets.QLabel(self.grpBookInfos)
@ -53,7 +53,7 @@ class Ui_MainWindow(object):
self.formLayout_3.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_13)
self.horizontalLayout_25 = QtWidgets.QHBoxLayout()
self.horizontalLayout_25.setObjectName("horizontalLayout_25")
self.txtGeneralVolume = QtWidgets.QLineEdit(self.grpBookInfos)
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)
@ -62,13 +62,13 @@ class Ui_MainWindow(object):
self.label_14 = QtWidgets.QLabel(self.grpBookInfos)
self.label_14.setObjectName("label_14")
self.formLayout_3.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.label_14)
self.txtGeneralGenre = QtWidgets.QLineEdit(self.grpBookInfos)
self.txtGeneralGenre = lineEditView(self.grpBookInfos)
self.txtGeneralGenre.setObjectName("txtGeneralGenre")
self.formLayout_3.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.txtGeneralGenre)
self.label_16 = QtWidgets.QLabel(self.grpBookInfos)
self.label_16.setObjectName("label_16")
self.formLayout_3.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.label_16)
self.txtGeneralLicense = QtWidgets.QLineEdit(self.grpBookInfos)
self.txtGeneralLicense = lineEditView(self.grpBookInfos)
self.txtGeneralLicense.setObjectName("txtGeneralLicense")
self.formLayout_3.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.txtGeneralLicense)
self.horizontalLayout_26.addWidget(self.grpBookInfos)
@ -80,13 +80,13 @@ class Ui_MainWindow(object):
self.label_15 = QtWidgets.QLabel(self.grpAuthor)
self.label_15.setObjectName("label_15")
self.formLayout_4.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_15)
self.txtGeneralAuthor = QtWidgets.QLineEdit(self.grpAuthor)
self.txtGeneralAuthor = lineEditView(self.grpAuthor)
self.txtGeneralAuthor.setObjectName("txtGeneralAuthor")
self.formLayout_4.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.txtGeneralAuthor)
self.label_19 = QtWidgets.QLabel(self.grpAuthor)
self.label_19.setObjectName("label_19")
self.formLayout_4.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_19)
self.txtGeneralEmail = QtWidgets.QLineEdit(self.grpAuthor)
self.txtGeneralEmail = lineEditView(self.grpAuthor)
self.txtGeneralEmail.setObjectName("txtGeneralEmail")
self.formLayout_4.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.txtGeneralEmail)
self.cmbStyle = QtWidgets.QComboBox(self.grpAuthor)
@ -109,7 +109,7 @@ class Ui_MainWindow(object):
self.label = QtWidgets.QLabel(self.tab_14)
self.label.setObjectName("label")
self.verticalLayout_5.addWidget(self.label)
self.txtSummarySentance = QtWidgets.QPlainTextEdit(self.tab_14)
self.txtSummarySentance = textEditView(self.tab_14)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@ -138,7 +138,7 @@ class Ui_MainWindow(object):
self.label_21 = QtWidgets.QLabel(self.tab_13)
self.label_21.setObjectName("label_21")
self.verticalLayout.addWidget(self.label_21)
self.txtSummarySentance_2 = QtWidgets.QPlainTextEdit(self.tab_13)
self.txtSummarySentance_2 = textEditView(self.tab_13)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@ -160,7 +160,7 @@ class Ui_MainWindow(object):
self.label_2 = QtWidgets.QLabel(self.tab_13)
self.label_2.setObjectName("label_2")
self.verticalLayout_2.addWidget(self.label_2)
self.txtSummaryPara = QtWidgets.QPlainTextEdit(self.tab_13)
self.txtSummaryPara = textEditView(self.tab_13)
self.txtSummaryPara.setObjectName("txtSummaryPara")
self.verticalLayout_2.addWidget(self.txtSummaryPara)
self.lblSummaryWCPara = QtWidgets.QLabel(self.tab_13)
@ -185,7 +185,7 @@ class Ui_MainWindow(object):
self.label_22 = QtWidgets.QLabel(self.tabWidgetPage1)
self.label_22.setObjectName("label_22")
self.verticalLayout_6.addWidget(self.label_22)
self.txtSummaryPara_2 = QtWidgets.QPlainTextEdit(self.tabWidgetPage1)
self.txtSummaryPara_2 = textEditView(self.tabWidgetPage1)
self.txtSummaryPara_2.setReadOnly(True)
self.txtSummaryPara_2.setObjectName("txtSummaryPara_2")
self.verticalLayout_6.addWidget(self.txtSummaryPara_2)
@ -207,7 +207,7 @@ class Ui_MainWindow(object):
self.label_17 = QtWidgets.QLabel(self.tabWidgetPage1)
self.label_17.setObjectName("label_17")
self.verticalLayout_3.addWidget(self.label_17)
self.txtSummaryPage = QtWidgets.QPlainTextEdit(self.tabWidgetPage1)
self.txtSummaryPage = textEditView(self.tabWidgetPage1)
self.txtSummaryPage.setObjectName("txtSummaryPage")
self.verticalLayout_3.addWidget(self.txtSummaryPage)
self.lblSummaryWCPage = QtWidgets.QLabel(self.tabWidgetPage1)
@ -225,9 +225,8 @@ class Ui_MainWindow(object):
self.label_23 = QtWidgets.QLabel(self.tabWidgetPage2)
self.label_23.setObjectName("label_23")
self.verticalLayout_7.addWidget(self.label_23)
self.txtSummaryPage_2 = QtWidgets.QPlainTextEdit(self.tabWidgetPage2)
self.txtSummaryPage_2 = textEditView(self.tabWidgetPage2)
self.txtSummaryPage_2.setReadOnly(True)
self.txtSummaryPage_2.setPlainText("")
self.txtSummaryPage_2.setObjectName("txtSummaryPage_2")
self.verticalLayout_7.addWidget(self.txtSummaryPage_2)
self.btnStepSeven = QtWidgets.QPushButton(self.tabWidgetPage2)
@ -246,7 +245,7 @@ class Ui_MainWindow(object):
self.label_20 = QtWidgets.QLabel(self.tabWidgetPage2)
self.label_20.setObjectName("label_20")
self.verticalLayout_4.addWidget(self.label_20)
self.txtSummaryFull = QtWidgets.QPlainTextEdit(self.tabWidgetPage2)
self.txtSummaryFull = textEditView(self.tabWidgetPage2)
self.txtSummaryFull.setObjectName("txtSummaryFull")
self.verticalLayout_4.addWidget(self.txtSummaryFull)
self.lblSummaryWCFull = QtWidgets.QLabel(self.tabWidgetPage2)
@ -649,8 +648,7 @@ class Ui_MainWindow(object):
self.page.setObjectName("page")
self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.page)
self.horizontalLayout_6.setObjectName("horizontalLayout_6")
self.txtPlotSummaryPara = QtWidgets.QPlainTextEdit(self.page)
self.txtPlotSummaryPara.setReadOnly(True)
self.txtPlotSummaryPara = textEditView(self.page)
self.txtPlotSummaryPara.setObjectName("txtPlotSummaryPara")
self.horizontalLayout_6.addWidget(self.txtPlotSummaryPara)
self.stkPlotSummary.addWidget(self.page)
@ -658,8 +656,7 @@ class Ui_MainWindow(object):
self.page_2.setObjectName("page_2")
self.horizontalLayout_10 = QtWidgets.QHBoxLayout(self.page_2)
self.horizontalLayout_10.setObjectName("horizontalLayout_10")
self.txtPlotSummaryPage = QtWidgets.QPlainTextEdit(self.page_2)
self.txtPlotSummaryPage.setReadOnly(True)
self.txtPlotSummaryPage = textEditView(self.page_2)
self.txtPlotSummaryPage.setObjectName("txtPlotSummaryPage")
self.horizontalLayout_10.addWidget(self.txtPlotSummaryPage)
self.stkPlotSummary.addWidget(self.page_2)
@ -667,8 +664,7 @@ class Ui_MainWindow(object):
self.page_3.setObjectName("page_3")
self.horizontalLayout_13 = QtWidgets.QHBoxLayout(self.page_3)
self.horizontalLayout_13.setObjectName("horizontalLayout_13")
self.txtPlotSummaryFull = QtWidgets.QPlainTextEdit(self.page_3)
self.txtPlotSummaryFull.setReadOnly(True)
self.txtPlotSummaryFull = textEditView(self.page_3)
self.txtPlotSummaryFull.setObjectName("txtPlotSummaryFull")
self.horizontalLayout_13.addWidget(self.txtPlotSummaryFull)
self.stkPlotSummary.addWidget(self.page_3)
@ -716,44 +712,9 @@ class Ui_MainWindow(object):
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")
spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_11.addItem(spacerItem8)
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.frame)
self.cmbPlanPOV.setFrame(False)
self.cmbPlanPOV.setObjectName("cmbPlanPOV")
self.horizontalLayout_11.addWidget(self.cmbPlanPOV)
self.lblPlanGoal = QtWidgets.QLabel(self.frame)
self.lblPlanGoal.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.lblPlanGoal.setObjectName("lblPlanGoal")
self.horizontalLayout_11.addWidget(self.lblPlanGoal)
self.txtOutlineGoal = QtWidgets.QLineEdit(self.frame)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.txtOutlineGoal.sizePolicy().hasHeightForWidth())
self.txtOutlineGoal.setSizePolicy(sizePolicy)
self.txtOutlineGoal.setAutoFillBackground(False)
self.txtOutlineGoal.setStyleSheet("border-radius: 6px;")
self.txtOutlineGoal.setFrame(False)
self.txtOutlineGoal.setObjectName("txtOutlineGoal")
self.horizontalLayout_11.addWidget(self.txtOutlineGoal)
self.verticalLayout_13.addLayout(self.horizontalLayout_11)
self.txtPlanSummarySentance = QtWidgets.QLineEdit(self.frame)
self.txtPlanSummarySentance.setText("")
self.txtPlanSummarySentance.setObjectName("txtPlanSummarySentance")
self.verticalLayout_13.addWidget(self.txtPlanSummarySentance)
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.frame)
self.txtPlanSummaryFull.setObjectName("txtPlanSummaryFull")
self.verticalLayout_13.addWidget(self.txtPlanSummaryFull)
self.outlineItemEditor = basicItemView(self.frame)
self.outlineItemEditor.setObjectName("outlineItemEditor")
self.verticalLayout_13.addWidget(self.outlineItemEditor)
self.verticalLayout_14.addWidget(self.splitterOutlineV)
self.horizontalLayout_18 = QtWidgets.QHBoxLayout()
self.horizontalLayout_18.setObjectName("horizontalLayout_18")
@ -775,8 +736,8 @@ class Ui_MainWindow(object):
self.btnPlanRemoveItem.setIcon(icon)
self.btnPlanRemoveItem.setObjectName("btnPlanRemoveItem")
self.horizontalLayout_18.addWidget(self.btnPlanRemoveItem)
spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_18.addItem(spacerItem9)
spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_18.addItem(spacerItem8)
self.btnPlanShowDetails = QtWidgets.QPushButton(self.layoutWidget)
self.btnPlanShowDetails.setText("")
icon = QtGui.QIcon.fromTheme("text-x-generic")
@ -823,8 +784,8 @@ class Ui_MainWindow(object):
self.btnRedacRemoveItem.setIcon(icon)
self.btnRedacRemoveItem.setObjectName("btnRedacRemoveItem")
self.horizontalLayout_31.addWidget(self.btnRedacRemoveItem)
spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_31.addItem(spacerItem10)
spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_31.addItem(spacerItem9)
self.verticalLayout_30.addLayout(self.horizontalLayout_31)
self.layoutWidget1 = QtWidgets.QWidget(self.splitterRedac)
self.layoutWidget1.setObjectName("layoutWidget1")
@ -871,8 +832,8 @@ class Ui_MainWindow(object):
self.sldCorkSizeFactor.setOrientation(QtCore.Qt.Horizontal)
self.sldCorkSizeFactor.setObjectName("sldCorkSizeFactor")
self.horizontalLayout_19.addWidget(self.sldCorkSizeFactor)
spacerItem11 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_19.addItem(spacerItem11)
spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_19.addItem(spacerItem10)
self.lblRedacWC = QtWidgets.QLabel(self.layoutWidget1)
self.lblRedacWC.setMinimumSize(QtCore.QSize(10, 0))
self.lblRedacWC.setText("")
@ -909,49 +870,9 @@ class Ui_MainWindow(object):
self.verticalLayout_20.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize)
self.verticalLayout_20.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_20.setObjectName("verticalLayout_20")
self.groupBox_4 = collapsibleGroupBox2(self.tab_17)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
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.verticalLayout_28 = QtWidgets.QVBoxLayout(self.groupBox_4)
self.verticalLayout_28.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_28.setObjectName("verticalLayout_28")
self.viewRedacProperties = propertiesView(self.groupBox_4)
self.viewRedacProperties.setMinimumSize(QtCore.QSize(0, 50))
self.viewRedacProperties.setObjectName("viewRedacProperties")
self.verticalLayout_28.addWidget(self.viewRedacProperties)
self.verticalLayout_20.addWidget(self.groupBox_4)
self.groupBox_5 = collapsibleGroupBox2(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)
self.txtRedacSummaryFull.setObjectName("txtRedacSummaryFull")
self.verticalLayout_22.addWidget(self.txtRedacSummaryFull)
self.verticalLayout_20.addWidget(self.groupBox_5)
self.groupBox_6 = collapsibleGroupBox2(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")
self.horizontalLayout_29.addWidget(self.txtRedacNotes)
self.verticalLayout_20.addWidget(self.groupBox_6)
self.redacMetadata = metadataView(self.tab_17)
self.redacMetadata.setObjectName("redacMetadata")
self.verticalLayout_20.addWidget(self.redacMetadata)
self.tabRedacInfos.addTab(self.tab_17, "")
self.tab_18 = QtWidgets.QWidget()
self.tab_18.setObjectName("tab_18")
@ -1121,12 +1042,12 @@ class Ui_MainWindow(object):
self.menubar.addAction(self.menuHelp.menuAction())
self.retranslateUi(MainWindow)
self.tabMain.setCurrentIndex(6)
self.tabSummary.setCurrentIndex(0)
self.tabMain.setCurrentIndex(1)
self.tabSummary.setCurrentIndex(3)
self.tabPersos.setCurrentIndex(0)
self.tabPlot.setCurrentIndex(0)
self.comboBox_2.setCurrentIndex(0)
self.stkPlotSummary.setCurrentIndex(1)
self.stkPlotSummary.setCurrentIndex(0)
self.tabRedacInfos.setCurrentIndex(0)
self.tabWidget.setCurrentIndex(4)
self.pushButton_16.toggled['bool'].connect(self.plainTextEdit_7.setVisible)
@ -1238,21 +1159,12 @@ 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.lblPlanPOV.setText(_translate("MainWindow", "POV:"))
self.lblPlanGoal.setText(_translate("MainWindow", "Goal:"))
self.txtOutlineGoal.setPlaceholderText(_translate("MainWindow", "Word count"))
self.txtPlanSummarySentance.setPlaceholderText(_translate("MainWindow", "One line scene summary"))
self.label_9.setText(_translate("MainWindow", "Few sentences summary:"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabOutline), _translate("MainWindow", "Outline"))
self.btnRedacFolderText.setText(_translate("MainWindow", "Text"))
self.btnRedacFolderCork.setText(_translate("MainWindow", "Cork"))
self.btnRedacFolderOutline.setText(_translate("MainWindow", "Outline"))
self.btnRedacFullscreen.setShortcut(_translate("MainWindow", "F11"))
self.groupBox_4.setTitle(_translate("MainWindow", "Properties"))
self.groupBox_5.setTitle(_translate("MainWindow", "Scene summary"))
self.txtRedacSummarySentance.setPlaceholderText(_translate("MainWindow", "One line scene summary"))
self.groupBox_6.setTitle(_translate("MainWindow", "Notes"))
self.tabRedacInfos.setTabText(self.tabRedacInfos.indexOf(self.tab_17), _translate("MainWindow", "Scene"))
self.tabRedacInfos.setTabText(self.tabRedacInfos.indexOf(self.tab_17), _translate("MainWindow", "Metadata"))
self.groupBox_3.setTitle(_translate("MainWindow", "Cheat sheet"))
self.lineEdit_3.setPlaceholderText(_translate("MainWindow", "Filter"))
__sortingEnabled = self.listWidget_5.isSortingEnabled()
@ -1299,10 +1211,11 @@ class Ui_MainWindow(object):
self.actLabels.setText(_translate("MainWindow", "Labels..."))
self.actStatus.setText(_translate("MainWindow", "Status..."))
from ui.views.outlineView import outlineView
from ui.editors.editorWidget import editorWidget
from ui.views.propertiesView import propertiesView
from ui.collapsibleGroupBox2 import collapsibleGroupBox2
from ui.sldImportance import sldImportance
from ui.views.cmbOutlinePersoChoser import cmbOutlinePersoChoser
from ui.views.metadataView import metadataView
from ui.views.treeView import treeView
from ui.views.lineEditView import lineEditView
from ui.views.outlineView import outlineView
from ui.views.basicItemView import basicItemView
from ui.sldImportance import sldImportance
from ui.editors.editorWidget import editorWidget
from ui.views.textEditView import textEditView

View file

@ -18,7 +18,7 @@
<item>
<widget class="QTabWidget" name="tabMain">
<property name="currentIndex">
<number>6</number>
<number>1</number>
</property>
<property name="documentMode">
<bool>true</bool>
@ -53,7 +53,7 @@
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="txtGeneralTitle"/>
<widget class="lineEditView" name="txtGeneralTitle"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_11">
@ -63,7 +63,7 @@
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="txtGeneralSubtitle"/>
<widget class="lineEditView" name="txtGeneralSubtitle"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_12">
@ -73,7 +73,7 @@
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="txtGeneralSerie"/>
<widget class="lineEditView" name="txtGeneralSerie"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_13">
@ -85,7 +85,7 @@
<item row="3" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_25">
<item>
<widget class="QLineEdit" name="txtGeneralVolume"/>
<widget class="lineEditView" name="txtGeneralVolume"/>
</item>
<item>
<spacer name="horizontalSpacer_6">
@ -110,7 +110,7 @@
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="txtGeneralGenre"/>
<widget class="lineEditView" name="txtGeneralGenre"/>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_16">
@ -120,7 +120,7 @@
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="txtGeneralLicense"/>
<widget class="lineEditView" name="txtGeneralLicense"/>
</item>
</layout>
</widget>
@ -148,7 +148,7 @@
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="txtGeneralAuthor"/>
<widget class="lineEditView" name="txtGeneralAuthor"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_19">
@ -158,7 +158,7 @@
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="txtGeneralEmail"/>
<widget class="lineEditView" name="txtGeneralEmail"/>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="cmbStyle"/>
@ -181,7 +181,7 @@
<enum>QTabWidget::West</enum>
</property>
<property name="currentIndex">
<number>0</number>
<number>3</number>
</property>
<widget class="QWidget" name="tab_14">
<attribute name="title">
@ -196,7 +196,7 @@
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="txtSummarySentance">
<widget class="textEditView" name="txtSummarySentance">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
@ -254,7 +254,7 @@
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="txtSummarySentance_2">
<widget class="textEditView" name="txtSummarySentance_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
@ -298,7 +298,7 @@
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="txtSummaryPara"/>
<widget class="textEditView" name="txtSummaryPara"/>
</item>
<item>
<widget class="QLabel" name="lblSummaryWCPara">
@ -351,7 +351,7 @@
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="txtSummaryPara_2">
<widget class="textEditView" name="txtSummaryPara_2">
<property name="readOnly">
<bool>true</bool>
</property>
@ -401,7 +401,7 @@
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="txtSummaryPage"/>
<widget class="textEditView" name="txtSummaryPage"/>
</item>
<item>
<widget class="QLabel" name="lblSummaryWCPage">
@ -429,13 +429,10 @@
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="txtSummaryPage_2">
<widget class="textEditView" name="txtSummaryPage_2">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="plainText">
<string/>
</property>
</widget>
</item>
<item>
@ -469,7 +466,7 @@
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="txtSummaryFull"/>
<widget class="textEditView" name="txtSummaryFull"/>
</item>
<item>
<widget class="QLabel" name="lblSummaryWCFull">
@ -1233,38 +1230,26 @@
<item>
<widget class="QStackedWidget" name="stkPlotSummary">
<property name="currentIndex">
<number>1</number>
<number>0</number>
</property>
<widget class="QWidget" name="page">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QPlainTextEdit" name="txtPlotSummaryPara">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
<widget class="textEditView" name="txtPlotSummaryPara"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_2">
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<widget class="QPlainTextEdit" name="txtPlotSummaryPage">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
<widget class="textEditView" name="txtPlotSummaryPage"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_3">
<layout class="QHBoxLayout" name="horizontalLayout_13">
<item>
<widget class="QPlainTextEdit" name="txtPlotSummaryFull">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
<widget class="textEditView" name="txtPlotSummaryFull"/>
</item>
</layout>
</widget>
@ -1367,90 +1352,7 @@
</property>
<layout class="QVBoxLayout" name="verticalLayout_13">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<spacer name="horizontalSpacer_8">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<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>
<item>
<widget class="QLabel" name="lblPlanGoal">
<property name="text">
<string>Goal:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="txtOutlineGoal">
<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>Word count</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLineEdit" name="txtPlanSummarySentance">
<property name="text">
<string/>
</property>
<property name="placeholderText">
<string>One line scene summary</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_9">
<property name="text">
<string>Few sentences summary:</string>
</property>
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="txtPlanSummaryFull"/>
<widget class="basicItemView" name="outlineItemEditor" native="true"/>
</item>
</layout>
</widget>
@ -1795,9 +1697,9 @@
</property>
<widget class="QWidget" name="tab_17">
<attribute name="title">
<string>Scene</string>
<string>Metadata</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_20" stretch="0,0,0">
<layout class="QVBoxLayout" name="verticalLayout_20" stretch="0">
<property name="sizeConstraint">
<enum>QLayout::SetMaximumSize</enum>
</property>
@ -1805,90 +1707,7 @@
<number>0</number>
</property>
<item>
<widget class="collapsibleGroupBox2" name="groupBox_4">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Properties</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_28">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="propertiesView" name="viewRedacProperties" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="collapsibleGroupBox2" name="groupBox_5">
<property name="title">
<string>Scene summary</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>One line scene summary</string>
</property>
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="txtRedacSummaryFull"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="collapsibleGroupBox2" name="groupBox_6">
<property name="title">
<string>Notes</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>
</layout>
</widget>
<widget class="metadataView" name="redacMetadata" native="true"/>
</item>
</layout>
</widget>
@ -2230,43 +2049,48 @@
</action>
</widget>
<customwidgets>
<customwidget>
<class>textEditView</class>
<extends>QTextEdit</extends>
<header>ui.views.textEditView.h</header>
</customwidget>
<customwidget>
<class>outlineView</class>
<extends>QTreeView</extends>
<header>ui.views.outlineView.h</header>
</customwidget>
<customwidget>
<class>sldImportance</class>
<extends>QWidget</extends>
<header>ui.sldImportance.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>cmbOutlinePersoChoser</class>
<extends>QComboBox</extends>
<header>ui.views.cmbOutlinePersoChoser.h</header>
</customwidget>
<customwidget>
<class>editorWidget</class>
<extends>QWidget</extends>
<header>ui.editors.editorWidget.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>collapsibleGroupBox2</class>
<extends>QGroupBox</extends>
<header>ui.collapsibleGroupBox2.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>outlineView</class>
<extends>QTreeView</extends>
<header>ui.views.outlineView.h</header>
</customwidget>
<customwidget>
<class>treeView</class>
<extends>QTreeView</extends>
<header>ui.views.treeView.h</header>
</customwidget>
<customwidget>
<class>propertiesView</class>
<class>lineEditView</class>
<extends>QLineEdit</extends>
<header>ui.views.lineEditView.h</header>
</customwidget>
<customwidget>
<class>metadataView</class>
<extends>QWidget</extends>
<header>ui.views.propertiesView.h</header>
<header>ui.views.metadataView.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>basicItemView</class>
<extends>QWidget</extends>
<header>ui.views.basicItemView.h</header>
<container>1</container>
</customwidget>
</customwidgets>

View file

@ -0,0 +1,61 @@
#!/usr/bin/env python
#--!-- coding: utf8 --!--
from qt import *
from enums import *
from ui.views.basicItemView_ui import *
class basicItemView(QWidget, Ui_basicItemView):
def __init__(self, parent=None):
QWidget.__init__(self)
self.setupUi(self)
self.txtSummarySentance.setColumn(Outline.summarySentance.value)
self.txtSummaryFull.setColumn(Outline.summaryFull.value)
def setModels(self, mdlOutline, mdlPersos, mdlLabels, mdlStatus):
self.cmbPOV.setModels(mdlPersos, mdlOutline)
self.txtSummarySentance.setModel(mdlOutline)
self.txtSummaryFull.setModel(mdlOutline)
self.txtGoal.setModel(mdlOutline)
def getIndexes(self, sourceView):
"Returns a list of indexes from list of QItemSelectionRange"
indexes = []
for i in sourceView.selectionModel().selection().indexes():
if i.column() != 0:
continue
if i not in indexes:
indexes.append(i)
return indexes
def selectionChanged(self, sourceView):
indexes = self.getIndexes(sourceView)
if len(indexes) == 0:
self.setEnabled(False)
elif len(indexes) == 1:
self.setEnabled(True)
idx = indexes[0]
self.txtSummarySentance.setCurrentModelIndex(idx)
self.txtSummaryFull.setCurrentModelIndex(idx)
self.cmbPOV.setCurrentModelIndex(idx)
self.txtGoal.setCurrentModelIndex(idx)
else:
self.setEnabled(True)
self.txtSummarySentance.setCurrentModelIndexes(indexes)
self.txtSummaryFull.setCurrentModelIndexes(indexes)
self.cmbPOV.setCurrentModelIndexes(indexes)
self.txtGoal.setCurrentModelIndexes(indexes)
def toggleSpellcheck(self, v):
self.txtSummaryFull.toggleSpellcheck(v)

View file

@ -0,0 +1,71 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'src/ui/views/basicItemView_ui.ui'
#
# Created by: PyQt5 UI code generator 5.4.1
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_basicItemView(object):
def setupUi(self, basicItemView):
basicItemView.setObjectName("basicItemView")
basicItemView.resize(400, 425)
self.verticalLayout = QtWidgets.QVBoxLayout(basicItemView)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.horizontalLayout_11 = QtWidgets.QHBoxLayout()
self.horizontalLayout_11.setObjectName("horizontalLayout_11")
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_11.addItem(spacerItem)
self.lblPlanPOV = QtWidgets.QLabel(basicItemView)
self.lblPlanPOV.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.lblPlanPOV.setObjectName("lblPlanPOV")
self.horizontalLayout_11.addWidget(self.lblPlanPOV)
self.cmbPOV = cmbOutlinePersoChoser(basicItemView)
self.cmbPOV.setFrame(False)
self.cmbPOV.setObjectName("cmbPOV")
self.horizontalLayout_11.addWidget(self.cmbPOV)
self.lblGoal = QtWidgets.QLabel(basicItemView)
self.lblGoal.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.lblGoal.setObjectName("lblGoal")
self.horizontalLayout_11.addWidget(self.lblGoal)
self.txtGoal = lineEditView(basicItemView)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.txtGoal.sizePolicy().hasHeightForWidth())
self.txtGoal.setSizePolicy(sizePolicy)
self.txtGoal.setAutoFillBackground(False)
self.txtGoal.setStyleSheet("border-radius: 6px;")
self.txtGoal.setFrame(False)
self.txtGoal.setObjectName("txtGoal")
self.horizontalLayout_11.addWidget(self.txtGoal)
self.verticalLayout.addLayout(self.horizontalLayout_11)
self.txtSummarySentance = lineEditView(basicItemView)
self.txtSummarySentance.setText("")
self.txtSummarySentance.setObjectName("txtSummarySentance")
self.verticalLayout.addWidget(self.txtSummarySentance)
self.label_9 = QtWidgets.QLabel(basicItemView)
self.label_9.setObjectName("label_9")
self.verticalLayout.addWidget(self.label_9)
self.txtSummaryFull = textEditView(basicItemView)
self.txtSummaryFull.setObjectName("txtSummaryFull")
self.verticalLayout.addWidget(self.txtSummaryFull)
self.retranslateUi(basicItemView)
QtCore.QMetaObject.connectSlotsByName(basicItemView)
def retranslateUi(self, basicItemView):
_translate = QtCore.QCoreApplication.translate
basicItemView.setWindowTitle(_translate("basicItemView", "Form"))
self.lblPlanPOV.setText(_translate("basicItemView", "POV:"))
self.lblGoal.setText(_translate("basicItemView", "Goal:"))
self.txtGoal.setPlaceholderText(_translate("basicItemView", "Word count"))
self.txtSummarySentance.setPlaceholderText(_translate("basicItemView", "One line scene summary"))
self.label_9.setText(_translate("basicItemView", "Few sentences summary:"))
from ui.views.cmbOutlinePersoChoser import cmbOutlinePersoChoser
from ui.views.textEditView import textEditView
from ui.views.lineEditView import lineEditView

View file

@ -0,0 +1,127 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>basicItemView</class>
<widget class="QWidget" name="basicItemView">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>425</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="margin">
<number>0</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<spacer name="horizontalSpacer_8">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<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="cmbPOV">
<property name="frame">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lblGoal">
<property name="text">
<string>Goal:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="lineEditView" name="txtGoal">
<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>Word count</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="lineEditView" name="txtSummarySentance">
<property name="text">
<string/>
</property>
<property name="placeholderText">
<string>One line scene summary</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_9">
<property name="text">
<string>Few sentences summary:</string>
</property>
</widget>
</item>
<item>
<widget class="textEditView" name="txtSummaryFull"/>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>textEditView</class>
<extends>QTextEdit</extends>
<header>ui.views.textEditView.h</header>
</customwidget>
<customwidget>
<class>cmbOutlinePersoChoser</class>
<extends>QComboBox</extends>
<header>ui.views.cmbOutlinePersoChoser.h</header>
</customwidget>
<customwidget>
<class>lineEditView</class>
<extends>QLineEdit</extends>
<header>ui.views.lineEditView.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View file

@ -80,10 +80,10 @@ class lineEditView(QLineEdit):
self.updateText()
def updateText(self):
if self._index:
item = self._index.internalPointer()
txt = toString(item.data(self._column))
#item = self._index.internalPointer()
#txt = toString(item.data(self._column))
txt = toString(self._model.data(self._index))
if self.text() != txt:
self.setText(txt)
@ -92,7 +92,7 @@ class lineEditView(QLineEdit):
same = True
for i in self._indexes:
item = i.internalPointer()
t.append(str(item.data(self._column)))
t.append(toString(item.data(self._column)))
for t2 in t[1:]:
if t2 != t[0]:

View file

@ -0,0 +1,62 @@
#!/usr/bin/env python
#--!-- coding: utf8 --!--
from qt import *
from enums import *
from ui.views.metadataView_ui import *
class metadataView(QWidget, Ui_metadataView):
def __init__(self, parent=None):
QWidget.__init__(self)
self.setupUi(self)
self.txtSummarySentance.setColumn(Outline.summarySentance.value)
self.txtSummaryFull.setColumn(Outline.summaryFull.value)
self.txtNotes.setColumn(Outline.notes.value)
def setModels(self, mdlOutline, mdlPersos, mdlLabels, mdlStatus):
self.properties.setModels(mdlOutline, mdlPersos, mdlLabels, mdlStatus)
self.txtSummarySentance.setModel(mdlOutline)
self.txtSummaryFull.setModel(mdlOutline)
self.txtNotes.setModel(mdlOutline)
def getIndexes(self, sourceView):
"Returns a list of indexes from list of QItemSelectionRange"
indexes = []
for i in sourceView.selectionModel().selection().indexes():
if i.column() != 0:
continue
if i not in indexes:
indexes.append(i)
return indexes
def selectionChanged(self, sourceView):
indexes = self.getIndexes(sourceView)
if len(indexes) == 0:
self.setEnabled(False)
elif len(indexes) == 1:
self.setEnabled(True)
idx = indexes[0]
self.txtSummarySentance.setCurrentModelIndex(idx)
self.txtSummaryFull.setCurrentModelIndex(idx)
self.txtNotes.setCurrentModelIndex(idx)
else:
self.setEnabled(True)
self.txtSummarySentance.setCurrentModelIndexes(indexes)
self.txtSummaryFull.setCurrentModelIndexes(indexes)
self.txtNotes.setCurrentModelIndexes(indexes)
self.properties.selectionChanged(sourceView)
def toggleSpellcheck(self, v):
self.txtNotes.toggleSpellcheck(v)
self.txtSummaryFull.toggleSpellcheck(v)

View file

@ -0,0 +1,76 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'src/ui/views/metadataView_ui.ui'
#
# Created by: PyQt5 UI code generator 5.4.1
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_metadataView(object):
def setupUi(self, metadataView):
metadataView.setObjectName("metadataView")
metadataView.resize(400, 425)
self.verticalLayout = QtWidgets.QVBoxLayout(metadataView)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.groupBox_4 = collapsibleGroupBox2(metadataView)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
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.verticalLayout_28 = QtWidgets.QVBoxLayout(self.groupBox_4)
self.verticalLayout_28.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_28.setObjectName("verticalLayout_28")
self.properties = propertiesView(self.groupBox_4)
self.properties.setMinimumSize(QtCore.QSize(0, 50))
self.properties.setObjectName("properties")
self.verticalLayout_28.addWidget(self.properties)
self.verticalLayout.addWidget(self.groupBox_4)
self.groupBox_5 = collapsibleGroupBox2(metadataView)
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.txtSummarySentance = lineEditView(self.groupBox_5)
self.txtSummarySentance.setInputMask("")
self.txtSummarySentance.setObjectName("txtSummarySentance")
self.verticalLayout_22.addWidget(self.txtSummarySentance)
self.txtSummaryFull = textEditView(self.groupBox_5)
self.txtSummaryFull.setObjectName("txtSummaryFull")
self.verticalLayout_22.addWidget(self.txtSummaryFull)
self.verticalLayout.addWidget(self.groupBox_5)
self.groupBox_6 = collapsibleGroupBox2(metadataView)
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.txtNotes = textEditView(self.groupBox_6)
self.txtNotes.setObjectName("txtNotes")
self.horizontalLayout_29.addWidget(self.txtNotes)
self.verticalLayout.addWidget(self.groupBox_6)
self.retranslateUi(metadataView)
QtCore.QMetaObject.connectSlotsByName(metadataView)
def retranslateUi(self, metadataView):
_translate = QtCore.QCoreApplication.translate
metadataView.setWindowTitle(_translate("metadataView", "Form"))
self.groupBox_4.setTitle(_translate("metadataView", "Properties"))
self.groupBox_5.setTitle(_translate("metadataView", "Summary"))
self.txtSummarySentance.setPlaceholderText(_translate("metadataView", "One line scene summary"))
self.groupBox_6.setTitle(_translate("metadataView", "Notes"))
from ui.views.lineEditView import lineEditView
from ui.collapsibleGroupBox2 import collapsibleGroupBox2
from ui.views.textEditView import textEditView
from ui.views.propertiesView import propertiesView

View file

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>metadataView</class>
<widget class="QWidget" name="metadataView">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>425</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="collapsibleGroupBox2" name="groupBox_4">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Properties</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_28">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="propertiesView" name="properties" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="collapsibleGroupBox2" name="groupBox_5">
<property name="title">
<string>Summary</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="lineEditView" name="txtSummarySentance">
<property name="inputMask">
<string/>
</property>
<property name="placeholderText">
<string>One line scene summary</string>
</property>
</widget>
</item>
<item>
<widget class="textEditView" name="txtSummaryFull"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="collapsibleGroupBox2" name="groupBox_6">
<property name="title">
<string>Notes</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="textEditView" name="txtNotes"/>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>textEditView</class>
<extends>QTextEdit</extends>
<header>ui.views.textEditView.h</header>
</customwidget>
<customwidget>
<class>collapsibleGroupBox2</class>
<extends>QGroupBox</extends>
<header>ui.collapsibleGroupBox2.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>propertiesView</class>
<extends>QWidget</extends>
<header>ui.views.propertiesView.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>lineEditView</class>
<extends>QLineEdit</extends>
<header>ui.views.lineEditView.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View file

@ -1,27 +1,34 @@
#!/usr/bin/env python
#--!-- coding: utf8 --!--
from qt import *
from enums import *
from ui.editors.t2tHighlighter import *
from functions import *
try:
import enchant
except ImportError:
enchant = None
class customTextEdit(QTextEdit):
class textEditView(QTextEdit):
def __init__(self, parent=None, index=None, html=None, spellcheck=True, dict="", autoResize=False):
QTextEdit.__init__(self, parent)
self.currentIndex = None
self.item = None
self._column = Outline.text.value
self._index = None
self._indexes = None
self._placeholderText = None
self._updating = False
self._item = None
self._update = False
self._highlighting = True
self.spellcheck = spellcheck
self.currentDict = dict
self.highlighter = None
self._autoResize = autoResize
if index:
self.setCurrentModelIndex(index)
@ -29,18 +36,29 @@ class customTextEdit(QTextEdit):
elif html:
self.document().setHtml(html)
self.setReadOnly(True)
self.setAutoResize(self._autoResize)
def setModel(self, model):
self._model = model
self._model.dataChanged.connect(self.update)
self.autoResize = autoResize
if autoResize:
self.document().contentsChanged.connect(self.sizeChange)
self.heightMin = 0
self.heightMax = 65000
self.sizeChange()
def setColumn(self, col):
self._column = col
def setHighlighting(self, val):
self._highlighting = val
def setCurrentModelIndex(self, index):
self._indexes = None
if index.isValid():
self.currentIndex = index
self.item = index.internalPointer()
if index.column() != self._column:
index = index.sibling(index.row(), self._column)
self._index = index
self._item = index.internalPointer()
if self._placeholderText != None:
self.setPlaceholderText(self._placeholderText)
self._model = index.model()
self.document().contentsChanged.connect(self.submit)
self._model.dataChanged.connect(self.update)
@ -50,7 +68,7 @@ class customTextEdit(QTextEdit):
self.highlightWord = ""
self.highligtCS = False
if not self.highlighter:
if self._highlighting and not self.highlighter:
self.highlighter = t2tHighlighter(self)
# Spellchecking
@ -59,23 +77,82 @@ class customTextEdit(QTextEdit):
else:
self.spellcheck = False
def submit(self):
if self.toPlainText() != self.item.data(Outline.text.value):
#self._model.setData(self.item.index(), self.toPlainText(), Outline.text.value)
self.item.setData(Outline.text.value, self.toPlainText())
def setCurrentModelIndexes(self, indexes):
self._index = None
self._indexes = []
for i in indexes:
if i.isValid():
if i.column() != self._column:
i = i.sibling(i.row(), self._column)
self._indexes.append(i)
self.document().contentsChanged.connect(self.submit)
self.updateText()
def update(self, topLeft, bottomRight):
if topLeft.row() <= self.currentIndex.row() <= bottomRight.row():
self.updateText()
if self._update:
return
elif self._index:
if topLeft.row() <= self._index.row() <= bottomRight.row():
self.updateText()
elif self._indexes:
update = False
for i in self._indexes:
if topLeft.row() <= i.row() <= bottomRight.row():
update = True
if update:
self.updateText()
def updateText(self):
if self.item:
if self.toPlainText() != self.item.data(Outline.text.value):
self.document().setPlainText(self.item.data(Outline.text.value))
if self._index:
if self.toPlainText() != toString(self._model.data(self._index)):
self.document().setPlainText(toString(self._model.data(self._index)))
elif self._indexes:
t = []
same = True
for i in self._indexes:
item = i.internalPointer()
t.append(toString(item.data(self._column)))
for t2 in t[1:]:
if t2 != t[0]:
same = False
break
if same:
self.document().setPlainText(t[0])
else:
self.document().setPlainText("")
if not self._placeholderText:
self._placeholderText = self.placeholderText()
self.setPlaceholderText(self.tr("Various"))
def submit(self):
if self._index:
#item = self._index.internalPointer()
if self.toPlainText() != self._model.data(self._index):
self._model.setData(self._index, self.toPlainText())
elif self._indexes:
self._updating = True
for i in self._indexes:
item = i.internalPointer()
if self.toPlainText() != toString(item.data(self._column)):
self._model.setData(i, self.toPlainText())
self._updating = False
# -----------------------------------------------------------------------------------------------------
# Resize stuff
def resizeEvent(self, e):
QTextEdit.resizeEvent(self, e)
if self.autoResize:
if self._autoResize:
self.sizeChange()
def sizeChange(self):
@ -83,6 +160,13 @@ class customTextEdit(QTextEdit):
if self.heightMin <= docHeight <= self.heightMax:
self.setMinimumHeight(docHeight)
def setAutoResize(self, val):
self._autoResize = val
if self._autoResize:
self.document().contentsChanged.connect(self.sizeChange)
self.heightMin = 0
self.heightMax = 65000
self.sizeChange()
# -----------------------------------------------------------------------------------------------------
# Spellchecking based on http://john.nachtimwald.com/2009/08/22/qplaintextedit-with-in-line-spell-check/
@ -93,7 +177,8 @@ class customTextEdit(QTextEdit):
def toggleSpellcheck(self, v):
self.spellcheck = v
self.highlighter.rehighlight()
if self.highlighter:
self.highlighter.rehighlight()
def mousePressEvent(self, event):
if event.button() == Qt.RightButton:

View file

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<model>
<model version="0.1">
<header>
<vertical>
<label row="0" text="Infos générales"/>
@ -20,15 +20,19 @@
<row row="0">
<col col="0">Titre du livre</col>
<col col="1">Sous-titre</col>
<col col="2">None</col>
<col col="3">None</col>
<col col="2"/>
<col col="3"/>
<col col="4">Fantasy</col>
<col col="5">CC-BY-SA</col>
<col col="6">Auteur Cool</col>
<col col="7">auteur@cool.com</col>
</row>
<row row="1">
<col col="0">Bonjour</col>
<col col="0">&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name="qrichtext" content="1" /&gt;&lt;style type="text/css"&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=" font-family:'Oxygen-Sans'; font-size:10pt; font-weight:400; font-style:normal;"&gt;
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"&gt;Bonjour asdasd&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</col>
<col col="1">Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir </col>
<col col="2">Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir
@ -47,10 +51,10 @@ Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir
Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir
Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir Bonsoir </col>
<col col="4">None</col>
<col col="5">None</col>
<col col="6">None</col>
<col col="7">None</col>
<col col="4"/>
<col col="5"/>
<col col="6"/>
<col col="7"/>
</row>
</data>
</model>

View file

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<model>
<model version="0.1">
<header>
<vertical>
<label row="0" text="1"/>

View file

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<outlineItem title="root" type="folder" compile="2" wordCount="2124" setGoal="112">
<outlineItem title="root" type="folder" compile="2" wordCount="2126" setGoal="112">
<outlineItem title="Nouveau" type="folder" compile="2" wordCount="15">
<outlineItem title="Nouveau" type="scene" POV="1" label="2" status="2" compile="2" text="return QTextEdit.resizeEvent(self, e) ad ad ad ad adaasd ad adsdasd ad e drset" wordCount="15"/>
</outlineItem>
@ -16,7 +16,7 @@
<outlineItem title="Nouveau" type="folder" summarySentance="Résumé de la scène en une phrase" summaryFull="asdasd asd " label="2" compile="2" wordCount="12">
<outlineItem title="B" type="scene" compile="2" text="asd asd asd asd asd asd asd asd asd asd asd" wordCount="12" setGoal="10"/>
</outlineItem>
<outlineItem title="Nouveau" type="folder" label="1" compile="2" wordCount="727">
<outlineItem title="Nouveau" type="folder" notes="None" label="1" compile="2" wordCount="727">
<outlineItem title="Nouveau" type="folder" compile="2" wordCount="48">
<outlineItem title="B" type="scene" compile="2" text="asd asd asd asd asd asd asd asd asd asd asd" wordCount="12" setGoal="10"/>
<outlineItem title="B" type="scene" compile="2" text="asd asd asd asd asd asd asd asd asd asd asd" wordCount="12" setGoal="10"/>
@ -35,7 +35,7 @@
<outlineItem title="B" type="scene" compile="2" text="asd asd asd asd asd asd asd asd asd asd asd" wordCount="12" setGoal="10"/>
<outlineItem title="B" type="scene" compile="2" text="asd asd asd asd asd asd asd asd asd asd asd" wordCount="12" setGoal="10"/>
</outlineItem>
<outlineItem title="MOIMOIMOI" type="scene" summarySentance="Résumé" summaryFull="Là ça joue, et on est content. Pas de raison de se plaindre. **OK**? Là ça joue, et on est content. Pas de raison de se plaindre. **OK**? Là ça joue, et on est content. Pas de raison de se plaindre. **OK**? Là ça joue, et on est content. Pas de raison de se plaindre. **OK**? Là ça joue, et on est content. Pas de raison de se plaindre. **OK**? Là ça joue, et on est content. Pas de raison de se plaindre. **OK**? Là ça joue, et on est content. Pas de raison de se plaindre. **OK**?" compile="2" text="Là ça joue, et on est content. Pas de raison de se plaindre. **OK**?&#10;&#10;Ben voilà, suffisait de demander ! " wordCount="21" setGoal="250"/>
<outlineItem title="MOIMOIMOI" type="scene" summarySentance="Résumé" notes="None" compile="2" text="Là ça joue, et on est content. Pas de raison de se plaindre. **OK**?&#10;&#10;Ben voilà, suffisait de demander ! " wordCount="21" setGoal="250"/>
</outlineItem>
<outlineItem title="Nouveau A" type="folder" POV="0" label="5" status="1" compile="2" wordCount="604">
<outlineItem title="Nouveau" type="scene" label="0" compile="2" text="ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD &#10;&#10;ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD adasaas adasds adssdawdas saasdASDASd ASD ASDASd ASD ASDASd ASD &#10;&#10;ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD &#10;&#10;ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD adasaas adasds adssdawdas saasdASDASd ASD ASDASd ASD ASDASd ASD &#10;&#10;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" wordCount="211"/>
@ -51,7 +51,7 @@
<outlineItem title="Nouveau" type="scene" label="0" compile="2" text="ASDASd ASD " wordCount="2"/>
<outlineItem title="A" type="scene" label="0" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd " wordCount="58" setGoal="50"/>
</outlineItem>
<outlineItem title="Same title" type="scene" POV="1" label="5" status="3" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd " wordCount="58" setGoal="50"/>
<outlineItem title="Same title" type="scene" summarySentance="Résumé court" POV="1" label="5" status="3" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd AAAAA" wordCount="60" setGoal="50"/>
<outlineItem title="Nouveau" type="folder" POV="1" label="5" status="1" compile="2" wordCount="596">
<outlineItem title="Nouveau" type="scene" POV="0" label="0" status="4" compile="2" text="ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD &#10;&#10;ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD adasaas adasds adssdawdas saasdASDASd ASD ASDASd ASD ASDASd ASD &#10;&#10;ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD &#10;&#10;ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD ASDASd ASD adasaas adasds adssdawdas saasdASDASd ASD ASDASd ASD ASDASd ASD &#10;&#10;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" wordCount="211"/>
<outlineItem title="Avec titre" type="scene" POV="0" label="1" status="4" compile="2" text="asdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasdasdasd asd asd asd asd asdasd asdaasd asdasd asd aasdasd asd asd asd asd asdasd asdaasd " wordCount="58" setGoal="100"/>

View file

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<model>
<model version="0.1">
<header>
<vertical>
<label row="0" text="1"/>

View file

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<model>
<model version="0.1">
<header>
<vertical>
<label row="0" text="1"/>

View file

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<model>
<model version="0.1">
<header>
<vertical>
<label row="0" text="1"/>