diff options
-rw-r--r-- | examples/enginio/widgets/cloudaddressbook/mainwindow.cpp | 9 | ||||
-rw-r--r-- | examples/enginio/widgets/cloudaddressbook/mainwindow.h | 3 |
2 files changed, 8 insertions, 4 deletions
diff --git a/examples/enginio/widgets/cloudaddressbook/mainwindow.cpp b/examples/enginio/widgets/cloudaddressbook/mainwindow.cpp index 32352e7..f54ff2e 100644 --- a/examples/enginio/widgets/cloudaddressbook/mainwindow.cpp +++ b/examples/enginio/widgets/cloudaddressbook/mainwindow.cpp @@ -85,10 +85,10 @@ MainWindow::MainWindow(QWidget *parent) tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); //![assignProxyModel] - QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(this); - proxyModel->setSourceModel(model); + sortFilterProxyModel = new QSortFilterProxyModel(this); + sortFilterProxyModel->setSourceModel(model); tableView->setSortingEnabled(true); - tableView->setModel(proxyModel); + tableView->setModel(sortFilterProxyModel); //![assignProxyModel] // create the full text search based on searchEdit text value @@ -135,7 +135,8 @@ void MainWindow::onSelectionChanged() void MainWindow::onRemoveRow() { foreach (const QModelIndex &index, tableView->selectionModel()->selectedRows()) { - EnginioReply *reply = model->remove(index.row()); + QModelIndex sourceIndex = sortFilterProxyModel->mapToSource(index); + EnginioReply *reply = model->remove(sourceIndex.row()); QObject::connect(reply, &EnginioReply::finished, reply, &EnginioReply::deleteLater); } } diff --git a/examples/enginio/widgets/cloudaddressbook/mainwindow.h b/examples/enginio/widgets/cloudaddressbook/mainwindow.h index 7161792..979b08c 100644 --- a/examples/enginio/widgets/cloudaddressbook/mainwindow.h +++ b/examples/enginio/widgets/cloudaddressbook/mainwindow.h @@ -47,12 +47,14 @@ QT_BEGIN_NAMESPACE class EnginioClient; class EnginioReply; +class QSortFilterProxyModel; QT_END_NAMESPACE QT_USE_NAMESPACE class AddressBookModel; + class MainWindow : public QMainWindow, Ui_MainWindow { Q_OBJECT @@ -74,6 +76,7 @@ private: // Enginio object model containing addresses AddressBookModel *model; + QSortFilterProxyModel *sortFilterProxyModel; }; #endif // MAINWINDOW_H |