mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-06-30 04:00:52 +12:00
Show perso color in comboboxes
This commit is contained in:
parent
0493860c59
commit
28f6acb30b
|
@ -95,7 +95,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||||
self.mprInfos.setCurrentIndex(0)
|
self.mprInfos.setCurrentIndex(0)
|
||||||
|
|
||||||
# Persos
|
# Persos
|
||||||
self.mdlPersos = QStandardItemModel(0, 10)
|
self.mdlPersos = QStandardItemModel(0, 0)
|
||||||
self.mdlPersosProxy = persosProxyModel() # None
|
self.mdlPersosProxy = persosProxyModel() # None
|
||||||
#self.mdlPersoProxyFilter = QSortFilterProxyModel()
|
#self.mdlPersoProxyFilter = QSortFilterProxyModel()
|
||||||
if self.mdlPersosProxy:
|
if self.mdlPersosProxy:
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#--!-- coding: utf8 --!--
|
#--!-- coding: utf8 --!--
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
from qt import *
|
from qt import *
|
||||||
from enums import *
|
from enums import *
|
||||||
from functions import *
|
from functions import *
|
||||||
|
@ -46,7 +43,7 @@ class cmbOutlinePersoChoser(QComboBox):
|
||||||
if not 2-imp == importance: continue
|
if not 2-imp == importance: continue
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.addItem(self.mdlPersos.item(i, Perso.name.value).text(), self.mdlPersos.item(i, Perso.ID.value).text())
|
self.addItem(self.mdlPersos.item(i, Perso.name.value).icon(), self.mdlPersos.item(i, Perso.name.value).text(), self.mdlPersos.item(i, Perso.ID.value).text())
|
||||||
self.setItemData(i+1, self.mdlPersos.item(i, Perso.name.value).text(), Qt.ToolTipRole)
|
self.setItemData(i+1, self.mdlPersos.item(i, Perso.name.value).text(), Qt.ToolTipRole)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -94,7 +94,17 @@ class outlinePersoDelegate(QStyledItemDelegate):
|
||||||
self.mdlPersos = mdlPersos
|
self.mdlPersos = mdlPersos
|
||||||
|
|
||||||
def sizeHint(self, option, index):
|
def sizeHint(self, option, index):
|
||||||
s = QStyledItemDelegate.sizeHint(self, option, index)
|
#s = QStyledItemDelegate.sizeHint(self, option, index)
|
||||||
|
|
||||||
|
item = QModelIndex()
|
||||||
|
for i in range(self.mdlPersos.rowCount()):
|
||||||
|
if self.mdlPersos.item(i, Perso.ID.value).text() == index.data(Perso.name.value):
|
||||||
|
item = self.mdlPersos.index(i, Perso.name.value)
|
||||||
|
|
||||||
|
opt = QStyleOptionViewItem(option)
|
||||||
|
self.initStyleOption(opt, item)
|
||||||
|
s = QStyledItemDelegate.sizeHint(self, opt, item)
|
||||||
|
|
||||||
if s.width() > 200:
|
if s.width() > 200:
|
||||||
s.setWidth(200)
|
s.setWidth(200)
|
||||||
elif s.width() < 100:
|
elif s.width() < 100:
|
||||||
|
@ -134,7 +144,7 @@ class outlinePersoDelegate(QStyledItemDelegate):
|
||||||
if not 2-imp == importance: continue
|
if not 2-imp == importance: continue
|
||||||
|
|
||||||
try:
|
try:
|
||||||
editor.addItem(self.mdlPersos.item(i, Perso.name.value).text(), self.mdlPersos.item(i, Perso.ID.value).text())
|
editor.addItem(self.mdlPersos.item(i, Perso.name.value).icon(), self.mdlPersos.item(i, Perso.name.value).text(), self.mdlPersos.item(i, Perso.ID.value).text())
|
||||||
editor.setItemData(i+1, self.mdlPersos.item(i, Perso.name.value).text(), Qt.ToolTipRole)
|
editor.setItemData(i+1, self.mdlPersos.item(i, Perso.name.value).text(), Qt.ToolTipRole)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
@ -146,16 +156,26 @@ class outlinePersoDelegate(QStyledItemDelegate):
|
||||||
val = editor.currentData()
|
val = editor.currentData()
|
||||||
model.setData(index, val)
|
model.setData(index, val)
|
||||||
|
|
||||||
def displayText(self, value, locale):
|
#def displayText(self, value, locale):
|
||||||
for i in range(self.mdlPersos.rowCount()):
|
#for i in range(self.mdlPersos.rowCount()):
|
||||||
if self.mdlPersos.item(i, Perso.ID.value).text() == value:
|
#if self.mdlPersos.item(i, Perso.ID.value).text() == value:
|
||||||
return self.mdlPersos.item(i, Perso.name.value).text()
|
#return self.mdlPersos.item(i, Perso.name.value).text()
|
||||||
return ""
|
#return ""
|
||||||
|
|
||||||
def paint(self, painter, option, index):
|
def paint(self, painter, option, index):
|
||||||
#option.rect.setWidth(option.rect.width() - 18)
|
##option.rect.setWidth(option.rect.width() - 18)
|
||||||
QStyledItemDelegate.paint(self, painter, option, index)
|
#QStyledItemDelegate.paint(self, painter, option, index)
|
||||||
#option.rect.setWidth(option.rect.width() + 18)
|
##option.rect.setWidth(option.rect.width() + 18)
|
||||||
|
|
||||||
|
item = QModelIndex()
|
||||||
|
for i in range(self.mdlPersos.rowCount()):
|
||||||
|
if self.mdlPersos.item(i, Perso.ID.value).text() == index.data(Perso.name.value):
|
||||||
|
item = self.mdlPersos.index(i, Perso.name.value)
|
||||||
|
|
||||||
|
opt = QStyleOptionViewItem(option)
|
||||||
|
self.initStyleOption(opt, item)
|
||||||
|
|
||||||
|
qApp.style().drawControl(QStyle.CE_ItemViewItem, opt, painter)
|
||||||
|
|
||||||
if index.isValid() and index.internalPointer().data(Outline.POV.value) not in ["", None]:
|
if index.isValid() and index.internalPointer().data(Outline.POV.value) not in ["", None]:
|
||||||
opt = QStyleOptionComboBox()
|
opt = QStyleOptionComboBox()
|
||||||
|
|
Loading…
Reference in a new issue