1 /**************************************************************************** |
1 /**************************************************************************** |
2 ** |
2 ** |
3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). |
3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). |
4 ** All rights reserved. |
4 ** All rights reserved. |
5 ** Contact: Nokia Corporation (qt-info@nokia.com) |
5 ** Contact: Nokia Corporation (qt-info@nokia.com) |
6 ** |
6 ** |
7 ** This file is part of the test suite of the Qt Toolkit. |
7 ** This file is part of the test suite of the Qt Toolkit. |
8 ** |
8 ** |
234 void task239271_addRowsWithFirstColumnHidden(); |
234 void task239271_addRowsWithFirstColumnHidden(); |
235 void task254234_proxySort(); |
235 void task254234_proxySort(); |
236 void task248022_changeSelection(); |
236 void task248022_changeSelection(); |
237 void task245654_changeModelAndExpandAll(); |
237 void task245654_changeModelAndExpandAll(); |
238 void doubleClickedWithSpans(); |
238 void doubleClickedWithSpans(); |
|
239 void taskQTBUG_6450_selectAllWith1stColumnHidden(); |
239 }; |
240 }; |
240 |
241 |
241 class QtTestModel: public QAbstractItemModel |
242 class QtTestModel: public QAbstractItemModel |
242 { |
243 { |
243 public: |
244 public: |
3080 item00->setText("OnlyOne Last"); |
3081 item00->setText("OnlyOne Last"); |
3081 delegate.count = 0; |
3082 delegate.count = 0; |
3082 QApplication::processEvents(); |
3083 QApplication::processEvents(); |
3083 QTRY_VERIFY(delegate.count >= 3); |
3084 QTRY_VERIFY(delegate.count >= 3); |
3084 QApplication::processEvents(); |
3085 QApplication::processEvents(); |
|
3086 |
|
3087 item00->setText("OnlyOne"); |
|
3088 item0->insertRow(2, new QStandardItem("OnlyOne Last")); |
|
3089 view.collapse(item0->index()); |
|
3090 item0->removeRow(0); |
|
3091 delegate.count = 0; |
|
3092 QTRY_VERIFY(delegate.count >= 2); |
|
3093 QApplication::processEvents(); |
|
3094 |
|
3095 item0->removeRow(1); |
|
3096 item0->setText("OnlyOne"); |
|
3097 delegate.count = 0; |
|
3098 QTRY_VERIFY(delegate.count >= 2); |
|
3099 QApplication::processEvents(); |
3085 } |
3100 } |
3086 } |
3101 } |
3087 |
3102 |
3088 class task174627_TreeView : public QTreeView |
3103 class task174627_TreeView : public QTreeView |
3089 { |
3104 { |
3676 QTest::mouseDClick(view.viewport(), Qt::LeftButton, 0, p); |
3691 QTest::mouseDClick(view.viewport(), Qt::LeftButton, 0, p); |
3677 QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, p); |
3692 QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, p); |
3678 QTRY_COMPARE(spy.count(), 2); |
3693 QTRY_COMPARE(spy.count(), 2); |
3679 } |
3694 } |
3680 |
3695 |
|
3696 void tst_QTreeView::taskQTBUG_6450_selectAllWith1stColumnHidden() |
|
3697 { |
|
3698 QTreeWidget tree; |
|
3699 tree.setSelectionMode(QAbstractItemView::MultiSelection); |
|
3700 tree.setColumnCount(2); |
|
3701 QList<QTreeWidgetItem *> items; |
|
3702 const int nrRows = 10; |
|
3703 for (int i = 0; i < nrRows; ++i) { |
|
3704 items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("item: %1").arg(i)))); |
|
3705 items.last()->setText(1, QString("is an item")); |
|
3706 } |
|
3707 tree.insertTopLevelItems(0, items); |
|
3708 |
|
3709 tree.hideColumn(0); |
|
3710 tree.selectAll(); |
|
3711 |
|
3712 QVERIFY(tree.selectionModel()->hasSelection()); |
|
3713 for (int i = 0; i < nrRows; ++i) |
|
3714 QVERIFY(tree.selectionModel()->isRowSelected(i, QModelIndex())); |
|
3715 } |
|
3716 |
3681 QTEST_MAIN(tst_QTreeView) |
3717 QTEST_MAIN(tst_QTreeView) |
3682 #include "tst_qtreeview.moc" |
3718 #include "tst_qtreeview.moc" |