Help bubbles that look cute.

This commit is contained in:
Olivier Keshavjee 2015-06-03 19:25:03 +02:00
parent 0293ff01fe
commit 5ecdabd43e
4 changed files with 311 additions and 208 deletions

View file

@ -7,6 +7,7 @@ from __future__ import unicode_literals
from qt import *
from ui.mainWindow import *
from ui.helpLabel import helpLabel
from loadSave import *
from enums import *
from models.outlineModel import *
@ -19,21 +20,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.readSettings()
# UI
self.splitterPersos.setStretchFactor(0, 25)
self.splitterPersos.setStretchFactor(1, 75)
self.splitterPlot.setStretchFactor(0, 20)
self.splitterPlot.setStretchFactor(1, 40)
self.splitterPlot.setStretchFactor(2, 40)
self.splitterPlan.setStretchFactor(0, 25)
self.splitterPlan.setStretchFactor(1, 75)
self.splitterRedac.setStretchFactor(0, 20)
self.splitterRedac.setStretchFactor(1, 60)
self.splitterRedac.setStretchFactor(2, 20)
self.setupMoreUi()
# Word count
self.mprWordCount = QSignalMapper(self)
@ -313,4 +300,48 @@ class MainWindow(QMainWindow, Ui_MainWindow):
wc = len(src.toPlainText().strip().split(" ")) if src.toPlainText() else 0
if i in [2, 3]: pages = " (~{} pages)".format(int(wc / 25) / 10.)
else: pages = ""
lbl.setText("Mots: {}{}".format(wc, pages))
lbl.setText("Mots: {}{}".format(wc, pages))
def setupMoreUi(self):
# Splitters
self.splitterPersos.setStretchFactor(0, 25)
self.splitterPersos.setStretchFactor(1, 75)
self.splitterPlot.setStretchFactor(0, 20)
self.splitterPlot.setStretchFactor(1, 40)
self.splitterPlot.setStretchFactor(2, 40)
self.splitterPlan.setStretchFactor(0, 25)
self.splitterPlan.setStretchFactor(1, 75)
self.splitterRedac.setStretchFactor(0, 20)
self.splitterRedac.setStretchFactor(1, 60)
self.splitterRedac.setStretchFactor(2, 20)
# Help box
references = [
(self.lytTabOverview,
"Entrez toutes les informations relatives au livre, ainsi qu'à vous."),
(self.lytTabSummary,
"Prenez le temps de réfléchir à un résumé de votre livre, en une phrase. Puis augmentez cette phrase en un paragraphe, puis en une page, puis en un résumé complet."),
(self.lytTabPersos,
"Créez ici vos personnage."),
(self.lytTabPlot,
"Développez vos intrigues."),
(self.lytTabOutline,
"Créez le plan de votre chef-d'œuvre."),
(self.lytTabRedac,
"Écrivez."),
(self.lytTabDebug,
"Des infos pour débugger des fois pendant qu'on code c'est utile."),
]
for widget, text in references:
print(text)
label = helpLabel(text)
self.actShowHelp.toggled.connect(label.setVisible)
widget.layout().insertWidget(0, label)
self.actShowHelp.setChecked(False)

26
src/ui/helpLabel.py Normal file
View file

@ -0,0 +1,26 @@
#!/usr/bin/env python
#--!-- coding: utf8 --!--
from __future__ import print_function
from __future__ import unicode_literals
from qt import *
class helpLabel(QLabel):
def __init__(self, text=None, parent=None):
QLabel.__init__(self, text, parent)
self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
self.setStatusTip("Infobulle: Si tu me trouve dérengant, tu peux me cacher via le menu Aide.")
self.setStyleSheet("""
QLabel {
background-color:lightYellow;
border:1px solid lightGray;
border-radius: 10px;
margin: 3px;
padding:10px;
color:gray;
}""")

View file

@ -19,11 +19,13 @@ class Ui_MainWindow(object):
self.tabMain = QtWidgets.QTabWidget(self.centralwidget)
self.tabMain.setDocumentMode(True)
self.tabMain.setObjectName("tabMain")
self.tab_3 = QtWidgets.QWidget()
self.tab_3.setObjectName("tab_3")
self.horizontalLayout_26 = QtWidgets.QHBoxLayout(self.tab_3)
self.lytTabOverview = QtWidgets.QWidget()
self.lytTabOverview.setObjectName("lytTabOverview")
self.verticalLayout_23 = QtWidgets.QVBoxLayout(self.lytTabOverview)
self.verticalLayout_23.setObjectName("verticalLayout_23")
self.horizontalLayout_26 = QtWidgets.QHBoxLayout()
self.horizontalLayout_26.setObjectName("horizontalLayout_26")
self.grpBookInfos = QtWidgets.QGroupBox(self.tab_3)
self.grpBookInfos = QtWidgets.QGroupBox(self.lytTabOverview)
self.grpBookInfos.setObjectName("grpBookInfos")
self.formLayout_3 = QtWidgets.QFormLayout(self.grpBookInfos)
self.formLayout_3.setContentsMargins(6, 6, 6, -1)
@ -70,7 +72,7 @@ class Ui_MainWindow(object):
self.txtGeneralLicense.setObjectName("txtGeneralLicense")
self.formLayout_3.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.txtGeneralLicense)
self.horizontalLayout_26.addWidget(self.grpBookInfos)
self.grpAuthor = QtWidgets.QGroupBox(self.tab_3)
self.grpAuthor = QtWidgets.QGroupBox(self.lytTabOverview)
self.grpAuthor.setObjectName("grpAuthor")
self.formLayout_4 = QtWidgets.QFormLayout(self.grpAuthor)
self.formLayout_4.setContentsMargins(6, 6, 6, -1)
@ -88,12 +90,13 @@ class Ui_MainWindow(object):
self.txtGeneralEmail.setObjectName("txtGeneralEmail")
self.formLayout_4.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.txtGeneralEmail)
self.horizontalLayout_26.addWidget(self.grpAuthor)
self.tabMain.addTab(self.tab_3, "")
self.tab = QtWidgets.QWidget()
self.tab.setObjectName("tab")
self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.tab)
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.tabSummary = QtWidgets.QTabWidget(self.tab)
self.verticalLayout_23.addLayout(self.horizontalLayout_26)
self.tabMain.addTab(self.lytTabOverview, "")
self.lytTabSummary = QtWidgets.QWidget()
self.lytTabSummary.setObjectName("lytTabSummary")
self.verticalLayout_24 = QtWidgets.QVBoxLayout(self.lytTabSummary)
self.verticalLayout_24.setObjectName("verticalLayout_24")
self.tabSummary = QtWidgets.QTabWidget(self.lytTabSummary)
self.tabSummary.setTabPosition(QtWidgets.QTabWidget.West)
self.tabSummary.setObjectName("tabSummary")
self.tab_14 = QtWidgets.QWidget()
@ -249,13 +252,13 @@ class Ui_MainWindow(object):
self.verticalLayout_4.addWidget(self.lblSummaryWCFull)
self.horizontalLayout_8.addLayout(self.verticalLayout_4)
self.tabSummary.addTab(self.tabWidgetPage2, "")
self.horizontalLayout_3.addWidget(self.tabSummary)
self.tabMain.addTab(self.tab, "")
self.tab_2 = QtWidgets.QWidget()
self.tab_2.setObjectName("tab_2")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.tab_2)
self.horizontalLayout.setObjectName("horizontalLayout")
self.splitterPersos = QtWidgets.QSplitter(self.tab_2)
self.verticalLayout_24.addWidget(self.tabSummary)
self.tabMain.addTab(self.lytTabSummary, "")
self.lytTabPersos = QtWidgets.QWidget()
self.lytTabPersos.setObjectName("lytTabPersos")
self.verticalLayout_25 = QtWidgets.QVBoxLayout(self.lytTabPersos)
self.verticalLayout_25.setObjectName("verticalLayout_25")
self.splitterPersos = QtWidgets.QSplitter(self.lytTabPersos)
self.splitterPersos.setOrientation(QtCore.Qt.Horizontal)
self.splitterPersos.setChildrenCollapsible(False)
self.splitterPersos.setObjectName("splitterPersos")
@ -425,13 +428,13 @@ class Ui_MainWindow(object):
self.horizontalLayout_9.addWidget(self.btnStepEight)
self.verticalLayout_9.addLayout(self.horizontalLayout_9)
self.tabPersos.addTab(self.tab_12, "")
self.horizontalLayout.addWidget(self.splitterPersos)
self.tabMain.addTab(self.tab_2, "")
self.tab_4 = QtWidgets.QWidget()
self.tab_4.setObjectName("tab_4")
self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.tab_4)
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
self.splitterPlot = QtWidgets.QSplitter(self.tab_4)
self.verticalLayout_25.addWidget(self.splitterPersos)
self.tabMain.addTab(self.lytTabPersos, "")
self.lytTabPlot = QtWidgets.QWidget()
self.lytTabPlot.setObjectName("lytTabPlot")
self.verticalLayout_26 = QtWidgets.QVBoxLayout(self.lytTabPlot)
self.verticalLayout_26.setObjectName("verticalLayout_26")
self.splitterPlot = QtWidgets.QSplitter(self.lytTabPlot)
self.splitterPlot.setOrientation(QtCore.Qt.Horizontal)
self.splitterPlot.setObjectName("splitterPlot")
self.groupBox_2 = QtWidgets.QGroupBox(self.splitterPlot)
@ -664,16 +667,16 @@ class Ui_MainWindow(object):
self.horizontalLayout_13.addWidget(self.txtPlotSummaryFull)
self.stkPlotSummary.addWidget(self.page_3)
self.verticalLayout_18.addWidget(self.stkPlotSummary)
self.horizontalLayout_5.addWidget(self.splitterPlot)
self.tabMain.addTab(self.tab_4, "")
self.verticalLayout_26.addWidget(self.splitterPlot)
self.tabMain.addTab(self.lytTabPlot, "")
self.tab_5 = QtWidgets.QWidget()
self.tab_5.setObjectName("tab_5")
self.tabMain.addTab(self.tab_5, "")
self.tab_6 = QtWidgets.QWidget()
self.tab_6.setObjectName("tab_6")
self.horizontalLayout_12 = QtWidgets.QHBoxLayout(self.tab_6)
self.horizontalLayout_12.setObjectName("horizontalLayout_12")
self.splitterPlan = QtWidgets.QSplitter(self.tab_6)
self.lytTabOutline = QtWidgets.QWidget()
self.lytTabOutline.setObjectName("lytTabOutline")
self.verticalLayout_27 = QtWidgets.QVBoxLayout(self.lytTabOutline)
self.verticalLayout_27.setObjectName("verticalLayout_27")
self.splitterPlan = QtWidgets.QSplitter(self.lytTabOutline)
self.splitterPlan.setOrientation(QtCore.Qt.Horizontal)
self.splitterPlan.setChildrenCollapsible(False)
self.splitterPlan.setObjectName("splitterPlan")
@ -743,13 +746,13 @@ class Ui_MainWindow(object):
self.pushButton_23.setObjectName("pushButton_23")
self.horizontalLayout_18.addWidget(self.pushButton_23)
self.verticalLayout_14.addLayout(self.horizontalLayout_18)
self.horizontalLayout_12.addWidget(self.splitterPlan)
self.tabMain.addTab(self.tab_6, "")
self.tab_7 = QtWidgets.QWidget()
self.tab_7.setObjectName("tab_7")
self.horizontalLayout_20 = QtWidgets.QHBoxLayout(self.tab_7)
self.horizontalLayout_20.setObjectName("horizontalLayout_20")
self.splitterRedac = QtWidgets.QSplitter(self.tab_7)
self.verticalLayout_27.addWidget(self.splitterPlan)
self.tabMain.addTab(self.lytTabOutline, "")
self.lytTabRedac = QtWidgets.QWidget()
self.lytTabRedac.setObjectName("lytTabRedac")
self.verticalLayout_28 = QtWidgets.QVBoxLayout(self.lytTabRedac)
self.verticalLayout_28.setObjectName("verticalLayout_28")
self.splitterRedac = QtWidgets.QSplitter(self.lytTabRedac)
self.splitterRedac.setOrientation(QtCore.Qt.Horizontal)
self.splitterRedac.setObjectName("splitterRedac")
self.layoutWidget1 = QtWidgets.QWidget(self.splitterRedac)
@ -905,13 +908,13 @@ class Ui_MainWindow(object):
self.verticalLayout_15.addWidget(self.textEdit)
self.verticalLayout_21.addWidget(self.groupBox_3)
self.tabWidget_2.addTab(self.tab_18, "")
self.horizontalLayout_20.addWidget(self.splitterRedac)
self.tabMain.addTab(self.tab_7, "")
self.tab_8 = QtWidgets.QWidget()
self.tab_8.setObjectName("tab_8")
self.horizontalLayout_23 = QtWidgets.QHBoxLayout(self.tab_8)
self.horizontalLayout_23.setObjectName("horizontalLayout_23")
self.tabWidget = QtWidgets.QTabWidget(self.tab_8)
self.verticalLayout_28.addWidget(self.splitterRedac)
self.tabMain.addTab(self.lytTabRedac, "")
self.lytTabDebug = QtWidgets.QWidget()
self.lytTabDebug.setObjectName("lytTabDebug")
self.verticalLayout_29 = QtWidgets.QVBoxLayout(self.lytTabDebug)
self.verticalLayout_29.setObjectName("verticalLayout_29")
self.tabWidget = QtWidgets.QTabWidget(self.lytTabDebug)
self.tabWidget.setTabPosition(QtWidgets.QTabWidget.West)
self.tabWidget.setObjectName("tabWidget")
self.tab_9 = QtWidgets.QWidget()
@ -947,8 +950,8 @@ class Ui_MainWindow(object):
self.treeDebugOutline.setObjectName("treeDebugOutline")
self.horizontalLayout_32.addWidget(self.treeDebugOutline)
self.tabWidget.addTab(self.tab_20, "")
self.horizontalLayout_23.addWidget(self.tabWidget)
self.tabMain.addTab(self.tab_8, "")
self.verticalLayout_29.addWidget(self.tabWidget)
self.tabMain.addTab(self.lytTabDebug, "")
self.horizontalLayout_2.addWidget(self.tabMain)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
@ -958,6 +961,8 @@ class Ui_MainWindow(object):
self.menu_Fichier.setObjectName("menu_Fichier")
self.menuMode = QtWidgets.QMenu(self.menubar)
self.menuMode.setObjectName("menuMode")
self.menu_Aide = QtWidgets.QMenu(self.menubar)
self.menu_Aide.setObjectName("menu_Aide")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
@ -990,6 +995,12 @@ class Ui_MainWindow(object):
icon = QtGui.QIcon.fromTheme("document-new")
self.actionNouveau.setIcon(icon)
self.actionNouveau.setObjectName("actionNouveau")
self.actShowHelp = QtWidgets.QAction(MainWindow)
self.actShowHelp.setCheckable(True)
self.actShowHelp.setChecked(True)
icon = QtGui.QIcon.fromTheme("system-help")
self.actShowHelp.setIcon(icon)
self.actShowHelp.setObjectName("actShowHelp")
self.menu_Fichier.addAction(self.actionNouveau)
self.menu_Fichier.addAction(self.actionOuvrir)
self.menu_Fichier.addAction(self.action_R_cents)
@ -998,11 +1009,13 @@ class Ui_MainWindow(object):
self.menu_Fichier.addSeparator()
self.menu_Fichier.addAction(self.actionQuitter)
self.menuMode.addAction(self.actionSnowflakeMode)
self.menu_Aide.addAction(self.actShowHelp)
self.menubar.addAction(self.menu_Fichier.menuAction())
self.menubar.addAction(self.menuMode.menuAction())
self.menubar.addAction(self.menu_Aide.menuAction())
self.retranslateUi(MainWindow)
self.tabMain.setCurrentIndex(6)
self.tabMain.setCurrentIndex(1)
self.tabSummary.setCurrentIndex(0)
self.tabPersos.setCurrentIndex(0)
self.tabPlot.setCurrentIndex(0)
@ -1029,7 +1042,7 @@ class Ui_MainWindow(object):
self.grpAuthor.setTitle(_translate("MainWindow", "Informations sur l\'auteur"))
self.label_15.setText(_translate("MainWindow", "Nom"))
self.label_19.setText(_translate("MainWindow", "Email"))
self.tabMain.setTabText(self.tabMain.indexOf(self.tab_3), _translate("MainWindow", "Aperçu"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabOverview), _translate("MainWindow", "Aperçu"))
self.label.setText(_translate("MainWindow", "Résumé en une phrase"))
self.btnStepTwo.setText(_translate("MainWindow", "Suivant"))
self.tabSummary.setTabText(self.tabSummary.indexOf(self.tab_14), _translate("MainWindow", "Une phrase"))
@ -1045,7 +1058,7 @@ class Ui_MainWindow(object):
self.btnStepSeven.setText(_translate("MainWindow", "Suivant"))
self.label_20.setText(_translate("MainWindow", "Résumé complet"))
self.tabSummary.setTabText(self.tabSummary.indexOf(self.tabWidgetPage2), _translate("MainWindow", "4 pages"))
self.tabMain.setTabText(self.tabMain.indexOf(self.tab), _translate("MainWindow", "Résumé"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabSummary), _translate("MainWindow", "Résumé"))
self.groupBox.setTitle(_translate("MainWindow", "Noms"))
self.lineEdit_8.setPlaceholderText(_translate("MainWindow", "Filter"))
self.label_3.setText(_translate("MainWindow", "Nom"))
@ -1064,7 +1077,7 @@ class Ui_MainWindow(object):
self.lineEdit.setPlaceholderText(_translate("MainWindow", "Filter"))
self.btnStepEight.setText(_translate("MainWindow", "Suivant"))
self.tabPersos.setTabText(self.tabPersos.indexOf(self.tab_12), _translate("MainWindow", "Informations détaillées"))
self.tabMain.setTabText(self.tabMain.indexOf(self.tab_2), _translate("MainWindow", "Personnages"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabPersos), _translate("MainWindow", "Personnages"))
self.groupBox_2.setTitle(_translate("MainWindow", "Intrigues"))
__sortingEnabled = self.listWidget_3.isSortingEnabled()
self.listWidget_3.setSortingEnabled(False)
@ -1105,7 +1118,7 @@ class Ui_MainWindow(object):
self.comboBox_2.setItemText(0, _translate("MainWindow", "Un paragraphe"))
self.comboBox_2.setItemText(1, _translate("MainWindow", "Une page"))
self.comboBox_2.setItemText(2, _translate("MainWindow", "4 pages"))
self.tabMain.setTabText(self.tabMain.indexOf(self.tab_4), _translate("MainWindow", "Intrigues"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabPlot), _translate("MainWindow", "Intrigues"))
self.tabMain.setTabText(self.tabMain.indexOf(self.tab_5), _translate("MainWindow", "Contexte"))
self.treeWidget_2.headerItem().setText(0, _translate("MainWindow", "Liste de scènes"))
__sortingEnabled = self.treeWidget_2.isSortingEnabled()
@ -1120,7 +1133,7 @@ class Ui_MainWindow(object):
self.groupbox.setTitle(_translate("MainWindow", "Détails de la scène"))
self.label_9.setText(_translate("MainWindow", "POV"))
self.txtPlanSummarySentance.setPlaceholderText(_translate("MainWindow", "Résumé de la scène en une ligne"))
self.tabMain.setTabText(self.tabMain.indexOf(self.tab_6), _translate("MainWindow", "Plan"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabOutline), _translate("MainWindow", "Plan"))
self.groupBox_4.setTitle(_translate("MainWindow", "Propriétés de la scène"))
self.label_29.setText(_translate("MainWindow", "Personnage"))
self.label_30.setText(_translate("MainWindow", "Status"))
@ -1143,14 +1156,15 @@ class Ui_MainWindow(object):
item.setText(_translate("MainWindow", "La revenche du capitaine - intrigue"))
self.listWidget_5.setSortingEnabled(__sortingEnabled)
self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_18), _translate("MainWindow", "Tools"))
self.tabMain.setTabText(self.tabMain.indexOf(self.tab_7), _translate("MainWindow", "Rédaction"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabRedac), _translate("MainWindow", "Rédaction"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_9), _translate("MainWindow", "FlatData"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_10), _translate("MainWindow", "Persos"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_16), _translate("MainWindow", "Perso Infos"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_20), _translate("MainWindow", "Outline"))
self.tabMain.setTabText(self.tabMain.indexOf(self.tab_8), _translate("MainWindow", "Debug"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabDebug), _translate("MainWindow", "Debug"))
self.menu_Fichier.setTitle(_translate("MainWindow", "&Fichier"))
self.menuMode.setTitle(_translate("MainWindow", "Mo&de"))
self.menu_Aide.setTitle(_translate("MainWindow", "&Aide"))
self.actionOuvrir.setText(_translate("MainWindow", "&Ouvrir"))
self.actionOuvrir.setShortcut(_translate("MainWindow", "Ctrl+O"))
self.action_R_cents.setText(_translate("MainWindow", "&Récents"))
@ -1164,6 +1178,8 @@ class Ui_MainWindow(object):
self.actionSnowflakeMode.setText(_translate("MainWindow", "&Snowflake"))
self.actionNouveau.setText(_translate("MainWindow", "&Nouveau"))
self.actionNouveau.setShortcut(_translate("MainWindow", "Ctrl+N"))
self.actShowHelp.setText(_translate("MainWindow", "Afficher les &bulles d\'aide"))
self.actShowHelp.setShortcut(_translate("MainWindow", "Ctrl+Shift+B"))
from ui.collapsibleGroupBox import collapsibleGroupBox
from ui.sldImportance import sldImportance
from ui.collapsibleGroupBox import collapsibleGroupBox

View file

@ -18,156 +18,160 @@
<item>
<widget class="QTabWidget" name="tabMain">
<property name="currentIndex">
<number>6</number>
<number>1</number>
</property>
<property name="documentMode">
<bool>true</bool>
</property>
<widget class="QWidget" name="tab_3">
<widget class="QWidget" name="lytTabOverview">
<attribute name="title">
<string>Aperçu</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout_26">
<layout class="QVBoxLayout" name="verticalLayout_23">
<item>
<widget class="QGroupBox" name="grpBookInfos">
<property name="title">
<string>Information sur le livre</string>
</property>
<layout class="QFormLayout" name="formLayout_3">
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Titre</string>
<layout class="QHBoxLayout" name="horizontalLayout_26">
<item>
<widget class="QGroupBox" name="grpBookInfos">
<property name="title">
<string>Information sur le livre</string>
</property>
<layout class="QFormLayout" name="formLayout_3">
<property name="leftMargin">
<number>6</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="txtGeneralTitle"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Sous titre</string>
<property name="topMargin">
<number>6</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="txtGeneralSubtitle"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Série</string>
<property name="rightMargin">
<number>6</number>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="txtGeneralSerie"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Volume</string>
</property>
</widget>
</item>
<item row="3" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_25">
<item>
<widget class="QLineEdit" name="txtGeneralVolume"/>
<item row="0" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Titre</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<item row="0" column="1">
<widget class="QLineEdit" name="txtGeneralTitle"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Sous titre</string>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="txtGeneralSubtitle"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Série</string>
</property>
</spacer>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="txtGeneralSerie"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Volume</string>
</property>
</widget>
</item>
<item row="3" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_25">
<item>
<widget class="QLineEdit" name="txtGeneralVolume"/>
</item>
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>Genre</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="txtGeneralGenre"/>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_16">
<property name="text">
<string>License</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="txtGeneralLicense"/>
</item>
</layout>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>Genre</string>
</widget>
</item>
<item>
<widget class="QGroupBox" name="grpAuthor">
<property name="title">
<string>Informations sur l'auteur</string>
</property>
<layout class="QFormLayout" name="formLayout_4">
<property name="leftMargin">
<number>6</number>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="txtGeneralGenre"/>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_16">
<property name="text">
<string>License</string>
<property name="topMargin">
<number>6</number>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="txtGeneralLicense"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="grpAuthor">
<property name="title">
<string>Informations sur l'auteur</string>
</property>
<layout class="QFormLayout" name="formLayout_4">
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>Nom</string>
<property name="rightMargin">
<number>6</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="txtGeneralAuthor"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_19">
<property name="text">
<string>Email</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="txtGeneralEmail"/>
</item>
</layout>
</widget>
<item row="0" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>Nom</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="txtGeneralAuthor"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_19">
<property name="text">
<string>Email</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="txtGeneralEmail"/>
</item>
</layout>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab">
<widget class="QWidget" name="lytTabSummary">
<attribute name="title">
<string>Résumé</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<layout class="QVBoxLayout" name="verticalLayout_24">
<item>
<widget class="QTabWidget" name="tabSummary">
<property name="tabPosition">
@ -479,11 +483,11 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_2">
<widget class="QWidget" name="lytTabPersos">
<attribute name="title">
<string>Personnages</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout">
<layout class="QVBoxLayout" name="verticalLayout_25">
<item>
<widget class="QSplitter" name="splitterPersos">
<property name="orientation">
@ -820,11 +824,11 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_4">
<widget class="QWidget" name="lytTabPlot">
<attribute name="title">
<string>Intrigues</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<layout class="QVBoxLayout" name="verticalLayout_26">
<item>
<widget class="QSplitter" name="splitterPlot">
<property name="orientation">
@ -1265,11 +1269,11 @@
<string>Contexte</string>
</attribute>
</widget>
<widget class="QWidget" name="tab_6">
<widget class="QWidget" name="lytTabOutline">
<attribute name="title">
<string>Plan</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout_12">
<layout class="QVBoxLayout" name="verticalLayout_27">
<item>
<widget class="QSplitter" name="splitterPlan">
<property name="orientation">
@ -1435,11 +1439,11 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_7">
<widget class="QWidget" name="lytTabRedac">
<attribute name="title">
<string>Rédaction</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout_20">
<layout class="QVBoxLayout" name="verticalLayout_28">
<item>
<widget class="QSplitter" name="splitterRedac">
<property name="orientation">
@ -1747,11 +1751,11 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_8">
<widget class="QWidget" name="lytTabDebug">
<attribute name="title">
<string>Debug</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout_23">
<layout class="QVBoxLayout" name="verticalLayout_29">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="tabPosition">
@ -1839,8 +1843,15 @@
</property>
<addaction name="actionSnowflakeMode"/>
</widget>
<widget class="QMenu" name="menu_Aide">
<property name="title">
<string>&amp;Aide</string>
</property>
<addaction name="actShowHelp"/>
</widget>
<addaction name="menu_Fichier"/>
<addaction name="menuMode"/>
<addaction name="menu_Aide"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<action name="actionOuvrir">
@ -1932,6 +1943,25 @@
<string>Ctrl+N</string>
</property>
</action>
<action name="actShowHelp">
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="icon">
<iconset theme="system-help">
<normaloff/>
</iconset>
</property>
<property name="text">
<string>Afficher les &amp;bulles d'aide</string>
</property>
<property name="shortcut">
<string>Ctrl+Shift+B</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>