summaryrefslogtreecommitdiffstats
path: root/examples/qpa
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2012-09-28 17:14:44 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-10-01 10:20:09 +0200
commitc6271071b4d0686fef8fe3df215ce84be0305a8b (patch)
tree5b65a9703309b4df09eadd03460ed93a6722f2b3 /examples/qpa
parentaf83eecd76962881e2a484ce173f13fbd080c7d1 (diff)
QPA/Windows example: Set proper window flags, titles, names.
Do not leak windows. Change-Id: I3af29ce597742cbe6444208aa72443c0507819db Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'examples/qpa')
-rw-r--r--examples/qpa/windows/main.cpp16
-rw-r--r--examples/qpa/windows/window.cpp7
2 files changed, 19 insertions, 4 deletions
diff --git a/examples/qpa/windows/main.cpp b/examples/qpa/windows/main.cpp
index 2e03d1d57b..da189ab447 100644
--- a/examples/qpa/windows/main.cpp
+++ b/examples/qpa/windows/main.cpp
@@ -41,35 +41,47 @@
#include <QGuiApplication>
#include <QScreen>
#include <QRect>
+#include <QSharedPointer>
#include "window.h"
int main(int argc, char **argv)
{
+ typedef QSharedPointer<QWindow> WindowPtr;
+
QGuiApplication app(argc, argv);
Window a;
+ a.setFramePos(QPoint(10, 10));
+ a.setWindowTitle(QStringLiteral("Window A"));
+ a.setObjectName(a.windowTitle());
a.setVisible(true);
Window b;
+ b.setFramePos(QPoint(100, 100));
+ b.setWindowTitle(QStringLiteral("Window B"));
+ b.setObjectName(b.windowTitle());
b.setVisible(true);
Window child(&b);
+ child.setObjectName(QStringLiteral("ChildOfB"));
child.setVisible(true);
// create one window on each additional screen as well
QList<QScreen *> screens = app.screens();
+ QList<WindowPtr> windows;
foreach (QScreen *screen, screens) {
if (screen == app.primaryScreen())
continue;
- Window *window = new Window(screen);
+ WindowPtr window(new Window(screen));
QRect geometry = window->geometry();
geometry.moveCenter(screen->availableGeometry().center());
window->setGeometry(geometry);
window->setVisible(true);
window->setWindowTitle(screen->name());
+ window->setObjectName(window->windowTitle());
+ windows.push_back(window);
}
-
return app.exec();
}
diff --git a/examples/qpa/windows/window.cpp b/examples/qpa/windows/window.cpp
index 664f74b651..a9f29274ac 100644
--- a/examples/qpa/windows/window.cpp
+++ b/examples/qpa/windows/window.cpp
@@ -73,10 +73,13 @@ void Window::initialize()
if (parent())
setGeometry(QRect(160, 120, 320, 240));
else {
- setGeometry(QRect(10, 10, 640, 480));
+ setWindowFlags(windowFlags() | Qt::WindowTitleHint | Qt::WindowSystemMenuHint
+ | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint);
+ const QSize baseSize = QSize(640, 480);
+ setGeometry(QRect(geometry().topLeft(), baseSize));
setSizeIncrement(QSize(10, 10));
- setBaseSize(QSize(640, 480));
+ setBaseSize(baseSize);
setMinimumSize(QSize(240, 160));
setMaximumSize(QSize(800, 600));
}