Saving tool bar state

This commit is contained in:
Olivier Keshavjee 2015-07-04 09:59:35 +02:00
parent f17be2ba5d
commit 8a65b80bbd
7 changed files with 120 additions and 83 deletions

View file

@ -446,13 +446,30 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.restoreGeometry(sttgns.value("geometry"))
if sttgns.contains("windowState"):
self.restoreState(sttgns.value("windowState"))
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)
def closeEvent(self, event):
# Save State and geometry
# Save State and geometry and other things
sttgns = QSettings(qApp.organizationName(), qApp.applicationName())
sttgns.setValue("geometry", self.saveGeometry())
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())
# Specific settings to save before quitting
settings.lastTab = self.tabMain.currentIndex()
@ -873,7 +890,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.splitterRedac.setStretchFactor(0, 30)
self.splitterRedac.setStretchFactor(1, 40)
self.splitterRedac.setStretchFactor(2, 30)
self.tabRedacInfos.setCurrentIndex(0)
# Help box
references = [

View file

@ -32,6 +32,8 @@ class collapsibleGroupBox2(QWidget):
self.vPolicy = self.sizePolicy().verticalPolicy()
self.parent().layout().setAlignment(Qt.AlignTop)
self.setExpanded(self.button.isChecked())
def setFlat(self, val):
if val:
@ -48,4 +50,10 @@ class collapsibleGroupBox2(QWidget):
if val:
self.setSizePolicy(QSizePolicy.Preferred, self.vPolicy)
else:
self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
def saveState(self):
return self.button.isChecked()
def restoreState(self, val):
self.button.setChecked(val)

View file

@ -836,40 +836,40 @@ class Ui_MainWindow(object):
self.verticalLayout_21 = QtWidgets.QVBoxLayout(self.tab_18)
self.verticalLayout_21.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_21.setObjectName("verticalLayout_21")
self.groupBox_3 = collapsibleGroupBox2(self.tab_18)
self.grpCheatSheet = collapsibleGroupBox2(self.tab_18)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.groupBox_3.setFont(font)
self.groupBox_3.setFlat(True)
self.groupBox_3.setObjectName("groupBox_3")
self.verticalLayout_15 = QtWidgets.QVBoxLayout(self.groupBox_3)
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.groupBox_3)
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.groupBox_3)
self.groupBox_4 = collapsibleGroupBox2(self.tab_18)
self.verticalLayout_21.addWidget(self.grpCheatSheet)
self.grpSearch = collapsibleGroupBox2(self.tab_18)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.groupBox_4.setFont(font)
self.groupBox_4.setFlat(True)
self.groupBox_4.setObjectName("groupBox_4")
self.verticalLayout_31 = QtWidgets.QVBoxLayout(self.groupBox_4)
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.groupBox_4)
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.groupBox_4)
self.verticalLayout_21.addWidget(self.grpSearch)
self.tabRedacInfos.addTab(self.tab_18, "")
self.verticalLayout_16.addWidget(self.splitterRedac)
self.tabMain.addTab(self.lytTabRedac, "")
@ -1132,8 +1132,8 @@ class Ui_MainWindow(object):
self.tabMain.setTabText(self.tabMain.indexOf(self.tab_5), _translate("MainWindow", "Context"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabOutline), _translate("MainWindow", "Outline"))
self.tabRedacInfos.setTabText(self.tabRedacInfos.indexOf(self.tab_17), _translate("MainWindow", "Metadata"))
self.groupBox_3.setTitle(_translate("MainWindow", "Cheat sheet"))
self.groupBox_4.setTitle(_translate("MainWindow", "Search"))
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"))
@ -1175,17 +1175,17 @@ class Ui_MainWindow(object):
self.actCompile.setText(_translate("MainWindow", "Compile"))
self.actCompile.setShortcut(_translate("MainWindow", "F6"))
from ui.views.outlineView import outlineView
from ui.views.basicItemView import basicItemView
from ui.views.metadataView import metadataView
from ui.views.textEditView import textEditView
from ui.editors.mainEditor import mainEditor
from ui.welcome import welcome
from ui.views.lineEditView import lineEditView
from ui.search import search
from ui.collapsibleGroupBox2 import collapsibleGroupBox2
from ui.cheatSheet import cheatSheet
from ui.views.persoTreeView import persoTreeView
from ui.views.outlineView import outlineView
from ui.views.treeView import treeView
from ui.views.plotTreeView import plotTreeView
from ui.collapsibleGroupBox2 import collapsibleGroupBox2
from ui.views.metadataView import metadataView
from ui.sldImportance import sldImportance
from ui.views.plotTreeView import plotTreeView
from ui.views.basicItemView import basicItemView
from ui.views.textEditView import textEditView
from ui.views.persoTreeView import persoTreeView
from ui.search import search
from ui.views.lineEditView import lineEditView
from ui.welcome import welcome

View file

@ -1614,7 +1614,7 @@
<number>0</number>
</property>
<item>
<widget class="collapsibleGroupBox2" name="groupBox_3">
<widget class="collapsibleGroupBox2" name="grpCheatSheet">
<property name="font">
<font>
<weight>75</weight>
@ -1642,7 +1642,7 @@
</widget>
</item>
<item>
<widget class="collapsibleGroupBox2" name="groupBox_4">
<widget class="collapsibleGroupBox2" name="grpSearch">
<property name="font">
<font>
<weight>75</weight>
@ -2018,6 +2018,12 @@
<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>
@ -2074,12 +2080,6 @@
<header>ui.cheatSheet.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>collapsibleGroupBox2</class>
<extends>QGroupBox</extends>
<header>ui.collapsibleGroupBox2.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>search</class>
<extends>QWidget</extends>

View file

@ -73,4 +73,17 @@ class metadataView(QWidget, Ui_metadataView):
self.txtNotes.toggleSpellcheck(v)
self.txtSummaryFull.toggleSpellcheck(v)
def saveState(self):
return [
self.grpProperties.saveState(),
self.grpSummary.saveState(),
self.grpNotes.saveState(),
self.grpRevisions.saveState(),
]
def restoreState(self, state):
self.grpProperties.restoreState(state[0]),
self.grpSummary.restoreState(state[1]),
self.grpNotes.restoreState(state[2]),
self.grpRevisions.restoreState(state[3]),

View file

@ -15,61 +15,61 @@ class Ui_metadataView(object):
self.verticalLayout = QtWidgets.QVBoxLayout(metadataView)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.groupBox_4 = collapsibleGroupBox2(metadataView)
self.grpProperties = collapsibleGroupBox2(metadataView)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.groupBox_4.sizePolicy().hasHeightForWidth())
self.groupBox_4.setSizePolicy(sizePolicy)
self.groupBox_4.setFlat(True)
self.groupBox_4.setCheckable(True)
self.groupBox_4.setObjectName("groupBox_4")
self.verticalLayout_28 = QtWidgets.QVBoxLayout(self.groupBox_4)
sizePolicy.setHeightForWidth(self.grpProperties.sizePolicy().hasHeightForWidth())
self.grpProperties.setSizePolicy(sizePolicy)
self.grpProperties.setFlat(True)
self.grpProperties.setCheckable(True)
self.grpProperties.setObjectName("grpProperties")
self.verticalLayout_28 = QtWidgets.QVBoxLayout(self.grpProperties)
self.verticalLayout_28.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_28.setObjectName("verticalLayout_28")
self.properties = propertiesView(self.groupBox_4)
self.properties = propertiesView(self.grpProperties)
self.properties.setMinimumSize(QtCore.QSize(0, 50))
self.properties.setObjectName("properties")
self.verticalLayout_28.addWidget(self.properties)
self.verticalLayout.addWidget(self.groupBox_4)
self.groupBox_5 = collapsibleGroupBox2(metadataView)
self.groupBox_5.setFlat(True)
self.groupBox_5.setCheckable(True)
self.groupBox_5.setObjectName("groupBox_5")
self.verticalLayout_22 = QtWidgets.QVBoxLayout(self.groupBox_5)
self.verticalLayout.addWidget(self.grpProperties)
self.grpSummary = collapsibleGroupBox2(metadataView)
self.grpSummary.setFlat(True)
self.grpSummary.setCheckable(True)
self.grpSummary.setObjectName("grpSummary")
self.verticalLayout_22 = QtWidgets.QVBoxLayout(self.grpSummary)
self.verticalLayout_22.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_22.setObjectName("verticalLayout_22")
self.txtSummarySentance = lineEditView(self.groupBox_5)
self.txtSummarySentance = lineEditView(self.grpSummary)
self.txtSummarySentance.setInputMask("")
self.txtSummarySentance.setObjectName("txtSummarySentance")
self.verticalLayout_22.addWidget(self.txtSummarySentance)
self.txtSummaryFull = textEditView(self.groupBox_5)
self.txtSummaryFull = textEditView(self.grpSummary)
self.txtSummaryFull.setObjectName("txtSummaryFull")
self.verticalLayout_22.addWidget(self.txtSummaryFull)
self.verticalLayout.addWidget(self.groupBox_5)
self.groupBox_6 = collapsibleGroupBox2(metadataView)
self.groupBox_6.setFlat(True)
self.groupBox_6.setCheckable(True)
self.groupBox_6.setObjectName("groupBox_6")
self.horizontalLayout_29 = QtWidgets.QHBoxLayout(self.groupBox_6)
self.verticalLayout.addWidget(self.grpSummary)
self.grpNotes = collapsibleGroupBox2(metadataView)
self.grpNotes.setFlat(True)
self.grpNotes.setCheckable(True)
self.grpNotes.setObjectName("grpNotes")
self.horizontalLayout_29 = QtWidgets.QHBoxLayout(self.grpNotes)
self.horizontalLayout_29.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_29.setObjectName("horizontalLayout_29")
self.txtNotes = textEditCompleter(self.groupBox_6)
self.txtNotes = textEditCompleter(self.grpNotes)
self.txtNotes.setObjectName("txtNotes")
self.horizontalLayout_29.addWidget(self.txtNotes)
self.verticalLayout.addWidget(self.groupBox_6)
self.groupBox_7 = collapsibleGroupBox2(metadataView)
self.groupBox_7.setFlat(True)
self.groupBox_7.setCheckable(True)
self.groupBox_7.setObjectName("groupBox_7")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_7)
self.verticalLayout.addWidget(self.grpNotes)
self.grpRevisions = collapsibleGroupBox2(metadataView)
self.grpRevisions.setFlat(True)
self.grpRevisions.setCheckable(True)
self.grpRevisions.setObjectName("grpRevisions")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.grpRevisions)
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.revisions = revisions(self.groupBox_7)
self.revisions = revisions(self.grpRevisions)
self.revisions.setMinimumSize(QtCore.QSize(0, 50))
self.revisions.setObjectName("revisions")
self.verticalLayout_2.addWidget(self.revisions)
self.verticalLayout.addWidget(self.groupBox_7)
self.verticalLayout.addWidget(self.grpRevisions)
self.retranslateUi(metadataView)
QtCore.QMetaObject.connectSlotsByName(metadataView)
@ -77,15 +77,15 @@ class Ui_metadataView(object):
def retranslateUi(self, metadataView):
_translate = QtCore.QCoreApplication.translate
metadataView.setWindowTitle(_translate("metadataView", "Form"))
self.groupBox_4.setTitle(_translate("metadataView", "Properties"))
self.groupBox_5.setTitle(_translate("metadataView", "Summary"))
self.grpProperties.setTitle(_translate("metadataView", "Properties"))
self.grpSummary.setTitle(_translate("metadataView", "Summary"))
self.txtSummarySentance.setPlaceholderText(_translate("metadataView", "One line summary"))
self.groupBox_6.setTitle(_translate("metadataView", "Notes / References"))
self.groupBox_7.setTitle(_translate("metadataView", "Revisions"))
self.grpNotes.setTitle(_translate("metadataView", "Notes / References"))
self.grpRevisions.setTitle(_translate("metadataView", "Revisions"))
from ui.views.textEditCompleter import textEditCompleter
from ui.views.textEditView import textEditView
from ui.views.propertiesView import propertiesView
from ui.views.lineEditView import lineEditView
from ui.revisions import revisions
from ui.collapsibleGroupBox2 import collapsibleGroupBox2
from ui.views.propertiesView import propertiesView
from ui.views.textEditView import textEditView
from ui.revisions import revisions
from ui.views.textEditCompleter import textEditCompleter
from ui.views.lineEditView import lineEditView

View file

@ -18,7 +18,7 @@
<number>0</number>
</property>
<item>
<widget class="collapsibleGroupBox2" name="groupBox_4">
<widget class="collapsibleGroupBox2" name="grpProperties">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
@ -52,7 +52,7 @@
</widget>
</item>
<item>
<widget class="collapsibleGroupBox2" name="groupBox_5">
<widget class="collapsibleGroupBox2" name="grpSummary">
<property name="title">
<string>Summary</string>
</property>
@ -83,7 +83,7 @@
</widget>
</item>
<item>
<widget class="collapsibleGroupBox2" name="groupBox_6">
<widget class="collapsibleGroupBox2" name="grpNotes">
<property name="title">
<string>Notes / References</string>
</property>
@ -104,7 +104,7 @@
</widget>
</item>
<item>
<widget class="collapsibleGroupBox2" name="groupBox_7">
<widget class="collapsibleGroupBox2" name="grpRevisions">
<property name="title">
<string>Revisions</string>
</property>