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)
|
2016-03-02 11:32:07 +13:00
|
|
|
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
|
|
|
|
2016-03-04 04:38:38 +13:00
|
|
|
def setModels(self, mdlOutline, mdlCharacter, mdlLabels, mdlStatus):
|
|
|
|
self.cmbPOV.setModels(mdlCharacter, mdlOutline)
|
2016-03-02 11:32:07 +13:00
|
|
|
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
|
|
|
|
2015-06-16 06:09:16 +12: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)
|