summaryrefslogtreecommitdiffstats
path: root/examples/sql/drilldown
diff options
context:
space:
mode:
authorMichael Winkelmann <Michael.winkelmann@qt.io>2017-07-20 16:39:01 +0200
committerTopi Reiniö <topi.reinio@qt.io>2017-09-14 10:48:48 +0000
commit3d67793a9ec01f15e3dcf6b59e6e0df5f59bdfad (patch)
treee8bd72349e2580e2dfb4908a96653f3fa3644922 /examples/sql/drilldown
parent590e71a69cc74b4e7da1ccb19a1304047dbaecb8 (diff)
Revamp SQL examples to C++11
Changed signals and slots to new syntax, used nullptr and replaced foreach with new C++11 range based for loops. Also fixed a few minor flaws. Task-number: QTBUG-60633 Change-Id: Ice4030133971912f96752d9d84c638c70fd73e35 Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'examples/sql/drilldown')
-rw-r--r--examples/sql/drilldown/imageitem.cpp6
-rw-r--r--examples/sql/drilldown/imageitem.h4
-rw-r--r--examples/sql/drilldown/informationwindow.cpp18
-rw-r--r--examples/sql/drilldown/informationwindow.h20
-rw-r--r--examples/sql/drilldown/main.cpp11
-rw-r--r--examples/sql/drilldown/view.cpp36
-rw-r--r--examples/sql/drilldown/view.h4
7 files changed, 48 insertions, 51 deletions
diff --git a/examples/sql/drilldown/imageitem.cpp b/examples/sql/drilldown/imageitem.cpp
index 4e440fc786..04ec614755 100644
--- a/examples/sql/drilldown/imageitem.cpp
+++ b/examples/sql/drilldown/imageitem.cpp
@@ -60,8 +60,8 @@ ImageItem::ImageItem(int id, const QPixmap &pixmap, QGraphicsItem *parent)
timeLine.setDuration(150);
timeLine.setFrameRange(0, 150);
- connect(&timeLine, SIGNAL(frameChanged(int)), this, SLOT(setFrame(int)));
- connect(&timeLine, SIGNAL(finished()), this, SLOT(updateItemPosition()));
+ connect(&timeLine, &QTimeLine::frameChanged, this, &ImageItem::setFrame);
+ connect(&timeLine, &QTimeLine::finished, this, &ImageItem::updateItemPosition);
adjust();
}
@@ -116,7 +116,7 @@ void ImageItem::adjust()
//! [4]
//! [5]
-int ImageItem::id()
+int ImageItem::id() const
{
return recordId;
}
diff --git a/examples/sql/drilldown/imageitem.h b/examples/sql/drilldown/imageitem.h
index 4f773a6dfc..abb9103c7e 100644
--- a/examples/sql/drilldown/imageitem.h
+++ b/examples/sql/drilldown/imageitem.h
@@ -60,10 +60,10 @@ class ImageItem : public QObject, public QGraphicsPixmapItem
Q_OBJECT
public:
- ImageItem(int id, const QPixmap &pixmap, QGraphicsItem *parent = 0);
+ ImageItem(int id, const QPixmap &pixmap, QGraphicsItem *parent = nullptr);
void adjust();
- int id();
+ int id() const;
protected:
void hoverEnterEvent(QGraphicsSceneHoverEvent *event) override;
diff --git a/examples/sql/drilldown/informationwindow.cpp b/examples/sql/drilldown/informationwindow.cpp
index 2536b0ca91..0007432672 100644
--- a/examples/sql/drilldown/informationwindow.cpp
+++ b/examples/sql/drilldown/informationwindow.cpp
@@ -84,10 +84,12 @@ InformationWindow::InformationWindow(int id, QSqlRelationalTableModel *items,
//! [3]
//! [4]
- connect(descriptionEditor, SIGNAL(textChanged()),
- this, SLOT(enableButtons()));
- connect(imageFileEditor, SIGNAL(currentIndexChanged(int)),
- this, SLOT(enableButtons()));
+ connect(descriptionEditor, &QTextEdit::textChanged, [=]() {
+ enableButtons();
+ });
+ connect(imageFileEditor, QOverload<int>::of(&QComboBox::currentIndexChanged), [=]() {
+ enableButtons();
+ });
QFormLayout *formLayout = new QFormLayout;
formLayout->addRow(itemLabel, itemText);
@@ -109,7 +111,7 @@ InformationWindow::InformationWindow(int id, QSqlRelationalTableModel *items,
//! [4]
//! [5]
-int InformationWindow::id()
+int InformationWindow::id() const
{
return itemId;
}
@@ -149,9 +151,9 @@ void InformationWindow::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, &InformationWindow::close);
+ connect(revertButton, &QPushButton::clicked, this, &InformationWindow::revert);
+ connect(submitButton, &QPushButton::clicked, this, &InformationWindow::submit);
//! [8]
//! [9]
diff --git a/examples/sql/drilldown/informationwindow.h b/examples/sql/drilldown/informationwindow.h
index 6e87cea65a..653837d722 100644
--- a/examples/sql/drilldown/informationwindow.h
+++ b/examples/sql/drilldown/informationwindow.h
@@ -61,9 +61,9 @@ class InformationWindow : public QDialog
public:
InformationWindow(int id, QSqlRelationalTableModel *items,
- QWidget *parent = 0);
+ QWidget *parent = nullptr);
- int id();
+ int id() const;
signals:
void imageChanged(int id, const QString &fileName);
@@ -83,16 +83,16 @@ private:
int itemId;
QString displayedImage;
- QComboBox *imageFileEditor;
- QLabel *itemText;
- QTextEdit *descriptionEditor;
+ QComboBox *imageFileEditor = nullptr;
+ QLabel *itemText = nullptr;
+ QTextEdit *descriptionEditor = nullptr;
- QPushButton *closeButton;
- QPushButton *submitButton;
- QPushButton *revertButton;
- QDialogButtonBox *buttonBox;
+ QPushButton *closeButton = nullptr;
+ QPushButton *submitButton = nullptr;
+ QPushButton *revertButton = nullptr;
+ QDialogButtonBox *buttonBox = nullptr;
- QDataWidgetMapper *mapper;
+ QDataWidgetMapper *mapper = nullptr;
};
//! [2]
diff --git a/examples/sql/drilldown/main.cpp b/examples/sql/drilldown/main.cpp
index 3465d11b4d..db3320de48 100644
--- a/examples/sql/drilldown/main.cpp
+++ b/examples/sql/drilldown/main.cpp
@@ -48,10 +48,13 @@
**
****************************************************************************/
-#include <QtWidgets>
-
-#include "../connection.h"
#include "view.h"
+#include "../connection.h"
+
+#include <QApplication>
+
+#include <stdlib.h>
+
int main(int argc, char *argv[])
{
@@ -60,7 +63,7 @@ int main(int argc, char *argv[])
QApplication app(argc, argv);
if (!createConnection())
- return 1;
+ return EXIT_FAILURE;
View view("items", "images");
view.show();
diff --git a/examples/sql/drilldown/view.cpp b/examples/sql/drilldown/view.cpp
index fc05d2fcaf..13e9310061 100644
--- a/examples/sql/drilldown/view.cpp
+++ b/examples/sql/drilldown/view.cpp
@@ -89,8 +89,6 @@ void View::addItems()
int topMargin = 40;
for (int i = 0; i < itemCount; i++) {
- ImageItem *image;
- QGraphicsTextItem *label;
QSqlRecord record = itemTable->record(i);
int id = record.value("id").toInt();
@@ -101,12 +99,12 @@ void View::addItems()
int x = ((i % 2) * imageOffset) + leftMargin + columnOffset;
int y = ((i / 2) * imageOffset) + topMargin;
- image = new ImageItem(id, QPixmap(":/" + file));
+ ImageItem *image = new ImageItem(id, QPixmap(":/" + file));
image->setData(0, i);
image->setPos(x, y);
scene->addItem(image);
- label = scene->addText(item);
+ QGraphicsTextItem *label = scene->addText(item);
label->setDefaultTextColor(QColor("#d7d6d5"));
QPointF labelOffset((120 - label->boundingRect().width()) / 2, 120.0);
label->setPos(QPointF(x, y) + labelOffset);
@@ -133,22 +131,22 @@ void View::showInformation(ImageItem *image)
return;
InformationWindow *window = findWindow(id);
- if (window && window->isVisible()) {
- window->raise();
- window->activateWindow();
- } else if (window && !window->isVisible()) {
- window->show();
- } else {
- InformationWindow *window;
+ if (!window) {
window = new InformationWindow(id, itemTable, this);
- connect(window, SIGNAL(imageChanged(int,QString)),
- this, SLOT(updateImage(int,QString)));
+ connect(window, QOverload<int,const QString &>::of(&InformationWindow::imageChanged),
+ this, QOverload<int,const QString &>::of(&View::updateImage));
window->move(pos() + QPoint(20, 40));
window->show();
informationWindows.append(window);
}
+
+ if (window->isVisible()) {
+ window->raise();
+ window->activateWindow();
+ } else
+ window->show();
}
//! [6]
@@ -172,19 +170,13 @@ void View::updateImage(int id, const QString &fileName)
//! [7]
//! [8]
-InformationWindow* View::findWindow(int id)
+InformationWindow *View::findWindow(int id) const
{
- QList<InformationWindow*>::iterator i, beginning, end;
-
- beginning = informationWindows.begin();
- end = informationWindows.end();
-
- for (i = beginning; i != end; ++i) {
- InformationWindow *window = (*i);
+ for (auto window : informationWindows) {
if (window && (window->id() == id))
return window;
}
- return 0;
+ return nullptr;
}
//! [8]
diff --git a/examples/sql/drilldown/view.h b/examples/sql/drilldown/view.h
index 9d6ef0e853..5afa1a25e9 100644
--- a/examples/sql/drilldown/view.h
+++ b/examples/sql/drilldown/view.h
@@ -63,7 +63,7 @@ class View : public QGraphicsView
Q_OBJECT
public:
- View(const QString &items, const QString &images, QWidget *parent = 0);
+ View(const QString &items, const QString &images, QWidget *parent = nullptr);
protected:
void mouseReleaseEvent(QMouseEvent *event) override;
@@ -77,7 +77,7 @@ private slots:
//! [2]
private:
void addItems();
- InformationWindow* findWindow(int id);
+ InformationWindow *findWindow(int id) const;
void showInformation(ImageItem *image);
QGraphicsScene *scene;