UI improvements

This commit is contained in:
Olivier Keshavjee 2015-07-09 15:01:07 +02:00
parent 391768c644
commit 7aa08a9d2f
9 changed files with 478 additions and 506 deletions

View file

@ -33,6 +33,7 @@ SOURCES += ../src/ui/welcome.py
SOURCES += ../src/ui/cheatSheet.py
SOURCES += ../src/ui/compileDialog.py
SOURCES += ../src/ui/revisions.py
SOURCES += ../src/ui/collapsibleDockWidgets.py
SOURCES += ../src/ui/editors/editorWidget.py
SOURCES += ../src/ui/editors/fullScreenEditor.py

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="fr" sourcelanguage="en">
<!DOCTYPE TS><TS version="2.0" language="fr" sourcelanguage="en">
<context>
<name>MainWindow</name>
<message>
@ -49,7 +48,7 @@
<translation>Informations sur l&apos;auteur</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1479"/>
<location filename="../src/ui/mainWindow.ui" line="1464"/>
<source>Name</source>
<translation>Nom</translation>
</message>
@ -59,7 +58,7 @@
<translation>Email</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1308"/>
<location filename="../src/ui/mainWindow.ui" line="1291"/>
<source>Summary</source>
<translation>Résumé</translation>
</message>
@ -79,7 +78,7 @@
<translation>Suivant</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1321"/>
<location filename="../src/ui/mainWindow.ui" line="1304"/>
<source>One paragraph</source>
<translation>Un paragraphe</translation>
</message>
@ -89,7 +88,7 @@
<translation>Résumé en un paragraphe</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1326"/>
<location filename="../src/ui/mainWindow.ui" line="1309"/>
<source>One page</source>
<translation>Une page</translation>
</message>
@ -99,7 +98,7 @@
<translation>Développez chaque phrase du paragraphe précédent en un paragraphe complet</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1331"/>
<location filename="../src/ui/mainWindow.ui" line="1314"/>
<source>Full</source>
<translation>Complet</translation>
</message>
@ -124,17 +123,17 @@
<translation>Noms</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1434"/>
<location filename="../src/ui/mainWindow.ui" line="1417"/>
<source>Filter</source>
<translation>Filtre</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1093"/>
<location filename="../src/ui/mainWindow.ui" line="1076"/>
<source>Basic infos</source>
<translation>Informations générales</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1112"/>
<location filename="../src/ui/mainWindow.ui" line="1095"/>
<source>Importance</source>
<translation>Importance</translation>
</message>
@ -179,227 +178,167 @@
<translation>Informations détaillées</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1881"/>
<location filename="../src/ui/mainWindow.ui" line="1780"/>
<source>Plots</source>
<translation>Intrigues</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1102"/>
<location filename="../src/ui/mainWindow.ui" line="1085"/>
<source>Plot</source>
<translation>Intrigue</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1119"/>
<location filename="../src/ui/mainWindow.ui" line="1102"/>
<source>Character(s)</source>
<translation>Personnage(s)</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1489"/>
<location filename="../src/ui/mainWindow.ui" line="1474"/>
<source>Description</source>
<translation>Description</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1133"/>
<location filename="../src/ui/mainWindow.ui" line="1116"/>
<source>Result</source>
<translation>Résultat</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1219"/>
<location filename="../src/ui/mainWindow.ui" line="1202"/>
<source>Resolution steps</source>
<translation>Étapes de résolution</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1127"/>
<location filename="../src/mainWindow.py" line="1140"/>
<source>Outline</source>
<translation>Plan</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1673"/>
<location filename="../src/ui/mainWindow.ui" line="1658"/>
<source>Redaction</source>
<translation>Rédaction</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1992"/>
<location filename="../src/ui/mainWindow.ui" line="1891"/>
<source>Tools</source>
<translation>Outils</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1789"/>
<location filename="../src/ui/mainWindow.ui" line="1918"/>
<source>Cheat sheet</source>
<translation>Aide-mémoire</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1845"/>
<location filename="../src/ui/mainWindow.ui" line="1744"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1858"/>
<location filename="../src/ui/mainWindow.ui" line="1757"/>
<source>FlatData</source>
<translation>FlatData</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1868"/>
<location filename="../src/ui/mainWindow.ui" line="1767"/>
<source>Persos</source>
<translation>Persos</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1959"/>
<location filename="../src/ui/mainWindow.ui" line="1858"/>
<source>File</source>
<translation>Fichier</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1986"/>
<location filename="../src/ui/mainWindow.ui" line="1885"/>
<source>Help</source>
<translation>Aide</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2023"/>
<location filename="../src/ui/mainWindow.ui" line="1966"/>
<source>Open</source>
<translation>Ouvrir</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2026"/>
<location filename="../src/ui/mainWindow.ui" line="1969"/>
<source>Ctrl+O</source>
<translation></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1963"/>
<location filename="../src/ui/mainWindow.ui" line="1862"/>
<source>Recents</source>
<translation>Récents</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2035"/>
<location filename="../src/ui/mainWindow.ui" line="1978"/>
<source>Save</source>
<translation>Enregistrer</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2038"/>
<location filename="../src/ui/mainWindow.ui" line="1981"/>
<source>Ctrl+S</source>
<translation>Ctrl+S</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2047"/>
<location filename="../src/ui/mainWindow.ui" line="1990"/>
<source>Save as...</source>
<translation>Enregistrer sous...</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2050"/>
<location filename="../src/ui/mainWindow.ui" line="1993"/>
<source>Ctrl+Shift+S</source>
<translation></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2059"/>
<location filename="../src/ui/mainWindow.ui" line="2002"/>
<source>Quit</source>
<translation>Quitter</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2062"/>
<location filename="../src/ui/mainWindow.ui" line="2005"/>
<source>Ctrl+Q</source>
<translation></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2077"/>
<location filename="../src/ui/mainWindow.ui" line="2020"/>
<source>Show help texts</source>
<translation>Montrer les bulles d&apos;aides</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2080"/>
<location filename="../src/ui/mainWindow.ui" line="2023"/>
<source>Ctrl+Shift+B</source>
<translation></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2095"/>
<location filename="../src/ui/mainWindow.ui" line="2038"/>
<source>Spellcheck</source>
<translation>Correcteur orthographique</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2162"/>
<location filename="../src/ui/mainWindow.ui" line="2105"/>
<source>F8</source>
<translation></translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1978"/>
<location filename="../src/ui/mainWindow.ui" line="1877"/>
<source>Mode</source>
<translation>Mode</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="951"/>
<source> (~{} pages)</source>
<translation> (~{} pages)</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="986"/>
<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="992"/>
<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="995"/>
<source>Create your characters.</source>
<translation>Créez ici vos personnage.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="998"/>
<source>Develop plots.</source>
<translation>Développez vos intrigues.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1001"/>
<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="1004"/>
<source>Write.</source>
<translation>Écrivez.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1007"/>
<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="1021"/>
<source>Dictionary</source>
<translation>Dictionnaire</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1034"/>
<source>Install PyEnchant to use spellcheck</source>
<translation>Installez PyEnchant pour profiter du correcteur orthographique</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="955"/>
<source>Words: {}{}</source>
<translation>Mots: {}{}</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1138"/>
<source>Text</source>
<translation>Texte</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1925"/>
<location filename="../src/ui/mainWindow.ui" line="1824"/>
<source>Labels</source>
<translation>Labels</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1998"/>
<location filename="../src/ui/mainWindow.ui" line="1897"/>
<source>Edit</source>
<translation>Édition</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2103"/>
<location filename="../src/ui/mainWindow.ui" line="2046"/>
<source>Labels...</source>
<translation>Labels...</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2108"/>
<location filename="../src/ui/mainWindow.ui" line="2051"/>
<source>Status...</source>
<translation>Status...</translation>
</message>
@ -409,7 +348,7 @@
<translation>Situation:</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1238"/>
<location filename="../src/ui/mainWindow.ui" line="1221"/>
<source>Summary:</source>
<translation>Résumé:</translation>
</message>
@ -419,190 +358,260 @@
<translation>Et si...?</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1126"/>
<location filename="../src/mainWindow.py" line="1139"/>
<source>Index cards</source>
<translation>Cartes</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1758"/>
<source>Metadata</source>
<translation>Métadonnées</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2006"/>
<location filename="../src/ui/mainWindow.ui" line="1905"/>
<source>View</source>
<translation>Vue</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2098"/>
<location filename="../src/ui/mainWindow.ui" line="2041"/>
<source>F9</source>
<translation>F9</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1125"/>
<location filename="../src/mainWindow.py" line="1138"/>
<source>Tree</source>
<translation>Arbre</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2124"/>
<location filename="../src/ui/mainWindow.ui" line="2067"/>
<source>Normal</source>
<translation>Normal</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2132"/>
<location filename="../src/ui/mainWindow.ui" line="2075"/>
<source>Simple</source>
<translation>Simple</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2140"/>
<location filename="../src/ui/mainWindow.ui" line="2083"/>
<source>Fractal</source>
<translation>Fractal</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2159"/>
<location filename="../src/ui/mainWindow.ui" line="2102"/>
<source>Settings</source>
<translation>Réglages</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="577"/>
<source>Project {} saved.</source>
<translation>Le projet {} a é enregistré.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="654"/>
<source>Project {} loaded.</source>
<translation>Le projet {} a é chargé.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="989"/>
<source>The basic situation, in the form of a &apos;What if...?&apos; question. Ex: &apos;What if the most dangerous evil wizard could wasn&apos;t abled to kill a baby?&apos; (Harry Potter)</source>
<translation>La situation de base, sous la forme d&apos;une question: &quot;Et si...?&quot; Par exemple: &quot;Et si le plus dangereux magiciens mauvais n&apos;était pas capable de tuer un bébé?&quot; (Harry Potter)</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1117"/>
<source>Nothing</source>
<translation>Rien</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1118"/>
<source>POV</source>
<translation>POV</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1119"/>
<source>Label</source>
<translation>Label</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1120"/>
<source>Progress</source>
<translation>Progrès</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1121"/>
<location filename="../src/mainWindow.py" line="1134"/>
<source>Compile</source>
<translation>Compilation</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1144"/>
<source>Icon color</source>
<translation>Couleur de l&apos;icone</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1145"/>
<source>Text color</source>
<translation>Couleur du texte</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1146"/>
<source>Background color</source>
<translation>Couleur de l&apos;arrière-plan</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1137"/>
<source>Icon</source>
<translation>Icone</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1139"/>
<source>Background</source>
<translation>Arrière-plan</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1140"/>
<source>Border</source>
<translation>Bordure</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1141"/>
<source>Corner</source>
<translation>Coin</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2172"/>
<location filename="../src/ui/mainWindow.ui" line="2115"/>
<source>Close project</source>
<translation>Fermer le projet</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="388"/>
<source>The file {} does not exist. Try again.</source>
<translation>Le fichier {} n&apos;existe pas. Essayez encore.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="657"/>
<source>Project {} loaded with some errors:</source>
<translation>Le projet {} a é chargé, avec des erreurs:</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="659"/>
<source> * {} wasn&apos;t found in project file.</source>
<translation>* {} n&apos;a pas é trouvé dans le fichier du projet.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="660"/>
<source>Project {} loaded with some errors.</source>
<translation>Le projet {} a é chargé avec des erreurs.</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1817"/>
<location filename="../src/ui/mainWindow.ui" line="1940"/>
<source>Search</source>
<translation>Recherche</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="2180"/>
<location filename="../src/ui/mainWindow.ui" line="2123"/>
<source>F6</source>
<translation>F6</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1901"/>
<location filename="../src/ui/mainWindow.ui" line="1800"/>
<source>World</source>
<translation>Monde</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1447"/>
<location filename="../src/ui/mainWindow.ui" line="1430"/>
<source>Populates with empty data</source>
<translation>Remplir avec des catégories vides</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1470"/>
<location filename="../src/ui/mainWindow.ui" line="1455"/>
<source>General</source>
<translation>Général</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1500"/>
<location filename="../src/ui/mainWindow.ui" line="1485"/>
<source>More</source>
<translation>Plus</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1509"/>
<location filename="../src/ui/mainWindow.ui" line="1494"/>
<source>Source of passion</source>
<translation>Source de passion</translation>
</message>
<message>
<location filename="../src/ui/mainWindow.ui" line="1519"/>
<location filename="../src/ui/mainWindow.ui" line="1504"/>
<source>Source of conflict</source>
<translation>Source de conflit</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="397"/>
<source>The file {} does not exist. Try again.</source>
<translation type="unfinished">Le fichier {} n&apos;existe pas. Essayez encore.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="586"/>
<source>Project {} saved.</source>
<translation type="unfinished">Le projet {} a é enregistré.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="663"/>
<source>Project {} loaded.</source>
<translation type="unfinished">Le projet {} a é chargé.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="666"/>
<source>Project {} loaded with some errors:</source>
<translation type="unfinished">Le projet {} a é chargé, avec des erreurs:</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="668"/>
<source> * {} wasn&apos;t found in project file.</source>
<translation type="unfinished">* {} n&apos;a pas é trouvé dans le fichier du projet.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="669"/>
<source>Project {} loaded with some errors.</source>
<translation type="unfinished">Le projet {} a é chargé avec des erreurs.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="957"/>
<source> (~{} pages)</source>
<translation type="unfinished"> (~{} pages)</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="961"/>
<source>Words: {}{}</source>
<translation type="unfinished">Mots: {}{}</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="967"/>
<source>Book summary</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="968"/>
<source>Project tree</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="969"/>
<source>Metadata</source>
<translation type="unfinished">Métadonnées</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="999"/>
<source>Enter infos about your book, and yourself.</source>
<translation type="unfinished">Entrez toutes les informations relatives au livre, ainsi qu&apos;à vous.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1002"/>
<source>The basic situation, in the form of a &apos;What if...?&apos; question. Ex: &apos;What if the most dangerous evil wizard could wasn&apos;t abled to kill a baby?&apos; (Harry Potter)</source>
<translation type="unfinished">La situation de base, sous la forme d&apos;une question: &quot;Et si...?&quot; Par exemple: &quot;Et si le plus dangereux magiciens mauvais n&apos;était pas capable de tuer un bébé?&quot; (Harry Potter)</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1005"/>
<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 type="unfinished">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="1008"/>
<source>Create your characters.</source>
<translation type="unfinished">Créez ici vos personnage.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1011"/>
<source>Develop plots.</source>
<translation type="unfinished">Développez vos intrigues.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1014"/>
<source>Create the outline of your masterpiece.</source>
<translation type="unfinished">Créez le plan de votre chef-d&apos;œuvre.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1017"/>
<source>Write.</source>
<translation type="unfinished">Écrivez.</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1020"/>
<source>Debug infos. Sometimes useful.</source>
<translation type="unfinished">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="1034"/>
<source>Dictionary</source>
<translation type="unfinished">Dictionnaire</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1047"/>
<source>Install PyEnchant to use spellcheck</source>
<translation type="unfinished">Installez PyEnchant pour profiter du correcteur orthographique</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1130"/>
<source>Nothing</source>
<translation type="unfinished">Rien</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1131"/>
<source>POV</source>
<translation type="unfinished">POV</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1132"/>
<source>Label</source>
<translation type="unfinished">Label</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1133"/>
<source>Progress</source>
<translation type="unfinished">Progrès</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1157"/>
<source>Icon color</source>
<translation type="unfinished">Couleur de l&apos;icone</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1158"/>
<source>Text color</source>
<translation type="unfinished">Couleur du texte</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1159"/>
<source>Background color</source>
<translation type="unfinished">Couleur de l&apos;arrière-plan</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1150"/>
<source>Icon</source>
<translation type="unfinished">Icone</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1151"/>
<source>Text</source>
<translation type="unfinished">Texte</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1152"/>
<source>Background</source>
<translation type="unfinished">Arrière-plan</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1153"/>
<source>Border</source>
<translation type="unfinished">Bordure</translation>
</message>
<message>
<location filename="../src/mainWindow.py" line="1154"/>
<source>Corner</source>
<translation type="unfinished">Coin</translation>
</message>
</context>
<context>
<name>Settings</name>
@ -1274,6 +1283,14 @@ des lignes:</translation>
<translation>Différentes valeurs</translation>
</message>
</context>
<context>
<name>collapsibleDockWidgets</name>
<message>
<location filename="../src/ui/collapsibleDockWidgets.py" line="23"/>
<source>Dock Widgets Toolbar</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>compileDialog</name>
<message>

View file

@ -14,6 +14,7 @@ from models.plotModel import *
from models.worldModel import worldModel
from ui.views.outlineDelegates import outlinePersoDelegate
from ui.views.plotDelegate import plotDelegate
from ui.collapsibleDockWidgets import collapsibleDockWidgets
#from models.persosProxyModel import *
from functions import *
from settingsWindow import *
@ -31,6 +32,14 @@ class MainWindow(QMainWindow, Ui_MainWindow):
dictChanged = pyqtSignal(str)
TabInfos = 0
TabSummary = 1
TabPersos = 2
TabPlots = 3
TabWorld = 4
TabOutline = 5
TabRedac = 6
def __init__(self):
QMainWindow.__init__(self)
self.setupUi(self)
@ -390,7 +399,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
5000)
return
if loadFromFile:
# Load empty settings
imp.reload(settings)
@ -492,14 +500,14 @@ class MainWindow(QMainWindow, Ui_MainWindow):
if sttgns.contains("metadataState"):
state = [False if v == "false" else True for v in sttgns.value("metadataState")]
self.redacMetadata.restoreState(state)
if sttgns.contains("redacInfosState"):
self.tabRedacInfos.setCurrentIndex(int(sttgns.value("redacInfosState")))
if sttgns.contains("cheatSheetState"):
state = False if sttgns.value("cheatSheetState") == "false" else True
self.grpCheatSheet.restoreState(state)
if sttgns.contains("searchState"):
state = False if sttgns.value("searchState") == "false" else True
self.grpSearch.restoreState(state)
#if sttgns.contains("redacInfosState"):
#self.tabRedacInfos.setCurrentIndex(int(sttgns.value("redacInfosState")))
#if sttgns.contains("cheatSheetState"):
#state = False if sttgns.value("cheatSheetState") == "false" else True
#self.grpCheatSheet.restoreState(state)
#if sttgns.contains("searchState"):
#state = False if sttgns.value("searchState") == "false" else True
#self.grpSearch.restoreState(state)
if sttgns.contains("revisionsState"):
state = [False if v == "false" else True for v in sttgns.value("revisionsState")]
self.redacMetadata.revisions.restoreState(state)
@ -512,9 +520,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
sttgns.setValue("windowState", self.saveState())
sttgns.setValue("metadataState", self.redacMetadata.saveState())
sttgns.setValue("metadataState", self.redacMetadata.saveState())
sttgns.setValue("redacInfosState", self.tabRedacInfos.currentIndex())
sttgns.setValue("cheatSheetState", self.grpCheatSheet.saveState())
sttgns.setValue("searchState", self.grpSearch.saveState())
#sttgns.setValue("redacInfosState", self.tabRedacInfos.currentIndex())
#sttgns.setValue("cheatSheetState", self.grpCheatSheet.saveState())
#sttgns.setValue("searchState", self.grpSearch.saveState())
sttgns.setValue("revisionsState", self.redacMetadata.revisions.saveState())
# Specific settings to save before quitting
@ -682,10 +690,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.btnRedacRemoveItem.clicked.connect(self.outlineRemoveItemsRedac, AUC)
self.btnOutlineRemoveItem.clicked.connect(self.outlineRemoveItemsOutline, AUC)
self.mainEditor.btnRedacShowOutline.toggled.connect(self.treeRedacWidget.setVisible)
self.mainEditor.btnRedacShowOutline.setChecked(True)
self.mainEditor.btnRedacShowInfos.toggled.connect(self.tabRedacInfos.setVisible)
self.mainEditor.btnRedacShowInfos.setChecked(True)
self.tabMain.currentChanged.connect(self.toolbar.setCurrentGroup)
def makeConnections(self):
@ -911,25 +916,25 @@ class MainWindow(QMainWindow, Ui_MainWindow):
def clickCycle(self, i):
if i == 0: # step 2 - paragraph summary
self.tabMain.setCurrentIndex(1)
self.tabMain.setCurrentIndex(self.TabSummary)
self.tabSummary.setCurrentIndex(1)
if i == 1: # step 3 - characters summary
self.tabMain.setCurrentIndex(2)
self.tabMain.setCurrentIndex(self.TabPersos)
self.tabPersos.setCurrentIndex(0)
if i == 2: # step 4 - page summary
self.tabMain.setCurrentIndex(1)
self.tabMain.setCurrentIndex(self.TabSummary)
self.tabSummary.setCurrentIndex(2)
if i == 3: # step 5 - characters description
self.tabMain.setCurrentIndex(2)
self.tabMain.setCurrentIndex(self.TabPersos)
self.tabPersos.setCurrentIndex(1)
if i == 4: # step 6 - four page synopsis
self.tabMain.setCurrentIndex(1)
self.tabMain.setCurrentIndex(self.TabSummary)
self.tabSummary.setCurrentIndex(3)
if i == 5: # step 7 - full character charts
self.tabMain.setCurrentIndex(2)
self.tabMain.setCurrentIndex(self.TabPersos)
self.tabPersos.setCurrentIndex(2)
if i == 6: # step 8 - scene list
self.tabMain.setCurrentIndex(3)
self.tabMain.setCurrentIndex(self.TabPlots)
def wordCount(self, i):
@ -955,6 +960,13 @@ class MainWindow(QMainWindow, Ui_MainWindow):
lbl.setText(self.tr("Words: {}{}").format(wc, pages))
def setupMoreUi(self):
# Tool bar on the right
self.toolbar = collapsibleDockWidgets(Qt.RightDockWidgetArea, self)
self.toolbar.addCustomWidget(self.tr("Book summary"), self.grpPlotSummary, self.TabPlots)
self.toolbar.addCustomWidget(self.tr("Project tree"), self.treeRedacWidget, self.TabRedac)
self.toolbar.addCustomWidget(self.tr("Metadata"), self.redacMetadata, self.TabRedac)
# Splitters
self.splitterPersos.setStretchFactor(0, 25)
self.splitterPersos.setStretchFactor(1, 75)

View file

@ -0,0 +1,96 @@
#!/usr/bin/env python
#--!-- coding: utf8 --!--
from qt import *
class collapsibleDockWidgets(QToolBar):
"""
QMainWindow "mixin" which provides auto-hiding support for dock widgets
(not toolbars).
"""
TRANSPOSED_AREA = {
Qt.LeftDockWidgetArea: Qt.LeftToolBarArea,
Qt.RightDockWidgetArea: Qt.RightToolBarArea,
Qt.TopDockWidgetArea: Qt.TopToolBarArea,
Qt.BottomDockWidgetArea: Qt.BottomToolBarArea,
}
def __init__(self, area, parent, name=""):
QToolBar.__init__(self, parent)
self._area = area
if not name:
name = self.tr("Dock Widgets Toolbar")
self.setObjectName(name)
self.setWindowTitle(name)
self.setFloatable(False)
self.setMovable(False)
#self.setAllowedAreas(self.TRANSPOSED_AREA[self._area])
self.parent().addToolBar(self.TRANSPOSED_AREA[self._area], self)
# Dock widgets
for d in self._dockWidgets():
b = verticalButton(self)
b.setDefaultAction(d.toggleViewAction())
self.addWidget(b)
self.addSeparator()
# Other widgets
self.otherWidgets = []
self.currentGroup = None
def _dockWidgets(self):
mw = self.parent()
for w in mw.findChildren(QDockWidget, None):
yield w
def addCustomWidget(self, text, widget, group=None):
a = QAction(text, self)
a.setCheckable(True)
a.setChecked(widget.isVisible())
a.toggled.connect(widget.setVisible)
#widget.installEventFilter(self)
b = verticalButton(self)
b.setDefaultAction(a)
a2 = self.addWidget(b)
self.otherWidgets.append((b, a2, widget, group))
#def eventFilter(self, widget, event):
#if event.type() in [QEvent.Show, QEvent.Hide]:
#for btn, action, w, grp in self.otherWidgets:
#if w == widget:
#btn.defaultAction().setChecked(event.type() == QEvent.Show)
#return False
def setCurrentGroup(self, group):
self.currentGroup = group
for btn, action, widget, grp in self.otherWidgets:
if not grp == group or grp == None:
action.setVisible(False)
else:
action.setVisible(True)
class verticalButton(QToolButton):
def __init__(self, parent):
QToolButton.__init__(self, parent)
self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Minimum)
def sizeHint(self):
return QToolButton.sizeHint(self).transposed()
def paintEvent(self, event):
p = QStylePainter(self)
p.rotate(90)
p.translate(0, - self.width())
opt = QStyleOptionButton()
opt.initFrom(self)
opt.text = self.text()
if self.isChecked():
opt.state |= QStyle.State_On
s = opt.rect.size().transposed()
opt.rect.setSize(s)
p.drawControl(QStyle.CE_PushButton, opt)

View file

@ -23,13 +23,6 @@ class Ui_mainEditor(object):
self.verticalLayout.addWidget(self.tab)
self.horizontalLayout_19 = QtWidgets.QHBoxLayout()
self.horizontalLayout_19.setObjectName("horizontalLayout_19")
self.btnRedacShowOutline = QtWidgets.QPushButton(mainEditor)
self.btnRedacShowOutline.setText("")
icon = QtGui.QIcon.fromTheme("text-x-generic")
self.btnRedacShowOutline.setIcon(icon)
self.btnRedacShowOutline.setCheckable(True)
self.btnRedacShowOutline.setObjectName("btnRedacShowOutline")
self.horizontalLayout_19.addWidget(self.btnRedacShowOutline)
self.btnRedacFolderText = QtWidgets.QPushButton(mainEditor)
self.btnRedacFolderText.setCheckable(True)
self.btnRedacFolderText.setObjectName("btnRedacFolderText")
@ -87,13 +80,6 @@ class Ui_mainEditor(object):
self.btnRedacFullscreen.setIcon(icon)
self.btnRedacFullscreen.setObjectName("btnRedacFullscreen")
self.horizontalLayout_19.addWidget(self.btnRedacFullscreen)
self.btnRedacShowInfos = QtWidgets.QPushButton(mainEditor)
self.btnRedacShowInfos.setText("")
icon = QtGui.QIcon.fromTheme("edit-find")
self.btnRedacShowInfos.setIcon(icon)
self.btnRedacShowInfos.setCheckable(True)
self.btnRedacShowInfos.setObjectName("btnRedacShowInfos")
self.horizontalLayout_19.addWidget(self.btnRedacShowInfos)
self.verticalLayout.addLayout(self.horizontalLayout_19)
self.retranslateUi(mainEditor)

View file

@ -35,20 +35,6 @@
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_19">
<item>
<widget class="QPushButton" name="btnRedacShowOutline">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset theme="text-x-generic">
<normaloff>../../../../../../../../.designer/backup</normaloff>../../../../../../../../.designer/backup</iconset>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRedacFolderText">
<property name="text">
@ -207,20 +193,6 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRedacShowInfos">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset theme="edit-find">
<normaloff>../../../../../../../../.designer/backup</normaloff>../../../../../../../../.designer/backup</iconset>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>

View file

@ -539,14 +539,6 @@ class Ui_MainWindow(object):
self.txtPlotFilter.setProperty("clearButtonEnabled", True)
self.txtPlotFilter.setObjectName("txtPlotFilter")
self.horizontalLayout_15.addWidget(self.txtPlotFilter)
self.btnPlotShowSummary = QtWidgets.QPushButton(self.groupBox_2)
self.btnPlotShowSummary.setText("")
icon = QtGui.QIcon.fromTheme("text-x-generic")
self.btnPlotShowSummary.setIcon(icon)
self.btnPlotShowSummary.setCheckable(True)
self.btnPlotShowSummary.setChecked(True)
self.btnPlotShowSummary.setObjectName("btnPlotShowSummary")
self.horizontalLayout_15.addWidget(self.btnPlotShowSummary)
self.verticalLayout_10.addLayout(self.horizontalLayout_15)
self.tabPlot = QtWidgets.QTabWidget(self.splitterPlot)
self.tabPlot.setDocumentMode(True)
@ -864,8 +856,9 @@ class Ui_MainWindow(object):
self.tabMain.addTab(self.lytTabOutline, "")
self.lytTabRedac = QtWidgets.QWidget()
self.lytTabRedac.setObjectName("lytTabRedac")
self.verticalLayout_16 = QtWidgets.QVBoxLayout(self.lytTabRedac)
self.verticalLayout_16.setObjectName("verticalLayout_16")
self.verticalLayout_15 = QtWidgets.QVBoxLayout(self.lytTabRedac)
self.verticalLayout_15.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_15.setObjectName("verticalLayout_15")
self.splitterRedac = QtWidgets.QSplitter(self.lytTabRedac)
self.splitterRedac.setOrientation(QtCore.Qt.Horizontal)
self.splitterRedac.setObjectName("splitterRedac")
@ -877,6 +870,7 @@ class Ui_MainWindow(object):
self.treeRedacOutline = treeView(self.treeRedacWidget)
self.treeRedacOutline.setEditTriggers(QtWidgets.QAbstractItemView.EditKeyPressed)
self.treeRedacOutline.setObjectName("treeRedacOutline")
self.treeRedacOutline.header().setVisible(False)
self.verticalLayout_30.addWidget(self.treeRedacOutline)
self.horizontalLayout_31 = QtWidgets.QHBoxLayout()
self.horizontalLayout_31.setObjectName("horizontalLayout_31")
@ -903,61 +897,9 @@ class Ui_MainWindow(object):
self.verticalLayout_30.addLayout(self.horizontalLayout_31)
self.mainEditor = mainEditor(self.splitterRedac)
self.mainEditor.setObjectName("mainEditor")
self.tabRedacInfos = QtWidgets.QTabWidget(self.splitterRedac)
self.tabRedacInfos.setTabPosition(QtWidgets.QTabWidget.South)
self.tabRedacInfos.setDocumentMode(True)
self.tabRedacInfos.setObjectName("tabRedacInfos")
self.tab_17 = QtWidgets.QWidget()
self.tab_17.setObjectName("tab_17")
self.verticalLayout_20 = QtWidgets.QVBoxLayout(self.tab_17)
self.verticalLayout_20.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize)
self.verticalLayout_20.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_20.setObjectName("verticalLayout_20")
self.redacMetadata = metadataView(self.tab_17)
self.redacMetadata = metadataView(self.splitterRedac)
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")
self.verticalLayout_21 = QtWidgets.QVBoxLayout(self.tab_18)
self.verticalLayout_21.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_21.setObjectName("verticalLayout_21")
self.grpCheatSheet = collapsibleGroupBox2(self.tab_18)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.grpCheatSheet.setFont(font)
self.grpCheatSheet.setFlat(True)
self.grpCheatSheet.setObjectName("grpCheatSheet")
self.verticalLayout_15 = QtWidgets.QVBoxLayout(self.grpCheatSheet)
self.verticalLayout_15.setObjectName("verticalLayout_15")
self.cheatSheet = cheatSheet(self.grpCheatSheet)
font = QtGui.QFont()
font.setBold(False)
font.setWeight(50)
self.cheatSheet.setFont(font)
self.cheatSheet.setObjectName("cheatSheet")
self.verticalLayout_15.addWidget(self.cheatSheet)
self.verticalLayout_21.addWidget(self.grpCheatSheet)
self.grpSearch = collapsibleGroupBox2(self.tab_18)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.grpSearch.setFont(font)
self.grpSearch.setFlat(True)
self.grpSearch.setObjectName("grpSearch")
self.verticalLayout_31 = QtWidgets.QVBoxLayout(self.grpSearch)
self.verticalLayout_31.setObjectName("verticalLayout_31")
self.widget = search(self.grpSearch)
font = QtGui.QFont()
font.setBold(False)
font.setWeight(50)
self.widget.setFont(font)
self.widget.setObjectName("widget")
self.verticalLayout_31.addWidget(self.widget)
self.verticalLayout_21.addWidget(self.grpSearch)
self.tabRedacInfos.addTab(self.tab_18, "")
self.verticalLayout_16.addWidget(self.splitterRedac)
self.verticalLayout_15.addWidget(self.splitterRedac)
self.tabMain.addTab(self.lytTabRedac, "")
self.lytTabDebug = QtWidgets.QWidget()
self.lytTabDebug.setObjectName("lytTabDebug")
@ -1057,6 +999,36 @@ class Ui_MainWindow(object):
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.dckCheatSheet = QtWidgets.QDockWidget(MainWindow)
self.dckCheatSheet.setObjectName("dckCheatSheet")
self.dockWidgetContents_5 = QtWidgets.QWidget()
self.dockWidgetContents_5.setObjectName("dockWidgetContents_5")
self.verticalLayout_39 = QtWidgets.QVBoxLayout(self.dockWidgetContents_5)
self.verticalLayout_39.setObjectName("verticalLayout_39")
self.cheatSheet = cheatSheet(self.dockWidgetContents_5)
font = QtGui.QFont()
font.setBold(False)
font.setWeight(50)
self.cheatSheet.setFont(font)
self.cheatSheet.setObjectName("cheatSheet")
self.verticalLayout_39.addWidget(self.cheatSheet)
self.dckCheatSheet.setWidget(self.dockWidgetContents_5)
MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dckCheatSheet)
self.dckSearch = QtWidgets.QDockWidget(MainWindow)
self.dckSearch.setObjectName("dckSearch")
self.dockWidgetContents_6 = QtWidgets.QWidget()
self.dockWidgetContents_6.setObjectName("dockWidgetContents_6")
self.verticalLayout_40 = QtWidgets.QVBoxLayout(self.dockWidgetContents_6)
self.verticalLayout_40.setObjectName("verticalLayout_40")
self.widget = search(self.dockWidgetContents_6)
font = QtGui.QFont()
font.setBold(False)
font.setWeight(50)
self.widget.setFont(font)
self.widget.setObjectName("widget")
self.verticalLayout_40.addWidget(self.widget)
self.dckSearch.setWidget(self.dockWidgetContents_6)
MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dckSearch)
self.actOpen = QtWidgets.QAction(MainWindow)
icon = QtGui.QIcon.fromTheme("document-open")
self.actOpen.setIcon(icon)
@ -1141,16 +1113,14 @@ class Ui_MainWindow(object):
self.retranslateUi(MainWindow)
self.stack.setCurrentIndex(1)
self.tabMain.setCurrentIndex(4)
self.tabMain.setCurrentIndex(3)
self.tabSummary.setCurrentIndex(0)
self.tabPersos.setCurrentIndex(0)
self.tabPlot.setCurrentIndex(0)
self.comboBox_2.setCurrentIndex(0)
self.stkPlotSummary.setCurrentIndex(0)
self.tabWorld.setCurrentIndex(0)
self.tabRedacInfos.setCurrentIndex(0)
self.tabWidget.setCurrentIndex(3)
self.btnPlotShowSummary.toggled['bool'].connect(self.grpPlotSummary.setVisible)
self.comboBox_2.currentIndexChanged['int'].connect(self.stkPlotSummary.setCurrentIndex)
self.btnPlanShowDetails.toggled['bool'].connect(self.frame.setVisible)
self.cmbSummary.currentIndexChanged['int'].connect(self.tabSummary.setCurrentIndex)
@ -1235,10 +1205,6 @@ class Ui_MainWindow(object):
self.tabWorld.setTabText(self.tabWorld.indexOf(self.tab_4), _translate("MainWindow", "More"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabContext), _translate("MainWindow", "World"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabOutline), _translate("MainWindow", "Outline"))
self.tabRedacInfos.setTabText(self.tabRedacInfos.indexOf(self.tab_17), _translate("MainWindow", "Metadata"))
self.grpCheatSheet.setTitle(_translate("MainWindow", "Cheat sheet"))
self.grpSearch.setTitle(_translate("MainWindow", "Search"))
self.tabRedacInfos.setTabText(self.tabRedacInfos.indexOf(self.tab_18), _translate("MainWindow", "Tools"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabRedac), _translate("MainWindow", "Redaction"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_9), _translate("MainWindow", "FlatData"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_10), _translate("MainWindow", "Persos"))
@ -1254,6 +1220,8 @@ class Ui_MainWindow(object):
self.menuTools.setTitle(_translate("MainWindow", "Tools"))
self.menuEdit.setTitle(_translate("MainWindow", "Edit"))
self.menuView.setTitle(_translate("MainWindow", "View"))
self.dckCheatSheet.setWindowTitle(_translate("MainWindow", "Cheat sheet"))
self.dckSearch.setWindowTitle(_translate("MainWindow", "Search"))
self.actOpen.setText(_translate("MainWindow", "Open"))
self.actOpen.setShortcut(_translate("MainWindow", "Ctrl+O"))
self.actSave.setText(_translate("MainWindow", "Save"))
@ -1280,18 +1248,17 @@ class Ui_MainWindow(object):
self.actCompile.setText(_translate("MainWindow", "Compile"))
self.actCompile.setShortcut(_translate("MainWindow", "F6"))
from ui.views.plotTreeView import plotTreeView
from ui.views.textEditCompleter import textEditCompleter
from ui.search import search
from ui.cheatSheet import cheatSheet
from ui.views.textEditView import textEditView
from ui.views.metadataView import metadataView
from ui.views.outlineView import outlineView
from ui.views.basicItemView import basicItemView
from ui.views.lineEditView import lineEditView
from ui.editors.mainEditor import mainEditor
from ui.sldImportance import sldImportance
from ui.views.persoTreeView import persoTreeView
from ui.collapsibleGroupBox2 import collapsibleGroupBox2
from ui.views.treeView import treeView
from ui.views.metadataView import metadataView
from ui.views.textEditCompleter import textEditCompleter
from ui.views.outlineView import outlineView
from ui.search import search
from ui.views.textEditView import textEditView
from ui.welcome import welcome
from ui.views.treeView import treeView
from ui.editors.mainEditor import mainEditor
from ui.views.basicItemView import basicItemView
from ui.cheatSheet import cheatSheet
from ui.views.persoTreeView import persoTreeView
from ui.views.lineEditView import lineEditView
from ui.views.plotTreeView import plotTreeView

View file

@ -109,7 +109,7 @@
<item>
<widget class="QTabWidget" name="tabMain">
<property name="currentIndex">
<number>4</number>
<number>3</number>
</property>
<property name="documentMode">
<bool>true</bool>
@ -1060,23 +1060,6 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnPlotShowSummary">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset theme="text-x-generic">
<normaloff>../../../../../../../.designer/backup</normaloff>../../../../../../../.designer/backup</iconset>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
@ -1450,7 +1433,9 @@
<string/>
</property>
<property name="icon">
<iconset theme="emblem-favorite"/>
<iconset theme="emblem-favorite">
<normaloff/>
</iconset>
</property>
</widget>
</item>
@ -1672,7 +1657,10 @@
<attribute name="title">
<string>Redaction</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_16">
<layout class="QVBoxLayout" name="verticalLayout_15">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QSplitter" name="splitterRedac">
<property name="orientation">
@ -1688,6 +1676,9 @@
<property name="editTriggers">
<set>QAbstractItemView::EditKeyPressed</set>
</property>
<attribute name="headerVisible">
<bool>false</bool>
</attribute>
</widget>
</item>
<item>
@ -1743,99 +1734,7 @@
</layout>
</widget>
<widget class="mainEditor" name="mainEditor" native="true"/>
<widget class="QTabWidget" name="tabRedacInfos">
<property name="tabPosition">
<enum>QTabWidget::South</enum>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<property name="documentMode">
<bool>true</bool>
</property>
<widget class="QWidget" name="tab_17">
<attribute name="title">
<string>Metadata</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_20" stretch="0">
<property name="sizeConstraint">
<enum>QLayout::SetMaximumSize</enum>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="metadataView" name="redacMetadata" native="true"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_18">
<attribute name="title">
<string>Tools</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_21">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="collapsibleGroupBox2" name="grpCheatSheet">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="title">
<string>Cheat sheet</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_15">
<item>
<widget class="cheatSheet" name="cheatSheet" native="true">
<property name="font">
<font>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="collapsibleGroupBox2" name="grpSearch">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="title">
<string>Search</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_31">
<item>
<widget class="search" name="widget" native="true">
<property name="font">
<font>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="metadataView" name="redacMetadata" native="true"/>
</widget>
</item>
</layout>
@ -2014,6 +1913,50 @@
<addaction name="menuHelp"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<widget class="QDockWidget" name="dckCheatSheet">
<property name="windowTitle">
<string>Cheat sheet</string>
</property>
<attribute name="dockWidgetArea">
<number>2</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents_5">
<layout class="QVBoxLayout" name="verticalLayout_39">
<item>
<widget class="cheatSheet" name="cheatSheet" native="true">
<property name="font">
<font>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QDockWidget" name="dckSearch">
<property name="windowTitle">
<string>Search</string>
</property>
<attribute name="dockWidgetArea">
<number>2</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents_6">
<layout class="QVBoxLayout" name="verticalLayout_40">
<item>
<widget class="search" name="widget" native="true">
<property name="font">
<font>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<action name="actOpen">
<property name="icon">
<iconset theme="document-open">
@ -2192,12 +2135,6 @@
<extends>QLineEdit</extends>
<header>ui.views.lineEditView.h</header>
</customwidget>
<customwidget>
<class>collapsibleGroupBox2</class>
<extends>QGroupBox</extends>
<header>ui.collapsibleGroupBox2.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>outlineView</class>
<extends>QTreeView</extends>
@ -2268,22 +2205,6 @@
</customwidgets>
<resources/>
<connections>
<connection>
<sender>btnPlotShowSummary</sender>
<signal>toggled(bool)</signal>
<receiver>grpPlotSummary</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>342</x>
<y>760</y>
</hint>
<hint type="destinationlabel">
<x>860</x>
<y>170</y>
</hint>
</hints>
</connection>
<connection>
<sender>comboBox_2</sender>
<signal>currentIndexChanged(int)</signal>
@ -2307,11 +2228,11 @@
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>1136</x>
<x>999</x>
<y>768</y>
</hint>
<hint type="destinationlabel">
<x>1137</x>
<x>1000</x>
<y>729</y>
</hint>
</hints>
@ -2355,11 +2276,11 @@
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>446</x>
<x>404</x>
<y>127</y>
</hint>
<hint type="destinationlabel">
<x>446</x>
<x>404</x>
<y>120</y>
</hint>
</hints>

View file

@ -8,7 +8,7 @@ from ui.views.metadataView_ui import *
class metadataView(QWidget, Ui_metadataView):
def __init__(self, parent=None):
QWidget.__init__(self)
QWidget.__init__(self, parent)
self.setupUi(self)
self._lastIndexes = None
self.txtSummarySentance.setColumn(Outline.summarySentance.value)