From 34ebe8be93ab10766d034e5a3943a12c8de3a58e Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Fri, 17 Mar 2023 08:45:13 +0100 Subject: Move widgets minimal example to manual tests Pick-to: dev 6.5 Task-number: QTBUG-108751 Change-Id: I6e237b04d1f6a19f64516cd45aabe4d28099abd5 Reviewed-by: Leena Miettinen Reviewed-by: Allan Sandfeld Jensen --- examples/webenginewidgets/CMakeLists.txt | 1 - examples/webenginewidgets/minimal/CMakeLists.txt | 36 -------------- .../minimal/doc/images/minimal-example.png | Bin 89294 -> 0 bytes .../webenginewidgets/minimal/doc/src/minimal.qdoc | 55 --------------------- examples/webenginewidgets/minimal/main.cpp | 28 ----------- examples/webenginewidgets/minimal/minimal.pro | 8 --- examples/webenginewidgets/webenginewidgets.pro | 1 - src/webenginewidgets/doc/snippets/simple/main.cpp | 11 +++-- .../doc/src/qtwebenginewidgets-module.qdoc | 5 ++ tests/manual/CMakeLists.txt | 1 + tests/manual/examples/CMakeLists.txt | 1 + tests/manual/examples/widgets/CMakeLists.txt | 1 + .../manual/examples/widgets/minimal/CMakeLists.txt | 24 +++++++++ tests/manual/examples/widgets/minimal/main.cpp | 28 +++++++++++ tests/manual/examples/widgets/minimal/minimal.pro | 8 +++ 15 files changed, 74 insertions(+), 134 deletions(-) delete mode 100644 examples/webenginewidgets/minimal/CMakeLists.txt delete mode 100644 examples/webenginewidgets/minimal/doc/images/minimal-example.png delete mode 100644 examples/webenginewidgets/minimal/doc/src/minimal.qdoc delete mode 100644 examples/webenginewidgets/minimal/main.cpp delete mode 100644 examples/webenginewidgets/minimal/minimal.pro create mode 100644 tests/manual/examples/CMakeLists.txt create mode 100644 tests/manual/examples/widgets/CMakeLists.txt create mode 100644 tests/manual/examples/widgets/minimal/CMakeLists.txt create mode 100644 tests/manual/examples/widgets/minimal/main.cpp create mode 100644 tests/manual/examples/widgets/minimal/minimal.pro diff --git a/examples/webenginewidgets/CMakeLists.txt b/examples/webenginewidgets/CMakeLists.txt index c3d466558..0b5757e35 100644 --- a/examples/webenginewidgets/CMakeLists.txt +++ b/examples/webenginewidgets/CMakeLists.txt @@ -1,7 +1,6 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clause -qt_internal_add_example(minimal) qt_internal_add_example(contentmanipulation) qt_internal_add_example(cookiebrowser) qt_internal_add_example(notifications) diff --git a/examples/webenginewidgets/minimal/CMakeLists.txt b/examples/webenginewidgets/minimal/CMakeLists.txt deleted file mode 100644 index 68642c638..000000000 --- a/examples/webenginewidgets/minimal/CMakeLists.txt +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: BSD-3-Clause - -cmake_minimum_required(VERSION 3.16) -project(minimal LANGUAGES CXX) - -set(CMAKE_AUTOMOC ON) - -if(NOT DEFINED INSTALL_EXAMPLESDIR) - set(INSTALL_EXAMPLESDIR "examples") -endif() - -set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/webenginewidgets/minimal-widgets") - -find_package(Qt6 REQUIRED COMPONENTS Core Gui WebEngineWidgets) - -qt_add_executable(minimal-widgets - main.cpp -) - -set_target_properties(minimal-widgets PROPERTIES - WIN32_EXECUTABLE TRUE - MACOSX_BUNDLE TRUE -) - -target_link_libraries(minimal-widgets PUBLIC - Qt::Core - Qt::Gui - Qt::WebEngineWidgets -) - -install(TARGETS minimal-widgets - RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" - BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" - LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" -) diff --git a/examples/webenginewidgets/minimal/doc/images/minimal-example.png b/examples/webenginewidgets/minimal/doc/images/minimal-example.png deleted file mode 100644 index 18ac9b177..000000000 Binary files a/examples/webenginewidgets/minimal/doc/images/minimal-example.png and /dev/null differ diff --git a/examples/webenginewidgets/minimal/doc/src/minimal.qdoc b/examples/webenginewidgets/minimal/doc/src/minimal.qdoc deleted file mode 100644 index 5fb5f8be3..000000000 --- a/examples/webenginewidgets/minimal/doc/src/minimal.qdoc +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only - -/*! - \example webenginewidgets/minimal - \title WebEngine Widgets Minimal Example - \ingroup webengine-widgetexamples - \brief Displays a web page using \QWE Widgets. - - \image minimal-example.png - - \e {WebEngine Widgets Minimal Example} demonstrates how to use - \l{QWebEngineView} to render a web page. It shows the minimum amount of code - needed to load and display an HTML page, and can be used as a basis for - further experimentation. - - \include examples-run.qdocinc - - \section1 The Code - - We first define a \c commandLineUrlArgument function that returns the URL to open. - This is either the first positional argument given on the command line, or - \c https://www.qt.io as a fallback. - - \quotefromfile webenginewidgets/minimal/main.cpp - \skipto #include - - \printto int main - - In the \c main function we first set the - \l{QCoreApplication::organizationName} property. This affects the locations - where \QWE stores persistent and cached data (see also - \l{QWebEngineProfile::cachePath} and - \l{QWebEngineProfile::persistentStoragePath}). - - Next, we instantiate a QApplication and a QWebEngineView. The URL - to load is taken from \c commandLineUrlArgument and - loaded by calling \l QWebEngineView::setUrl. The view widget is - given a reasonable default size, and shown. - Finally, QApplication::exec() launches the main event loop. - - \printuntil } - - \section1 Requirements - - The example requires a working internet connection to render - the \l{Qt Homepage}. - An optional system proxy should be picked up automatically. - However, for proxies that require a username or password, - you need to connect to - QWebEnginePage::proxyAuthenticationRequired. - - \l{Qt WebEngine Widgets} uses the \l{Qt Quick Scene Graph} to compose the - page. Therefore, OpenGL support is required. -*/ diff --git a/examples/webenginewidgets/minimal/main.cpp b/examples/webenginewidgets/minimal/main.cpp deleted file mode 100644 index 86c04e721..000000000 --- a/examples/webenginewidgets/minimal/main.cpp +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -#include -#include - -QUrl commandLineUrlArgument() -{ - const QStringList args = QCoreApplication::arguments(); - for (const QString &arg : args.mid(1)) { - if (!arg.startsWith(QLatin1Char('-'))) - return QUrl::fromUserInput(arg); - } - return QUrl(QStringLiteral("https://www.qt.io")); -} - -int main(int argc, char *argv[]) -{ - QCoreApplication::setOrganizationName("QtExamples"); - QApplication app(argc, argv); - - QWebEngineView view; - view.setUrl(commandLineUrlArgument()); - view.resize(1024, 750); - view.show(); - - return app.exec(); -} diff --git a/examples/webenginewidgets/minimal/minimal.pro b/examples/webenginewidgets/minimal/minimal.pro deleted file mode 100644 index 849f4b9b6..000000000 --- a/examples/webenginewidgets/minimal/minimal.pro +++ /dev/null @@ -1,8 +0,0 @@ -TEMPLATE = app - -QT += webenginewidgets - -SOURCES += main.cpp - -target.path = $$[QT_INSTALL_EXAMPLES]/webenginewidgets/minimal -INSTALLS += target diff --git a/examples/webenginewidgets/webenginewidgets.pro b/examples/webenginewidgets/webenginewidgets.pro index cfddfdaae..119f6e1b1 100644 --- a/examples/webenginewidgets/webenginewidgets.pro +++ b/examples/webenginewidgets/webenginewidgets.pro @@ -3,7 +3,6 @@ QT_FOR_CONFIG += webenginecore webenginecore-private network-private TEMPLATE=subdirs SUBDIRS += \ - minimal \ contentmanipulation \ cookiebrowser \ notifications \ diff --git a/src/webenginewidgets/doc/snippets/simple/main.cpp b/src/webenginewidgets/doc/snippets/simple/main.cpp index f887aabaa..08613906b 100644 --- a/src/webenginewidgets/doc/snippets/simple/main.cpp +++ b/src/webenginewidgets/doc/snippets/simple/main.cpp @@ -1,18 +1,19 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +//! [Minimal Example] #include -#include #include int main(int argc, char *argv[]) { QApplication app(argc, argv); - QWidget *parent = nullptr; //! [Using QWebEngineView] - QWebEngineView *view = new QWebEngineView(parent); - view->load(QUrl("http://qt-project.org/")); - view->show(); + QWebEngineView view; + view.load(QUrl("https://qt-project.org/")); + view.resize(1024, 750); + view.show(); //! [Using QWebEngineView] return app.exec(); } +//! [Minimal Example] diff --git a/src/webenginewidgets/doc/src/qtwebenginewidgets-module.qdoc b/src/webenginewidgets/doc/src/qtwebenginewidgets-module.qdoc index df06909df..ef5a1c4b5 100644 --- a/src/webenginewidgets/doc/src/qtwebenginewidgets-module.qdoc +++ b/src/webenginewidgets/doc/src/qtwebenginewidgets-module.qdoc @@ -24,4 +24,9 @@ \snippet qtwebenginewidgets_build_snippet.qdoc 2 \endif + + The minimum amount of code needed to load and display an HTML page requires just + implementing the \c QWebEngineView class. + + \snippet simple/main.cpp Minimal Example */ diff --git a/tests/manual/CMakeLists.txt b/tests/manual/CMakeLists.txt index c6d3e6e50..4bb14e72d 100644 --- a/tests/manual/CMakeLists.txt +++ b/tests/manual/CMakeLists.txt @@ -1,2 +1,3 @@ +add_subdirectory(examples) add_subdirectory(quick) add_subdirectory(widgets) diff --git a/tests/manual/examples/CMakeLists.txt b/tests/manual/examples/CMakeLists.txt new file mode 100644 index 000000000..6e0b301ad --- /dev/null +++ b/tests/manual/examples/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(widgets) diff --git a/tests/manual/examples/widgets/CMakeLists.txt b/tests/manual/examples/widgets/CMakeLists.txt new file mode 100644 index 000000000..d853ba634 --- /dev/null +++ b/tests/manual/examples/widgets/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(minimal) diff --git a/tests/manual/examples/widgets/minimal/CMakeLists.txt b/tests/manual/examples/widgets/minimal/CMakeLists.txt new file mode 100644 index 000000000..6351aaa90 --- /dev/null +++ b/tests/manual/examples/widgets/minimal/CMakeLists.txt @@ -0,0 +1,24 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) + cmake_minimum_required(VERSION 3.16) + project(minimal LANGUAGES CXX) + find_package(Qt6 REQUIRED COMPONENTS Core Gui WebEngineWidgets) + endif() + +qt_internal_add_manual_test(minimal-widgets + SOURCES + main.cpp +) + +set_target_properties(minimal-widgets PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) + +target_link_libraries(minimal-widgets PUBLIC + Qt::Core + Qt::Gui + Qt::WebEngineWidgets +) diff --git a/tests/manual/examples/widgets/minimal/main.cpp b/tests/manual/examples/widgets/minimal/main.cpp new file mode 100644 index 000000000..86c04e721 --- /dev/null +++ b/tests/manual/examples/widgets/minimal/main.cpp @@ -0,0 +1,28 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#include +#include + +QUrl commandLineUrlArgument() +{ + const QStringList args = QCoreApplication::arguments(); + for (const QString &arg : args.mid(1)) { + if (!arg.startsWith(QLatin1Char('-'))) + return QUrl::fromUserInput(arg); + } + return QUrl(QStringLiteral("https://www.qt.io")); +} + +int main(int argc, char *argv[]) +{ + QCoreApplication::setOrganizationName("QtExamples"); + QApplication app(argc, argv); + + QWebEngineView view; + view.setUrl(commandLineUrlArgument()); + view.resize(1024, 750); + view.show(); + + return app.exec(); +} diff --git a/tests/manual/examples/widgets/minimal/minimal.pro b/tests/manual/examples/widgets/minimal/minimal.pro new file mode 100644 index 000000000..849f4b9b6 --- /dev/null +++ b/tests/manual/examples/widgets/minimal/minimal.pro @@ -0,0 +1,8 @@ +TEMPLATE = app + +QT += webenginewidgets + +SOURCES += main.cpp + +target.path = $$[QT_INSTALL_EXAMPLES]/webenginewidgets/minimal +INSTALLS += target -- cgit v1.2.1