summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/itemviews')
-rw-r--r--src/widgets/itemviews/qcolumnview.cpp2
-rw-r--r--src/widgets/itemviews/qdirmodel.cpp8
-rw-r--r--src/widgets/itemviews/qheaderview.cpp20
-rw-r--r--src/widgets/itemviews/qlistwidget.cpp3
-rw-r--r--src/widgets/itemviews/qstandarditemmodel.cpp3
-rw-r--r--src/widgets/itemviews/qtablewidget.cpp3
-rw-r--r--src/widgets/itemviews/qtreewidget.cpp3
7 files changed, 19 insertions, 23 deletions
diff --git a/src/widgets/itemviews/qcolumnview.cpp b/src/widgets/itemviews/qcolumnview.cpp
index 5dec62acc2..6758aeb337 100644
--- a/src/widgets/itemviews/qcolumnview.cpp
+++ b/src/widgets/itemviews/qcolumnview.cpp
@@ -481,7 +481,7 @@ QRegion QColumnView::visualRegionForSelection(const QItemSelection &selection) c
QRegion firstRegion = visualRect(firstIdx);
QRegion lastRegion = visualRect(lastIdx);
- return firstRegion.unite(lastRegion);
+ return firstRegion.united(lastRegion);
}
/*!
diff --git a/src/widgets/itemviews/qdirmodel.cpp b/src/widgets/itemviews/qdirmodel.cpp
index 67a16a836d..ee097e5c41 100644
--- a/src/widgets/itemviews/qdirmodel.cpp
+++ b/src/widgets/itemviews/qdirmodel.cpp
@@ -1169,11 +1169,9 @@ void QDirModelPrivate::init()
root.parent = 0;
root.info = QFileInfo();
clear(&root);
- QHash<int, QByteArray> roles = q->roleNames();
- roles.insertMulti(QDirModel::FileIconRole, "fileIcon"); // == Qt::decoration
- roles.insert(QDirModel::FilePathRole, "filePath");
- roles.insert(QDirModel::FileNameRole, "fileName");
- q->setRoleNames(roles);
+ roleNames.insertMulti(QDirModel::FileIconRole, QByteArrayLiteral("fileIcon")); // == Qt::decoration
+ roleNames.insert(QDirModel::FilePathRole, QByteArrayLiteral("filePath"));
+ roleNames.insert(QDirModel::FileNameRole, QByteArrayLiteral("fileName"));
}
QDirModelPrivate::QDirNode *QDirModelPrivate::node(int row, QDirNode *parent) const
diff --git a/src/widgets/itemviews/qheaderview.cpp b/src/widgets/itemviews/qheaderview.cpp
index 6a1f949258..5d2aceaade 100644
--- a/src/widgets/itemviews/qheaderview.cpp
+++ b/src/widgets/itemviews/qheaderview.cpp
@@ -1802,9 +1802,8 @@ void QHeaderViewPrivate::_q_sectionsRemoved(const QModelIndex &parent,
if (logicalFirst == logicalLast) { // Remove just one index.
int l = logicalFirst;
int visual = visualIndices.at(l);
+ Q_ASSERT(sectionCount == logicalIndices.count());
for (int v = 0; v < sectionCount; ++v) {
- if (v >= logicalIndices.count())
- continue; // the section doesn't exist
if (v > visual) {
int logical = logicalIndices.at(v);
--(visualIndices[logical]);
@@ -2434,20 +2433,15 @@ bool QHeaderView::viewportEvent(QEvent *e)
}
return true; }
#endif // QT_NO_STATUSTIP
- case QEvent::Hide: {
- d->invalidateCachedSizeHint();
+ case QEvent::Hide:
+ case QEvent::Show:
+ case QEvent::FontChange:
+ case QEvent::StyleChange:{
QAbstractScrollArea *parent = qobject_cast<QAbstractScrollArea *>(parentWidget());
if (parent && parent->isVisible()) // Only resize if we have a visible parent
resizeSections();
emit geometriesChanged();
break;}
- case QEvent::Show:
- case QEvent::FontChange:
- case QEvent::StyleChange:
- d->invalidateCachedSizeHint();
- resizeSections();
- emit geometriesChanged();
- break;
case QEvent::ContextMenu: {
d->state = QHeaderViewPrivate::NoState;
d->pressed = d->section = d->target = -1;
@@ -3391,11 +3385,11 @@ int QHeaderViewPrivate::viewSectionSizeHint(int logical) const
int QHeaderViewPrivate::adjustedVisualIndex(int visualIndex) const
{
- if (hiddenSectionSize.count() > 0) {
+ if (!sectionHidden.isEmpty()) {
int adjustedVisualIndex = visualIndex;
int currentVisualIndex = 0;
for (int i = 0; i < sectionSpans.count(); ++i) {
- if (sectionSpans.at(i).size == 0)
+ if (sectionHidden.testBit(i))
++adjustedVisualIndex;
else
++currentVisualIndex;
diff --git a/src/widgets/itemviews/qlistwidget.cpp b/src/widgets/itemviews/qlistwidget.cpp
index 97fbea6c3d..bb39546ec8 100644
--- a/src/widgets/itemviews/qlistwidget.cpp
+++ b/src/widgets/itemviews/qlistwidget.cpp
@@ -75,6 +75,7 @@ QListModel::~QListModel()
void QListModel::clear()
{
+ beginResetModel();
for (int i = 0; i < items.count(); ++i) {
if (items.at(i)) {
items.at(i)->d->theid = -1;
@@ -83,7 +84,7 @@ void QListModel::clear()
}
}
items.clear();
- reset();
+ endResetModel();
}
QListWidgetItem *QListModel::at(int row) const
diff --git a/src/widgets/itemviews/qstandarditemmodel.cpp b/src/widgets/itemviews/qstandarditemmodel.cpp
index 112b533f4f..5616d76c4a 100644
--- a/src/widgets/itemviews/qstandarditemmodel.cpp
+++ b/src/widgets/itemviews/qstandarditemmodel.cpp
@@ -2097,13 +2097,14 @@ void QStandardItemModel::setItemRoleNames(const QHash<int,QByteArray> &roleNames
void QStandardItemModel::clear()
{
Q_D(QStandardItemModel);
+ beginResetModel();
d->root.reset(new QStandardItem);
d->root->d_func()->setModel(this);
qDeleteAll(d->columnHeaderItems);
d->columnHeaderItems.clear();
qDeleteAll(d->rowHeaderItems);
d->rowHeaderItems.clear();
- reset();
+ endResetModel();
}
/*!
diff --git a/src/widgets/itemviews/qtablewidget.cpp b/src/widgets/itemviews/qtablewidget.cpp
index 82055ad11e..5932f20327 100644
--- a/src/widgets/itemviews/qtablewidget.cpp
+++ b/src/widgets/itemviews/qtablewidget.cpp
@@ -755,6 +755,7 @@ void QTableModel::clear()
void QTableModel::clearContents()
{
+ beginResetModel();
for (int i = 0; i < tableItems.count(); ++i) {
if (tableItems.at(i)) {
tableItems.at(i)->view = 0;
@@ -762,7 +763,7 @@ void QTableModel::clearContents()
tableItems[i] = 0;
}
}
- reset();
+ endResetModel();
}
void QTableModel::itemChanged(QTableWidgetItem *item)
diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp
index ca8b9c4e09..cec709a816 100644
--- a/src/widgets/itemviews/qtreewidget.cpp
+++ b/src/widgets/itemviews/qtreewidget.cpp
@@ -160,6 +160,7 @@ QTreeModel::~QTreeModel()
void QTreeModel::clear()
{
SkipSorting skipSorting(this);
+ beginResetModel();
for (int i = 0; i < rootItem->childCount(); ++i) {
QTreeWidgetItem *item = rootItem->children.at(i);
item->par = 0;
@@ -168,7 +169,7 @@ void QTreeModel::clear()
}
rootItem->children.clear();
sortPendingTimer.stop();
- reset();
+ endResetModel();
}
/*!