summaryrefslogtreecommitdiffstats
path: root/tests/manual/windowflags
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/windowflags')
-rw-r--r--tests/manual/windowflags/CMakeLists.txt7
-rw-r--r--tests/manual/windowflags/controllerwindow.cpp79
-rw-r--r--tests/manual/windowflags/controllerwindow.h29
-rw-r--r--tests/manual/windowflags/controls.cpp48
-rw-r--r--tests/manual/windowflags/controls.h30
-rw-r--r--tests/manual/windowflags/main.cpp29
-rw-r--r--tests/manual/windowflags/previewwindow.cpp36
-rw-r--r--tests/manual/windowflags/previewwindow.h29
8 files changed, 40 insertions, 247 deletions
diff --git a/tests/manual/windowflags/CMakeLists.txt b/tests/manual/windowflags/CMakeLists.txt
index 5c4941bec8..27e4fd5ba6 100644
--- a/tests/manual/windowflags/CMakeLists.txt
+++ b/tests/manual/windowflags/CMakeLists.txt
@@ -1,4 +1,5 @@
-# Generated from windowflags.pro.
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
#####################################################################
## tst_manual_windowflags Binary:
@@ -11,7 +12,9 @@ qt_internal_add_manual_test(tst_manual_windowflags
controls.cpp controls.h
main.cpp
previewwindow.cpp previewwindow.h
- PUBLIC_LIBRARIES
+ NO_PCH_SOURCES
+ controls.cpp # undef QT_NO_FOREACH
+ LIBRARIES
Qt::Gui
Qt::Widgets
)
diff --git a/tests/manual/windowflags/controllerwindow.cpp b/tests/manual/windowflags/controllerwindow.cpp
index 7477e21d46..32979c1cd3 100644
--- a/tests/manual/windowflags/controllerwindow.cpp
+++ b/tests/manual/windowflags/controllerwindow.cpp
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include "controllerwindow.h"
#include "controls.h"
@@ -32,23 +7,19 @@
#include <QAction>
#include <QApplication>
#include <QCheckBox>
+#include <QDebug>
#include <QGroupBox>
#include <QHBoxLayout>
#include <QLabel>
+#include <QLibraryInfo>
+#include <qlogging.h>
#include <QMainWindow>
#include <QMenu>
+#include <QMoveEvent>
#include <QPushButton>
#include <QRadioButton>
#include <QTabWidget>
-
-#include <QMoveEvent>
-
-#if QT_VERSION >= 0x050000
-# include <QWindow>
-# include <qlogging.h>
-# include <QLibraryInfo>
-#endif
-#include <QDebug>
+#include <QWindow>
ControllerWidget::ControllerWidget(QWidget *parent)
: QWidget(parent)
@@ -224,10 +195,8 @@ static bool isTopLevel(const QObject *o)
{
if (o->isWidgetType())
return static_cast<const QWidget *>(o)->isWindow();
-#if QT_VERSION >= 0x050000
if (o->isWindowType())
return static_cast<const QWindow *>(o)->isTopLevel();
-#endif
return false;
}
@@ -238,10 +207,8 @@ static Qt::WindowStates windowState(const QObject *o)
states &= ~Qt::WindowActive;
return states;
}
-#if QT_VERSION >= 0x050000
if (o->isWindowType())
- return static_cast<const QWindow *>(o)->windowState();
-#endif
+ return static_cast<const QWindow *>(o)->windowStates();
return Qt::WindowNoState;
}
@@ -257,9 +224,7 @@ public:
case QEvent::WindowStateChange:
case QEvent::ApplicationActivate:
case QEvent::ApplicationDeactivate:
-#if QT_VERSION >= 0x050000
case QEvent::ApplicationStateChange:
-#endif
if (isTopLevel(o))
formatEvent(o, e);
break;
@@ -274,9 +239,7 @@ private:
{
static int n = 0;
QDebug debug = qDebug().nospace();
-#if QT_VERSION >= 0x050000
debug.noquote();
-#endif
debug << '#' << n++ << ' ' << o->metaObject()->className();
const QString name = o->objectName();
if (!name.isEmpty())
@@ -289,19 +252,15 @@ private:
LogWidget *LogWidget::m_instance = 0;
-#if QT_VERSION >= 0x050000
-static void qt5MessageHandler(QtMsgType, const QMessageLogContext &, const QString &text)
+static QtMessageHandler originalMessageHandler = nullptr;
+
+static void messageHandler(QtMsgType type, const QMessageLogContext &context, const QString &text)
{
if (LogWidget *lw = LogWidget::instance())
lw->appendText(text);
+
+ originalMessageHandler(type, context, text);
}
-#else // Qt 5
-static void qt4MessageHandler(QtMsgType, const char *text)
-{
- if (LogWidget *lw = LogWidget::instance())
- lw->appendText(QString::fromLocal8Bit(text));
-}
-#endif // Qt 4
LogWidget::LogWidget(QWidget *parent)
: QPlainTextEdit(parent)
@@ -318,21 +277,15 @@ LogWidget::~LogWidget()
void LogWidget::install()
{
- qInstallMessageHandler(qt5MessageHandler);
+ originalMessageHandler = qInstallMessageHandler(messageHandler);
}
QString LogWidget::startupMessage()
{
QString result;
-#if QT_VERSION >= 0x050300
result += QLatin1String(QLibraryInfo::build());
-#else
- result += QLatin1String("Qt ") + QLatin1String(QT_VERSION_STR);
-#endif
-#if QT_VERSION >= 0x050000
result += QLatin1Char(' ');
result += QGuiApplication::platformName();
-#endif
return result;
}
@@ -346,11 +299,7 @@ ControllerWindow::ControllerWindow()
{
setWindowTitle(tr("Window Flags (Qt version %1, %2)")
.arg(QLatin1String(qVersion()),
-#if QT_VERSION >= 0x050000
qApp->platformName()));
-#else
- QLatin1String("<unknown>")));
-#endif
QVBoxLayout *layout = new QVBoxLayout(this);
QTabWidget *tabWidget = new QTabWidget(this);
diff --git a/tests/manual/windowflags/controllerwindow.h b/tests/manual/windowflags/controllerwindow.h
index e4d8f2df0c..c51ed45a2e 100644
--- a/tests/manual/windowflags/controllerwindow.h
+++ b/tests/manual/windowflags/controllerwindow.h
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef CONTROLLERWINDOW_H
#define CONTROLLERWINDOW_H
diff --git a/tests/manual/windowflags/controls.cpp b/tests/manual/windowflags/controls.cpp
index 88c9393053..97bedd0331 100644
--- a/tests/manual/windowflags/controls.cpp
+++ b/tests/manual/windowflags/controls.cpp
@@ -1,30 +1,7 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses
#include "controls.h"
@@ -54,6 +31,7 @@ HintControl::HintControl(QWidget *parent)
, windowStaysOnBottomCheckBox(new QCheckBox(tr("Window stays on bottom")))
, customizeWindowHintCheckBox(new QCheckBox(tr("Customize window")))
, transparentForInputCheckBox(new QCheckBox(tr("Transparent for input")))
+ , noDropShadowCheckBox(new QCheckBox(tr("No drop shadow")))
{
connect(msWindowsFixedSizeDialogCheckBox, SIGNAL(clicked()), this, SLOT(slotCheckBoxChanged()));
connect(x11BypassWindowManagerCheckBox, SIGNAL(clicked()), this, SLOT(slotCheckBoxChanged()));
@@ -70,6 +48,7 @@ HintControl::HintControl(QWidget *parent)
connect(windowStaysOnBottomCheckBox, SIGNAL(clicked()), this, SLOT(slotCheckBoxChanged()));
connect(customizeWindowHintCheckBox, SIGNAL(clicked()), this, SLOT(slotCheckBoxChanged()));
connect(transparentForInputCheckBox, SIGNAL(clicked()), this, SLOT(slotCheckBoxChanged()));
+ connect(noDropShadowCheckBox, SIGNAL(clicked()), this, SLOT(slotCheckBoxChanged()));
QGridLayout *layout = new QGridLayout(this);
layout->setSpacing(0);
layout->setContentsMargins(ControlLayoutMargin, ControlLayoutMargin,
@@ -89,9 +68,7 @@ HintControl::HintControl(QWidget *parent)
layout->addWidget(windowStaysOnBottomCheckBox, 7, 1);
layout->addWidget(customizeWindowHintCheckBox, 5, 0);
layout->addWidget(transparentForInputCheckBox, 6, 0);
-#if QT_VERSION < 0x050000
- transparentForInputCheckBox->setEnabled(false);
-#endif
+ layout->addWidget(noDropShadowCheckBox, 7, 0);
}
Qt::WindowFlags HintControl::hints() const
@@ -111,10 +88,8 @@ Qt::WindowFlags HintControl::hints() const
flags |= Qt::WindowMinimizeButtonHint;
if (windowMaximizeButtonCheckBox->isChecked())
flags |= Qt::WindowMaximizeButtonHint;
-#if QT_VERSION >= 0x050000
if (windowFullscreenButtonCheckBox->isChecked())
flags |= Qt::WindowFullscreenButtonHint;
-#endif
if (windowCloseButtonCheckBox->isChecked())
flags |= Qt::WindowCloseButtonHint;
if (windowContextHelpButtonCheckBox->isChecked())
@@ -127,10 +102,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
+ if (noDropShadowCheckBox->isChecked())
+ flags |= Qt::NoDropShadowWindowHint;
return flags;
}
@@ -143,18 +118,15 @@ void HintControl::setHints(Qt::WindowFlags flags)
windowSystemMenuCheckBox->setChecked(flags & Qt::WindowSystemMenuHint);
windowMinimizeButtonCheckBox->setChecked(flags & Qt::WindowMinimizeButtonHint);
windowMaximizeButtonCheckBox->setChecked(flags & Qt::WindowMaximizeButtonHint);
-#if QT_VERSION >= 0x050000
windowFullscreenButtonCheckBox->setChecked(flags & Qt::WindowFullscreenButtonHint);
-#endif
windowCloseButtonCheckBox->setChecked(flags & Qt::WindowCloseButtonHint);
windowContextHelpButtonCheckBox->setChecked(flags & Qt::WindowContextHelpButtonHint);
windowShadeButtonCheckBox->setChecked(flags & Qt::WindowShadeButtonHint);
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
+ noDropShadowCheckBox->setChecked(flags & Qt::NoDropShadowWindowHint);
}
void HintControl::slotCheckBoxChanged()
diff --git a/tests/manual/windowflags/controls.h b/tests/manual/windowflags/controls.h
index e140d813cc..7918468be8 100644
--- a/tests/manual/windowflags/controls.h
+++ b/tests/manual/windowflags/controls.h
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef CONTROLS_H
#define CONTROLS_H
@@ -71,6 +46,7 @@ private:
QCheckBox *windowStaysOnBottomCheckBox;
QCheckBox *customizeWindowHintCheckBox;
QCheckBox *transparentForInputCheckBox;
+ QCheckBox *noDropShadowCheckBox;
};
// Control for the Qt::WindowState enum, optional with a "visible" QCheckbox
diff --git a/tests/manual/windowflags/main.cpp b/tests/manual/windowflags/main.cpp
index 4da878d8cc..ad99b92d13 100644
--- a/tests/manual/windowflags/main.cpp
+++ b/tests/manual/windowflags/main.cpp
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QApplication>
#include <QStringList>
diff --git a/tests/manual/windowflags/previewwindow.cpp b/tests/manual/windowflags/previewwindow.cpp
index 893dbc9a41..5a048ef5cf 100644
--- a/tests/manual/windowflags/previewwindow.cpp
+++ b/tests/manual/windowflags/previewwindow.cpp
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QPlainTextEdit>
#include <QPushButton>
@@ -79,13 +54,8 @@ static void formatWindowFlags(QTextStream &str, Qt::WindowFlags flags)
if (flags & Qt::MSWindowsFixedSizeDialogHint)
str << "\n| Qt::MSWindowsFixedSizeDialogHint";
-#if QT_VERSION >= 0x050000
if (flags & Qt::BypassWindowManagerHint)
str << "\n| Qt::BypassWindowManagerHint";
-#else
- if (flags & Qt::X11BypassWindowManagerHint)
- str << "\n| Qt::X11BypassWindowManagerHint";
-#endif
if (flags & Qt::FramelessWindowHint)
str << "\n| Qt::FramelessWindowHint";
if (flags & Qt::WindowTitleHint)
@@ -108,7 +78,6 @@ static void formatWindowFlags(QTextStream &str, Qt::WindowFlags flags)
str << "\n| Qt::CustomizeWindowHint";
if (flags & Qt::WindowStaysOnBottomHint)
str << "\n| Qt::WindowStaysOnBottomHint";
-#if QT_VERSION >= 0x050000
if (flags & Qt::WindowFullscreenButtonHint)
str << "\n| Qt::WindowFullscreenButtonHint";
if (flags & Qt::WindowTransparentForInput)
@@ -121,7 +90,6 @@ static void formatWindowFlags(QTextStream &str, Qt::WindowFlags flags)
str << "\n| Qt::MaximizeUsingFullscreenGeometryHint";
if (flags & Qt::NoDropShadowWindowHint)
str << "\n| Qt::NoDropShadowWindowHint";
-#endif // Qt 5
}
static void formatWindowStates(QTextStream &str, Qt::WindowStates states)
diff --git a/tests/manual/windowflags/previewwindow.h b/tests/manual/windowflags/previewwindow.h
index ab309a0139..3bfae9c0e9 100644
--- a/tests/manual/windowflags/previewwindow.h
+++ b/tests/manual/windowflags/previewwindow.h
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef PREVIEWWINDOW_H
#define PREVIEWWINDOW_H