From 09d3ebbf2a422e5e19528877e5e2fcdab6a889f7 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 11 Jul 2012 15:12:26 +0200 Subject: [PATCH] Improve windowflags, windowgeometry manual tests. - Make them compile with 4.8 for comparison - Add Active to WindowStates control - Add -layout option to windowgeometry Change-Id: I052330eb8689883c104a0552708ea700c7cd790a Reviewed-by: Joerg Bornemann Reviewed-by: Thomas McGuire --- tests/manual/windowflags/controllerwindow.cpp | 25 +++++++++------- tests/manual/windowflags/controllerwindow.h | 2 +- tests/manual/windowflags/controls.cpp | 30 +++++++++++++++++++ tests/manual/windowflags/controls.h | 6 +++- tests/manual/windowflags/previewwindow.cpp | 6 ++-- tests/manual/windowflags/previewwindow.h | 3 +- tests/manual/windowflags/windowflags.pro | 4 +-- .../windowgeometry/controllerwidget.cpp | 7 ++++- 8 files changed, 62 insertions(+), 21 deletions(-) diff --git a/tests/manual/windowflags/controllerwindow.cpp b/tests/manual/windowflags/controllerwindow.cpp index 1b547117d7..5c6bd5be81 100644 --- a/tests/manual/windowflags/controllerwindow.cpp +++ b/tests/manual/windowflags/controllerwindow.cpp @@ -39,14 +39,14 @@ ** ****************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include #include "controllerwindow.h" #include "controls.h" @@ -75,7 +75,7 @@ ControllerWindow::ControllerWindow() hintsControl->setHints(previewWindow->windowFlags()); connect(hintsControl, SIGNAL(changed(Qt::WindowFlags)), this, SLOT(updatePreview())); - statesControl = new WindowStatesControl(WindowStatesControl::WantVisibleCheckBox); + statesControl = new WindowStatesControl(WindowStatesControl::WantVisibleCheckBox|WindowStatesControl::WantActiveCheckBox); statesControl->setStates(previewWindow->windowState()); statesControl->setVisibleValue(true); connect(statesControl, SIGNAL(changed()), this, SLOT(updatePreview())); @@ -94,7 +94,12 @@ ControllerWindow::ControllerWindow() setLayout(mainLayout); setWindowTitle(tr("Window Flags (Qt version %1, %2)") - .arg(QLatin1String(qVersion()), qApp->platformName())); + .arg(QLatin1String(qVersion()), +#if QT_VERSION >= 0x050000 + qApp->platformName())); +#else + QLatin1String(""))); +#endif updatePreview(); } diff --git a/tests/manual/windowflags/controllerwindow.h b/tests/manual/windowflags/controllerwindow.h index 5f6edbb3cb..48b981b576 100644 --- a/tests/manual/windowflags/controllerwindow.h +++ b/tests/manual/windowflags/controllerwindow.h @@ -42,7 +42,7 @@ #ifndef CONTROLLERWINDOW_H #define CONTROLLERWINDOW_H -#include +#include #include "previewwindow.h" diff --git a/tests/manual/windowflags/controls.cpp b/tests/manual/windowflags/controls.cpp index 7cb2a1419e..f1bd3ba1a5 100644 --- a/tests/manual/windowflags/controls.cpp +++ b/tests/manual/windowflags/controls.cpp @@ -98,6 +98,9 @@ HintControl::HintControl(QWidget *parent) layout->addWidget(windowStaysOnBottomCheckBox, 6, 1); layout->addWidget(customizeWindowHintCheckBox, 5, 0); layout->addWidget(transparentForInputCheckBox, 6, 0); +#if QT_VERSION < 0x050000 + transparentForInputCheckBox->setEnabled(false); +#endif } Qt::WindowFlags HintControl::hints() const @@ -129,8 +132,10 @@ Qt::WindowFlags HintControl::hints() const flags |= Qt::WindowStaysOnBottomHint; if (customizeWindowHintCheckBox->isChecked()) flags |= Qt::CustomizeWindowHint; +#if QT_VERSION >= 0x050000 if (transparentForInputCheckBox->isChecked()) flags |= Qt::WindowTransparentForInput; +#endif return flags; } @@ -149,7 +154,9 @@ void HintControl::setHints(Qt::WindowFlags flags) windowStaysOnTopCheckBox->setChecked(flags & Qt::WindowStaysOnTopHint); windowStaysOnBottomCheckBox->setChecked(flags & Qt::WindowStaysOnBottomHint); customizeWindowHintCheckBox->setChecked(flags & Qt::CustomizeWindowHint); +#if QT_VERSION >= 0x050000 transparentForInputCheckBox->setChecked(flags & Qt::WindowTransparentForInput); +#endif } void HintControl::slotCheckBoxChanged() @@ -220,6 +227,7 @@ void WindowStateControl::setVisibleValue(bool v) WindowStatesControl::WindowStatesControl(unsigned flags, QWidget *parent) : QGroupBox(tr("States"), parent) , visibleCheckBox(0) + , activeCheckBox(0) , minimizeCheckBox(new QCheckBox(tr("Minimized"))) , stateControl(new WindowStateControl(0)) { @@ -231,6 +239,11 @@ WindowStatesControl::WindowStatesControl(unsigned flags, QWidget *parent) connect(visibleCheckBox, SIGNAL(toggled(bool)), this, SIGNAL(changed())); layout->addWidget(visibleCheckBox); } + if (flags & WantActiveCheckBox) { + activeCheckBox = new QCheckBox(tr("Active")); + connect(activeCheckBox, SIGNAL(toggled(bool)), this, SIGNAL(changed())); + layout->addWidget(activeCheckBox); + } layout->addWidget(minimizeCheckBox); layout->addWidget(stateControl); connect(stateControl, SIGNAL(changed()), this, SIGNAL(changed())); @@ -242,6 +255,8 @@ Qt::WindowStates WindowStatesControl::states() const Qt::WindowStates s = stateControl->state(); if (minimizeCheckBox->isChecked()) s |= Qt::WindowMinimized; + if (activeValue()) + s |= Qt::WindowActive; return s; } @@ -252,6 +267,7 @@ void WindowStatesControl::setStates(Qt::WindowStates s) minimizeCheckBox->blockSignals(false); s &= ~Qt::WindowMinimized; stateControl->setState(Qt::WindowState(int(s))); + setActiveValue(s & Qt::WindowActive); } bool WindowStatesControl::visibleValue() const @@ -268,6 +284,20 @@ void WindowStatesControl::setVisibleValue(bool v) } } +bool WindowStatesControl::activeValue() const +{ + return activeCheckBox && activeCheckBox->isChecked(); +} + +void WindowStatesControl::setActiveValue(bool v) +{ + if (activeCheckBox) { + activeCheckBox->blockSignals(true); + activeCheckBox->setChecked(v); + activeCheckBox->blockSignals(false); + } +} + TypeControl::TypeControl(QWidget *parent) : QGroupBox(tr("Type"), parent) , group(new QButtonGroup) diff --git a/tests/manual/windowflags/controls.h b/tests/manual/windowflags/controls.h index 45f295e83c..68d89a89d1 100644 --- a/tests/manual/windowflags/controls.h +++ b/tests/manual/windowflags/controls.h @@ -121,7 +121,8 @@ class WindowStatesControl : public QGroupBox Q_OBJECT public: enum Flags { - WantVisibleCheckBox = 0x1 + WantVisibleCheckBox = 0x1, + WantActiveCheckBox = 0x2 }; explicit WindowStatesControl(unsigned flags, QWidget *parent= 0); @@ -131,12 +132,15 @@ public: bool visibleValue() const; void setVisibleValue(bool); + bool activeValue() const; + void setActiveValue(bool v); signals: void changed(); private: QCheckBox *visibleCheckBox; + QCheckBox *activeCheckBox; QCheckBox *minimizeCheckBox; WindowStateControl *stateControl; }; diff --git a/tests/manual/windowflags/previewwindow.cpp b/tests/manual/windowflags/previewwindow.cpp index ba5399dd68..b129855b5d 100644 --- a/tests/manual/windowflags/previewwindow.cpp +++ b/tests/manual/windowflags/previewwindow.cpp @@ -39,9 +39,9 @@ ** ****************************************************************************/ -#include -#include -#include +#include +#include +#include #include "previewwindow.h" diff --git a/tests/manual/windowflags/previewwindow.h b/tests/manual/windowflags/previewwindow.h index 9ff091f304..c69c1c5169 100644 --- a/tests/manual/windowflags/previewwindow.h +++ b/tests/manual/windowflags/previewwindow.h @@ -42,8 +42,7 @@ #ifndef PREVIEWWINDOW_H #define PREVIEWWINDOW_H -#include -#include +#include QT_BEGIN_NAMESPACE class QPushButton; diff --git a/tests/manual/windowflags/windowflags.pro b/tests/manual/windowflags/windowflags.pro index 46e9475800..ba0f75b65c 100644 --- a/tests/manual/windowflags/windowflags.pro +++ b/tests/manual/windowflags/windowflags.pro @@ -1,5 +1,3 @@ -QT += widgets - HEADERS = controllerwindow.h \ previewwindow.h \ controls.h @@ -9,4 +7,4 @@ SOURCES = controllerwindow.cpp \ main.cpp \ controls.cpp -QT += widgets +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets diff --git a/tests/manual/windowgeometry/controllerwidget.cpp b/tests/manual/windowgeometry/controllerwidget.cpp index e45b05776d..a53739881b 100644 --- a/tests/manual/windowgeometry/controllerwidget.cpp +++ b/tests/manual/windowgeometry/controllerwidget.cpp @@ -269,7 +269,7 @@ private: WidgetWindowControl::WidgetWindowControl(QWidget *w ) : BaseWindowControl(w) - , m_statesControl(new WindowStatesControl(WindowStatesControl::WantVisibleCheckBox)) + , m_statesControl(new WindowStatesControl(WindowStatesControl::WantVisibleCheckBox | WindowStatesControl::WantActiveCheckBox)) { setTitle(w->windowTitle()); m_layout->addWidget(m_statesControl, 2, 0); @@ -435,6 +435,11 @@ ControllerWidget::ControllerWidget(QWidget *parent) x += 800; m_testWidget->setWindowTitle(tr("TestWidget")); + if (args.contains(QLatin1String("-layout"))) { + QVBoxLayout *layout = new QVBoxLayout(m_testWidget.data()); + QLabel *label = new QLabel("Hallo"); + layout->addWidget(label); + } m_testWidget->move(x, y); m_testWidget->resize(200, 200); m_testWidget->show();