UI improvements

This commit is contained in:
Olivier Keshavjee 2015-06-11 08:55:24 +02:00
parent f60d2a0056
commit 09e1f3f2e9
13 changed files with 248 additions and 136 deletions

View file

@ -13,6 +13,10 @@ SOURCES += ../src/ui/editors/customTextEdit.py
SOURCES += ../src/ui/editors/editorWidget.py
SOURCES += ../src/ui/views/corkDelegate.py
SOURCES += ../src/ui/views/outlineBasics.py
SOURCES += ../src/ui/views/cmbOutlineLabelChoser.py
SOURCES += ../src/ui/views/cmbOutlinePersoChoser.py
SOURCES += ../src/ui/views/cmbOutlineStatusChoser.py
SOURCES += ../src/ui/views/lineEditView.py
SOURCES += ../src/settingsWindow.py

Binary file not shown.

View file

@ -129,7 +129,7 @@
<translation>Noms</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2030"/>
<location filename="../src/ui/mainWindow.ui" line="1918"/>
<source>Filter</source>
<translation>Filtre</translation>
</message>
@ -149,7 +149,7 @@
<translation>Motivation</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1904"/>
<location filename="../src/ui/mainWindow.ui" line="599"/>
<source>Goal</source>
<translation>Goal</translation>
</message>
@ -174,7 +174,7 @@
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;right&quot;&gt;Résumé&lt;br/&gt;en un paragraphe&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1987"/>
<location filename="../src/ui/mainWindow.ui" line="1875"/>
<source>Notes</source>
<translation>Notes</translation>
</message>
@ -244,7 +244,7 @@
<translation>Contexte</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2120"/>
<location filename="../src/ui/mainWindow.ui" line="2008"/>
<source>Outline</source>
<translation>Plan</translation>
</message>
@ -269,7 +269,7 @@
<translation>Goal:</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1974"/>
<location filename="../src/ui/mainWindow.ui" line="1862"/>
<source>One line scene summary</source>
<translation>Résumé en une ligne</translation>
</message>
@ -284,7 +284,7 @@
<translation>Rédaction</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1779"/>
<location filename="../src/ui/mainWindow.ui" line="1760"/>
<source>F11</source>
<translation type="unfinished"></translation>
</message>
@ -294,310 +294,260 @@
<translation>Scène</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1835"/>
<location filename="../src/ui/mainWindow.ui" line="1816"/>
<source>Properties</source>
<translation>Propriétés</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1850"/>
<source>POV</source>
<translation>POV</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1870"/>
<source>Status</source>
<translation></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1890"/>
<source>Compile</source>
<translation>Compile</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1956"/>
<location filename="../src/ui/mainWindow.ui" line="1844"/>
<source>Scene summary</source>
<translation>Résumé de la scène</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2188"/>
<location filename="../src/ui/mainWindow.ui" line="2076"/>
<source>Tools</source>
<translation>Outils</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2018"/>
<location filename="../src/ui/mainWindow.ui" line="1906"/>
<source>Cheat sheet</source>
<translation>Aide-mémoire</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2038"/>
<location filename="../src/ui/mainWindow.ui" line="1926"/>
<source>Albert - perso</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2043"/>
<location filename="../src/ui/mainWindow.ui" line="1931"/>
<source>Jean - perso</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2048"/>
<location filename="../src/ui/mainWindow.ui" line="1936"/>
<source>Crapoquak - animal</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2053"/>
<location filename="../src/ui/mainWindow.ui" line="1941"/>
<source>La revenche du capitaine - intrigue</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2073"/>
<location filename="../src/ui/mainWindow.ui" line="1961"/>
<source>Debug</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2086"/>
<location filename="../src/ui/mainWindow.ui" line="1974"/>
<source>FlatData</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2096"/>
<location filename="../src/ui/mainWindow.ui" line="1984"/>
<source>Persos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2106"/>
<location filename="../src/ui/mainWindow.ui" line="1994"/>
<source>Perso Infos</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2164"/>
<location filename="../src/ui/mainWindow.ui" line="2052"/>
<source>File</source>
<translation>Fichier</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2182"/>
<location filename="../src/ui/mainWindow.ui" line="2070"/>
<source>Help</source>
<translation>Aide</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2213"/>
<location filename="../src/ui/mainWindow.ui" line="2101"/>
<source>Open</source>
<translation>Ouvrir</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2216"/>
<location filename="../src/ui/mainWindow.ui" line="2104"/>
<source>Ctrl+O</source>
<translation></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2226"/>
<location filename="../src/ui/mainWindow.ui" line="2114"/>
<source>Recents</source>
<translation>Récents</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2229"/>
<location filename="../src/ui/mainWindow.ui" line="2117"/>
<source>Ctrl+R</source>
<translation></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2239"/>
<location filename="../src/ui/mainWindow.ui" line="2127"/>
<source>Save</source>
<translation>Enregistrer</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2242"/>
<location filename="../src/ui/mainWindow.ui" line="2130"/>
<source>Ctrl+S</source>
<translation>Ctrl+S</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2252"/>
<location filename="../src/ui/mainWindow.ui" line="2140"/>
<source>Save as...</source>
<translation>Enregistrer sous...</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2255"/>
<location filename="../src/ui/mainWindow.ui" line="2143"/>
<source>Ctrl+Shift+S</source>
<translation></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2265"/>
<location filename="../src/ui/mainWindow.ui" line="2153"/>
<source>Quit</source>
<translation>Quitter</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2268"/>
<location filename="../src/ui/mainWindow.ui" line="2156"/>
<source>Ctrl+Q</source>
<translation></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2279"/>
<location filename="../src/ui/mainWindow.ui" line="2167"/>
<source>&amp;Snowflake</source>
<translation></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2289"/>
<location filename="../src/ui/mainWindow.ui" line="2177"/>
<source>New</source>
<translation>Nouveau</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2292"/>
<location filename="../src/ui/mainWindow.ui" line="2180"/>
<source>Ctrl+N</source>
<translation></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2308"/>
<location filename="../src/ui/mainWindow.ui" line="2196"/>
<source>Show help texts</source>
<translation>Montrer les bulles d&apos;aides</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2311"/>
<location filename="../src/ui/mainWindow.ui" line="2199"/>
<source>Ctrl+Shift+B</source>
<translation></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2327"/>
<location filename="../src/ui/mainWindow.ui" line="2215"/>
<source>Spellcheck</source>
<translation>Correcteur orthographique</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2330"/>
<location filename="../src/ui/mainWindow.ui" line="2218"/>
<source>F8</source>
<translation></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1926"/>
<location filename="../src/ui/mainWindow.ui" line="1429"/>
<source>Word count</source>
<translation>Nombre de mots</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2176"/>
<location filename="../src/ui/mainWindow.ui" line="2064"/>
<source>Mode</source>
<translation>Mode</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="278"/>
<location filename="../src/mainWindow.py" line="285"/>
<source>New character</source>
<translation>Nouveau perso</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="414"/>
<location filename="../src/mainWindow.py" line="421"/>
<source> (~{} pages)</source>
<translation> (~{} pages)</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="441"/>
<location filename="../src/mainWindow.py" line="448"/>
<source>Enter infos about your book, and yourself.</source>
<translation>Entrez toutes les informations relatives au livre, ainsi qu&apos;à vous.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="443"/>
<location filename="../src/mainWindow.py" line="450"/>
<source>Take time to think about a one sentance (~50 words) summary of your book. Then expand it to a paragraph, then to a page, then to a full summary.</source>
<translation>Prenez le temps de réfléchir à un résumé de votre livre, en une phrase (~50 mots). Puis augmentez cette phrase en un paragraphe, puis en une page, puis en un résumé complet.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="445"/>
<location filename="../src/mainWindow.py" line="452"/>
<source>Create your characters.</source>
<translation>Créez ici vos personnage.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="447"/>
<location filename="../src/mainWindow.py" line="454"/>
<source>Develop plots.</source>
<translation>Développez vos intrigues.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="449"/>
<location filename="../src/mainWindow.py" line="456"/>
<source>Create the outline of your masterpiece.</source>
<translation>Créez le plan de votre chef-d&apos;œuvre.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="451"/>
<location filename="../src/mainWindow.py" line="458"/>
<source>Write.</source>
<translation>Écrivez.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="453"/>
<location filename="../src/mainWindow.py" line="460"/>
<source>Debug infos. Sometimes useful.</source>
<translation>Des infos pour débugger des fois pendant qu&apos;on code c&apos;est utile.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="466"/>
<location filename="../src/mainWindow.py" line="473"/>
<source>Dictionary</source>
<translation>Dictionnaire</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="487"/>
<location filename="../src/mainWindow.py" line="494"/>
<source>Install PyEnchant to use spellcheck</source>
<translation>Installez PyEnchant pour profiter du correcteur orthographique</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="417"/>
<location filename="../src/mainWindow.py" line="424"/>
<source>Words: {}{}</source>
<translation>Mots: {}{}</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1656"/>
<location filename="../src/ui/mainWindow.ui" line="1637"/>
<source>Text</source>
<translation>Texte</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1669"/>
<location filename="../src/ui/mainWindow.ui" line="1650"/>
<source>Cork</source>
<translation>Cork</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1933"/>
<source>Label</source>
<translation>Label</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2134"/>
<location filename="../src/ui/mainWindow.ui" line="2022"/>
<source>Labels</source>
<translation>Labels</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2194"/>
<location filename="../src/ui/mainWindow.ui" line="2082"/>
<source>Edit</source>
<translation>Édition</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2335"/>
<location filename="../src/ui/mainWindow.ui" line="2223"/>
<source>Labels...</source>
<translation>Labels...</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2340"/>
<location filename="../src/ui/mainWindow.ui" line="2228"/>
<source>Status...</source>
<translation>Status...</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1074"/>
<source>Un bâteau arrive au port et personne ne sait pourquoi</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1079"/>
<source>Le roi envoie des émissaires à bord. Ils ne reviennent jamais.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1084"/>
<source>Le roi envoie son armée.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1308"/>
<source>Intrigue général</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1327"/>
<source>Scène 1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1332"/>
<source>Scène 2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="142"/>
<source>Idea</source>
@ -633,6 +583,36 @@
<source>Final</source>
<translation>Final</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1074"/>
<source>Un bâteau arrive au port et personne ne sait pourquoi</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1079"/>
<source>Le roi envoie des émissaires à bord. Ils ne reviennent jamais.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1084"/>
<source>Le roi envoie son armée.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1308"/>
<source>Intrigue général</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1327"/>
<source>Scène 1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1332"/>
<source>Scène 2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SpellAction</name>
@ -655,6 +635,30 @@
<translation>La traduction pour {} n&apos;a pas pu être chargée...</translation>
</message>
</context>
<context>
<name>cmbOutlineLabelChoser</name>
<message>
<location filename="../src/ui/views/cmbOutlineLabelChoser.py" line="111"/>
<source>Various</source>
<translation>Différentes valeurs</translation>
</message>
</context>
<context>
<name>cmbOutlinePersoChoser</name>
<message>
<location filename="../src/ui/views/cmbOutlinePersoChoser.py" line="121"/>
<source>Various</source>
<translation>Différentes valeurs</translation>
</message>
</context>
<context>
<name>cmbOutlineStatusChoser</name>
<message>
<location filename="../src/ui/views/cmbOutlineStatusChoser.py" line="111"/>
<source>Various</source>
<translation>Différentes valeurs</translation>
</message>
</context>
<context>
<name>corkDelegate</name>
<message>
@ -671,12 +675,12 @@
<context>
<name>editorWidget</name>
<message>
<location filename="../src/ui/editors/editorWidget.py" line="184"/>
<location filename="../src/ui/editors/editorWidget.py" line="215"/>
<source>{} words / {}</source>
<translation>{} mots / {}</translation>
</message>
<message>
<location filename="../src/ui/editors/editorWidget.py" line="187"/>
<location filename="../src/ui/editors/editorWidget.py" line="218"/>
<source>{} words</source>
<translation>{} mots</translation>
</message>
@ -697,6 +701,14 @@
<translation>Infobulle: Si tu me trouve dérengant, tu peux me cacher via le menu Aide.</translation>
</message>
</context>
<context>
<name>lineEditView</name>
<message>
<location filename="../src/ui/views/lineEditView.py" line="110"/>
<source>Various</source>
<translation>Différentes valeurs</translation>
</message>
</context>
<context>
<name>outlineBasics</name>
<message>
@ -755,6 +767,44 @@
<translation>Nouveau</translation>
</message>
</context>
<context>
<name>propertiesView</name>
<message>
<location filename="../src/ui/views/propertiesView_ui.ui" line="14"/>
<source>Form</source>
<translation type="unfinished">Form</translation>
</message>
<message>
<location filename="../src/ui/views/propertiesView_ui.ui" line="168"/>
<source>POV</source>
<translation>POV</translation>
</message>
<message>
<location filename="../src/ui/views/propertiesView_ui.ui" line="188"/>
<source>Status</source>
<translation>Status</translation>
</message>
<message>
<location filename="../src/ui/views/propertiesView_ui.ui" line="208"/>
<source>Label</source>
<translation>Label</translation>
</message>
<message>
<location filename="../src/ui/views/propertiesView_ui.ui" line="228"/>
<source>Compile</source>
<translation>Compile</translation>
</message>
<message>
<location filename="../src/ui/views/propertiesView_ui.ui" line="242"/>
<source>Goal</source>
<translation>Goal</translation>
</message>
<message>
<location filename="../src/ui/views/propertiesView_ui.ui" line="264"/>
<source>Word count</source>
<translation>Nombre de mots</translation>
</message>
</context>
<context>
<name>qApp</name>
<message>

View file

@ -1299,10 +1299,10 @@ class Ui_MainWindow(object):
self.actLabels.setText(_translate("MainWindow", "Labels..."))
self.actStatus.setText(_translate("MainWindow", "Status..."))
from ui.views.treeView import treeView
from ui.cmbOutlinePersoChoser import cmbOutlinePersoChoser
from ui.views.outlineView import outlineView
from ui.sldImportance import sldImportance
from ui.collapsibleGroupBox2 import collapsibleGroupBox2
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.treeView import treeView

View file

@ -2239,7 +2239,7 @@
<customwidget>
<class>cmbOutlinePersoChoser</class>
<extends>QComboBox</extends>
<header>ui.cmbOutlinePersoChoser.h</header>
<header>ui.views.cmbOutlinePersoChoser.h</header>
</customwidget>
<customwidget>
<class>editorWidget</class>

View file

@ -13,6 +13,7 @@ class cmbOutlineLabelChoser(QComboBox):
self._index = None
self._indexes = None
self._updating = False
self._various = False
def setModels(self, mdlLabels, mdlOutline):
self.mdlLabels = mdlLabels
@ -28,6 +29,8 @@ class cmbOutlineLabelChoser(QComboBox):
if item:
self.addItem(item.icon(),
item.text())
self._various = False
if self._index or self._indexes:
self.updateSelectedItem()
@ -37,6 +40,7 @@ class cmbOutlineLabelChoser(QComboBox):
if index.column() != self._column:
index = index.sibling(index.row(), self._column)
self._index = index
self.updateItems()
self.updateSelectedItem()
def setCurrentModelIndexes(self, indexes):
@ -49,6 +53,7 @@ class cmbOutlineLabelChoser(QComboBox):
i = i.sibling(i.row(), self._column)
self._indexes.append(i)
self.updateItems()
self.updateSelectedItem()
def update(self, topLeft, bottomRight):
@ -98,9 +103,17 @@ class cmbOutlineLabelChoser(QComboBox):
break
if same:
self._various = False
self.setCurrentIndex(labels[0])
else:
if not self._various:
self.insertItem(0, self.tr("Various"))
f = self.font()
f.setItalic(True)
self.setItemData(0, f, Qt.FontRole)
self.setItemData(0, QBrush(Qt.darkGray), Qt.ForegroundRole)
self._various = True
self.setCurrentIndex(0)
else:
@ -111,8 +124,16 @@ class cmbOutlineLabelChoser(QComboBox):
self.mdlOutline.setData(self._index, self.currentIndex())
elif self._indexes:
value = self.currentIndex()
if self._various:
if value == 0:
return
value -= 1
self._updating = True
for i in self._indexes:
self.mdlOutline.setData(i, self.currentIndex())
self.mdlOutline.setData(i, value)
self._updating = False

View file

@ -16,6 +16,7 @@ class cmbOutlinePersoChoser(QComboBox):
self._index = None
self._indexes = None
self._updating = False
self._various = False
def setModels(self, mdlPersos, mdlOutline):
self.mdlPersos = mdlPersos
@ -33,7 +34,9 @@ class cmbOutlinePersoChoser(QComboBox):
self.setItemData(i+1, self.mdlPersos.item(i, Perso.name.value).text(), Qt.ToolTipRole)
except:
pass
self._various = False
if self._index or self._indexes:
self.updateSelectedItem()
@ -42,19 +45,21 @@ class cmbOutlinePersoChoser(QComboBox):
if index.column() != self._column:
index = index.sibling(index.row(), self._column)
self._index = index
self.updateSelectedItem()
self.updateItems()
def setCurrentModelIndexes(self, indexes):
self._indexes = []
self._index = None
idxes = []
for i in indexes:
if i.isValid():
if i.column() != self._column:
i = i.sibling(i.row(), self._column)
self._indexes.append(i)
idxes.append(i)
self.updateSelectedItem()
if idxes != self._indexes:
self._indexes = idxes
self.updateItems()
def update(self, topLeft, bottomRight):
@ -108,9 +113,17 @@ class cmbOutlinePersoChoser(QComboBox):
break
if same:
self._various = False
self.selectPOV(POVs[0])
else:
if not self._various:
self.insertItem(0, self.tr("Various"))
f = self.font()
f.setItalic(True)
self.setItemData(0, f, Qt.FontRole)
self.setItemData(0, QBrush(Qt.darkGray), Qt.ForegroundRole)
self._various = True
self.setCurrentIndex(0)
else:
@ -121,6 +134,9 @@ class cmbOutlinePersoChoser(QComboBox):
self.mdlOutline.setData(self._index, self.currentData())
elif self._indexes:
if self._various and self.currentIndex() == 0:
return
self._updating = True
for i in self._indexes:
self.mdlOutline.setData(i, self.currentData())

View file

@ -14,6 +14,7 @@ class cmbOutlineStatusChoser(QComboBox):
self._index = None
self._indexes = None
self._updating = False
self._various = False
def setModels(self, mdlStatus, mdlOutline):
self.mdlStatus = mdlStatus
@ -29,6 +30,8 @@ class cmbOutlineStatusChoser(QComboBox):
if item:
self.addItem(item.text())
self._various = False
if self._index or self._indexes:
self.updateSelectedItem()
@ -37,6 +40,7 @@ class cmbOutlineStatusChoser(QComboBox):
if index.column() != self._column:
index = index.sibling(index.row(), self._column)
self._index = index
self.updateItems()
self.updateSelectedItem()
def setCurrentModelIndexes(self, indexes):
@ -49,6 +53,7 @@ class cmbOutlineStatusChoser(QComboBox):
i = i.sibling(i.row(), self._column)
self._indexes.append(i)
self.updateItems()
self.updateSelectedItem()
def update(self, topLeft, bottomRight):
@ -98,9 +103,17 @@ class cmbOutlineStatusChoser(QComboBox):
break
if same:
self._various = False
self.setCurrentIndex(statuses[0])
else:
if not self._various:
self.insertItem(0, self.tr("Various"))
f = self.font()
f.setItalic(True)
self.setItemData(0, f, Qt.FontRole)
self.setItemData(0, QBrush(Qt.darkGray), Qt.ForegroundRole)
self._various = True
self.setCurrentIndex(0)
else:
@ -111,7 +124,15 @@ class cmbOutlineStatusChoser(QComboBox):
self.mdlOutline.setData(self._index, self.currentIndex())
elif self._indexes:
value = self.currentIndex()
if self._various:
if value == 0:
return
value -= 1
self._updating = True
for i in self._indexes:
self.mdlOutline.setData(i, self.currentIndex())
self.mdlOutline.setData(i, value)
self._updating = False

View file

@ -107,5 +107,5 @@ class lineEditView(QLineEdit):
if not self._placeholderText:
self._placeholderText = self.placeholderText()
self.setPlaceholderText("Various")
self.setPlaceholderText(self.tr("Various"))

View file

@ -11,7 +11,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_propertiesView(object):
def setupUi(self, propertiesView):
propertiesView.setObjectName("propertiesView")
propertiesView.resize(192, 153)
propertiesView.resize(192, 159)
self.verticalLayout = QtWidgets.QVBoxLayout(propertiesView)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
@ -181,8 +181,8 @@ class Ui_propertiesView(object):
self.label_36.setText(_translate("propertiesView", "Goal"))
self.txtGoalMulti.setPlaceholderText(_translate("propertiesView", "Word count"))
from ui.views.cmbOutlineLabelChoser import cmbOutlineLabelChoser
from ui.views.cmbOutlinePersoChoser import cmbOutlinePersoChoser
from ui.views.lineEditView import lineEditView
from ui.chkOutlineCompile import chkOutlineCompile
from ui.cmbOutlineLabelChoser import cmbOutlineLabelChoser
from ui.cmbOutlineStatusChoser import cmbOutlineStatusChoser
from ui.cmbOutlinePersoChoser import cmbOutlinePersoChoser
from ui.views.cmbOutlineStatusChoser import cmbOutlineStatusChoser
from ui.views.chkOutlineCompile import chkOutlineCompile

View file

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>192</width>
<height>153</height>
<height>159</height>
</rect>
</property>
<property name="windowTitle">
@ -277,22 +277,22 @@
<customwidget>
<class>cmbOutlinePersoChoser</class>
<extends>QComboBox</extends>
<header>ui.cmbOutlinePersoChoser.h</header>
<header>ui.views.cmbOutlinePersoChoser.h</header>
</customwidget>
<customwidget>
<class>cmbOutlineStatusChoser</class>
<extends>QComboBox</extends>
<header>ui.cmbOutlineStatusChoser.h</header>
<header>ui.views.cmbOutlineStatusChoser.h</header>
</customwidget>
<customwidget>
<class>chkOutlineCompile</class>
<extends>QCheckBox</extends>
<header>ui.chkOutlineCompile.h</header>
<header>ui.views.chkOutlineCompile.h</header>
</customwidget>
<customwidget>
<class>cmbOutlineLabelChoser</class>
<extends>QComboBox</extends>
<header>ui.cmbOutlineLabelChoser.h</header>
<header>ui.views.cmbOutlineLabelChoser.h</header>
</customwidget>
<customwidget>
<class>lineEditView</class>

View file

@ -3,7 +3,7 @@
<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>
<outlineItem title="Parent" type="folder" label="0" compile="2" wordCount="787">
<outlineItem title="Parent" type="folder" POV="0" compile="2" wordCount="787">
<outlineItem title="Nouveau" type="folder" summarySentance="Résumé de la scène en une phrase" compile="2" wordCount="27">
<outlineItem title="A" type="scene" compile="2" text="§Du texteDu texteDu text ad ad ad ad a Du texteDu te asd " wordCount="13" setGoal="10"/>
<outlineItem title="B" type="scene" compile="2" setGoal="3"/>
@ -51,13 +51,13 @@
<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="0" 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="Nouveau" type="folder" POV="0" label="5" status="3" compile="2" wordCount="596">
<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="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"/>
<outlineItem title="Avec titre" type="scene" POV="0" label="1" 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="Titre cool" 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="50"/>
<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"/>
</outlineItem>
<outlineItem title="Same title 2" type="scene" POV="0" 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 asdasd &#10;&#10;asdasd asd " wordCount="64" setGoal="1000"/>
<outlineItem title="Same title 2" type="scene" POV="1" label="5" status="1" 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 asdasd &#10;&#10;asdasd asd " wordCount="64" setGoal="1000"/>
</outlineItem>