summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2022-02-14 18:33:06 -0500
committerScott Murray <scott.murray@konsulko.com>2022-02-14 23:34:48 +0000
commite58b0382de8e665d64b8e3486022a6bcb0572823 (patch)
treedd171390bc873b9e6d41c5a7f8a7144b66bc7287
parent9993095f758efb58ff9f311edfc1e160e24e8514 (diff)
Changes: - Remove the autobuild scripts and config.xml used by the app framework widget build. - Update the qmake files to just build a "settings" 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 initial .desktop file, and updated .pro files to install it. An icon will be added in a future update, as the launcher did not previously provide one. Bug-AGL: SPEC-4182 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Icd7126b7ddd41dbf0793d28d31fa962f3a36acb1
-rw-r--r--app/app.pri4
-rw-r--r--app/app.pro17
-rw-r--r--app/main.cpp44
-rwxr-xr-xautobuild/agl/autobuild110
-rwxr-xr-xautobuild/linux/autobuild110
-rw-r--r--messaging.pro1
-rw-r--r--package/config.xml16
-rw-r--r--package/messaging.desktop11
-rw-r--r--package/package.pro24
9 files changed, 39 insertions, 298 deletions
diff --git a/app/app.pri b/app/app.pri
deleted file mode 100644
index 399d71f..0000000
--- a/app/app.pri
+++ /dev/null
@@ -1,4 +0,0 @@
-TEMPLATE = app
-QMAKE_LFLAGS += "-Wl,--hash-style=gnu -Wl,--as-needed"
-
-DESTDIR = $${OUT_PWD}/../package/root/bin
diff --git a/app/app.pro b/app/app.pro
index 54be9ee..4d2bc87 100644
--- a/app/app.pro
+++ b/app/app.pro
@@ -1,17 +1,18 @@
+TEMPLATE = app
TARGET = messaging
-QT = quickcontrols2
+QT = qml quickcontrols2
+CONFIG += c++11 link_pkgconfig
SOURCES = main.cpp
-CONFIG += link_pkgconfig
-PKGCONFIG += qtappfw-bt-map libafbwsc
-
-CONFIG(release, debug|release) {
- QMAKE_POST_LINK = $(STRIP) --strip-unneeded $(TARGET)
-}
+PKGCONFIG += qtappfw-bt-map
RESOURCES += \
Messaging.qrc \
images/images.qrc
-include(app.pri)
+target.path = /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 f76917b..e5b87ce 100644
--- a/app/main.cpp
+++ b/app/main.cpp
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2016 The Qt Company Ltd.
- * Copyright (C) 2019,2020 Konsulko Group
+ * Copyright (C) 2019,2020,2022 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,8 +16,6 @@
*/
#include <QtCore/QDebug>
-#include <QtCore/QCommandLineParser>
-#include <QtCore/QUrlQuery>
#include <QtGui/QGuiApplication>
#include <QtQml/QQmlApplicationEngine>
#include <QtQml/QQmlContext>
@@ -28,41 +26,19 @@
int main(int argc, char *argv[])
{
- QString graphic_role = QString("messaging");
+ QString graphic_role = QString("messaging");
- QGuiApplication app(argc, argv);
- app.setDesktopFileName(graphic_role);
+ QGuiApplication app(argc, argv);
+ app.setDesktopFileName(graphic_role);
- QQuickStyle::setStyle("AGL");
+ QQuickStyle::setStyle("AGL");
- QQmlApplicationEngine engine;
-
- 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) {
- int port = positionalArguments.takeFirst().toInt();
- QString secret = positionalArguments.takeFirst();
- std::string token = secret.toStdString();
- QUrl bindingAddress;
- bindingAddress.setScheme(QStringLiteral("ws"));
- bindingAddress.setHost(QStringLiteral("localhost"));
- bindingAddress.setPort(port);
- bindingAddress.setPath(QStringLiteral("/api"));
- QUrlQuery query;
- query.addQueryItem(QStringLiteral("token"), secret);
- bindingAddress.setQuery(query);
- QQmlContext *context = engine.rootContext();
- context->setContextProperty(QStringLiteral("bindingAddress"), bindingAddress);
- Map *map = new Map(bindingAddress, context);
+ QQmlApplicationEngine engine;
+ QQmlContext *context = engine.rootContext();
+ Map *map = new Map(context);
context->setContextProperty("messaging", map);
engine.load(QUrl(QStringLiteral("qrc:/Messaging.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/messaging.pro b/messaging.pro
index 579a952..e6d6e34 100644
--- a/messaging.pro
+++ b/messaging.pro
@@ -1,3 +1,2 @@
TEMPLATE = subdirs
SUBDIRS = app package
-package.depends += app
diff --git a/package/config.xml b/package/config.xml
deleted file mode 100644
index cccf13c..0000000
--- a/package/config.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<widget xmlns="http://www.w3.org/ns/widgets" id="messaging" version="0.1">
- <name>Messaging</name>
- <icon src="icon.png"/>
- <content src="bin/messaging" type="application/vnd.agl.native"/>
- <description>Messaging Application</description>
- <author>Qt</author>
- <license>APL 2.0</license>
- <feature name="urn:AGL:widget:required-api">
- <param name="bluetooth-map" 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>
diff --git a/package/messaging.desktop b/package/messaging.desktop
new file mode 100644
index 0000000..ae9f483
--- /dev/null
+++ b/package/messaging.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Name=Messaging
+Comment=Messaging
+GenericName=Messaging
+Exec=messaging
+#Icon=messaging
+Terminal=false
+Type=Application
+Categories=System;
+StartupNotify=true
diff --git a/package/package.pro b/package/package.pro
index 3620f37..213f7a2 100644
--- a/package/package.pro
+++ b/package/package.pro
@@ -1,18 +1,12 @@
+TEMPLATE = aux
-DISTFILES = config.xml
+icon.path = /usr/share/icons/hicolor/scalable
+icon.files += $$_PRO_FILE_PWD_/messaging.svg
+icon.CONFIG = no_check_exist
-copy_config.target = $$OUT_PWD/root/config.xml
-copy_config.depends = $$_PRO_FILE_PWD_/config.xml
-copy_config.commands = $(COPY_FILE) \"$$replace(copy_config.depends, /, $$QMAKE_DIR_SEP)\" \"$$replace(copy_config.target, /, $$QMAKE_DIR_SEP)\"
-QMAKE_EXTRA_TARGETS += copy_config
-PRE_TARGETDEPS += $$copy_config.target
+desktop.path = /usr/share/applications
+desktop.files = $$_PRO_FILE_PWD_/messaging.desktop
+desktop.CONFIG = no_check_exist
-WGT_TYPE =
-CONFIG(debug, debug|release) {
- WGT_TYPE = -debug
-}
-
-wgt.target = package
-wgt.commands = wgtpkg-pack -f -o messaging$${WGT_TYPE}.wgt root
-
-QMAKE_EXTRA_TARGETS += wgt
+#INSTALLS += desktop icon
+INSTALLS += desktop