summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2010-10-14 15:11:18 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2010-10-14 15:21:32 -0300
commit83f8447c9546f53c134a10f02e81abdab88aed3a (patch)
tree60c3788a6c20059cfee591a1b17fcc76e9c25547
parentef35dc4cd4b6b09d41c855696b28a31708cf2ad7 (diff)
downloadpyside-83f8447c9546f53c134a10f02e81abdab88aed3a.tar.gz
pyside-83f8447c9546f53c134a10f02e81abdab88aed3a.tar.xz
pyside-83f8447c9546f53c134a10f02e81abdab88aed3a.zip
Fix bug#172 - "editing a QListWidgetItem stored in a variable makes it impossible to delete"
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org> Marcelo Lira <marcelo.lira@openbossa.org>
-rw-r--r--PySide/QtGui/typesystem_gui_common.xml17
-rw-r--r--tests/QtGui/qlistwidget_test.py9
2 files changed, 11 insertions, 15 deletions
diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml
index eebc48d..4ebef94 100644
--- a/PySide/QtGui/typesystem_gui_common.xml
+++ b/PySide/QtGui/typesystem_gui_common.xml
@@ -2933,11 +2933,6 @@
<parent index="this" action="add"/>
</modify-argument>
</modify-function>
- <modify-function signature="takeTopLevelItem(int)">
- <modify-argument index="return">
- <parent index="this" action="add"/>
- </modify-argument>
- </modify-function>
<modify-function signature="addTopLevelItems(const QList&lt;QTreeWidgetItem*&gt; &amp;)">
<modify-argument index="1">
<parent index="this" action="add"/>
@@ -2965,11 +2960,7 @@
</modify-function>
<modify-function signature="takeTopLevelItem(int)">
<modify-argument index="return">
- <parent index="this" action="remove"/>
- </modify-argument>
- </modify-function>
- <modify-function signature="removeItemWidget(QTreeWidgetItem*,int)">
- <modify-argument index="1">
+ <define-ownership owner="default"/>
<parent index="this" action="remove"/>
</modify-argument>
</modify-function>
@@ -3198,11 +3189,6 @@
<parent index="this" action="add"/>
</modify-argument>
</modify-function>
- <modify-function signature="removeItemWidget(QListWidgetItem*)">
- <modify-argument index="1">
- <parent index="this" action="remove"/>
- </modify-argument>
- </modify-function>
<modify-function signature="setItemHidden(const QListWidgetItem*,bool)" remove="all"/>
<modify-function signature="isItemHidden(const QListWidgetItem*)const" remove="all"/>
<modify-function signature="setItemSelected(const QListWidgetItem*,bool)" remove="all"/>
@@ -3210,6 +3196,7 @@
<modify-function signature="takeItem(int)">
<modify-argument index="return">
<define-ownership owner="default"/>
+ <parent index="this" action="remove"/>
</modify-argument>
</modify-function>
<modify-function signature="mimeData(const QList&lt;QListWidgetItem*&gt;)const" remove="all"/>
diff --git a/tests/QtGui/qlistwidget_test.py b/tests/QtGui/qlistwidget_test.py
index b473c61..16c919b 100644
--- a/tests/QtGui/qlistwidget_test.py
+++ b/tests/QtGui/qlistwidget_test.py
@@ -41,6 +41,15 @@ class QListWidgetTest(UsesQApplication):
self.assert_(sys.getrefcount(i), 2)
del i
+ def testIt(self):
+ lst = QtGui.QListWidget()
+ lst.show()
+ slot = lambda : lst.removeItemWidget(lst.currentItem())
+ lst.addItem(QtGui.QListWidgetItem("foo"))
+ QtCore.QTimer.singleShot(0, slot)
+ QtCore.QTimer.singleShot(0, lst.close)
+ self.app.exec_()
+ self.assertEqual(lst.count(), 1)
if __name__ == '__main__':
unittest.main()