diff options
author | Topi Reinio <topi.reinio@digia.com> | 2014-06-18 09:58:01 +0200 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@digia.com> | 2014-07-02 08:41:11 +0200 |
commit | 4827623acb5e239039e53f23dad39bd5bca21224 (patch) | |
tree | b75c6a215562cf2086529631c1c9cd85eda1a0fc /examples | |
parent | 9e5765fba0c2986d4fb4f7103f2f9c72f4c0d20d (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')
-rw-r--r-- | examples/widgets/itemviews/addressbook/addresswidget.cpp | 13 |
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)), |