diff options
author | Jacques GUILLOU <jacques.guillou@daimler.com> | 2017-10-19 19:12:07 +0200 |
---|---|---|
committer | Robert Griebl <robert.griebl@pelagicore.com> | 2017-11-03 10:09:17 +0000 |
commit | a2f468bd5a6774023b55007ab008cbd788f77387 (patch) | |
tree | ef702a3013191f57937f817e1d9564fb9c368fdb | |
parent | 88e4c5ba162d0de37300da0998adf3b75b2e6950 (diff) | |
download | qtapplicationmanager-a2f468bd5a6774023b55007ab008cbd788f77387.tar.gz |
Add option to enable support for Qt widgets in System UI
Support for Qt widgets can be useful for some development tools
for example.
Change-Id: Ie77e42730f692413485899ed63073fd81f709abe
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
-rw-r--r-- | application-manager.pro | 1 | ||||
-rw-r--r-- | doc/installation.qdoc | 4 | ||||
-rw-r--r-- | qmake-features/am-config.prf | 1 | ||||
-rw-r--r-- | src/main-lib/main-lib.pro | 1 | ||||
-rw-r--r-- | src/main-lib/main.cpp | 2 | ||||
-rw-r--r-- | src/main-lib/main.h | 3 |
6 files changed, 11 insertions, 1 deletions
diff --git a/application-manager.pro b/application-manager.pro index 83efe2ab..cec08b52 100644 --- a/application-manager.pro +++ b/application-manager.pro @@ -82,6 +82,7 @@ printConfigLine("Qt installation", $$[QT_HOST_BINS]) printConfigLine("Debug or release", $$check_debug, white) printConfigLine("Installation prefix", $$INSTALL_PREFIX, auto) printConfigLine("Tools only build", $$yesNo(CONFIG(tools-only)), no) +printConfigLine("Enable support for QtWidgets", $$yesNo(CONFIG(enable-widgets)), auto) printConfigLine("Headless", $$yesNo(CONFIG(headless)), auto) printConfigLine("QtCompositor support", $$yesNo(CONFIG(am_compatible_compositor)), auto) printConfigLine("Multi-process mode", $$check_multi, auto) diff --git a/doc/installation.qdoc b/doc/installation.qdoc index e32112af..5748509e 100644 --- a/doc/installation.qdoc +++ b/doc/installation.qdoc @@ -156,6 +156,10 @@ There are various options that can be given to \c qmake to tailor the build to y \li Paramount if you are running systemd and plan on supporting SD-Card installations. Works around systemd interfering with loopback mounts. \row + \li \c{-config enable-widgets} + \li Enables support for Qt widgets. Enabling this option can be useful to enable the use of some + development graphical tools using Qt widgets. +\row \li \c{-config hardware-id=<id>} \li Compiles in \c id as a hard-coded hardware-id (see below for more information) \row diff --git a/qmake-features/am-config.prf b/qmake-features/am-config.prf index 21c00df2..6b29967c 100644 --- a/qmake-features/am-config.prf +++ b/qmake-features/am-config.prf @@ -15,6 +15,7 @@ disable-installer:DEFINES *= AM_DISABLE_INSTALLER disable-external-dbus-interfaces:DEFINES *= AM_DISABLE_EXTERNAL_DBUS_INTERFACES systemd-workaround:DEFINES *= AM_SYSTEMD_WORKAROUND headless:DEFINES *= AM_HEADLESS +enable-widgets:DEFINES *= AM_ENABLE_WIDGETS linux:!android:!disable-libbacktrace:if(enable-libbacktrace|CONFIG(debug, debug|release)):DEFINES *= AM_USE_LIBBACKTRACE !force-single-process { diff --git a/src/main-lib/main-lib.pro b/src/main-lib/main-lib.pro index 2f0418dd..c201992d 100644 --- a/src/main-lib/main-lib.pro +++ b/src/main-lib/main-lib.pro @@ -5,6 +5,7 @@ MODULE = appman_main load(am-config) QT = core network qml core-private +enable-widgets:QT *= widgets !headless:QT *= gui quick qtHaveModule(pssdp):QT *= pssdp qtHaveModule(pshellserver):QT *= pshellserver diff --git a/src/main-lib/main.cpp b/src/main-lib/main.cpp index 57a69cea..29c511f4 100644 --- a/src/main-lib/main.cpp +++ b/src/main-lib/main.cpp @@ -146,7 +146,7 @@ Main::Main(int &argc, char **argv) [](int /*sig*/) { UnixSignalHandler::instance()->resetToDefault(SIGINT); fputs("\n*** received SIGINT / Ctrl+C ... exiting ***\n\n", stderr); - static_cast<Main *>(qApp)->shutDown(1); + static_cast<Main *>(QCoreApplication::instance())->shutDown(); }); StartupTimer::instance()->checkpoint("after application constructor"); } diff --git a/src/main-lib/main.h b/src/main-lib/main.h index aca760fd..b621b471 100644 --- a/src/main-lib/main.h +++ b/src/main-lib/main.h @@ -48,6 +48,9 @@ #if defined(AM_HEADLESS) # include <QCoreApplication> typedef QCoreApplication MainBase; +#elif defined(AM_ENABLE_WIDGETS) +#include <QApplication> +typedef QApplication MainBase; #else # include <QGuiApplication> typedef QGuiApplication MainBase; |