summaryrefslogtreecommitdiffstats
path: root/examples/sql/masterdetail
diff options
context:
space:
mode:
Diffstat (limited to 'examples/sql/masterdetail')
-rw-r--r--examples/sql/masterdetail/database.h12
-rw-r--r--examples/sql/masterdetail/dialog.cpp12
-rw-r--r--examples/sql/masterdetail/dialog.h8
-rw-r--r--examples/sql/masterdetail/main.cpp13
-rw-r--r--examples/sql/masterdetail/mainwindow.cpp43
-rw-r--r--examples/sql/masterdetail/mainwindow.h2
6 files changed, 49 insertions, 41 deletions
diff --git a/examples/sql/masterdetail/database.h b/examples/sql/masterdetail/database.h
index 3139deb0b2..9cbca6f749 100644
--- a/examples/sql/masterdetail/database.h
+++ b/examples/sql/masterdetail/database.h
@@ -61,12 +61,12 @@ static bool createConnection()
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(":memory:");
if (!db.open()) {
- QMessageBox::critical(0, qApp->tr("Cannot open database"),
- qApp->tr("Unable to establish a database connection.\n"
- "This example needs SQLite support. Please read "
- "the Qt SQL driver documentation for information how "
- "to build it.\n\n"
- "Click Cancel to exit."), QMessageBox::Cancel);
+ QMessageBox::critical(nullptr, QObject::tr("Cannot open database"),
+ QObject::tr("Unable to establish a database connection.\n"
+ "This example needs SQLite support. Please read "
+ "the Qt SQL driver documentation for information how "
+ "to build it.\n\n"
+ "Click Cancel to exit."), QMessageBox::Cancel);
return false;
}
diff --git a/examples/sql/masterdetail/dialog.cpp b/examples/sql/masterdetail/dialog.cpp
index 5bb213230e..bb1812eace 100644
--- a/examples/sql/masterdetail/dialog.cpp
+++ b/examples/sql/masterdetail/dialog.cpp
@@ -155,12 +155,12 @@ int Dialog::addNewAlbum(const QString &title, int artistId)
return id;
}
-void Dialog::addTracks(int albumId, QStringList tracks)
+void Dialog::addTracks(int albumId, const QStringList &tracks)
{
QDomElement albumNode = albumDetails.createElement("album");
albumNode.setAttribute("id", albumId);
- for (int i = 0; i < tracks.count(); i++) {
+ for (int i = 0; i < tracks.count(); ++i) {
QString trackNumber = QString::number(i);
if (i < 10)
trackNumber.prepend('0');
@@ -254,9 +254,9 @@ QDialogButtonBox *Dialog::createButtons()
closeButton->setDefault(true);
- connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));
- connect(revertButton, SIGNAL(clicked()), this, SLOT(revert()));
- connect(submitButton, SIGNAL(clicked()), this, SLOT(submit()));
+ connect(closeButton, &QPushButton::clicked, this, &Dialog::close);
+ connect(revertButton, &QPushButton::clicked, this, &Dialog::revert);
+ connect(submitButton, &QPushButton::clicked, this, &Dialog::submit);
QDialogButtonBox *buttonBox = new QDialogButtonBox;
buttonBox->addButton(submitButton, QDialogButtonBox::ResetRole);
@@ -270,7 +270,7 @@ QModelIndex Dialog::indexOfArtist(const QString &artist)
{
QSqlTableModel *artistModel = model->relationModel(2);
- for (int i = 0; i < artistModel->rowCount(); i++) {
+ for (int i = 0; i < artistModel->rowCount(); ++i) {
QSqlRecord record = artistModel->record(i);
if (record.value("artist") == artist)
return artistModel->index(i, 1);
diff --git a/examples/sql/masterdetail/dialog.h b/examples/sql/masterdetail/dialog.h
index 1789207d8d..31c4d8552c 100644
--- a/examples/sql/masterdetail/dialog.h
+++ b/examples/sql/masterdetail/dialog.h
@@ -61,7 +61,7 @@ class Dialog : public QDialog
public:
Dialog(QSqlRelationalTableModel *albums, QDomDocument details,
- QFile *output, QWidget *parent = 0);
+ QFile *output, QWidget *parent = nullptr);
private slots:
void revert();
@@ -70,12 +70,12 @@ private slots:
private:
int addNewAlbum(const QString &title, int artistId);
int addNewArtist(const QString &name);
- void addTracks(int albumId, QStringList tracks);
+ void addTracks(int albumId, const QStringList &tracks);
QDialogButtonBox *createButtons();
QGroupBox *createInputWidgets();
int findArtistId(const QString &artist);
- int generateAlbumId();
- int generateArtistId();
+ static int generateAlbumId();
+ static int generateArtistId();
void increaseAlbumCount(QModelIndex artistIndex);
QModelIndex indexOfArtist(const QString &artist);
diff --git a/examples/sql/masterdetail/main.cpp b/examples/sql/masterdetail/main.cpp
index cc1a1c4a21..9a4172e55f 100644
--- a/examples/sql/masterdetail/main.cpp
+++ b/examples/sql/masterdetail/main.cpp
@@ -48,11 +48,14 @@
**
****************************************************************************/
-#include <QtWidgets>
-
#include "database.h"
#include "mainwindow.h"
+#include <QApplication>
+#include <QFile>
+
+#include <stdlib.h>
+
int main(int argc, char *argv[])
{
Q_INIT_RESOURCE(masterdetail);
@@ -60,10 +63,10 @@ int main(int argc, char *argv[])
QApplication app(argc, argv);
if (!createConnection())
- return 1;
+ return EXIT_FAILURE;
- QFile *albumDetails = new QFile("albumdetails.xml");
- MainWindow window("artists", "albums", albumDetails);
+ 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 9fbc4c43a4..7f3479619a 100644
--- a/examples/sql/masterdetail/mainwindow.cpp
+++ b/examples/sql/masterdetail/mainwindow.cpp
@@ -78,10 +78,10 @@ MainWindow::MainWindow(const QString &artistTable, const QString &albumTable,
uniqueAlbumId = model->rowCount();
uniqueArtistId = artistView->count();
- connect(model, SIGNAL(rowsInserted(QModelIndex,int,int)),
- this, SLOT(updateHeader(QModelIndex,int,int)));
- connect(model, SIGNAL(rowsRemoved(QModelIndex,int,int)),
- this, SLOT(updateHeader(QModelIndex,int,int)));
+ connect(model, &QSqlRelationalTableModel::rowsInserted,
+ this, &MainWindow::updateHeader);
+ connect(model, &QSqlRelationalTableModel::rowsRemoved,
+ this, &MainWindow::updateHeader);
QGridLayout *layout = new QGridLayout;
layout->addWidget(artists, 0, 0);
@@ -145,7 +145,7 @@ void MainWindow::showAlbumDetails(QModelIndex index)
titleLabel->show();
QDomNodeList albums = albumData.elementsByTagName("album");
- for (int i = 0; i < albums.count(); i++) {
+ for (int i = 0; i < albums.count(); ++i) {
QDomNode album = albums.item(i);
if (album.toElement().attribute("id") == albumId) {
getTrackList(album.toElement());
@@ -164,9 +164,9 @@ void MainWindow::getTrackList(QDomNode album)
QDomNode track;
QString trackNumber;
- for (int j = 0; j < tracks.count(); j++) {
+ for (int i = 0; i < tracks.count(); ++i) {
- track = tracks.item(j);
+ track = tracks.item(i);
trackNumber = track.toElement().attribute("number");
QListWidgetItem *item = new QListWidgetItem(trackList);
@@ -222,7 +222,7 @@ void MainWindow::removeAlbumFromFile(int id)
QDomNodeList albums = albumData.elementsByTagName("album");
- for (int i = 0; i < albums.count(); i++) {
+ for (int i = 0; i < albums.count(); ++i) {
QDomNode node = albums.item(i);
if (node.toElement().attribute("id").toInt() == id) {
albumData.elementsByTagName("archive").item(0).removeChild(node);
@@ -283,8 +283,8 @@ QGroupBox* MainWindow::createArtistGroupBox()
artistView->setModel(model->relationModel(2));
artistView->setModelColumn(1);
- connect(artistView, SIGNAL(currentIndexChanged(int)),
- this, SLOT(changeArtist(int)));
+ connect(artistView, QOverload<int>::of(&QComboBox::currentIndexChanged),
+ this, &MainWindow::changeArtist);
QGroupBox *box = new QGroupBox(tr("Artist"));
@@ -314,10 +314,10 @@ QGroupBox* MainWindow::createAlbumGroupBox()
locale.setNumberOptions(QLocale::OmitGroupSeparator);
albumView->setLocale(locale);
- connect(albumView, SIGNAL(clicked(QModelIndex)),
- this, SLOT(showAlbumDetails(QModelIndex)));
- connect(albumView, SIGNAL(activated(QModelIndex)),
- this, SLOT(showAlbumDetails(QModelIndex)));
+ connect(albumView, &QTableView::clicked,
+ this, &MainWindow::showAlbumDetails);
+ connect(albumView, &QTableView::activated,
+ this, &MainWindow::showAlbumDetails);
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(albumView, 0, 0);
@@ -383,11 +383,16 @@ void MainWindow::createMenuBar()
helpMenu->addAction(aboutAction);
helpMenu->addAction(aboutQtAction);
- connect(addAction, SIGNAL(triggered(bool)), this, SLOT(addAlbum()));
- connect(deleteAction, SIGNAL(triggered(bool)), this, SLOT(deleteAlbum()));
- connect(quitAction, SIGNAL(triggered(bool)), this, SLOT(close()));
- connect(aboutAction, SIGNAL(triggered(bool)), this, SLOT(about()));
- connect(aboutQtAction, SIGNAL(triggered(bool)), qApp, SLOT(aboutQt()));
+ connect(addAction, &QAction::triggered,
+ this, &MainWindow::addAlbum);
+ connect(deleteAction, &QAction::triggered,
+ this, &MainWindow::deleteAlbum);
+ connect(quitAction, &QAction::triggered,
+ this, &MainWindow::close);
+ connect(aboutAction, &QAction::triggered,
+ this, &MainWindow::about);
+ connect(aboutQtAction, &QAction::triggered,
+ qApp, &QApplication::aboutQt);
}
void MainWindow::showImageLabel()
diff --git a/examples/sql/masterdetail/mainwindow.h b/examples/sql/masterdetail/mainwindow.h
index be3c6c94f4..dc6d8d1613 100644
--- a/examples/sql/masterdetail/mainwindow.h
+++ b/examples/sql/masterdetail/mainwindow.h
@@ -71,7 +71,7 @@ class MainWindow : public QMainWindow
public:
MainWindow(const QString &artistTable, const QString &albumTable,
- QFile *albumDetails, QWidget *parent = 0);
+ QFile *albumDetails, QWidget *parent = nullptr);
private slots:
void about();