self._itemStore.setHorizontalHeaderLabels(["Messages"])
self._categoryManager = TimeCategories(self._itemStore)
- self._htmlDelegate = qui_utils.QHtmlDelegate()
+ #self._htmlDelegate = qui_utils.QHtmlDelegate()
self._itemView = QtGui.QTreeView()
self._itemView.setModel(self._itemStore)
self._itemView.setUniformRowHeights(False)
self._itemView.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
self._itemView.setHeaderHidden(True)
self._itemView.setItemsExpandable(False)
- self._itemView.setItemDelegate(self._htmlDelegate)
+ #self._itemView.setItemDelegate(self._htmlDelegate)
self._itemView.activated.connect(self._on_row_activated)
- self._itemView.header().sectionResized.connect(self._on_column_resized)
+ #self._itemView.header().sectionResized.connect(self._on_column_resized)
self._layout = QtGui.QVBoxLayout()
self._layout.addLayout(self._selectionLayout)
messageItem.setCheckable(False)
row = (messageItem, )
self._categoryManager.add_row(item["time"], row)
+ for c in xrange(self._itemStore.rowCount()):
+ catItem = self._itemStore.item(c, 0)
+ for r in xrange(catItem.rowCount()):
+ rowItem = catItem.child(r, 0)
+ rowIndex = self._itemStore.indexFromItem(rowItem)
+ itemWidget = QtGui.QLabel(rowItem.text())
+ itemWidget.setTextFormat(QtCore.Qt.RichText)
+ itemWidget.setAutoFillBackground(True)
+ self._itemView.setIndexWidget(rowIndex, itemWidget)
self._itemView.expandAll()
@QtCore.pyqtSlot(str)
doc.documentLayout().draw(painter, ctx)
painter.restore()
- def setWidth(self, width):
- # @bug we need to be emitting sizeHintChanged but it requires an index
+ def setWidth(self, width, model):
+ if self._width == width:
+ return
self._width = width
+ for c in xrange(model.rowCount()):
+ cItem = model.item(c, 0)
+ for r in xrange(model.rowCount()):
+ rItem = cItem.child(r, 0)
+ rIndex = model.indexFromItem(rItem)
+ self.sizeHintChanged.emit(rIndex)
+ return
def sizeHint(self, option, index):
newOption = QtGui.QStyleOptionViewItemV4(option)