summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2022-02-14 18:29:54 -0500
committerScott Murray <scott.murray@konsulko.com>2022-02-14 18:29:54 -0500
commitf932d6da561278df631d0f77ae496a46efe4750f (patch)
tree7afb38f4fb74244006ad7bb74394a97c095cfdc5
parent3c8425ae606ea142f227fd7dc9c2bc01def384ad (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 "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 icon copied from the launcher source tree, and updated .pro files to install them. Bug-AGL: SPEC-4182 Change-Id: I7e519aa963f6f22a37d083b2743ad5d42ead9684 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-rw-r--r--app/app.pri4
-rw-r--r--app/app.pro17
-rw-r--r--app/main.cpp33
-rwxr-xr-xautobuild/agl/autobuild110
-rwxr-xr-xautobuild/linux/autobuild110
-rw-r--r--mediaplayer.pro1
-rw-r--r--package/mediaplayer.desktop11
-rw-r--r--package/mediaplayer.svg111
-rw-r--r--package/package.pro29
9 files changed, 142 insertions, 284 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 f497fee..d14bdb6 100644
--- a/app/app.pro
+++ b/app/app.pro
@@ -1,17 +1,18 @@
+TEMPLATE = app
TARGET = mediaplayer
-QT = quickcontrols2 websockets
+QT = qml quickcontrols2
+CONFIG += c++11 link_pkgconfig
-SOURCES = main.cpp
-
-CONFIG += link_pkgconfig
PKGCONFIG += qtappfw-mediaplayer
-CONFIG(release, debug|release) {
- QMAKE_POST_LINK = $(STRIP) --strip-unneeded $(TARGET)
-}
+SOURCES = main.cpp
RESOURCES += \
mediaplayer.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 d72c492..771ce3a 100644
--- a/app/main.cpp
+++ b/app/main.cpp
@@ -15,11 +15,7 @@
* limitations under the License.
*/
-#include <QtCore/QCommandLineParser>
#include <QtCore/QDebug>
-#include <QtCore/QDir>
-#include <QtCore/QStandardPaths>
-#include <QtCore/QUrlQuery>
#include <QtGui/QGuiApplication>
#include <QtQml/QQmlApplicationEngine>
#include <QtQml/QQmlContext>
@@ -34,39 +30,16 @@
int main(int argc, char *argv[])
{
QString graphic_role = QString("music");
-
QGuiApplication app(argc, argv);
QQuickStyle::setStyle("AGL");
QQmlApplicationEngine engine;
QQmlContext *context = engine.rootContext();
+ context->setContextProperty("AlbumArt", "");
+ context->setContextProperty("mediaplayer", new Mediaplayer(context));
- 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();
- 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);
- context->setContextProperty(QStringLiteral("bindingAddress"), bindingAddress);
-
- context->setContextProperty("AlbumArt", "");
- context->setContextProperty("mediaplayer", new Mediaplayer(bindingAddress, context));
+ engine.load(QUrl(QStringLiteral("qrc:/MediaPlayer.qml")));
- engine.load(QUrl(QStringLiteral("qrc:/MediaPlayer.qml")));
- }
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/mediaplayer.pro b/mediaplayer.pro
index 579a952..e6d6e34 100644
--- a/mediaplayer.pro
+++ b/mediaplayer.pro
@@ -1,3 +1,2 @@
TEMPLATE = subdirs
SUBDIRS = app package
-package.depends += app
diff --git a/package/mediaplayer.desktop b/package/mediaplayer.desktop
new file mode 100644
index 0000000..dc83713
--- /dev/null
+++ b/package/mediaplayer.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Name=Mediaplayer
+Comment=Mediaplayer
+GenericName=Mediaplayer
+Exec=mediaplayer
+Icon=mediaplayer
+Terminal=false
+Type=Application
+Categories=System;
+StartupNotify=true
diff --git a/package/mediaplayer.svg b/package/mediaplayer.svg
new file mode 100644
index 0000000..b6ec056
--- /dev/null
+++ b/package/mediaplayer.svg
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:i="&amp;ns_ai;"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Multimedia_Inactive"
+ x="0px"
+ y="0px"
+ viewBox="0 0 300 300"
+ style="enable-background:new 0 0 300 300;"
+ xml:space="preserve"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="music_inactive.svg"><metadata
+ id="metadata3511"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs3509" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1573"
+ inkscape:window-height="876"
+ id="namedview3507"
+ showgrid="false"
+ inkscape:zoom="0.78666667"
+ inkscape:cx="-90.254237"
+ inkscape:cy="150"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Multimedia_Inactive" /><style
+ type="text/css"
+ id="style3476">
+ .st0{fill:#FFFFFF;}
+ .st1{font-family:'Roboto-Regular';}
+ .st2{font-size:25px;}
+ .st3{letter-spacing:6;}
+ .st4{fill:url(#SVGID_1_);}
+ .st5{fill:url(#SVGID_2_);}
+ .st6{fill:url(#SVGID_3_);}
+</style><switch
+ id="switch3478"
+ transform="matrix(1.3307804,0,0,1.3314313,-62.924861,-27.945794)"><g
+ i:extraneous="self"
+ id="g3480"><g
+ id="g3482"><g
+ id="g3484"><linearGradient
+ id="SVGID_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="4.0481"
+ y1="287.94919"
+ x2="320.4859"
+ y2="-15.4029"
+ gradientTransform="matrix(1,0.00546456,-0.00546456,1,-2.0192,-3.0212)"><stop
+ offset="0"
+ style="stop-color:#00ADDC"
+ id="stop3487" /><stop
+ offset="1"
+ style="stop-color:#6BFBFF"
+ id="stop3489" /></linearGradient><path
+ class="st4"
+ d="m 160,238.8 c -0.2,0 -0.4,0 -0.6,0 C 101.4,238.5 54.5,191.1 54.8,133.1 55.2,75.3 102.3,28.5 160,28.5 c 0.2,0 0.4,0 0.6,0 58,0.3 104.9,47.7 104.6,105.7 l 0,0 C 264.8,192 217.7,238.8 160,238.8 Z m 0,-206.6 c -55.7,0 -101.2,45.2 -101.5,100.9 -0.3,55.9 45,101.7 100.9,102 0.2,0 0.4,0 0.6,0 55.7,0 101.2,-45.2 101.5,-100.9 0.3,-55.9 -45,-101.7 -100.9,-102 -0.2,0 -0.4,0 -0.6,0 z"
+ id="path3491"
+ style="fill:url(#SVGID_1_)"
+ inkscape:connector-curvature="0" /><linearGradient
+ id="SVGID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="140.72141"
+ y1="202.2363"
+ x2="187.02119"
+ y2="68.704903"><stop
+ offset="0"
+ style="stop-color:#00ADDC"
+ id="stop3494" /><stop
+ offset="1"
+ style="stop-color:#6BFBFF"
+ id="stop3496" /></linearGradient><path
+ class="st5"
+ d="m 114.7,190.9 c -6.4,0 -12,-2.6 -14.8,-7.5 -2.9,-4.9 -5.4,-14.5 9.6,-23.2 4.8,-2.8 17.1,-3.9 20.8,-4 l 0.1,3.6 c -4.6,0.1 -15.5,1.4 -19.1,3.5 -9.4,5.4 -12.1,11.5 -8.3,18.3 3.8,6.6 14.6,7.6 24,2.2 6.6,-3.8 10.6,-10.5 10.7,-17.9 l -0.1,-0.7 0,-69.8 71.9,-14.2 0.1,71.3 c 0,6.7 -3.3,16.4 -12.5,21.8 -11.1,6.4 -24.1,4.8 -28.9,-3.5 -2.9,-4.9 -5.4,-14.5 9.6,-23.2 4.4,-2.5 14.4,-3.8 18.8,-3.9 l 0.1,3.6 c -4.2,0.1 -13.5,1.4 -17.1,3.5 -6.4,3.7 -13.1,9.9 -8.3,18.3 3.8,6.6 14.6,7.6 24,2.2 7.9,-4.5 10.7,-12.8 10.7,-18.5 l -0.1,-0.8 0,-66.4 -64.7,12.7 0,66.8 0.1,0.7 c 0,8.7 -4.7,16.6 -12.5,21.1 -4.7,2.7 -9.6,4 -14.1,4 z"
+ id="path3498"
+ style="fill:url(#SVGID_2_)"
+ inkscape:connector-curvature="0" /><linearGradient
+ id="SVGID_3_"
+ gradientUnits="userSpaceOnUse"
+ x1="145.50549"
+ y1="203.8951"
+ x2="191.8053"
+ y2="70.363701"><stop
+ offset="0"
+ style="stop-color:#00ADDC"
+ id="stop3501" /><stop
+ offset="1"
+ style="stop-color:#6BFBFF"
+ id="stop3503" /></linearGradient><polygon
+ class="st6"
+ points="196.5,113.7 155.8,123.3 155,119.8 195.6,110.2 "
+ id="polygon3505"
+ style="fill:url(#SVGID_3_)" /></g></g></g></switch></svg> \ No newline at end of file
diff --git a/package/package.pro b/package/package.pro
index 614096f..8ff91c8 100644
--- a/package/package.pro
+++ b/package/package.pro
@@ -1,24 +1,11 @@
+TEMPLATE = aux
-DISTFILES = icon.svg config.xml
+icon.path = /usr/share/icons/hicolor/scalable
+icon.files += $$_PRO_FILE_PWD_/mediaplayer.svg
+icon.CONFIG = no_check_exist
-copy_icon.target = $$OUT_PWD/root/icon.svg
-copy_icon.depends = $$_PRO_FILE_PWD_/icon.svg
-copy_icon.commands = $(COPY_FILE) \"$$replace(copy_icon.depends, /, $$QMAKE_DIR_SEP)\" \"$$replace(copy_icon.target, /, $$QMAKE_DIR_SEP)\"
-QMAKE_EXTRA_TARGETS += copy_icon
-PRE_TARGETDEPS += $$copy_icon.target
+desktop.path = /usr/share/applications
+desktop.files = $$_PRO_FILE_PWD_/mediaplayer.desktop
+desktop.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
-
-WGT_TYPE =
-CONFIG(debug, debug|release) {
- WGT_TYPE = -debug
-}
-
-wgt.target = package
-wgt.commands = wgtpkg-pack -f -o mediaplayer$${WGT_TYPE}.wgt root
-
-QMAKE_EXTRA_TARGETS += wgt
+INSTALLS += desktop icon