// 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.
*/
