Forcing a refresh
authorEd Page <eopage@byu.net>
Tue, 22 Feb 2011 13:40:04 +0000 (07:40 -0600)
committerEd Page <eopage@byu.net>
Tue, 22 Feb 2011 13:42:54 +0000 (07:42 -0600)
src/gv_views.py
src/util/qui_utils.py

index 55815c3..1dbeea5 100644 (file)
@@ -495,7 +495,7 @@ class Messages(object):
                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)
@@ -505,9 +505,9 @@ class Messages(object):
                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)
@@ -618,6 +618,15 @@ class Messages(object):
                        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)
index 27ce1ff..9e33f88 100644 (file)
@@ -231,9 +231,17 @@ class QHtmlDelegate(QtGui.QStyledItemDelegate):
                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)