diff --git a/examples/sql/masterdetail/CMakeLists.txt b/examples/sql/masterdetail/CMakeLists.txt index 558bf70ee2e..454aae1b7d5 100644 --- a/examples/sql/masterdetail/CMakeLists.txt +++ b/examples/sql/masterdetail/CMakeLists.txt @@ -32,6 +32,7 @@ target_link_libraries(masterdetail PRIVATE set(masterdetail_resource_files "images/icon.png" "images/image.png" + "albumdetails.xml" ) qt_add_resources(masterdetail "masterdetail" diff --git a/examples/sql/masterdetail/dialog.cpp b/examples/sql/masterdetail/dialog.cpp index 0b8ed8a75b6..e1d64090e9b 100644 --- a/examples/sql/masterdetail/dialog.cpp +++ b/examples/sql/masterdetail/dialog.cpp @@ -173,6 +173,7 @@ void Dialog::increaseAlbumCount(const QModelIndex &artistIndex) int albumCount = albumCountIndex.data().toInt(); artistModel->setData(albumCountIndex, QVariant(albumCount + 1)); + artistModel->submitAll(); } diff --git a/examples/sql/masterdetail/main.cpp b/examples/sql/masterdetail/main.cpp index 50d99cf24e8..15a070bd67e 100644 --- a/examples/sql/masterdetail/main.cpp +++ b/examples/sql/masterdetail/main.cpp @@ -14,7 +14,7 @@ int main(int argc, char *argv[]) if (!createConnection()) return EXIT_FAILURE; - QFile albumDetails("albumdetails.xml"); + QFile albumDetails(":/albumdetails.xml"); MainWindow window("artists", "albums", &albumDetails); window.show(); return app.exec(); diff --git a/examples/sql/masterdetail/mainwindow.cpp b/examples/sql/masterdetail/mainwindow.cpp index 020a149b22f..f8b198eebc2 100644 --- a/examples/sql/masterdetail/mainwindow.cpp +++ b/examples/sql/masterdetail/mainwindow.cpp @@ -202,6 +202,8 @@ void MainWindow::removeAlbumFromFile(int id) void MainWindow::removeAlbumFromDatabase(const QModelIndex &index) { model->removeRow(index.row()); + // to avoid a blank row, see QSqlTableModel::removeRows() + model->select(); } void MainWindow::decreaseAlbumCount(const QModelIndex &artistIndex) @@ -217,6 +219,7 @@ void MainWindow::decreaseAlbumCount(const QModelIndex &artistIndex) showImageLabel(); } else { artists->setData(albumCountIndex, QVariant(albumCount - 1)); + artists->submitAll(); } } diff --git a/examples/sql/masterdetail/masterdetail.qrc b/examples/sql/masterdetail/masterdetail.qrc index 717c2eb945d..59059052000 100644 --- a/examples/sql/masterdetail/masterdetail.qrc +++ b/examples/sql/masterdetail/masterdetail.qrc @@ -2,5 +2,6 @@ images/icon.png images/image.png + albumdetails.xml