diff options
author | Scott Murray <scott.murray@konsulko.com> | 2021-12-16 16:21:37 -0500 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2021-12-16 16:25:10 -0500 |
commit | 3570c2b580508b1cf01a602ec99bbf5836bafb85 (patch) | |
tree | ebf71a0fd0770246549ba1bdfbaa1ddb9902623c | |
parent | 70972c6093898b2d56152ca0fdc8297c70a7ec21 (diff) |
Update for app framework removal
Changes:
- Remove the autobuild scripts and config.xml used by the app
framework widget build.
- Update the qmake files to just build a "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.
- Add setenv of QT_QUICK_CONTROLS_STYLE to "AGL" to get the AGL
styling used. This replaces a global environment variable
definition tied to the old app framework, and makes it more
obvious that the style is required for the app to properly
work.
- Comment out signal-composer code in Dashboard.qml for now,
keeping it as an indicator of how the values are updated may
be useful. Also remove some leftover screen scaling tweaks
as minor cleanup.
Bug-AGL: SPEC-4182
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I0ea604cb72aee86990e9584b0cab9577b2cd41e3
-rw-r--r-- | app/Dashboard.qml | 7 | ||||
-rw-r--r-- | app/app.pri | 3 | ||||
-rw-r--r-- | app/app.pro | 22 | ||||
-rw-r--r-- | app/main.cpp | 46 | ||||
-rwxr-xr-x | autobuild/agl/autobuild | 110 | ||||
-rwxr-xr-x | autobuild/linux/autobuild | 110 | ||||
-rw-r--r-- | dashboard.pro | 3 | ||||
-rw-r--r-- | package/config.xml | 18 |
8 files changed, 24 insertions, 295 deletions
diff --git a/app/Dashboard.qml b/app/Dashboard.qml index ef4f8f4..1b61d4c 100644 --- a/app/Dashboard.qml +++ b/app/Dashboard.qml @@ -34,7 +34,7 @@ ApplicationWindow { property double vehicleSpeed: 0 property double engineSpeed: 0 - +/* Connections { target: SignalComposer @@ -52,14 +52,12 @@ ApplicationWindow { } } } - +*/ Item { id: container anchors.centerIn: parent width: Window.width height: Window.height - //scale: screenInfo.scale_factor() - scale: 1 Label { id: speed @@ -271,7 +269,6 @@ ApplicationWindow { text: qsTr(model.language) onClicked: { translator.language = model.code - console.log ("Scale = " + screenInfo.scale_factor()) } } } diff --git a/app/app.pri b/app/app.pri deleted file mode 100644 index f22f540..0000000 --- a/app/app.pri +++ /dev/null @@ -1,3 +0,0 @@ -TEMPLATE = app - -DESTDIR = $${OUT_PWD}/../package/root/bin diff --git a/app/app.pro b/app/app.pro index 7626359..256506d 100644 --- a/app/app.pro +++ b/app/app.pro @@ -1,24 +1,24 @@ +TEMPLATE = app TARGET = dashboard -QT = quick +QT = qml quick +CONFIG += c++11 link_pkgconfig HEADERS += \ translator.h -SOURCES = main.cpp \ +SOURCES = \ + main.cpp \ translator.cpp -CONFIG += link_pkgconfig -PKGCONFIG += qtappfw-signal-composer - -CONFIG(release, debug|release) { - QMAKE_POST_LINK = $(STRIP) --strip-unneeded $(TARGET) -} - RESOURCES += \ dashboard.qrc \ images/images.qrc -include(app.pri) - LANGUAGES = ja_JP fr_FR zh_CN ko_KR include(translations.pri) + +target.path = $${PREFIX}/usr/bin +target.files += $${OUT_PWD}/$${TARGET} +target.CONFIG = no_check_exist executable + +INSTALLS += target diff --git a/app/main.cpp b/app/main.cpp index 6fe44d3..ec7b4a1 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -1,6 +1,6 @@ /* * Copyright (C) 2016 The Qt Company Ltd. - * Copyright (C) 2019 Konsulko Group + * Copyright (C) 2019,2021 Konsulko Group * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,47 +16,21 @@ */ #include <QGuiApplication> -#include <QtQml/QQmlApplicationEngine> -#include <QtQml/QQmlContext> -#include <QtGui/QGuiApplication> -#include <QtCore/QCommandLineParser> -#include <QtCore/QUrlQuery> -#include <signalcomposer.h> +#include <QQmlApplicationEngine> + #include "translator.h" int main(int argc, char *argv[]) { - QGuiApplication app(argc, argv); - app.setDesktopFileName("dashboard"); - - 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(); - if (positionalArguments.length() != 2) { - exit(EXIT_FAILURE); - } + setenv("QT_QUICK_CONTROLS_STYLE", "AGL", 1); - int port = positionalArguments.takeFirst().toInt(); - QString secret = positionalArguments.takeFirst(); - QUrlQuery query; - query.addQueryItem(QStringLiteral("token"), secret); + QGuiApplication app(argc, argv); + app.setDesktopFileName("dashboard"); - QUrl bindingAddress; - bindingAddress.setScheme(QStringLiteral("ws")); - bindingAddress.setHost(QStringLiteral("localhost")); - bindingAddress.setPort(port); - bindingAddress.setPath(QStringLiteral("/api")); - bindingAddress.setQuery(query); + QQmlApplicationEngine engine; + qmlRegisterType<Translator>("Translator", 1, 0, "Translator"); + engine.load(QUrl(QStringLiteral("qrc:/Dashboard.qml"))); - QQmlApplicationEngine engine; - QQmlContext *context = engine.rootContext(); - context->setContextProperty("SignalComposer", new SignalComposer(bindingAddress, context)); - qmlRegisterType<Translator>("Translator", 1, 0, "Translator"); - engine.load(QUrl(QStringLiteral("qrc:/Dashboard.qml"))); - return app.exec(); + return app.exec(); } diff --git a/autobuild/agl/autobuild b/autobuild/agl/autobuild deleted file mode 100755 index bbbc13e..0000000 --- a/autobuild/agl/autobuild +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/make -f -# Copyright (C) 2015 - 2018 "IoT.bzh" -# Copyright (C) 2020 Konsulko Group -# Author "Romain Forlot" <romain.forlot@iot.bzh> -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -THISFILE := $(lastword $(MAKEFILE_LIST)) -ROOT_DIR := $(abspath $(dir $(THISFILE))/../..) - -# Build directories -# Note that the debug directory is defined in relation to the release -# directory (BUILD_DIR), this needs to be kept in mind if over-riding -# it and building that widget types, the specific widget type variable -# (e.g. BUILD_DIR_DEBUG) may also need to be specified to yield the -# desired output hierarchy. -BUILD_DIR = $(ROOT_DIR)/build -BUILD_DIR_DEBUG = $(abspath $(BUILD_DIR)/../build-debug) - -# Output directory variable for use in pattern rules. -# This is intended for internal use only, hence the explicit override -# definition. -override OUTPUT_DIR = $(BUILD_DIR) - -# Final install directory for widgets -DEST = $(OUTPUT_DIR) - -# Default build type for release builds -BUILD_TYPE = release - -.PHONY: all help update install distclean -.PHONY: clean clean-release clean-debug clean-all -.PHONY: configure configure-release configure-debug -.PHONY: build build-release build-debug build-all -.PHONY: package package-release package-debug package-all - -help: - @echo "List of targets available:" - @echo "" - @echo "- all" - @echo "- help" - @echo "- clean" - @echo "- distclean" - @echo "- configure" - @echo "- build: compilation, link and prepare files for package into a widget" - @echo "- package: output a widget file '*.wgt'" - @echo "- install: install in $(DEST) directory" - @echo "" - @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt" - @echo "Don't use your build dir as DEST as wgt file is generated at this location" - -all: package-all - -# Target specific variable over-rides so static pattern rules can be -# used for the various type-specific targets. - -configure-debug build-debug package-debug clean-debug: OUTPUT_DIR = $(BUILD_DIR_DEBUG) -configure-debug build-debug package-debug: BUILD_TYPE = debug - -clean-release clean-debug: - @if [ -d $(OUTPUT_DIR) ]; then \ - $(MAKE) -C $(OUTPUT_DIR) $(CLEAN_ARGS) clean; \ - else \ - echo Nothing to clean; \ - fi - -clean: clean-release - -clean-all: clean-release clean-debug - -distclean: clean-all - -configure-release configure-debug: - @mkdir -p $(OUTPUT_DIR) - @if [ ! -f $(OUTPUT_DIR)/Makefile ]; then \ - (cd $(OUTPUT_DIR) && qmake CONFIG+=$(BUILD_TYPE) $(CONFIGURE_ARGS) $(ROOT_DIR)); \ - fi - -configure: configure-release - -build-release build-debug: build-%: configure-% - @$(MAKE) -C $(OUTPUT_DIR) $(BUILD_ARGS) all - -build: build-release - -build-all: build-release build-debug - -package-release package-debug: package-%: build-% - @cp $(OUTPUT_DIR)/package/*.wgt $(OUTPUT_DIR)/ - @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \ - mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \ - fi - - -package: package-release - -package-all: package-release package-debug - -install: build - @$(MAKE) -C $(BUILD_DIR) $(INSTALL_ARGS) install diff --git a/autobuild/linux/autobuild b/autobuild/linux/autobuild deleted file mode 100755 index bbbc13e..0000000 --- a/autobuild/linux/autobuild +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/make -f -# Copyright (C) 2015 - 2018 "IoT.bzh" -# Copyright (C) 2020 Konsulko Group -# Author "Romain Forlot" <romain.forlot@iot.bzh> -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -THISFILE := $(lastword $(MAKEFILE_LIST)) -ROOT_DIR := $(abspath $(dir $(THISFILE))/../..) - -# Build directories -# Note that the debug directory is defined in relation to the release -# directory (BUILD_DIR), this needs to be kept in mind if over-riding -# it and building that widget types, the specific widget type variable -# (e.g. BUILD_DIR_DEBUG) may also need to be specified to yield the -# desired output hierarchy. -BUILD_DIR = $(ROOT_DIR)/build -BUILD_DIR_DEBUG = $(abspath $(BUILD_DIR)/../build-debug) - -# Output directory variable for use in pattern rules. -# This is intended for internal use only, hence the explicit override -# definition. -override OUTPUT_DIR = $(BUILD_DIR) - -# Final install directory for widgets -DEST = $(OUTPUT_DIR) - -# Default build type for release builds -BUILD_TYPE = release - -.PHONY: all help update install distclean -.PHONY: clean clean-release clean-debug clean-all -.PHONY: configure configure-release configure-debug -.PHONY: build build-release build-debug build-all -.PHONY: package package-release package-debug package-all - -help: - @echo "List of targets available:" - @echo "" - @echo "- all" - @echo "- help" - @echo "- clean" - @echo "- distclean" - @echo "- configure" - @echo "- build: compilation, link and prepare files for package into a widget" - @echo "- package: output a widget file '*.wgt'" - @echo "- install: install in $(DEST) directory" - @echo "" - @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt" - @echo "Don't use your build dir as DEST as wgt file is generated at this location" - -all: package-all - -# Target specific variable over-rides so static pattern rules can be -# used for the various type-specific targets. - -configure-debug build-debug package-debug clean-debug: OUTPUT_DIR = $(BUILD_DIR_DEBUG) -configure-debug build-debug package-debug: BUILD_TYPE = debug - -clean-release clean-debug: - @if [ -d $(OUTPUT_DIR) ]; then \ - $(MAKE) -C $(OUTPUT_DIR) $(CLEAN_ARGS) clean; \ - else \ - echo Nothing to clean; \ - fi - -clean: clean-release - -clean-all: clean-release clean-debug - -distclean: clean-all - -configure-release configure-debug: - @mkdir -p $(OUTPUT_DIR) - @if [ ! -f $(OUTPUT_DIR)/Makefile ]; then \ - (cd $(OUTPUT_DIR) && qmake CONFIG+=$(BUILD_TYPE) $(CONFIGURE_ARGS) $(ROOT_DIR)); \ - fi - -configure: configure-release - -build-release build-debug: build-%: configure-% - @$(MAKE) -C $(OUTPUT_DIR) $(BUILD_ARGS) all - -build: build-release - -build-all: build-release build-debug - -package-release package-debug: package-%: build-% - @cp $(OUTPUT_DIR)/package/*.wgt $(OUTPUT_DIR)/ - @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \ - mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \ - fi - - -package: package-release - -package-all: package-release package-debug - -install: build - @$(MAKE) -C $(BUILD_DIR) $(INSTALL_ARGS) install diff --git a/dashboard.pro b/dashboard.pro index 579a952..5cf7e78 100644 --- a/dashboard.pro +++ b/dashboard.pro @@ -1,3 +1,2 @@ TEMPLATE = subdirs -SUBDIRS = app package -package.depends += app +SUBDIRS = app diff --git a/package/config.xml b/package/config.xml deleted file mode 100644 index a1caf75..0000000 --- a/package/config.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<widget xmlns="http://www.w3.org/ns/widgets" id="dashboard" version="0.1"> - <name>Dashboard</name> - <icon src="icon.svg"/> - <content src="bin/dashboard" type="application/vnd.agl.native"/> - <description>This is a demo dashboard application</description> - <author>Qt</author> - <license>APL 2.0</license> - <feature name="urn:AGL:widget:required-api"> - <param name="signal-composer" value="ws"/> - </feature> - <feature name="urn:AGL:widget:required-permission"> - <param name="urn:AGL:permission::public:no-htdocs" value="required"/> - <param name="urn:AGL:permission::public:display" value="required" /> - </feature> -</widget> - - |