mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-05-17 19:32:30 +12:00
Changes to avoid segault on exit
This commit is contained in:
parent
c477639ccf
commit
1be5165291
|
@ -33,13 +33,18 @@ def run():
|
|||
style = settings.value("applicationStyle")
|
||||
app.setStyle(style)
|
||||
|
||||
launch()
|
||||
|
||||
def launch():
|
||||
from mainWindow import MainWindow
|
||||
|
||||
main = MainWindow()
|
||||
main.show()
|
||||
|
||||
app.exec_()
|
||||
app.deleteLater()
|
||||
qApp.exec_()
|
||||
qApp.deleteLater()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
run()
|
|
@ -180,23 +180,30 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||
self.btnRmSubPlot.clicked.connect(self.mdlPlots.removeSubPlot)
|
||||
self.btnRmPlotPerso.clicked.connect(self.mdlPlots.removePlotPerso)
|
||||
|
||||
self.mprPlots = QDataWidgetMapper()
|
||||
self.mprPlots.setModel(self.mdlPlots)
|
||||
mapping = [
|
||||
#(self.txtPlotName, Plot.name.value),
|
||||
#self.mprPlots = QDataWidgetMapper()
|
||||
#self.mprPlots.setModel(self.mdlPlots)
|
||||
#mapping = [
|
||||
##(self.txtPlotName, Plot.name.value),
|
||||
#(self.txtPlotDescription, Plot.description.value),
|
||||
#(self.txtPlotResult, Plot.result.value),
|
||||
#]
|
||||
#for w, i in mapping:
|
||||
#self.mprPlots.addMapping(w, i)
|
||||
#self.mprPlots.addMapping(self.sldPlotImportance, Plot.importance.value, "importance")
|
||||
#self.sldPlotImportance.importanceChanged.connect(self.mprPlots.submit)
|
||||
#self.tabMain.currentChanged.connect(self.mprPlots.submit)
|
||||
#self.mprPlots.setCurrentIndex(0)
|
||||
#self.lstPlots.selectionModel().currentChanged.connect(self.mprPlots.setCurrentModelIndex)
|
||||
|
||||
for w, c in [
|
||||
(self.txtPlotName, Plot.name.value),
|
||||
(self.txtPlotDescription, Plot.description.value),
|
||||
(self.txtPlotResult, Plot.result.value),
|
||||
]
|
||||
for w, i in mapping:
|
||||
self.mprPlots.addMapping(w, i)
|
||||
self.mprPlots.addMapping(self.sldPlotImportance, Plot.importance.value, "importance")
|
||||
self.sldPlotImportance.importanceChanged.connect(self.mprPlots.submit)
|
||||
self.tabMain.currentChanged.connect(self.mprPlots.submit)
|
||||
self.mprPlots.setCurrentIndex(0)
|
||||
self.lstPlots.selectionModel().currentChanged.connect(self.mprPlots.setCurrentModelIndex)
|
||||
|
||||
self.txtPlotName.setModel(self.mprPlots)
|
||||
self.lstPlots.selectionModel().currentChanged.connect(self.txtPlotName.setCurrentModelIndex)
|
||||
(self.sldPlotImportance, Plot.importance.value),
|
||||
]:
|
||||
w.setModel(self.mdlPlots)
|
||||
w.setColumn(c)
|
||||
self.lstPlots.selectionModel().currentChanged.connect(w.setCurrentModelIndex)
|
||||
|
||||
self.tabPlot.setEnabled(False)
|
||||
self.lstPlots.selectionModel().currentChanged.connect(lambda: self.tabPlot.setEnabled(self.lstPlots.selectionModel().currentIndex().isValid()))
|
||||
|
|
|
@ -535,7 +535,7 @@ class Ui_MainWindow(object):
|
|||
self.label_25 = QtWidgets.QLabel(self.infos_2)
|
||||
self.label_25.setObjectName("label_25")
|
||||
self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_25)
|
||||
self.txtPlotName = QtWidgets.QLineEdit(self.infos_2)
|
||||
self.txtPlotName = lineEditView(self.infos_2)
|
||||
self.txtPlotName.setObjectName("txtPlotName")
|
||||
self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.txtPlotName)
|
||||
self.label_31 = QtWidgets.QLabel(self.infos_2)
|
||||
|
@ -547,15 +547,9 @@ class Ui_MainWindow(object):
|
|||
self.label_27 = QtWidgets.QLabel(self.infos_2)
|
||||
self.label_27.setObjectName("label_27")
|
||||
self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_27)
|
||||
self.txtPlotDescription = QtWidgets.QPlainTextEdit(self.infos_2)
|
||||
self.txtPlotDescription.setObjectName("txtPlotDescription")
|
||||
self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.txtPlotDescription)
|
||||
self.label_28 = QtWidgets.QLabel(self.infos_2)
|
||||
self.label_28.setObjectName("label_28")
|
||||
self.formLayout_2.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.label_28)
|
||||
self.txtPlotResult = QtWidgets.QPlainTextEdit(self.infos_2)
|
||||
self.txtPlotResult.setObjectName("txtPlotResult")
|
||||
self.formLayout_2.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.txtPlotResult)
|
||||
self.verticalLayout_12 = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout_12.setObjectName("verticalLayout_12")
|
||||
self.lstPlotPerso = QtWidgets.QListView(self.infos_2)
|
||||
|
@ -594,6 +588,12 @@ class Ui_MainWindow(object):
|
|||
self.sldPlotImportance.setSizePolicy(sizePolicy)
|
||||
self.sldPlotImportance.setObjectName("sldPlotImportance")
|
||||
self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.sldPlotImportance)
|
||||
self.txtPlotDescription = textEditView(self.infos_2)
|
||||
self.txtPlotDescription.setObjectName("txtPlotDescription")
|
||||
self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.txtPlotDescription)
|
||||
self.txtPlotResult = textEditView(self.infos_2)
|
||||
self.txtPlotResult.setObjectName("txtPlotResult")
|
||||
self.formLayout_2.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.txtPlotResult)
|
||||
self.tabPlot.addTab(self.infos_2, "")
|
||||
self.tab_15 = QtWidgets.QWidget()
|
||||
self.tab_15.setObjectName("tab_15")
|
||||
|
@ -1117,10 +1117,10 @@ class Ui_MainWindow(object):
|
|||
self.menubar.addAction(self.menuHelp.menuAction())
|
||||
|
||||
self.retranslateUi(MainWindow)
|
||||
self.tabMain.setCurrentIndex(1)
|
||||
self.tabMain.setCurrentIndex(3)
|
||||
self.tabSummary.setCurrentIndex(0)
|
||||
self.tabPersos.setCurrentIndex(0)
|
||||
self.tabPlot.setCurrentIndex(1)
|
||||
self.tabPlot.setCurrentIndex(0)
|
||||
self.comboBox_2.setCurrentIndex(0)
|
||||
self.stkPlotSummary.setCurrentIndex(0)
|
||||
self.tabRedacInfos.setCurrentIndex(0)
|
||||
|
@ -1272,11 +1272,11 @@ class Ui_MainWindow(object):
|
|||
self.actSettings.setText(_translate("MainWindow", "Settings"))
|
||||
self.actSettings.setShortcut(_translate("MainWindow", "F8"))
|
||||
|
||||
from ui.views.treeView import treeView
|
||||
from ui.editors.editorWidget import editorWidget
|
||||
from ui.views.lineEditView import lineEditView
|
||||
from ui.views.basicItemView import basicItemView
|
||||
from ui.views.metadataView import metadataView
|
||||
from ui.views.textEditView import textEditView
|
||||
from ui.views.outlineView import outlineView
|
||||
from ui.views.treeView import treeView
|
||||
from ui.views.textEditView import textEditView
|
||||
from ui.views.lineEditView import lineEditView
|
||||
from ui.sldImportance import sldImportance
|
||||
from ui.views.metadataView import metadataView
|
||||
from ui.views.basicItemView import basicItemView
|
||||
|
|
|
@ -1047,9 +1047,6 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QPlainTextEdit" name="txtPlotDescription"/>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_28">
|
||||
<property name="text">
|
||||
|
@ -1057,9 +1054,6 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QPlainTextEdit" name="txtPlotResult"/>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_12">
|
||||
<item>
|
||||
|
@ -1131,6 +1125,12 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="textEditView" name="txtPlotDescription"/>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="textEditView" name="txtPlotResult"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_15">
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
#!/usr/bin/env python
|
||||
#--!-- coding: utf8 --!--
|
||||
|
||||
|
||||
|
||||
|
||||
from qt import *
|
||||
|
||||
from functions import *
|
||||
from ui.sldImportance_ui import *
|
||||
|
||||
class sldImportance(QWidget, Ui_sldImportance):
|
||||
|
@ -15,6 +12,9 @@ class sldImportance(QWidget, Ui_sldImportance):
|
|||
def __init__(self, parent=None):
|
||||
QWidget.__init__(self)
|
||||
self.setupUi(self)
|
||||
self._column = 0
|
||||
self._updating = False
|
||||
self._index = None
|
||||
|
||||
self.lastValue = -1
|
||||
self.sld.valueChanged.connect(self.changed)
|
||||
|
@ -33,6 +33,12 @@ class sldImportance(QWidget, Ui_sldImportance):
|
|||
|
||||
self.importanceChanged.emit(str(v))
|
||||
|
||||
if self._index and not self._updating:
|
||||
if str(v) != self._model.data(self._index):
|
||||
self._updating = True
|
||||
self._model.setData(self._index, str(v))
|
||||
self._updating = False
|
||||
|
||||
def setValue(self, v):
|
||||
if v != self.lastValue:
|
||||
self.sld.setValue(int(v) if v else 0)
|
||||
|
@ -41,5 +47,40 @@ class sldImportance(QWidget, Ui_sldImportance):
|
|||
|
||||
def setProperty():
|
||||
pass
|
||||
|
||||
# MODEL / VIEW
|
||||
|
||||
def setColumn(self, column):
|
||||
self._column = column
|
||||
|
||||
def setModel(self, model):
|
||||
self._model = model
|
||||
self._model.dataChanged.connect(self.update)
|
||||
|
||||
def update(self, topLeft, bottomRight):
|
||||
|
||||
if self._updating:
|
||||
return
|
||||
|
||||
if self._index:
|
||||
if topLeft.row() <= self._index.row() <= bottomRight.row():
|
||||
self.updateValue()
|
||||
|
||||
def setCurrentModelIndex(self, index):
|
||||
if index.isValid():
|
||||
if index.column() != self._column:
|
||||
index = index.sibling(index.row(), self._column)
|
||||
self._index = index
|
||||
|
||||
self.updateValue()
|
||||
|
||||
def updateValue(self):
|
||||
if self._index:
|
||||
val = toInt(self._model.data(self._index))
|
||||
if self.sld.value() != val:
|
||||
self._updating = True
|
||||
self.setValue(val)
|
||||
self._updating = False
|
||||
|
||||
|
||||
importance = pyqtProperty(str, fget=getImportance, fset=setValue, notify=importanceChanged)
|
Loading…
Reference in a new issue