summaryrefslogtreecommitdiffstats
path: root/examples/widgets/itemviews
diff options
context:
space:
mode:
authorTopi Reinio <topi.reinio@digia.com>2014-06-18 09:58:01 +0200
committerMitch Curtis <mitch.curtis@digia.com>2014-07-02 08:41:11 +0200
commit4827623acb5e239039e53f23dad39bd5bca21224 (patch)
treeb75c6a215562cf2086529631c1c9cd85eda1a0fc /examples/widgets/itemviews
parent9e5765fba0c2986d4fb4f7103f2f9c72f4c0d20d (diff)
Address Book example: Fix QTableView column sorting
Rearrange the code so that QTableView::setSortingEnabled() is called after setting up the sort filter. This ensures that new entries added to the model always follow the column header's sort order. Task-number: QTBUG-39585 Change-Id: Iaec8aa9342981817a019473ba12bad52cdbdfbb8 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'examples/widgets/itemviews')
-rw-r--r--examples/widgets/itemviews/addressbook/addresswidget.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/examples/widgets/itemviews/addressbook/addresswidget.cpp b/examples/widgets/itemviews/addressbook/addresswidget.cpp
index cd6f4a5534..5db470a39b 100644
--- a/examples/widgets/itemviews/addressbook/addresswidget.cpp
+++ b/examples/widgets/itemviews/addressbook/addresswidget.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the examples of the Qt Toolkit.
@@ -163,24 +163,23 @@ void AddressWidget::setupTabs()
for (int i = 0; i < groups.size(); ++i) {
QString str = groups.at(i);
+ QString regExp = QString("^[%1].*").arg(str);
proxyModel = new QSortFilterProxyModel(this);
proxyModel->setSourceModel(table);
+ proxyModel->setFilterRegExp(QRegExp(regExp, Qt::CaseInsensitive));
+ proxyModel->setFilterKeyColumn(0);
QTableView *tableView = new QTableView;
tableView->setModel(proxyModel);
- tableView->setSortingEnabled(true);
+
tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
tableView->horizontalHeader()->setStretchLastSection(true);
tableView->verticalHeader()->hide();
tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
tableView->setSelectionMode(QAbstractItemView::SingleSelection);
- QString newStr = QString("^[%1].*").arg(str);
-
- proxyModel->setFilterRegExp(QRegExp(newStr, Qt::CaseInsensitive));
- proxyModel->setFilterKeyColumn(0);
- proxyModel->sort(0, Qt::AscendingOrder);
+ tableView->setSortingEnabled(true);
connect(tableView->selectionModel(),
SIGNAL(selectionChanged(QItemSelection,QItemSelection)),