mirror of
https://gitlab.com/kelteseth/ScreenPlay.git
synced 2024-11-22 10:42:29 +01:00
d129bf5cf4
We now wait until the event loop is done until we call terminate. Before ScreenPlayWallpaper would crash internally and stay alive as a zombie process for some reason...
63 lines
1.7 KiB
C++
63 lines
1.7 KiB
C++
// SPDX-License-Identifier: LicenseRef-EliasSteurerTachiom OR AGPL-3.0-only
|
|
|
|
#include <QGuiApplication>
|
|
#include <QQmlApplicationEngine>
|
|
#include <QStringList>
|
|
#include <QtWebEngineQuick>
|
|
|
|
#include "src/widgetwindow.h"
|
|
|
|
#if defined(Q_OS_WIN)
|
|
Q_IMPORT_QML_PLUGIN(ScreenPlaySysInfoPlugin)
|
|
#endif
|
|
|
|
Q_IMPORT_QML_PLUGIN(ScreenPlayWeatherPlugin)
|
|
|
|
int main(int argc, char* argv[])
|
|
{
|
|
|
|
#if !defined(Q_OS_LINUX)
|
|
qputenv("QT_MEDIA_BACKEND", "ffmpeg");
|
|
#endif
|
|
|
|
QtWebEngineQuick::initialize();
|
|
QGuiApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
|
|
|
|
QGuiApplication app(argc, argv);
|
|
|
|
const QStringList argumentList = app.arguments();
|
|
|
|
// If we start with only one argument (path, appID, type),
|
|
// it means we want to test a single widget
|
|
if (argumentList.length() == 1) {
|
|
WidgetWindow spwmw("test", "appid", "qmlWidget", { 100, 100 }, true);
|
|
// WidgetWindow spwmw("C:/Program Files (x86)/Steam/steamapps/workshop/content/672870/2136442401", "appid", "qmlWidget", { 0, 0 }, true);
|
|
return app.exec();
|
|
}
|
|
|
|
if (argumentList.length() != 6) {
|
|
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;
|
|
}
|
|
|
|
WidgetWindow spwmw(
|
|
argumentList.at(1), // Project path,
|
|
argumentList.at(2), // AppID
|
|
argumentList.at(3), // Type
|
|
QPoint { positionX, positionY });
|
|
|
|
return app.exec();
|
|
}
|