diff options
Diffstat (limited to 'tests/manual/windowflags')
-rw-r--r-- | tests/manual/windowflags/CMakeLists.txt | 7 | ||||
-rw-r--r-- | tests/manual/windowflags/controllerwindow.cpp | 79 | ||||
-rw-r--r-- | tests/manual/windowflags/controllerwindow.h | 29 | ||||
-rw-r--r-- | tests/manual/windowflags/controls.cpp | 48 | ||||
-rw-r--r-- | tests/manual/windowflags/controls.h | 30 | ||||
-rw-r--r-- | tests/manual/windowflags/main.cpp | 29 | ||||
-rw-r--r-- | tests/manual/windowflags/previewwindow.cpp | 36 | ||||
-rw-r--r-- | tests/manual/windowflags/previewwindow.h | 29 |
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 |