At http://bazaar.launchpad.net/~jameinel/bzr-explorer/wt_model
------------------------------------------------------------
revno: 178
revision-id: [email protected]
parent: [email protected]
committer: John Arbash Meinel <[email protected]>
branch nick: wt_model
timestamp: Thu 2009-07-09 13:33:14 -0500
message:
Add a decoration for column 0 from the QDirModel
=== modified file 'lib/wt_model.py'
--- a/lib/wt_model.py 2009-07-08 19:39:21 +0000
+++ b/lib/wt_model.py 2009-07-09 18:33:14 +0000
@@ -176,10 +176,12 @@
# TODO: implement uspport for Qt.DecorationRole, if we return a
# QPixmap, then we will get the displayed icon.
item = index.internalPointer()
- if role == QtCore.Qt.DecorationRole:
+ if role == QtCore.Qt.DecorationRole and index.column() == 0:
# Return the decoration from an QDirModel
dir_index = self._dirmodel.index(item.path)
- return self._dirmodel.data(dir_index, role)
+ data = self._dirmodel.data(dir_index, role)
+ # print data
+ return data
if role != QtCore.Qt.DisplayRole:
return QtCore.QVariant()
attr = self._column_to_attribute[index.column()]
=== modified file 'tests/test_wt_model.py'
--- a/tests/test_wt_model.py 2009-07-08 19:39:21 +0000
+++ b/tests/test_wt_model.py 2009-07-09 18:33:14 +0000
@@ -25,9 +25,10 @@
)
from bzrlib.plugins.explorer.lib import wt_model
-
-
-class TestWTModel(tests.TestCaseWithTransport):
+from bzrlib.plugins.explorer.tests import TestCaseWithQt
+
+
+class TestWTModel(TestCaseWithQt):
def test_flags_empty(self):
wt = self.make_branch_and_tree('.')
@@ -91,7 +92,12 @@
res = model.data(a_index, QtCore.Qt.DecorationRole)
self.assertIsInstance(res, QtCore.QVariant)
self.assertTrue(res.isValid())
- self.assertTrue(res.canConvert(QtGui.QPixmap))
+ self.assertEqual('QIcon', res.typeName())
+ # For records not at column 0, we should get nothing
+ a_index = model.index(0, 1, root_index)
+ res = model.data(a_index, QtCore.Qt.DecorationRole)
+ self.assertIsInstance(res, QtCore.QVariant)
+ self.assertFalse(res.isValid())
def test_index_invalid(self):
wt = self.make_branch_and_tree('.')
--
bazaar-commits mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/bazaar-commits