mirror of
https://gitlab.com/kelteseth/ScreenPlay.git
synced 2024-09-18 16:32:33 +02:00
Add widget base path, qml and exe widget comparison
This commit is contained in:
parent
8ff938e145
commit
d99cec2b3b
@ -3,6 +3,7 @@ SUBDIRS = \
|
||||
ScreenPlay/ScreenPlay.pro \
|
||||
ScreenPlaySDK/Screenplaysdk.pro \
|
||||
ScreenPlayWindow/ScreenPlayWindow.pro \
|
||||
ScreenPlayWidget/
|
||||
ScreenPlayWidget/ScreenPlayWidget.pro
|
||||
|
||||
ScreenPlayWindow.depends = ScreenPlaySDK
|
||||
ScreenPlayWidget.depends = ScreenPlaySDK
|
||||
|
@ -43,8 +43,8 @@
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
|
||||
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||
QApplication::setAttribute(Qt::AA_UseOpenGLES);
|
||||
QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||
QGuiApplication::setAttribute(Qt::AA_UseOpenGLES);
|
||||
|
||||
QGuiApplication app(argc, argv);
|
||||
app.setQuitOnLastWindowClosed(false);
|
||||
@ -105,7 +105,10 @@ int main(int argc, char* argv[])
|
||||
#ifdef QT_DEBUG
|
||||
if (SPWorkingDir.cdUp()) {
|
||||
settings.setScreenPlayWindowPath(QUrl(SPWorkingDir.path() + "/ScreenPlayWindow/debug/ScreenPlayWindow.exe"));
|
||||
settings.setScreenPlayWidgetPath(QUrl(SPWorkingDir.path() + "/ScreenPlayWidget/debug/ScreenPlayWidget.exe"));
|
||||
}
|
||||
|
||||
// We need to detect the right base path so we can copy later the example projects
|
||||
SPBaseDir.cdUp();
|
||||
SPBaseDir.cdUp();
|
||||
SPBaseDir.cd("ScreenPlay");
|
||||
@ -126,9 +129,15 @@ int main(int argc, char* argv[])
|
||||
// If started by QtCreator
|
||||
SPWorkingDir.cd("release");
|
||||
settings.setScreenPlayWindowPath(QUrl(SPWorkingDir.path() + "/ScreenPlayWindow.exe"));
|
||||
SPWorkingDir.cdUp();
|
||||
SPWorkingDir.cdUp();
|
||||
SPWorkingDir.cd("ScreenPlayWidget");
|
||||
SPWorkingDir.cd("release");
|
||||
settings.setScreenPlayWidgetPath(QUrl(SPWorkingDir.path() + "/ScreenPlayWidget.exe"));
|
||||
} else {
|
||||
// If started by Steam
|
||||
settings.setScreenPlayWindowPath(QUrl("ScreenPlayWindow.exe"));
|
||||
settings.setScreenPlayWindowPath(QUrl("ScreenPlayWidget.exe"));
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -20,7 +20,7 @@ ProjectFile::ProjectFile(QJsonObject obj, QString folderName, QUrl absolutePath)
|
||||
tmp = tmp.toLower();
|
||||
if (tmp == "video") {
|
||||
m_type = "video";
|
||||
} else if (tmp == "widget") {
|
||||
} else if (tmp == "qmlwidget" || tmp == "standalonewidget") {
|
||||
m_type = "widget";
|
||||
} else if (tmp == "qmlscene") {
|
||||
m_type = "qmlScene";
|
||||
|
@ -1,13 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include <QCryptographicHash>
|
||||
#include <QGuiApplication>
|
||||
#include <QObject>
|
||||
#include <QPoint>
|
||||
#include <QProcess>
|
||||
#include <QRandomGenerator>
|
||||
#include <QSharedPointer>
|
||||
#include <QVector>
|
||||
#include <QGuiApplication>
|
||||
|
||||
#include "installedlistmodel.h"
|
||||
#include "monitorlistmodel.h"
|
||||
@ -53,7 +53,6 @@ public slots:
|
||||
private:
|
||||
QVector<QSharedPointer<ScreenPlayWallpaper>> m_screenPlayWallpaperList;
|
||||
QVector<QSharedPointer<ScreenPlayWidget>> m_screenPlayWidgetList;
|
||||
|
||||
};
|
||||
|
||||
class ScreenPlayWallpaper : public QObject {
|
||||
@ -86,7 +85,7 @@ public:
|
||||
QStringList proArgs;
|
||||
proArgs.append(QString::number(m_screenNumber.at(0)));
|
||||
proArgs.append(m_projectPath);
|
||||
m_appID = parent->generateID();
|
||||
m_appID = parent->generateID();
|
||||
proArgs.append(m_appID);
|
||||
proArgs.append(parent->m_settings->decoder());
|
||||
proArgs.append(QString::number(volume));
|
||||
@ -155,7 +154,6 @@ public slots:
|
||||
emit previewImageChanged(m_previewImage);
|
||||
}
|
||||
|
||||
|
||||
void setAppID(QString appID)
|
||||
{
|
||||
if (m_appID == appID)
|
||||
@ -182,13 +180,29 @@ class ScreenPlayWidget : public QObject {
|
||||
Q_PROPERTY(QString fullPath READ fullPath WRITE setFullPath NOTIFY fullPathChanged)
|
||||
Q_PROPERTY(QString previewImage READ previewImage WRITE setPreviewImage NOTIFY previewImageChanged)
|
||||
Q_PROPERTY(QPoint position READ position WRITE setPosition NOTIFY positionChanged)
|
||||
Q_PROPERTY(QString appID READ appID WRITE setAppID NOTIFY appIDChanged)
|
||||
|
||||
public:
|
||||
explicit ScreenPlayWidget(QString projectPath, QString previewImage, QString fullPath, ScreenPlay* parent)
|
||||
ScreenPlayWidget(QString projectPath, QString previewImage, QString fullPath, ScreenPlay* parent)
|
||||
{
|
||||
m_projectPath = projectPath;
|
||||
m_fullPath = fullPath;
|
||||
m_previewImage = previewImage;
|
||||
m_process = new QProcess(this);
|
||||
|
||||
m_process->setProgram(fullPath);
|
||||
QStringList proArgs;
|
||||
proArgs.append(m_projectPath);
|
||||
m_appID = parent->generateID();
|
||||
proArgs.append(m_appID);
|
||||
m_process->setArguments(proArgs);
|
||||
|
||||
|
||||
if (fullPath.endsWith(".exe")) {
|
||||
m_process->setProgram(fullPath);
|
||||
} else if (fullPath.endsWith(".qml")) {
|
||||
m_process->setProgram(parent->m_settings->getScreenPlayWidgetPath().toString());
|
||||
}
|
||||
qDebug() << m_process->program();
|
||||
m_process->start();
|
||||
}
|
||||
|
||||
@ -212,6 +226,11 @@ public:
|
||||
return m_fullPath;
|
||||
}
|
||||
|
||||
QString appID() const
|
||||
{
|
||||
return m_appID;
|
||||
}
|
||||
|
||||
signals:
|
||||
|
||||
void projectPathChanged(QString projectPath);
|
||||
@ -222,6 +241,8 @@ signals:
|
||||
|
||||
void fullPathChanged(QString fullPath);
|
||||
|
||||
void appIDChanged(QString appID);
|
||||
|
||||
public slots:
|
||||
|
||||
void setProjectPath(QString projectPath)
|
||||
@ -260,10 +281,20 @@ public slots:
|
||||
emit fullPathChanged(m_fullPath);
|
||||
}
|
||||
|
||||
void setAppID(QString appID)
|
||||
{
|
||||
if (m_appID == appID)
|
||||
return;
|
||||
|
||||
m_appID = appID;
|
||||
emit appIDChanged(m_appID);
|
||||
}
|
||||
|
||||
private:
|
||||
QString m_projectPath;
|
||||
QString m_previewImage;
|
||||
QPoint m_position;
|
||||
QProcess* m_process;
|
||||
QString m_fullPath;
|
||||
QString m_appID;
|
||||
};
|
||||
|
@ -222,6 +222,16 @@ void Settings::createDefaultConfig()
|
||||
defaultSettings.close();
|
||||
}
|
||||
|
||||
QUrl Settings::getScreenPlayWidgetPath() const
|
||||
{
|
||||
return m_screenPlayWidgetPath;
|
||||
}
|
||||
|
||||
void Settings::setScreenPlayWidgetPath(const QUrl &screenPlayWidgetPath)
|
||||
{
|
||||
m_screenPlayWidgetPath = screenPlayWidgetPath;
|
||||
}
|
||||
|
||||
QUrl Settings::getScreenPlayBasePath() const
|
||||
{
|
||||
return m_screenPlayBasePath;
|
||||
|
@ -121,6 +121,9 @@ public:
|
||||
QUrl getScreenPlayBasePath() const;
|
||||
void setScreenPlayBasePath(QUrl screenPlayBasePath);
|
||||
|
||||
QUrl getScreenPlayWidgetPath() const;
|
||||
void setScreenPlayWidgetPath(const QUrl &screenPlayWidgetPath);
|
||||
|
||||
signals:
|
||||
void autostartChanged(bool autostart);
|
||||
void highPriorityStartChanged(bool highPriorityStart);
|
||||
@ -299,6 +302,7 @@ private:
|
||||
QUrl m_localStoragePath;
|
||||
QUrl m_localSettingsPath;
|
||||
QUrl m_screenPlayWindowPath;
|
||||
QUrl m_screenPlayWidgetPath;
|
||||
QUrl m_screenPlayBasePath;
|
||||
|
||||
bool m_hasWorkshopBannerSeen = false;
|
||||
|
Loading…
Reference in New Issue
Block a user