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>bb10
parent
9e5765fba0
commit
4827623acb
|
|
@ -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)),
|
||||
|
|
|
|||
Loading…
Reference in New Issue