mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-06-20 03:40:17 +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)
|
||||
|
||||
# Persos
|
||||
self.mdlPersos = QStandardItemModel(0, 10)
|
||||
self.mdlPersos = QStandardItemModel(0, 0)
|
||||
self.mdlPersosProxy = persosProxyModel() # None
|
||||
#self.mdlPersoProxyFilter = QSortFilterProxyModel()
|
||||
if self.mdlPersosProxy:
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
#--!-- coding: utf8 --!--
|
||||
|
||||
|
||||
|
||||
|
||||
from qt import *
|
||||
from enums import *
|
||||
from functions import *
|
||||
|
@ -46,7 +43,7 @@ class cmbOutlinePersoChoser(QComboBox):
|
|||
if not 2-imp == importance: continue
|
||||
|
||||
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)
|
||||
except:
|
||||
pass
|
||||
|
|
|
@ -94,7 +94,17 @@ class outlinePersoDelegate(QStyledItemDelegate):
|
|||
self.mdlPersos = mdlPersos
|
||||
|
||||
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:
|
||||
s.setWidth(200)
|
||||
elif s.width() < 100:
|
||||
|
@ -134,7 +144,7 @@ class outlinePersoDelegate(QStyledItemDelegate):
|
|||
if not 2-imp == importance: continue
|
||||
|
||||
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)
|
||||
except:
|
||||
pass
|
||||
|
@ -146,16 +156,26 @@ class outlinePersoDelegate(QStyledItemDelegate):
|
|||
val = editor.currentData()
|
||||
model.setData(index, val)
|
||||
|
||||
def displayText(self, value, locale):
|
||||
for i in range(self.mdlPersos.rowCount()):
|
||||
if self.mdlPersos.item(i, Perso.ID.value).text() == value:
|
||||
return self.mdlPersos.item(i, Perso.name.value).text()
|
||||
return ""
|
||||
#def displayText(self, value, locale):
|
||||
#for i in range(self.mdlPersos.rowCount()):
|
||||
#if self.mdlPersos.item(i, Perso.ID.value).text() == value:
|
||||
#return self.mdlPersos.item(i, Perso.name.value).text()
|
||||
#return ""
|
||||
|
||||
def paint(self, painter, option, index):
|
||||
#option.rect.setWidth(option.rect.width() - 18)
|
||||
QStyledItemDelegate.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)
|
||||
##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]:
|
||||
opt = QStyleOptionComboBox()
|
||||
|
|
Loading…
Reference in a new issue