summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/app.pri3
-rw-r--r--app/app.pro19
-rw-r--r--app/main.cpp117
3 files changed, 56 insertions, 83 deletions
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 fa912b4..837399c 100644
--- a/app/app.pro
+++ b/app/app.pro
@@ -1,18 +1,19 @@
+TEMPLATE = app
TARGET = radio
-QT = quickcontrols2
+QT = qml quickcontrols2
+CONFIG += c++11 link_pkgconfig
-HEADERS = PresetDataObject.h
-SOURCES = main.cpp PresetDataObject.cpp
-
-CONFIG += link_pkgconfig
PKGCONFIG += qtappfw-radio
-CONFIG(release, debug|release) {
- QMAKE_POST_LINK = $(STRIP) --strip-unneeded $(TARGET)
-}
+HEADERS = PresetDataObject.h
+SOURCES = main.cpp PresetDataObject.cpp
RESOURCES += \
radio.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 a4cf1ee..d7cfd44 100644
--- a/app/main.cpp
+++ b/app/main.cpp
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2016 The Qt Company Ltd.
- * Copyright (C) 2016, 2017 Konsulko Group
+ * Copyright (C) 2016,2017,2019,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 <QtCore/QSettings>
#include <QtGui/QGuiApplication>
#include <QtQml/QQmlApplicationEngine>
@@ -34,78 +32,55 @@
int main(int argc, char *argv[])
{
- QString graphic_role = QString("radio");
+ QString graphic_role = QString("radio");
- QGuiApplication app(argc, argv);
- app.setDesktopFileName(graphic_role);
+ QGuiApplication app(argc, argv);
+ app.setDesktopFileName(graphic_role);
- QQuickStyle::setStyle("AGL");
+ QQuickStyle::setStyle("AGL");
- 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 presets from configuration file
- //
- // If HOME is set, use $HOME/app-data/radio/presets.conf if it exists,
- // else fall back to the QSettings default locations with organization
- // "AGL" and a file name of radio-presets.conf. See:
- //
- // http://doc.qt.io/qt-5/qsettings.html#platform-specific-notes
- //
- // for details on the locations and their order of priority.
- //
- QSettings *pSettings = NULL;
- char *p = getenv("HOME");
- bool settingsFound = false;
- if(p) {
- struct stat statbuf;
- std::string presets(p);
- presets += APP_DATA_PRESETS_PATH;
- if(stat(presets.c_str(), &statbuf) == 0) {
- QString confPath = p;
- confPath.append(APP_DATA_PRESETS_PATH);
- pSettings = new QSettings(confPath, QSettings::NativeFormat);
- settingsFound = true;
+ // Read presets from configuration file
+ //
+ // If HOME is set, use $HOME/app-data/radio/presets.conf if it exists,
+ // else fall back to the QSettings default locations with organization
+ // "AGL" and a file name of radio-presets.conf. See:
+ //
+ // http://doc.qt.io/qt-5/qsettings.html#platform-specific-notes
+ //
+ // for details on the locations and their order of priority.
+ //
+ QSettings *pSettings = NULL;
+ char *p = getenv("HOME");
+ bool settingsFound = false;
+ if(p) {
+ struct stat statbuf;
+ std::string presets(p);
+ presets += APP_DATA_PRESETS_PATH;
+ if(stat(presets.c_str(), &statbuf) == 0) {
+ QString confPath = p;
+ confPath.append(APP_DATA_PRESETS_PATH);
+ pSettings = new QSettings(confPath, QSettings::NativeFormat);
+ settingsFound = true;
+ }
+ }
+ if(!settingsFound) {
+ pSettings = new QSettings("AGL", "radio-presets");
}
- }
- if(!settingsFound) {
- pSettings = new QSettings("AGL", "radio-presets");
- }
-
- QList<QObject*> presetDataList;
- int size = pSettings->beginReadArray("fmPresets");
- for (int i = 0; i < size; ++i) {
- pSettings->setArrayIndex(i);
- presetDataList.append(new PresetDataObject(pSettings->value("title").toString(),
- pSettings->value("frequency").toInt(),
- 1));
- }
- pSettings->endArray();
-
- QQmlApplicationEngine engine;
- QQmlContext *context = engine.rootContext();
- context->setContextProperty("presetModel", QVariant::fromValue(presetDataList));
- 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);
+ QList<QObject*> presetDataList;
+ int size = pSettings->beginReadArray("fmPresets");
+ for (int i = 0; i < size; ++i) {
+ pSettings->setArrayIndex(i);
+ presetDataList.append(new PresetDataObject(pSettings->value("title").toString(),
+ pSettings->value("frequency").toInt(),
+ 1));
+ }
+ pSettings->endArray();
- context->setContextProperty("radio", new Radio(bindingAddress, context));
- engine.load(QUrl(QStringLiteral("qrc:/Radio.qml")));
- }
- return app.exec();
+ QQmlApplicationEngine engine;
+ QQmlContext *context = engine.rootContext();
+ context->setContextProperty("presetModel", QVariant::fromValue(presetDataList));
+ context->setContextProperty("radio", new Radio(context));
+ engine.load(QUrl(QStringLiteral("qrc:/Radio.qml")));
+ return app.exec();
}