summaryrefslogtreecommitdiffstats
path: root/tests/manual
diff options
context:
space:
mode:
authorMorten Johan Sorvig <morten.sorvig@nokia.com>2012-03-21 11:07:35 +0100
committerQt by Nokia <qt-info@nokia.com>2012-04-20 10:29:14 +0200
commit128b7c56b732cabdbd600445aac5162c775e58d4 (patch)
treec6699b97cdd9522bb24cf8588810c12d03dd60bc /tests/manual
parent872f567d530daad7d897767fd56e061d8f4e5f36 (diff)
Implement QCocoaWindow::setWindowState.
Add window state change notification logic. Send and expose event in addition to window state change on window restore since the QWidget logic expects this. Modify QCocoaWindow::setVisible to sync up window state that may have been set on the hidden window. Refactor NSWindow event observing to use one observer function for all notifications. Add window state testing to tests/manual/windowflags Add delay after showFullScreen in tst_qstatusbar to wait for the Lion fullscreen transition. Change-Id: I57c523cedd0644d4181b40d72046fad4fdb09a9c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'tests/manual')
-rw-r--r--tests/manual/windowflags/controllerwindow.cpp35
-rw-r--r--tests/manual/windowflags/controllerwindow.h10
-rw-r--r--tests/manual/windowflags/previewwindow.cpp6
-rw-r--r--tests/manual/windowflags/previewwindow.h6
-rw-r--r--tests/manual/windowflags/windowflags.pro1
5 files changed, 54 insertions, 4 deletions
diff --git a/tests/manual/windowflags/controllerwindow.cpp b/tests/manual/windowflags/controllerwindow.cpp
index 586691a37d..cee8976cfe 100644
--- a/tests/manual/windowflags/controllerwindow.cpp
+++ b/tests/manual/windowflags/controllerwindow.cpp
@@ -62,6 +62,7 @@ ControllerWindow::ControllerWindow()
previewDialog = new PreviewDialog;
createTypeGroupBox();
+ createStateGroupBox();
createHintsGroupBox();
quitButton = new QPushButton(tr("&Quit"));
@@ -73,6 +74,7 @@ ControllerWindow::ControllerWindow()
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(widgetTypeGroupBox);
+ mainLayout->addWidget(windowStateGroupBox);
mainLayout->addWidget(additionalOptionsGroupBox);
mainLayout->addWidget(typeGroupBox);
mainLayout->addWidget(hintsGroupBox);
@@ -165,7 +167,17 @@ void ControllerWindow::updatePreview()
if (pos.y() < 0)
pos.setY(0);
widget->move(pos);
- widget->show();
+
+ Qt::WindowState windowState = Qt::WindowNoState;
+ if (minimizeButton->isChecked())
+ windowState = Qt::WindowMinimized;
+ else if (maximizeButton->isChecked())
+ windowState = Qt::WindowMaximized;
+ else if (fullscreenButton->isChecked())
+ windowState = Qt::WindowFullScreen;
+
+ widget->setWindowState(windowState);
+ widget->setVisible(visibleCheckBox->isChecked());
}
void ControllerWindow::createTypeGroupBox()
@@ -212,6 +224,27 @@ void ControllerWindow::createTypeGroupBox()
}
//! [5]
+void ControllerWindow::createStateGroupBox()
+{
+ windowStateGroupBox = new QGroupBox(tr("Window State"));
+ visibleCheckBox = createCheckBox(tr("Visible"));
+ visibleCheckBox->setChecked(true);
+
+ restoreButton = createRadioButton(tr("Normal"));
+ restoreButton->setChecked(true);
+ minimizeButton = createRadioButton(tr("Minimized"));
+ maximizeButton = createRadioButton(tr("Maximized"));
+ fullscreenButton = createRadioButton(tr("Fullscreen"));;
+
+ QHBoxLayout *l = new QHBoxLayout;
+ l->addWidget(visibleCheckBox);
+ l->addWidget(restoreButton);
+ l->addWidget(minimizeButton);
+ l->addWidget(maximizeButton);
+ l->addWidget(fullscreenButton);
+ windowStateGroupBox->setLayout(l);
+}
+
//! [6]
void ControllerWindow::createHintsGroupBox()
{
diff --git a/tests/manual/windowflags/controllerwindow.h b/tests/manual/windowflags/controllerwindow.h
index 02827cffd8..02a8eb98ab 100644
--- a/tests/manual/windowflags/controllerwindow.h
+++ b/tests/manual/windowflags/controllerwindow.h
@@ -42,7 +42,7 @@
#ifndef CONTROLLERWINDOW_H
#define CONTROLLERWINDOW_H
-#include <QWidget>
+#include <QtWidgets/QWidget>
#include "previewwindow.h"
@@ -68,6 +68,7 @@ private slots:
private:
void createTypeGroupBox();
+ void createStateGroupBox();
void createHintsGroupBox();
QCheckBox *createCheckBox(const QString &text);
QRadioButton *createRadioButton(const QString &text);
@@ -77,6 +78,7 @@ private:
PreviewDialog *previewDialog;
QGroupBox *widgetTypeGroupBox;
+ QGroupBox *windowStateGroupBox;
QGroupBox *additionalOptionsGroupBox;
QGroupBox *typeGroupBox;
QGroupBox *hintsGroupBox;
@@ -87,6 +89,12 @@ private:
QCheckBox *modalWindowCheckBox;
QCheckBox *fixedSizeWindowCheckBox;
+ QCheckBox *visibleCheckBox;
+ QRadioButton *restoreButton;
+ QRadioButton *minimizeButton;
+ QRadioButton *maximizeButton;
+ QRadioButton *fullscreenButton;
+
QRadioButton *windowRadioButton;
QRadioButton *dialogRadioButton;
QRadioButton *sheetRadioButton;
diff --git a/tests/manual/windowflags/previewwindow.cpp b/tests/manual/windowflags/previewwindow.cpp
index 684d1ee1fe..ba5399dd68 100644
--- a/tests/manual/windowflags/previewwindow.cpp
+++ b/tests/manual/windowflags/previewwindow.cpp
@@ -107,6 +107,8 @@ PreviewWindow::PreviewWindow(QWidget *parent)
showNormalButton = new QPushButton(tr("Show normal"));
connect(showNormalButton, SIGNAL(clicked()), this, SLOT(showNormal()));
+ showMinimizedButton = new QPushButton(tr("Show minimized"));
+ connect(showMinimizedButton, SIGNAL(clicked()), this, SLOT(showMinimized()));
showMaximizedButton = new QPushButton(tr("Show maximized"));
connect(showMaximizedButton, SIGNAL(clicked()), this, SLOT(showMaximized()));
showFullScreenButton = new QPushButton(tr("Show fullscreen"));
@@ -115,6 +117,7 @@ PreviewWindow::PreviewWindow(QWidget *parent)
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(textEdit);
layout->addWidget(showNormalButton);
+ layout->addWidget(showMinimizedButton);
layout->addWidget(showMaximizedButton);
layout->addWidget(showFullScreenButton);
layout->addWidget(closeButton);
@@ -143,6 +146,8 @@ PreviewDialog::PreviewDialog(QWidget *parent)
showNormalButton = new QPushButton(tr("Show normal"));
connect(showNormalButton, SIGNAL(clicked()), this, SLOT(showNormal()));
+ showMinimizedButton = new QPushButton(tr("Show minimized"));
+ connect(showMinimizedButton, SIGNAL(clicked()), this, SLOT(showMinimized()));
showMaximizedButton = new QPushButton(tr("Show maximized"));
connect(showMaximizedButton, SIGNAL(clicked()), this, SLOT(showMaximized()));
showFullScreenButton = new QPushButton(tr("Show fullscreen"));
@@ -151,6 +156,7 @@ PreviewDialog::PreviewDialog(QWidget *parent)
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(textEdit);
layout->addWidget(showNormalButton);
+ layout->addWidget(showMinimizedButton);
layout->addWidget(showMaximizedButton);
layout->addWidget(showFullScreenButton);
layout->addWidget(closeButton);
diff --git a/tests/manual/windowflags/previewwindow.h b/tests/manual/windowflags/previewwindow.h
index 42189016e1..9ff091f304 100644
--- a/tests/manual/windowflags/previewwindow.h
+++ b/tests/manual/windowflags/previewwindow.h
@@ -42,8 +42,8 @@
#ifndef PREVIEWWINDOW_H
#define PREVIEWWINDOW_H
-#include <QWidget>
-#include <QDialog>
+#include <QtWidgets/QWidget>
+#include <QtWidgets/QDialog>
QT_BEGIN_NAMESPACE
class QPushButton;
@@ -63,6 +63,7 @@ private:
QTextEdit *textEdit;
QPushButton *closeButton;
QPushButton *showNormalButton;
+ QPushButton *showMinimizedButton;
QPushButton *showMaximizedButton;
QPushButton *showFullScreenButton;
};
@@ -80,6 +81,7 @@ private:
QTextEdit *textEdit;
QPushButton *closeButton;
QPushButton *showNormalButton;
+ QPushButton *showMinimizedButton;
QPushButton *showMaximizedButton;
QPushButton *showFullScreenButton;
};
diff --git a/tests/manual/windowflags/windowflags.pro b/tests/manual/windowflags/windowflags.pro
index 06def212b3..81ca7ad0e0 100644
--- a/tests/manual/windowflags/windowflags.pro
+++ b/tests/manual/windowflags/windowflags.pro
@@ -5,3 +5,4 @@ HEADERS = controllerwindow.h \
SOURCES = controllerwindow.cpp \
previewwindow.cpp \
main.cpp
+QT += widgets