Revert "QTreeView: Make sure QHeaderView is notified on layoutChanged()"
It caused some sorting issues. This reverts commit 93dabeba9dc5f6cbab60e65b3cc8df5fe48745a9. Change-Id: Ie8c7f2d47885be6626ddb6284474a78dcf09cf33 Task-number: QTBUG-65478 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
This commit is contained in:
parent
7e9460306b
commit
d5a11a0ec2
@ -237,6 +237,9 @@ void QTreeView::setModel(QAbstractItemModel *model)
|
||||
// QAbstractItemView connects to a private slot
|
||||
disconnect(d->model, SIGNAL(rowsRemoved(QModelIndex,int,int)),
|
||||
this, SLOT(_q_rowsRemoved(QModelIndex,int,int)));
|
||||
// do header layout after the tree
|
||||
disconnect(d->model, SIGNAL(layoutChanged()),
|
||||
d->header, SLOT(_q_layoutChanged()));
|
||||
// QTreeView has a public slot for this
|
||||
connect(d->model, SIGNAL(rowsRemoved(QModelIndex,int,int)),
|
||||
this, SLOT(rowsRemoved(QModelIndex,int,int)));
|
||||
|
@ -313,17 +313,6 @@ public:
|
||||
endRemoveColumns();
|
||||
}
|
||||
|
||||
void removeAddLastColumnLayoutChanged() // for taskQTBUG_41124
|
||||
{
|
||||
// make sure QHeaderView::_q_layoutChanged() is called
|
||||
emit layoutAboutToBeChanged();
|
||||
--cols;
|
||||
emit layoutChanged();
|
||||
emit layoutAboutToBeChanged();
|
||||
++cols;
|
||||
emit layoutChanged();
|
||||
}
|
||||
|
||||
void removeAllColumns()
|
||||
{
|
||||
beginRemoveColumns(QModelIndex(), 0, cols - 1);
|
||||
@ -1317,19 +1306,6 @@ void tst_QTreeView::columnHidden()
|
||||
for (int c = 0; c < model.columnCount(); ++c)
|
||||
QCOMPARE(view.isColumnHidden(c), true);
|
||||
view.update();
|
||||
|
||||
// QTBUG_41124:
|
||||
// QHeaderViewPrivate::_q_layoutChanged was not called because it was
|
||||
// disconnected in QTreeView::setModel(). _q_layoutChanged restores
|
||||
// the hidden sections which is tested here
|
||||
view.setColumnHidden(model.cols - 1, true);
|
||||
model.removeAddLastColumnLayoutChanged();
|
||||
// we removed the last column and added a new one
|
||||
// (with layoutToBeChanged/layoutChanged() for both) so column
|
||||
// 1 is a new column and therefore must not be hidden when
|
||||
// _q_layoutChanged() is called and is doing the right stuff
|
||||
QCOMPARE(view.isColumnHidden(model.cols - 1), false);
|
||||
|
||||
}
|
||||
|
||||
void tst_QTreeView::rowHidden()
|
||||
|
Loading…
x
Reference in New Issue
Block a user