1
0
mirror of https://gitlab.com/kelteseth/ScreenPlay.git synced 2024-09-14 22:42:34 +02:00
ScreenPlay/ScreenPlayWidget/main.cpp

89 lines
2.3 KiB
C++
Raw Permalink Normal View History

2023-01-19 10:33:49 +01:00
// SPDX-License-Identifier: LicenseRef-EliasSteurerTachiom OR AGPL-3.0-only
2023-06-11 10:07:39 +02:00
#include "ScreenPlayWidget/CMakeVariables.h"
#include <QGuiApplication>
2018-03-08 22:03:05 +01:00
#include <QQmlApplicationEngine>
2023-06-11 10:07:39 +02:00
#include <QQmlExtensionPlugin>
2023-02-18 14:30:06 +01:00
#include <QString>
2018-03-21 18:56:58 +01:00
#include <QStringList>
2023-02-18 14:30:06 +01:00
#include "src/widgetwindow.h"
2018-03-21 18:56:58 +01:00
#if defined(Q_OS_WIN)
Q_IMPORT_QML_PLUGIN(ScreenPlaySysInfoPlugin)
#endif
#if defined(Q_OS_OSX)
#include "ScreenPlayUtil/macutils.h"
#endif
Q_IMPORT_QML_PLUGIN(ScreenPlayWeatherPlugin)
2018-03-21 18:56:58 +01:00
int main(int argc, char* argv[])
2018-03-08 22:03:05 +01:00
{
#if !defined(Q_OS_LINUX)
qputenv("QT_MEDIA_BACKEND", "ffmpeg");
#endif
QGuiApplication app(argc, argv);
2018-03-08 22:03:05 +01:00
const QStringList argumentList = app.arguments();
2018-03-21 18:56:58 +01:00
// If we start with only one argument (path, appID, type),
// it means we want to test a single widget
if (argumentList.length() == 1) {
2023-06-02 10:19:12 +02:00
// WidgetWindow spwmw("test", "appid", "qmlWidget", { 100, 100 }, true);
2023-02-18 14:30:06 +01:00
QString exampleContentPath = QString(SCREENPLAY_SOURCE_DIR) + "/Content";
QStringList contentFolder = {
2023-03-25 14:26:17 +01:00
"/widget_weather",
"/widget_system_stats", // Note: Windows only
2023-03-25 14:26:17 +01:00
"/widget_hello_world",
"/widget_countDown",
2023-02-18 14:30:06 +01:00
"/widget_analogClock",
"/widget_digitalClock",
"/widget_rss_reddit",
"/widget_rss_dw_news",
2023-02-18 14:30:06 +01:00
"/widget_xkcd"
};
QString projectPath = exampleContentPath + contentFolder.at(0);
WidgetWindow spwmw(projectPath,
"appid",
"qmlWidget",
{ 0, 0 },
true);
return app.exec();
}
if (argumentList.length() != 6) {
2018-03-21 18:56:58 +01:00
return -3;
}
bool okPosX = false;
int positionX = QVariant(argumentList.at(4)).toInt(&okPosX);
if (!okPosX) {
qWarning() << "Could not parse PositionX value to int: " << argumentList.at(4);
positionX = 0;
}
bool okPosY = false;
int positionY = QVariant(argumentList.at(5)).toInt(&okPosY);
if (!okPosY) {
qWarning() << "Could not parse PositionY value to int: " << argumentList.at(5);
positionY = 0;
}
2018-03-08 22:03:05 +01:00
WidgetWindow spwmw(
argumentList.at(1), // Project path,
argumentList.at(2), // AppID
argumentList.at(3), // Type
QPoint { positionX, positionY });
2023-02-18 14:30:06 +01:00
#if defined(Q_OS_OSX)
MacUtils::showDockIcon(false);
#endif
2023-02-18 14:30:06 +01:00
2018-03-08 22:03:05 +01:00
return app.exec();
}