manuskript/manuskript/ui/views/basicItemView.py

67 lines
2.2 KiB
Python
Raw Normal View History

2015-06-15 22:18:42 +12:00
#!/usr/bin/env python
2016-02-07 00:34:22 +13:00
# --!-- coding: utf8 --!--
2016-04-12 01:14:24 +12:00
from PyQt5.QtWidgets import QWidget, QAbstractItemView
2016-02-07 00:34:22 +13:00
from manuskript.enums import Outline
from manuskript.ui.views.basicItemView_ui import Ui_basicItemView
2015-06-15 22:18:42 +12:00
class basicItemView(QWidget, Ui_basicItemView):
def __init__(self, parent=None):
QWidget.__init__(self)
self.setupUi(self)
self.txtSummarySentence.setColumn(Outline.summarySentence.value)
2015-06-15 22:18:42 +12:00
self.txtSummaryFull.setColumn(Outline.summaryFull.value)
2015-06-21 20:45:27 +12:00
self.txtGoal.setColumn(Outline.setGoal.value)
2016-02-07 00:34:22 +13:00
def setModels(self, mdlOutline, mdlCharacter, mdlLabels, mdlStatus):
self.cmbPOV.setModels(mdlCharacter, mdlOutline)
self.txtSummarySentence.setModel(mdlOutline)
2015-06-15 22:18:42 +12:00
self.txtSummaryFull.setModel(mdlOutline)
self.txtGoal.setModel(mdlOutline)
2016-02-07 00:34:22 +13:00
2015-06-15 22:18:42 +12:00
def getIndexes(self, sourceView):
2016-02-07 00:34:22 +13:00
"""Returns a list of indexes from list of QItemSelectionRange"""
2015-06-15 22:18:42 +12:00
indexes = []
2016-02-07 00:34:22 +13:00
2016-04-12 01:14:24 +12:00
for i in sourceView.selection().indexes():
2016-02-07 00:34:22 +13:00
if i.column() != 0:
2015-06-15 22:18:42 +12:00
continue
2016-02-07 00:34:22 +13:00
2015-06-15 22:18:42 +12:00
if i not in indexes:
indexes.append(i)
2016-02-07 00:34:22 +13:00
2015-06-15 22:18:42 +12:00
return indexes
2016-02-07 00:34:22 +13:00
2016-04-12 01:14:24 +12:00
def selectionChanged(self):
if isinstance(self.sender(), QAbstractItemView):
selectionModel = self.sender().selectionModel()
else:
selectionModel = self.sender()
2016-02-07 00:34:22 +13:00
2016-04-12 01:14:24 +12:00
indexes = self.getIndexes(selectionModel)
2016-02-07 00:34:22 +13:00
2015-06-15 22:18:42 +12:00
if len(indexes) == 0:
self.setEnabled(False)
2016-02-07 00:34:22 +13:00
2015-06-15 22:18:42 +12:00
elif len(indexes) == 1:
self.setEnabled(True)
idx = indexes[0]
2016-03-02 12:36:51 +13:00
self.txtSummarySentence.setCurrentModelIndex(idx)
2015-06-15 22:18:42 +12:00
self.txtSummaryFull.setCurrentModelIndex(idx)
self.cmbPOV.setCurrentModelIndex(idx)
self.txtGoal.setCurrentModelIndex(idx)
2016-02-07 00:34:22 +13:00
2015-06-15 22:18:42 +12:00
else:
self.setEnabled(True)
2016-03-02 12:36:51 +13:00
self.txtSummarySentence.setCurrentModelIndexes(indexes)
2015-06-15 22:18:42 +12:00
self.txtSummaryFull.setCurrentModelIndexes(indexes)
self.cmbPOV.setCurrentModelIndexes(indexes)
self.txtGoal.setCurrentModelIndexes(indexes)
2016-02-07 00:34:22 +13:00
def setDict(self, d):
self.txtSummaryFull.setDict(d)
2016-02-07 00:34:22 +13:00
2015-06-15 22:18:42 +12:00
def toggleSpellcheck(self, v):
self.txtSummaryFull.toggleSpellcheck(v)