diff options
Diffstat (limited to 'tests/manual/highdpi')
-rw-r--r-- | tests/manual/highdpi/CMakeLists.txt | 7 | ||||
-rw-r--r-- | tests/manual/highdpi/dprgadget/CMakeLists.txt | 33 | ||||
-rw-r--r-- | tests/manual/highdpi/dprgadget/main.cpp | 39 | ||||
-rw-r--r-- | tests/manual/highdpi/highdpi.pro | 3 | ||||
-rw-r--r-- | tests/manual/highdpi/kitchensink/CMakeLists.txt | 9 | ||||
-rw-r--r-- | tests/manual/highdpi/kitchensink/dragwidget.cpp | 35 | ||||
-rw-r--r-- | tests/manual/highdpi/kitchensink/dragwidget.h | 29 | ||||
-rw-r--r-- | tests/manual/highdpi/kitchensink/main.cpp | 31 | ||||
-rw-r--r-- | tests/manual/highdpi/pixelgadget/CMakeLists.txt | 32 | ||||
-rw-r--r-- | tests/manual/highdpi/pixelgadget/main.cpp | 29 | ||||
-rw-r--r-- | tests/manual/highdpi/screengadget/CMakeLists.txt | 30 | ||||
-rw-r--r-- | tests/manual/highdpi/screengadget/main.cpp | 29 |
12 files changed, 78 insertions, 228 deletions
diff --git a/tests/manual/highdpi/CMakeLists.txt b/tests/manual/highdpi/CMakeLists.txt new file mode 100644 index 0000000000..1d5d0ad1ff --- /dev/null +++ b/tests/manual/highdpi/CMakeLists.txt @@ -0,0 +1,7 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +add_subdirectory(dprgadget) +add_subdirectory(kitchensink) +add_subdirectory(pixelgadget) +add_subdirectory(screengadget) diff --git a/tests/manual/highdpi/dprgadget/CMakeLists.txt b/tests/manual/highdpi/dprgadget/CMakeLists.txt index 6ed9aaf325..5cd0d5812e 100644 --- a/tests/manual/highdpi/dprgadget/CMakeLists.txt +++ b/tests/manual/highdpi/dprgadget/CMakeLists.txt @@ -1,20 +1,15 @@ -# special case skip regeneration -cmake_minimum_required(VERSION 3.16) -project(dprgadget LANGUAGES CXX) -set(CMAKE_AUTOMOC ON) - -find_package(Qt6 COMPONENTS Core) -find_package(Qt6 COMPONENTS Gui) -find_package(Qt6 COMPONENTS Widgets) - -qt_add_executable(dprgadget - main.cpp +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +##################################################################### +## dprgadget Binary: +##################################################################### + +qt_internal_add_manual_test(dprgadget + SOURCES + main.cpp + LIBRARIES + Qt::Gui + Qt::Widgets + Qt::GuiPrivate ) - -target_link_libraries(dprgadget PUBLIC - Qt::Core - Qt::Gui - Qt::GuiPrivate - Qt::Widgets -) - diff --git a/tests/manual/highdpi/dprgadget/main.cpp b/tests/manual/highdpi/dprgadget/main.cpp index 42a0e79c8c..26a653e849 100644 --- a/tests/manual/highdpi/dprgadget/main.cpp +++ b/tests/manual/highdpi/dprgadget/main.cpp @@ -1,31 +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) 2020 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only +#include <QtCore/qtversion.h> #include <QtGui/qpa/qplatformscreen.h> #include <QtGui/qpa/qplatformwindow.h> #include <QtGui/private/qhighdpiscaling_p.h> @@ -47,6 +23,7 @@ bool g_qtScaleFactor = false; bool g_qtUsePhysicalDpi = false; bool g_qtFontDpi = false; bool g_qtScaleFactorRoundingPolicy = false; +bool g_qtHighDpiDownscale = false; bool g_displayEvents = false; @@ -161,7 +138,7 @@ public: if (g_displayEvents) layout->addWidget(eventsLabel); - bool activeEnvironment = g_qtScaleFactor || g_qtUsePhysicalDpi || g_qtFontDpi || g_qtScaleFactorRoundingPolicy; + bool activeEnvironment = g_qtScaleFactor || g_qtUsePhysicalDpi || g_qtFontDpi || g_qtScaleFactorRoundingPolicy || g_qtHighDpiDownscale; if (activeEnvironment) { layout->addWidget(new QLabel("Active Environment:")); if (g_qtScaleFactor) { @@ -180,7 +157,10 @@ public: QString text = QString("QT_SCALE_FACTOR_ROUNDING_POLICY=") + qgetenv("QT_SCALE_FACTOR_ROUNDING_POLICY"); layout->addWidget(new QLabel(text)); } - + if (g_qtHighDpiDownscale) { + QString text = QString("QT_WIDGETS_HIGHDPI_DOWNSCALE=") + qgetenv("QT_WIDGETS_HIGHDPI_DOWNSCALE"); + layout->addWidget(new QLabel(text)); + } } auto updateValues = [=]() { @@ -269,6 +249,7 @@ int main(int argc, char **argv) { g_qtUsePhysicalDpi = qgetenv("QT_USE_PHYSICAL_DPI") == QByteArray("1"); g_qtFontDpi = qEnvironmentVariableIsSet("QT_FONT_DPI"); g_qtScaleFactorRoundingPolicy = qEnvironmentVariableIsSet("QT_SCALE_FACTOR_ROUNDING_POLICY"); + g_qtHighDpiDownscale = qEnvironmentVariableIsSet("QT_WIDGETS_HIGHDPI_DOWNSCALE"); QApplication app(argc, argv); diff --git a/tests/manual/highdpi/highdpi.pro b/tests/manual/highdpi/highdpi.pro new file mode 100644 index 0000000000..fcf4a5f09e --- /dev/null +++ b/tests/manual/highdpi/highdpi.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs + +SUBDIRS = dprgadget kitchensink pixelgadget screengadget diff --git a/tests/manual/highdpi/kitchensink/CMakeLists.txt b/tests/manual/highdpi/kitchensink/CMakeLists.txt index b8dfa9be37..e7558c19e0 100644 --- a/tests/manual/highdpi/kitchensink/CMakeLists.txt +++ b/tests/manual/highdpi/kitchensink/CMakeLists.txt @@ -1,4 +1,5 @@ -# Generated from kitchensink.pro. +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## kitchensink Binary: @@ -12,7 +13,7 @@ qt_internal_add_manual_test(kitchensink HAVE_SCREEN_BASE_DPI INCLUDE_DIRECTORIES . - PUBLIC_LIBRARIES + LIBRARIES Qt::Gui Qt::GuiPrivate Qt::Widgets @@ -34,7 +35,3 @@ qt_internal_add_resource(kitchensink "kitchensink" FILES ${kitchensink_resource_files} ) - - -#### Keys ignored in scope 1:.:.:kitchensink.pro:<TRUE>: -# TEMPLATE = "app" diff --git a/tests/manual/highdpi/kitchensink/dragwidget.cpp b/tests/manual/highdpi/kitchensink/dragwidget.cpp index bd65fcf81b..4088a56a80 100644 --- a/tests/manual/highdpi/kitchensink/dragwidget.cpp +++ b/tests/manual/highdpi/kitchensink/dragwidget.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 <QtWidgets> #include "dragwidget.h" @@ -109,8 +84,8 @@ void DragWidget::dropEvent(QDropEvent *event) { if (event->mimeData()->hasText()) { const QMimeData *mime = event->mimeData(); - QStringList pieces = mime->text().split(QRegularExpression("\\s+"), - Qt::SkipEmptyParts); + const QStringList pieces = mime->text().split(QRegularExpression("\\s+"), + Qt::SkipEmptyParts); QPoint position = event->pos(); QPoint hotSpot; @@ -123,7 +98,7 @@ void DragWidget::dropEvent(QDropEvent *event) dropTimer.start(500, this); update(); - foreach (QString piece, pieces) { + for (const QString &piece : pieces) { FramedLabel *newLabel = new FramedLabel(piece, this); newLabel->move(position - hotSpot); newLabel->show(); diff --git a/tests/manual/highdpi/kitchensink/dragwidget.h b/tests/manual/highdpi/kitchensink/dragwidget.h index 06663fc74a..d444f7f0a6 100644 --- a/tests/manual/highdpi/kitchensink/dragwidget.h +++ b/tests/manual/highdpi/kitchensink/dragwidget.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 DRAGWIDGET_H #define DRAGWIDGET_H diff --git a/tests/manual/highdpi/kitchensink/main.cpp b/tests/manual/highdpi/kitchensink/main.cpp index bdb4c3d571..5fe46828bd 100644 --- a/tests/manual/highdpi/kitchensink/main.cpp +++ b/tests/manual/highdpi/kitchensink/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 <QMainWindow> #include <QMenuBar> @@ -1458,7 +1433,7 @@ int main(int argc, char **argv) demoList << new DemoContainer<GraphicsViewCaching>("graphicsview", "Test QGraphicsView caching"); demoList << new DemoContainer<MetricsTest>("metrics", "Show screen metrics"); - for (DemoContainerBase *demo : qAsConst(demoList)) + for (DemoContainerBase *demo : std::as_const(demoList)) parser.addOption(demo->option()); parser.process(app); diff --git a/tests/manual/highdpi/pixelgadget/CMakeLists.txt b/tests/manual/highdpi/pixelgadget/CMakeLists.txt index 888ce95a8e..f808786b2a 100644 --- a/tests/manual/highdpi/pixelgadget/CMakeLists.txt +++ b/tests/manual/highdpi/pixelgadget/CMakeLists.txt @@ -1,19 +1,15 @@ -# special case skip regeneration -cmake_minimum_required(VERSION 3.16) -project(pixelgadget LANGUAGES CXX) -set(CMAKE_AUTOMOC ON) - -find_package(Qt6 COMPONENTS Core) -find_package(Qt6 COMPONENTS Gui) -find_package(Qt6 COMPONENTS Widgets) - -qt_add_executable(pixelgadget - main.cpp +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +##################################################################### +## pixelgadget Binary: +##################################################################### + +qt_internal_add_manual_test(pixelgadget + GUI + SOURCES + main.cpp + LIBRARIES + Qt::Gui + Qt::Widgets ) - -target_link_libraries(pixelgadget PUBLIC - Qt::Core - Qt::Gui - Qt::Widgets -) - diff --git a/tests/manual/highdpi/pixelgadget/main.cpp b/tests/manual/highdpi/pixelgadget/main.cpp index 2692f22a0e..51174bc6d9 100644 --- a/tests/manual/highdpi/pixelgadget/main.cpp +++ b/tests/manual/highdpi/pixelgadget/main.cpp @@ -1,30 +1,5 @@ -/**************************************************************************** - ** - ** 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) 2020 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QtGui> #include <QtWidgets> diff --git a/tests/manual/highdpi/screengadget/CMakeLists.txt b/tests/manual/highdpi/screengadget/CMakeLists.txt index 97442e50a4..f4a7aad306 100644 --- a/tests/manual/highdpi/screengadget/CMakeLists.txt +++ b/tests/manual/highdpi/screengadget/CMakeLists.txt @@ -1,20 +1,16 @@ -# special case skip regeneration -cmake_minimum_required(VERSION 3.16) -project(screengadget LANGUAGES CXX) -set(CMAKE_AUTOMOC ON) +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause -find_package(Qt6 COMPONENTS Core) -find_package(Qt6 COMPONENTS Gui) -find_package(Qt6 COMPONENTS Widgets) +##################################################################### +## screengadget Binary: +##################################################################### -qt_add_executable(screengadget - main.cpp +qt_internal_add_manual_test(screengadget + GUI + SOURCES + main.cpp + LIBRARIES + Qt::Gui + Qt::Widgets + Qt::GuiPrivate ) - -target_link_libraries(screengadget PUBLIC - Qt::Core - Qt::Gui - Qt::GuiPrivate - Qt::Widgets -) - diff --git a/tests/manual/highdpi/screengadget/main.cpp b/tests/manual/highdpi/screengadget/main.cpp index 762981c395..68343a31c5 100644 --- a/tests/manual/highdpi/screengadget/main.cpp +++ b/tests/manual/highdpi/screengadget/main.cpp @@ -1,30 +1,5 @@ -/**************************************************************************** - ** - ** Copyright (C) 2021 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 <QtGui> #include <QtWidgets> |