diff options
author | Scott Murray <scott.murray@konsulko.com> | 2022-03-07 15:33:50 -0500 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2022-03-07 15:45:58 -0500 |
commit | 00fa784cdb2570f742511820b885b1c3e18b6d01 (patch) | |
tree | b8ab83fdbc77fa411f3ddcf9d169b6772663ebe6 /app | |
parent | 4b7c213e30871d1e6afcbed8a2863d7459065572 (diff) |
Update for app framework removalmarlin_12.93.0marlin/12.93.012.93.0
Changes:
- Remove the autobuild scripts and config.xml used by the app
framework widget build.
- Update the CMake files to just build a "cluster-dashboard" binary
and install it into /usr/bin by default.
- Remove the code in main.cpp that handled reading the WebSocket
command-line arguments and passing them to binding related
code.
- Removed signal-composer wrapper instantiation in main.cpp, but the
related QML has been left alone now, this will need to be revisited
once something else is in place for vehicle signals (e.g. perhaps
a simple VISS API wrapper in libqtappfw that leverages kuksa.val).
Bug-AGL: SPEC-4283
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ibf36aebb74d584f93b2e5fe9d068b18b7f2a7ce5
Diffstat (limited to 'app')
-rw-r--r-- | app/CMakeLists.txt | 34 | ||||
-rw-r--r-- | app/main.cpp | 64 |
2 files changed, 29 insertions, 69 deletions
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index e99daa7..e786164 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -1,5 +1,5 @@ ########################################################################### -# Copyright 2018,2019 Konsulko Group +# Copyright 2018,2019,2022 Konsulko Group # # Author: Scott Murray <scott.murray@konsulko.com> # @@ -16,12 +16,18 @@ # limitations under the License. ########################################################################### -set(CMAKE_INCLUDE_CURRENT_DIR ON) -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) +project(cluster-dashboard VERSION 2.0.0 LANGUAGES CXX) + +if(CMAKE_VERSION VERSION_LESS "3.7.0") + set(CMAKE_INCLUDE_CURRENT_DIR ON) +endif() +set(OE_QMAKE_PATH_EXTERNAL_HOST_BINS $ENV{OE_QMAKE_PATH_HOST_BINS}) + set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(OE_QMAKE_PATH_EXTERNAL_HOST_BINS $ENV{OE_QMAKE_PATH_HOST_BINS}) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) find_package(Qt5 COMPONENTS Core Gui QuickControls2 QuickWidgets REQUIRED) find_package(Qt5Gui ${QT_MIN_VERSION} CONFIG REQUIRED Private) @@ -30,8 +36,6 @@ find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner) qt5_add_resources(RESOURCES cluster-gauges.qrc images/images.qrc) -PROJECT_TARGET_ADD(cluster-gauges) - add_custom_command( OUTPUT agl-shell-client-protocol.h COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header @@ -56,14 +60,13 @@ add_custom_command( DEPENDS ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell.xml ) -add_executable(${TARGET_NAME} +add_executable(${PROJECT_NAME} main.cpp agl-shell-protocol.c agl-shell-client-protocol.h ${RESOURCES} ) -pkg_check_modules(QTAPPFW REQUIRED qtappfw-signal-composer) pkg_check_modules(GLIB REQUIRED glib-2.0) pkg_check_modules(WAYLAND_CLIENT REQUIRED wayland-client) @@ -73,19 +76,12 @@ include_directories( ${GLIB_INCLUDE_DIRS} ) -set_target_properties(${TARGET_NAME} PROPERTIES - LABELS "EXECUTABLE" - PREFIX "" - COMPILE_FLAGS "${QTAPPFW_FLAGS} ${GLIB_FLAGS} ${EXTRAS_CFLAGS} -DFOR_AFB_BINDING" - LINK_FLAGS "${BINDINGS_LINK_FLAG}" - LINK_LIBRARIES "${EXTRAS_LIBRARIES}" - OUTPUT_NAME "${TARGET_NAME}" -) - -target_link_libraries(${TARGET_NAME} +target_link_libraries(${PROJECT_NAME} Qt5::QuickControls2 Qt5::QuickWidgets ${QTAPPFW_LIBRARIES} ${GLIB_LDFLAGS} ${WAYLAND_CLIENT_LIBRARIES} ) + +install(TARGETS ${PROJECT_NAME} DESTINATION bin) diff --git a/app/main.cpp b/app/main.cpp index 3c460d5..14c2ead 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -32,7 +32,6 @@ #include <QDebug> #include <QScreen> -#include <signalcomposer.h> #include <wayland-client.h> #include "agl-shell-client-protocol.h" @@ -144,7 +143,7 @@ create_component(QPlatformNativeInterface *native, QQmlComponent *comp, int main(int argc, char *argv[]) { - QString myname = QString("cluster-gauges"); + QString myname = QString("cluster-dashboard"); struct agl_shell *agl_shell; struct wl_output *output; @@ -165,60 +164,25 @@ int main(int argc, char *argv[]) screen = qApp->primaryScreen(); output = getWlOutput(native, screen); - QCommandLineParser parser; - parser.addPositionalArgument("port", app.translate("main", "port for binding")); - parser.addPositionalArgument("secret", app.translate("main", "secret for binding")); - parser.addHelpOption(); - parser.addVersionOption(); - parser.process(app); - - QStringList positionalArguments = parser.positionalArguments(); + read_config(); QQmlApplicationEngine engine; QQmlContext *context = engine.rootContext(); + context->setContextProperty("runAnimation", runAnimation); - if (positionalArguments.length() == 2) { - int port = positionalArguments.takeFirst().toInt(); - QString secret = positionalArguments.takeFirst(); - - QUrl bindingAddress; - QUrlQuery query; - - struct wl_surface *bg; - - bindingAddress.setScheme(QStringLiteral("ws")); - bindingAddress.setHost(QStringLiteral("localhost")); - bindingAddress.setPort(port); - bindingAddress.setPath(QStringLiteral("/api")); - - query.addQueryItem(QStringLiteral("token"), secret); - bindingAddress.setQuery(query); - - read_config(); + QQmlComponent bg_comp(&engine, QUrl("qrc:/cluster-gauges.qml")); + qDebug() << bg_comp.errors(); + struct wl_surface *bg = create_component(native, &bg_comp, screen, &qobj_bg); - context->setContextProperty(QStringLiteral("bindingAddress"), - bindingAddress); + // set the surface as the background + agl_shell_set_background(agl_shell, bg, output); - context->setContextProperty("SignalComposer", - new SignalComposer(bindingAddress, - context)); - context->setContextProperty("runAnimation", runAnimation); - - QQmlComponent bg_comp(&engine, QUrl("qrc:/cluster-gauges.qml")); - qDebug() << bg_comp.errors(); - - bg = create_component(native, &bg_comp, screen, &qobj_bg); - - // set the surface as the background - agl_shell_set_background(agl_shell, bg, output); - - // instruct the compositor it can display after Qt has a chance - // to load everything - QTimer::singleShot(500, [agl_shell](){ - qDebug() << "agl_shell ready!"; - agl_shell_ready(agl_shell); - }); - } + // instruct the compositor it can display after Qt has a chance + // to load everything + QTimer::singleShot(500, [agl_shell](){ + qDebug() << "agl_shell ready!"; + agl_shell_ready(agl_shell); + }); return app.exec(); } |