Revert "Fix setVisible() of QWidget has no effect in QTreeWidgetItem"

It introduces  QTBUG-34653 (Qt Designer widget box no longer
repainted after collapsing items or using the filter).

This reverts commit 04de24c644.

Task-number: QTBUG-13522
Task-number: QTBUG-34653
Change-Id: Ieb9766e7f15acea901fce4ad7142aa72557b9957
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
bb10
Friedemann Kleint 2013-11-08 11:27:15 +01:00 committed by The Qt Project
parent fbcad545ce
commit dd262dc7f5
2 changed files with 1 additions and 36 deletions

View File

@ -2637,8 +2637,7 @@ void QAbstractItemView::updateEditorGeometries()
if (index.isValid() && editor) {
option.rect = visualRect(index);
if (option.rect.isValid()) {
if (!editor->isHidden())
editor->show();
editor->show();
QAbstractItemDelegate *delegate = d->delegateForIndex(index);
if (delegate)
delegate->updateEditorGeometry(editor, option, index);

View File

@ -165,7 +165,6 @@ private slots:
void setChildIndicatorPolicy();
void task20345_sortChildren();
void taskQTBUG13522_checkItemVisibilityBeforeItemShow();
public slots:
void itemSelectionChanged();
@ -3372,39 +3371,6 @@ void tst_QTreeWidget::task20345_sortChildren()
QVERIFY(1);
}
void tst_QTreeWidget::taskQTBUG13522_checkItemVisibilityBeforeItemShow()
{
class TreeView : public QTreeWidget
{
public:
explicit TreeView(QWidget *parent = 0) : QTreeWidget(parent)
, item1_visibility(false), item2_visibility(false) {}
void showEvent(QShowEvent * /*event*/) Q_DECL_OVERRIDE
{
item1_visibility = !item1->isVisible();
item2_visibility = item2->isVisible();
}
QWidget *item1;
QWidget *item2;
bool item1_visibility;
bool item2_visibility;
} tw;
tw.item1 = new QWidget(&tw);
tw.item2 = new QWidget(&tw);
QTreeWidgetItem *widget_item = new QTreeWidgetItem();
widget_item->setText(0, "example text");
tw.addTopLevelItem(widget_item);
tw.setItemWidget(widget_item, 0, tw.item1);
widget_item = new QTreeWidgetItem();
tw.setItemWidget(widget_item, 0, tw.item2);
//set visible must after setItemWidget or setItemWidget will reset the visibility
tw.item1->setVisible(false);
tw.item2->setVisible(true);
tw.show();
QTRY_VERIFY(tw.item1_visibility);
QTRY_VERIFY(tw.item2_visibility);
}
QTEST_MAIN(tst_QTreeWidget)
#include "tst_qtreewidget.moc"