1
0
mirror of https://gitlab.com/kelteseth/ScreenPlay.git synced 2024-11-22 10:42:29 +01:00

Merge branch 'master' into 37-support-system-wide-dark-mode

This commit is contained in:
Elias Steurer 2020-05-03 13:16:43 +02:00
commit e8dd488059
88 changed files with 3918 additions and 3371 deletions

14
.gitignore vendored
View File

@ -75,3 +75,17 @@ Common/vcpkg/**
*.DS_Store
/Common/vcpkg/
/Docs/html/screemplay.index
#CMake
CMakeLists.txt.user
CMakeCache.txt
CMakeFiles
CMakeScripts
Testing
Makefile
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
_deps
.cmake/**

7
.gitmodules vendored
View File

@ -1,9 +1,10 @@
[submodule "Common/stomt-qt-sdk"]
path = Common/stomt-qt-sdk
url = https://github.com/Aimber/stomt-qt-sdk.git
[submodule "Common/qt-google-analytics"]
path = Common/qt-google-analytics
url = https://github.com/HSAnet/qt-google-analytics.git
[submodule "Common/qt-breakpad"]
path = Common/qt-breakpad
url = https://github.com/kelteseth/qt-breakpad
[submodule "Common/stomt-qml"]
path = Common/stomt-qml
url = https://gitlab.com/kelteseth/stomt-qml.git
branch = master

40
CMakeLists.txt Normal file
View File

@ -0,0 +1,40 @@
cmake_minimum_required(VERSION 3.17.0 )
if(WIN32)
set(VCPKG_TARGET_TRIPLET "x64-windows")
elseif(APPLE)
set(VCPKG_TARGET_TRIPLET "x64-osx")
elseif(UNIX)
set(VCPKG_TARGET_TRIPLET "x64-linux")
endif()
set(ABSOLUTE_VCPKG_PATH ${CMAKE_CURRENT_SOURCE_DIR}/scripts/buildsystems/vcpkg.cmake)
# If setting the toolchain file fails we can the it inside QtCreator: Extras ->
# Tools -> Kits -> <Your Kit> -> CMake Configuration -> Append this:
# CMAKE_TOOLCHAIN_FILE:STRING=%{CurrentProject:Path}/Common/vcpkg/scripts/buildsystems/vcpkg.cmake
if(NOT DEFINED CMAKE_TOOLCHAIN_FILE)
set(CMAKE_TOOLCHAIN_FILE ${ABSOLUTE_VCPKG_PATH})
endif()
# This sets cmake to compile all dlls into the main directory
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_CXX_STANDARD 17)
set(QT_TELEMTRY_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/Common/qt-google-analytics/)
set(QT_BREAKPAD_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/Common/qt-breakpad/)
project(ScreenPlay)
add_subdirectory(ScreenPlay)
add_subdirectory(ScreenPlaySDK)
add_subdirectory(ScreenPlayWallpaper)
add_subdirectory(ScreenPlayWidget)
add_subdirectory(ScreenPlaySysInfo)
add_subdirectory(Common/stomt-qml)
add_subdirectory(Common/qt-breakpad)

@ -1 +1 @@
Subproject commit 4427e3b03e1fc4442ac539e4165d4855716f1d3b
Subproject commit 9523fa141f98da6587a9da90df8917f55a90d220

1
Common/stomt-qml Submodule

@ -0,0 +1 @@
Subproject commit e7e871512a18d227652a5dd825415e3b59a01de0

View File

@ -1,11 +1,11 @@
# Run:
# C:\Qt\5.14.0\msvc2017_64\bin\qdoc.exe config.qdocconf
# C:\Qt\5.15.0\msvc2017_64\bin\qdoc.exe config.qdocconf
# in this directory. You can shift + right click in this explorer
# window and select "Open PowerShell Window here" for this.
include(C:\Qt\5.14.0\msvc2017_64\doc\global/qt-cpp-defines.qdocconf)
include(C:\Qt\5.14.0\msvc2017_64\doc\global/compat.qdocconf)
include(C:\Qt\5.14.0\msvc2017_64\doc\global/fileextensions.qdocconf)
include(C:\Qt\5.15.0\msvc2017_64\doc\global\qt-cpp-defines.qdocconf)
include(C:\Qt\5.15.0\msvc2017_64\doc\global\compat.qdocconf)
include(C:\Qt\5.15.0\msvc2017_64\doc\global\fileextensions.qdocconf)
descripton = ScreenPlay is an open source cross plattform app for displaying Wallpaper, Widgets and AppDrawer.
language = Cpp

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- CloseIcon.qml -->
<title>List of All Members for CloseIcon | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- CloseIcon.qml -->
<title>CloseIcon QML Type | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -41,21 +40,21 @@
<!-- $$$color -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="">
<tr valign="top" class="odd" id="color-prop">
<td class="tblQmlPropNode"><p>
<a name="color-prop"></a><span class="name">color</span> : <span class="type">color</span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>Color if the icon.</p>
</table></div></div>
<div class="qmldoc"><p>Color if the icon.</p>
</div></div><!-- @@@color -->
<br/>
<!-- $$$icon -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="">
<tr valign="top" class="odd" id="icon-prop">
<td class="tblQmlPropNode"><p>
<a name="icon-prop"></a><span class="name">icon</span> : <span class="type">string</span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>Icon image if the icon.</p>
</table></div></div>
<div class="qmldoc"><p>Icon image if the icon.</p>
</div></div><!-- @@@icon -->
<br/>
<div id= license class="footer center"><p>This documentation is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.</p></div> <script src="../js/mermaid.min.js"></script> <script>var config = {startOnLoad:true,flowchart:{useMaxWidth:true,htmlLabels:true}};mermaid.initialize(config);</script></body>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- ImageSelector.qml -->
<title>List of All Members for ImageSelector | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- ImageSelector.qml -->
<title>ImageSelector QML Type | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- app.cpp -->
<title>List of All Members for App | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -16,6 +15,7 @@
<div class="table"><table class="propsummary">
<tr><td class="topAlign"><ul>
<li class="fn"><span class="name"><b><a href="screenplay-app.html#create-prop">createChanged</a></b></span>(ScreenPlay::Create *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-app.html#exit">exit</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-app.html#globalVariables-prop">globalVariablesChanged</a></b></span>(ScreenPlay::GlobalVariables *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-app.html#installedListFilter-prop">installedListFilterChanged</a></b></span>(ScreenPlay::InstalledListFilter *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-app.html#installedListModel-prop">installedListModelChanged</a></b></span>(ScreenPlay::InstalledListModel *)</li>
@ -40,6 +40,7 @@
<li class="fn"><span class="name"><b><a href="screenplay-app.html#util-prop">utilChanged</a></b></span>(ScreenPlay::Util *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-app.html#create-prop">create</a></b></span>() const : ScreenPlay::Create *</li>
<li class="fn"><span class="name"><b><a href="screenplay-app.html#globalVariables-prop">globalVariables</a></b></span>() const : ScreenPlay::GlobalVariables *</li>
<li class="fn"><span class="name"><b><a href="screenplay-app.html#init">init</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-app.html#installedListFilter-prop">installedListFilter</a></b></span>() const : ScreenPlay::InstalledListFilter *</li>
<li class="fn"><span class="name"><b><a href="screenplay-app.html#installedListModel-prop">installedListModel</a></b></span>() const : ScreenPlay::InstalledListModel *</li>
<li class="fn"><span class="name"><b><a href="screenplay-app.html#mainWindowEngine-prop">mainWindowEngine</a></b></span>() const : QQmlApplicationEngine *</li>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- app.cpp -->
<title>App Class | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -22,7 +21,7 @@
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">App Class</h1>
<span class="small-subtitle">(<a href="screenplay-app.html">ScreenPlay::App</a>)<br/></span>
<span class="small-subtitle">class <a href="screenplay.html">ScreenPlay</a>::App</span>
<!-- $$$App-brief -->
<p>The App class contains all members for <a href="screenplay.html">ScreenPlay</a>. <a href="#details">More...</a></p>
<!-- @@@App -->
@ -36,6 +35,7 @@
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> ScreenPlay::Create *</td><td class="memItemRight bottomAlign"><b><a href="screenplay-app.html#create-prop">create</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> ScreenPlay::GlobalVariables *</td><td class="memItemRight bottomAlign"><b><a href="screenplay-app.html#globalVariables-prop">globalVariables</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-app.html#init">init</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> ScreenPlay::InstalledListFilter *</td><td class="memItemRight bottomAlign"><b><a href="screenplay-app.html#installedListFilter-prop">installedListFilter</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> ScreenPlay::InstalledListModel *</td><td class="memItemRight bottomAlign"><b><a href="screenplay-app.html#installedListModel-prop">installedListModel</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QQmlApplicationEngine *</td><td class="memItemRight bottomAlign"><b><a href="screenplay-app.html#mainWindowEngine-prop">mainWindowEngine</a></b>() const</td></tr>
@ -49,6 +49,7 @@
<a name="public-slots"></a>
<h2 id="public-slots">Public Slots</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-app.html#exit">exit</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-app.html#create-prop">setCreate</a></b>(ScreenPlay::Create *<i>create</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-app.html#globalVariables-prop">setGlobalVariables</a></b>(ScreenPlay::GlobalVariables *<i>globalVariables</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-app.html#installedListFilter-prop">setInstalledListFilter</a></b>(ScreenPlay::InstalledListFilter *<i>installedListFilter</i>)</td></tr>
@ -105,5 +106,16 @@
</div>
</div>
<!-- @@@App -->
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$exit[overload1]$$$exit -->
<h3 class="fn" id="exit"><a name="exit"></a><code>[slot] </code><span class="type">void</span> App::<span class="name">exit</span>()</h3>
<p>Tries to send the telemetry quit event before we call quit ourself.</p>
<!-- @@@exit -->
<!-- $$$init[overload1]$$$init -->
<h3 class="fn" id="init"><a name="init"></a><span class="type">void</span> App::<span class="name">init</span>()</h3>
<p>Used for initialization after the constructor. The sole purpose is to check if another <a href="screenplay.html">ScreenPlay</a> instance is running and then quit early. This is also because we cannot call QApplication::quit(); in the <a href="screenplay-sdkconnector.html">SDKConnector</a> before the app.exec(); ( the Qt main event loop ) has started.</p>
<!-- @@@init -->
</div>
<div id= license class="footer center"><p>This documentation is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.</p></div> <script src="../js/mermaid.min.js"></script> <script>var config = {startOnLoad:true,flowchart:{useMaxWidth:true,htmlLabels:true}};mermaid.initialize(config);</script></body>
</html>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- create.cpp -->
<title>List of All Members for Create | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -13,14 +12,19 @@
<div class="sidebar"><div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">List of All Members for Create</h1>
<p>This is the complete list of members for <a href="screenplay-create.html">ScreenPlay::Create</a>, including inherited members.</p>
<ul>
<div class="table"><table class="propsummary">
<tr><td class="topAlign"><ul>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#Create-1">Create</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#Create">Create</a></b></span>(const shared_ptr&lt;ScreenPlay::GlobalVariables&gt; &amp;, QObject *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#abortAndCleanup">abortAndCleanup</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#ffmpegOutput-prop">appendFfmpegOutput</a></b></span>(QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#createWallpaperStart">createWallpaperStart</a></b></span>(QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#createHTMLWallpaper">createHTMLWallpaper</a></b></span>(const QString &amp;, const QString &amp;, const QString &amp;, const QString &amp;, const QVector&lt;QString&gt; &amp;)</li>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#createWallpaperStart">createWallpaperStart</a></b></span>(QString , Create::VideoCodec )</li>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#createWidget">createWidget</a></b></span>(const QString &amp;, const QString &amp;, const QString &amp;, const QString &amp;, const QString &amp;, const QString &amp;, const QVector&lt;QString&gt; &amp;)</li>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#ffmpegOutput-prop">ffmpegOutputChanged</a></b></span>(QString )</li>
</ul></td><td class="topAlign"><ul>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#progress-prop">progressChanged</a></b></span>(float )</li>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#saveWallpaper">saveWallpaper</a></b></span>(QString , QString , QString , QString , QString , QVector&lt;QString&gt; )</li>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#saveWallpaper">saveWallpaper</a></b></span>(QString , QString , QString , QString , QString , ScreenPlay::Create::VideoCodec , QVector&lt;QString&gt; )</li>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#progress-prop">setProgress</a></b></span>(float )</li>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#workingDir-prop">setWorkingDir</a></b></span>(const QString &amp;)</li>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#workingDir-prop">workingDirChanged</a></b></span>(QString )</li>
@ -28,5 +32,7 @@
<li class="fn"><span class="name"><b><a href="screenplay-create.html#progress-prop">progress</a></b></span>() const : float</li>
<li class="fn"><span class="name"><b><a href="screenplay-create.html#workingDir-prop">workingDir</a></b></span>() const : QString</li>
</ul>
</td></tr>
</table></div>
<div id= license class="footer center"><p>This documentation is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.</p></div> <script src="../js/mermaid.min.js"></script> <script>var config = {startOnLoad:true,flowchart:{useMaxWidth:true,htmlLabels:true}};mermaid.initialize(config);</script></body>
</html>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- create.cpp -->
<title>Create Class | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -22,7 +21,7 @@
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">Create Class</h1>
<span class="small-subtitle">(<a href="screenplay-create.html">ScreenPlay::Create</a>)<br/></span>
<span class="small-subtitle">class <a href="screenplay.html">ScreenPlay</a>::Create</span>
<!-- $$$Create-brief -->
<p>Baseclass for creating wallapers, widgets and the corresponding wizards. <a href="#details">More...</a></p>
<!-- @@@Create -->
@ -43,9 +42,12 @@
<a name="public-slots"></a>
<h2 id="public-slots">Public Slots</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-create.html#abortAndCleanup">abortAndCleanup</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-create.html#ffmpegOutput-prop">appendFfmpegOutput</a></b>(QString <i>ffmpegOutput</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-create.html#createWallpaperStart">createWallpaperStart</a></b>(QString <i>videoPath</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-create.html#saveWallpaper">saveWallpaper</a></b>(QString <i>title</i>, QString <i>description</i>, QString <i>filePath</i>, QString <i>previewImagePath</i>, QString <i>youtube</i>, QVector&lt;QString&gt; <i>tags</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-create.html#createHTMLWallpaper">createHTMLWallpaper</a></b>(const QString &amp;<i>localStoragePath</i>, const QString &amp;<i>title</i>, const QString &amp;<i>previewThumbnail</i>, const QString &amp;<i>license</i>, const QVector&lt;QString&gt; &amp;<i>tags</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-create.html#createWallpaperStart">createWallpaperStart</a></b>(QString <i>videoPath</i>, Create::VideoCodec <i>codec</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-create.html#createWidget">createWidget</a></b>(const QString &amp;<i>localStoragePath</i>, const QString &amp;<i>title</i>, const QString &amp;<i>previewThumbnail</i>, const QString &amp;<i>createdBy</i>, const QString &amp;<i>license</i>, const QString &amp;<i>type</i>, const QVector&lt;QString&gt; &amp;<i>tags</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-create.html#saveWallpaper">saveWallpaper</a></b>(QString <i>title</i>, QString <i>description</i>, QString <i>filePath</i>, QString <i>previewImagePath</i>, QString <i>youtube</i>, ScreenPlay::Create::VideoCodec <i>codec</i>, QVector&lt;QString&gt; <i>tags</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-create.html#progress-prop">setProgress</a></b>(float <i>progress</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-create.html#workingDir-prop">setWorkingDir</a></b>(const QString &amp;<i>workingDir</i>)</td></tr>
</table></div>
@ -73,12 +75,24 @@
<h3 class="fn" id="Create"><a name="Create"></a>Create::<span class="name">Create</span>(const <span class="type">shared_ptr</span>&lt;<span class="type">ScreenPlay::GlobalVariables</span>&gt; &amp;<i>globalVariables</i>, <span class="type">QObject</span> *<i>parent</i> = nullptr)</h3>
<p>Constructor.</p>
<!-- @@@Create -->
<!-- $$$createWallpaperStart[overload1]$$$createWallpaperStartQString -->
<h3 class="fn" id="createWallpaperStart"><a name="createWallpaperStart"></a><code>[slot] </code><span class="type">void</span> Create::<span class="name">createWallpaperStart</span>(<span class="type">QString</span> <i>videoPath</i>)</h3>
<!-- $$$abortAndCleanup[overload1]$$$abortAndCleanup -->
<h3 class="fn" id="abortAndCleanup"><a name="abortAndCleanup"></a><code>[slot] </code><span class="type">void</span> Create::<span class="name">abortAndCleanup</span>()</h3>
<p>.</p>
<!-- @@@abortAndCleanup -->
<!-- $$$createHTMLWallpaper[overload1]$$$createHTMLWallpaperconstQString&constQString&constQString&constQString&constQVector<QString>& -->
<h3 class="fn" id="createHTMLWallpaper"><a name="createHTMLWallpaper"></a><code>[slot] </code><span class="type">void</span> Create::<span class="name">createHTMLWallpaper</span>(const <span class="type">QString</span> &amp;<i>localStoragePath</i>, const <span class="type">QString</span> &amp;<i>title</i>, const <span class="type">QString</span> &amp;<i>previewThumbnail</i>, const <span class="type">QString</span> &amp;<i>license</i>, const <span class="type">QVector</span>&lt;<span class="type">QString</span>&gt; &amp;<i>tags</i>)</h3>
<p>Creates a HTML wallpaper.</p>
<!-- @@@createHTMLWallpaper -->
<!-- $$$createWallpaperStart[overload1]$$$createWallpaperStartQStringCreate::VideoCodec -->
<h3 class="fn" id="createWallpaperStart"><a name="createWallpaperStart"></a><code>[slot] </code><span class="type">void</span> Create::<span class="name">createWallpaperStart</span>(<span class="type">QString</span> <i>videoPath</i>, <span class="type">Create::VideoCodec</span> <i>codec</i>)</h3>
<p>Starts the process.</p>
<!-- @@@createWallpaperStart -->
<!-- $$$saveWallpaper[overload1]$$$saveWallpaperQStringQStringQStringQStringQStringQVector<QString> -->
<h3 class="fn" id="saveWallpaper"><a name="saveWallpaper"></a><code>[slot] </code><span class="type">void</span> Create::<span class="name">saveWallpaper</span>(<span class="type">QString</span> <i>title</i>, <span class="type">QString</span> <i>description</i>, <span class="type">QString</span> <i>filePath</i>, <span class="type">QString</span> <i>previewImagePath</i>, <span class="type">QString</span> <i>youtube</i>, <span class="type">QVector</span>&lt;<span class="type">QString</span>&gt; <i>tags</i>)</h3>
<!-- $$$createWidget[overload1]$$$createWidgetconstQString&constQString&constQString&constQString&constQString&constQString&constQVector<QString>& -->
<h3 class="fn" id="createWidget"><a name="createWidget"></a><code>[slot] </code><span class="type">void</span> Create::<span class="name">createWidget</span>(const <span class="type">QString</span> &amp;<i>localStoragePath</i>, const <span class="type">QString</span> &amp;<i>title</i>, const <span class="type">QString</span> &amp;<i>previewThumbnail</i>, const <span class="type">QString</span> &amp;<i>createdBy</i>, const <span class="type">QString</span> &amp;<i>license</i>, const <span class="type">QString</span> &amp;<i>type</i>, const <span class="type">QVector</span>&lt;<span class="type">QString</span>&gt; &amp;<i>tags</i>)</h3>
<p>Creates a new widget.</p>
<!-- @@@createWidget -->
<!-- $$$saveWallpaper[overload1]$$$saveWallpaperQStringQStringQStringQStringQStringScreenPlay::Create::VideoCodecQVector<QString> -->
<h3 class="fn" id="saveWallpaper"><a name="saveWallpaper"></a><code>[slot] </code><span class="type">void</span> Create::<span class="name">saveWallpaper</span>(<span class="type">QString</span> <i>title</i>, <span class="type">QString</span> <i>description</i>, <span class="type">QString</span> <i>filePath</i>, <span class="type">QString</span> <i>previewImagePath</i>, <span class="type">QString</span> <i>youtube</i>, <span class="type">ScreenPlay::Create::VideoCodec</span> <i>codec</i>, <span class="type">QVector</span>&lt;<span class="type">QString</span>&gt; <i>tags</i>)</h3>
<p>When converting of the wallpaper steps where successful.</p>
<!-- @@@saveWallpaper -->
</div>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- createimportvideo.cpp -->
<title>List of All Members for CreateImportVideo | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -14,12 +13,13 @@
<h1 class="title">List of All Members for CreateImportVideo</h1>
<p>This is the complete list of members for <a href="screenplay-createimportvideo.html">ScreenPlay::CreateImportVideo</a>, including inherited members.</p>
<ul>
<li class="fn"><span class="name"><b><a href="screenplay-createimportvideo.html#CreateImportVideo-2">CreateImportVideo</a></b></span>(const QString &amp;, const QString &amp;, QObject *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-createimportvideo.html#CreateImportVideo-2">CreateImportVideo</a></b></span>(const QString &amp;, const QString &amp;, const QStringList &amp;, QObject *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-createimportvideo.html#CreateImportVideo-1">CreateImportVideo</a></b></span>(QObject *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-createimportvideo.html#createWallpaperGifPreview">createWallpaperGifPreview</a></b></span>() : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-createimportvideo.html#createWallpaperImagePreview">createWallpaperImagePreview</a></b></span>() : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-createimportvideo.html#createWallpaperImageThumbnailPreview">createWallpaperImageThumbnailPreview</a></b></span>() : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-createimportvideo.html#createWallpaperInfo">createWallpaperInfo</a></b></span>() : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-createimportvideo.html#createWallpaperVideo">createWallpaperVideo</a></b></span>() : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-createimportvideo.html#createWallpaperVideo">createWallpaperVideo</a></b></span>(const QString &amp;) : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-createimportvideo.html#createWallpaperVideoPreview">createWallpaperVideoPreview</a></b></span>() : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-createimportvideo.html#extractWallpaperAudio">extractWallpaperAudio</a></b></span>() : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-createimportvideo.html#process">process</a></b></span>()</li>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- createimportvideo.cpp -->
<title>CreateImportVideo Class | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -22,7 +21,7 @@
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">CreateImportVideo Class</h1>
<span class="small-subtitle">(<a href="screenplay-createimportvideo.html">ScreenPlay::CreateImportVideo</a>)<br/></span>
<span class="small-subtitle">class <a href="screenplay.html">ScreenPlay</a>::CreateImportVideo</span>
<!-- $$$CreateImportVideo-brief -->
<p>This class imports (copies) and creates wallaper previews. <a href="#details">More...</a></p>
<!-- @@@CreateImportVideo -->
@ -34,7 +33,7 @@
<a name="public-functions"></a>
<h2 id="public-functions">Public Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="screenplay-createimportvideo.html#CreateImportVideo-2">CreateImportVideo</a></b>(const QString &amp;<i>videoPath</i>, const QString &amp;<i>exportPath</i>, QObject *<i>parent</i> = nullptr)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="screenplay-createimportvideo.html#CreateImportVideo-2">CreateImportVideo</a></b>(const QString &amp;<i>videoPath</i>, const QString &amp;<i>exportPath</i>, const QStringList &amp;<i>codecs</i>, QObject *<i>parent</i> = nullptr)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="screenplay-createimportvideo.html#CreateImportVideo-1">CreateImportVideo</a></b>(QObject *<i>parent</i> = nullptr)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> float </td><td class="memItemRight bottomAlign"><b><a href="screenplay-createimportvideo.html#progress-prop">progress</a></b>() const</td></tr>
</table></div>
@ -42,9 +41,10 @@
<h2 id="public-slots">Public Slots</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-createimportvideo.html#createWallpaperGifPreview">createWallpaperGifPreview</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-createimportvideo.html#createWallpaperImagePreview">createWallpaperImagePreview</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-createimportvideo.html#createWallpaperImageThumbnailPreview">createWallpaperImageThumbnailPreview</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-createimportvideo.html#createWallpaperInfo">createWallpaperInfo</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-createimportvideo.html#createWallpaperVideo">createWallpaperVideo</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-createimportvideo.html#createWallpaperVideo">createWallpaperVideo</a></b>(const QString &amp;<i>codec</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-createimportvideo.html#createWallpaperVideoPreview">createWallpaperVideoPreview</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-createimportvideo.html#extractWallpaperAudio">extractWallpaperAudio</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-createimportvideo.html#process">process</a></b>()</td></tr>
@ -64,8 +64,8 @@
<!-- @@@CreateImportVideo -->
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$CreateImportVideo$$$CreateImportVideoconstQString&constQString&QObject* -->
<h3 class="fn" id="CreateImportVideo-2"><a name="CreateImportVideo-2"></a>CreateImportVideo::<span class="name">CreateImportVideo</span>(const <span class="type">QString</span> &amp;<i>videoPath</i>, const <span class="type">QString</span> &amp;<i>exportPath</i>, <span class="type">QObject</span> *<i>parent</i> = nullptr)</h3>
<!-- $$$CreateImportVideo$$$CreateImportVideoconstQString&constQString&constQStringList&QObject* -->
<h3 class="fn" id="CreateImportVideo-2"><a name="CreateImportVideo-2"></a>CreateImportVideo::<span class="name">CreateImportVideo</span>(const <span class="type">QString</span> &amp;<i>videoPath</i>, const <span class="type">QString</span> &amp;<i>exportPath</i>, const <span class="type">QStringList</span> &amp;<i>codecs</i>, <span class="type">QObject</span> *<i>parent</i> = nullptr)</h3>
<p>Creates a CreateImportVideo object to be used in a different thread. A <i>videoPath</i> and a <i>exportPath</i> are needed for convertion.</p>
<!-- @@@CreateImportVideo -->
<!-- $$$CreateImportVideo$$$CreateImportVideoQObject* -->
@ -86,6 +86,10 @@ args<span class="operator">.</span>append(m_exportPath <span class="operator">+<
<li>Generally broken.</li>
</ul>
<!-- @@@createWallpaperGifPreview -->
<!-- $$$createWallpaperImagePreview[overload1]$$$createWallpaperImagePreview -->
<h3 class="fn" id="createWallpaperImagePreview"><a name="createWallpaperImagePreview"></a><code>[slot] </code><span class="type">bool</span> CreateImportVideo::<span class="name">createWallpaperImagePreview</span>()</h3>
<p>.</p>
<!-- @@@createWallpaperImagePreview -->
<!-- $$$createWallpaperImageThumbnailPreview[overload1]$$$createWallpaperImageThumbnailPreview -->
<h3 class="fn" id="createWallpaperImageThumbnailPreview"><a name="createWallpaperImageThumbnailPreview"></a><code>[slot] </code><span class="type">bool</span> CreateImportVideo::<span class="name">createWallpaperImageThumbnailPreview</span>()</h3>
<p>Starts ffmpeg and tries to covert the given video to a image preview. Returns <code>false</code> if :</p>
@ -104,8 +108,8 @@ args<span class="operator">.</span>append(m_exportPath <span class="operator">+<
<li>Is a wrong file format or generally broken.</li>
</ul>
<!-- @@@createWallpaperInfo -->
<!-- $$$createWallpaperVideo[overload1]$$$createWallpaperVideo -->
<h3 class="fn" id="createWallpaperVideo"><a name="createWallpaperVideo"></a><code>[slot] </code><span class="type">bool</span> CreateImportVideo::<span class="name">createWallpaperVideo</span>()</h3>
<!-- $$$createWallpaperVideo[overload1]$$$createWallpaperVideoconstQString& -->
<h3 class="fn" id="createWallpaperVideo"><a name="createWallpaperVideo"></a><code>[slot] </code><span class="type">bool</span> CreateImportVideo::<span class="name">createWallpaperVideo</span>(const <span class="type">QString</span> &amp;<i>codec</i>)</h3>
<p>Starts ffmpeg and tries to covert the given video to a webm video.</p>
<pre class="cpp"><span class="comment">//[...]</span>
args<span class="operator">.</span>append(<span class="string">&quot;-c:v&quot;</span>);
@ -159,7 +163,7 @@ args<span class="operator">.</span>append(m_exportPath <span class="operator">+<
<h3 class="fn" id="process"><a name="process"></a><code>[slot] </code><span class="type">void</span> CreateImportVideo::<span class="name">process</span>()</h3>
<p>Processes the multiple steps of creating a wallpaper.</p>
<ol class="1" type="1"><li><a href="screenplay-createimportvideo.html#createWallpaperInfo">createWallpaperInfo</a>()</li>
<li>createWallpaperImagePreview()</li>
<li><a href="screenplay-createimportvideo.html#createWallpaperImagePreview">createWallpaperImagePreview</a>()</li>
<li><a href="screenplay-createimportvideo.html#createWallpaperVideoPreview">createWallpaperVideoPreview</a>()</li>
<li><a href="screenplay-createimportvideo.html#createWallpaperGifPreview">createWallpaperGifPreview</a>()</li>
<li><a href="screenplay-createimportvideo.html#createWallpaperVideo">createWallpaperVideo</a>() - skiped if already a webm</li>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- installedlistfilter.cpp -->
<title>List of All Members for InstalledListFilter | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- installedlistfilter.cpp -->
<title>InstalledListFilter Class | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -21,7 +20,7 @@
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">InstalledListFilter Class</h1>
<span class="small-subtitle">(<a href="screenplay-installedlistfilter.html">ScreenPlay::InstalledListFilter</a>)<br/></span>
<span class="small-subtitle">class <a href="screenplay.html">ScreenPlay</a>::InstalledListFilter</span>
<!-- $$$InstalledListFilter-brief -->
<p>Proxy between Installed List Model and QML view to filter items. <a href="#details">More...</a></p>
<!-- @@@InstalledListFilter -->
@ -65,7 +64,7 @@
<!-- @@@sortByName -->
<!-- $$$sortByRoleType[overload1]$$$sortByRoleTypeQString -->
<h3 class="fn" id="sortByRoleType"><a name="sortByRoleType"></a><code>[slot] </code><span class="type">void</span> InstalledListFilter::<span class="name">sortByRoleType</span>(<span class="type">QString</span> <i>type</i>)</h3>
<p>Set the filter proxy to sort by the given <i>type</i>. This can be</p>
<p>Set the filter proxy to sort by the given <i>type</i>. This can be:</p>
<ul>
<li>All</li>
<li>Videos</li>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- installedlistmodel.cpp -->
<title>List of All Members for InstalledListModel | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- installedlistmodel.cpp -->
<title>InstalledListModel Class | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -23,7 +22,7 @@
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">InstalledListModel Class</h1>
<span class="small-subtitle">(<a href="screenplay-installedlistmodel.html">ScreenPlay::InstalledListModel</a>)<br/></span>
<span class="small-subtitle">class <a href="screenplay.html">ScreenPlay</a>::InstalledListModel</span>
<!-- $$$InstalledListModel-brief -->
<p>Lists all installed wallpapers, widgets etc. from a given Path. <a href="#details">More...</a></p>
<!-- @@@InstalledListModel -->
@ -69,25 +68,29 @@
<h2>Member Function Documentation</h2>
<!-- $$$InstalledListModel[overload1]$$$InstalledListModelconstshared_ptr<ScreenPlay::GlobalVariables>&QObject* -->
<h3 class="fn" id="InstalledListModel"><a name="InstalledListModel"></a>InstalledListModel::<span class="name">InstalledListModel</span>(const <span class="type">shared_ptr</span>&lt;<span class="type">ScreenPlay::GlobalVariables</span>&gt; &amp;<i>globalVariables</i>, <span class="type">QObject</span> *<i>parent</i> = nullptr)</h3>
<p>Constructor</p>
<p>Constructor.</p>
<!-- @@@InstalledListModel -->
<!-- $$$append[overload1]$$$appendconstQJsonObject&constQString& -->
<h3 class="fn" id="append"><a name="append"></a><code>[slot] </code><span class="type">void</span> InstalledListModel::<span class="name">append</span>(const <span class="type">QJsonObject</span> &amp;<i>obj</i>, const <span class="type">QString</span> &amp;<i>folderName</i>)</h3>
<!-- @@@append -->
<!-- $$$init[overload1]$$$init -->
<h3 class="fn" id="init"><a name="init"></a><code>[slot] </code><span class="type">void</span> InstalledListModel::<span class="name">init</span>()</h3>
<p>Init function that needs to be called after the constructor because we need the GlobalVariables to finish loading.</p>
<!-- @@@init -->
<!-- $$$loadInstalledContent[overload1]$$$loadInstalledContent -->
<h3 class="fn" id="loadInstalledContent"><a name="loadInstalledContent"></a><code>[slot] </code><span class="type">void</span> InstalledListModel::<span class="name">loadInstalledContent</span>()</h3>
<!-- @@@loadInstalledContent -->
<!-- $$$data[overload1]$$$dataconstQModelIndex&int -->
<h3 class="fn" id="data"><a name="data"></a><code>[override virtual] </code><span class="type">QVariant</span> InstalledListModel::<span class="name">data</span>(const <span class="type">QModelIndex</span> &amp;<i>index</i>, <span class="type">int</span> <i>role</i> = Qt::DisplayRole) const</h3>
<p>Retruns the data member of the ProjectFile.</p>
<!-- @@@data -->
<!-- $$$roleNames[overload1]$$$roleNames -->
<h3 class="fn" id="roleNames"><a name="roleNames"></a><code>[override virtual] </code><span class="type">QHash</span>&lt;<span class="type">int</span>, <span class="type">QByteArray</span>&gt; InstalledListModel::<span class="name">roleNames</span>() const</h3>
<p>Returns the variable names for QML.</p>
<!-- @@@roleNames -->
<!-- $$$rowCount[overload1]$$$rowCountconstQModelIndex& -->
<h3 class="fn" id="rowCount"><a name="rowCount"></a><code>[override virtual] </code><span class="type">int</span> InstalledListModel::<span class="name">rowCount</span>(const <span class="type">QModelIndex</span> &amp;<i>parent</i> = QModelIndex()) const</h3>
<p>Returns the length of the installed items.</p>
<!-- @@@rowCount -->
</div>
<div id= license class="footer center"><p>This documentation is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.</p></div> <script src="../js/mermaid.min.js"></script> <script>var config = {startOnLoad:true,flowchart:{useMaxWidth:true,htmlLabels:true}};mermaid.initialize(config);</script></body>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- monitorlistmodel.cpp -->
<title>List of All Members for MonitorListModel | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -15,6 +14,14 @@
<p>This is the complete list of members for <a href="screenplay-monitorlistmodel.html">ScreenPlay::MonitorListModel</a>, including inherited members.</p>
<ul>
<li class="fn"><span class="name"><b><a href="screenplay-monitorlistmodel.html#MonitorListModel">MonitorListModel</a></b></span>(QObject *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-monitorlistmodel.html#clearActiveWallpaper">clearActiveWallpaper</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-monitorlistmodel.html#closeWallpaper">closeWallpaper</a></b></span>(const QString &amp;)</li>
<li class="fn"><span class="name"><b><a href="screenplay-monitorlistmodel.html#reset">reset</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-monitorlistmodel.html#data">data</a></b></span>(const QModelIndex &amp;, int ) const : QVariant</li>
<li class="fn"><span class="name"><b><a href="screenplay-monitorlistmodel.html#getAppIDByMonitorIndex">getAppIDByMonitorIndex</a></b></span>(<i>const int</i>) const : int</li>
<li class="fn"><span class="name"><b><a href="screenplay-monitorlistmodel.html#roleNames">roleNames</a></b></span>() const : QHash&lt;int, QByteArray&gt;</li>
<li class="fn"><span class="name"><b><a href="screenplay-monitorlistmodel.html#rowCount">rowCount</a></b></span>(const QModelIndex &amp;) const : int</li>
<li class="fn"><span class="name"><b><a href="screenplay-monitorlistmodel.html#setWallpaperActiveMonitor">setWallpaperActiveMonitor</a></b></span>(const std::shared_ptr&lt;ScreenPlayWallpaper&gt; &amp;, const QVector&lt;int&gt; )</li>
</ul>
<div id= license class="footer center"><p>This documentation is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.</p></div> <script src="../js/mermaid.min.js"></script> <script>var config = {startOnLoad:true,flowchart:{useMaxWidth:true,htmlLabels:true}};mermaid.initialize(config);</script></body>
</html>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- monitorlistmodel.cpp -->
<title>MonitorListModel Class | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -15,12 +14,14 @@
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#reimplemented-public-functions">Reimplemented Public Functions</a></li>
<li class="level1"><a href="#public-slots">Public Slots</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">MonitorListModel Class</h1>
<span class="small-subtitle">(<a href="screenplay-monitorlistmodel.html">ScreenPlay::MonitorListModel</a>)<br/></span>
<span class="small-subtitle">class <a href="screenplay.html">ScreenPlay</a>::MonitorListModel</span>
<!-- $$$MonitorListModel-brief -->
<p>MonitorListModel. <a href="#details">More...</a></p>
<!-- @@@MonitorListModel -->
@ -33,6 +34,22 @@
<h2 id="public-functions">Public Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="screenplay-monitorlistmodel.html#MonitorListModel">MonitorListModel</a></b>(QObject *<i>parent</i> = nullptr)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="screenplay-monitorlistmodel.html#getAppIDByMonitorIndex">getAppIDByMonitorIndex</a></b>(<i>const int</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-monitorlistmodel.html#setWallpaperActiveMonitor">setWallpaperActiveMonitor</a></b>(const std::shared_ptr&lt;ScreenPlayWallpaper&gt; &amp;<i>wallpaper</i>, const QVector&lt;int&gt; <i>monitors</i>)</td></tr>
</table></div>
<a name="reimplemented-public-functions"></a>
<h2 id="reimplemented-public-functions">Reimplemented Public Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> virtual QVariant </td><td class="memItemRight bottomAlign"><b><a href="screenplay-monitorlistmodel.html#data">data</a></b>(const QModelIndex &amp;<i>index</i>, int <i>role</i> = Qt::DisplayRole) const override</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QHash&lt;int, QByteArray&gt; </td><td class="memItemRight bottomAlign"><b><a href="screenplay-monitorlistmodel.html#roleNames">roleNames</a></b>() const override</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual int </td><td class="memItemRight bottomAlign"><b><a href="screenplay-monitorlistmodel.html#rowCount">rowCount</a></b>(const QModelIndex &amp;<i>parent</i> = QModelIndex()) const override</td></tr>
</table></div>
<a name="public-slots"></a>
<h2 id="public-slots">Public Slots</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-monitorlistmodel.html#clearActiveWallpaper">clearActiveWallpaper</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-monitorlistmodel.html#closeWallpaper">closeWallpaper</a></b>(const QString &amp;<i>appID</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-monitorlistmodel.html#reset">reset</a></b>()</td></tr>
</table></div>
<a name="details"></a>
<!-- $$$MonitorListModel-description -->
@ -51,8 +68,40 @@
<h2>Member Function Documentation</h2>
<!-- $$$MonitorListModel[overload1]$$$MonitorListModelQObject* -->
<h3 class="fn" id="MonitorListModel"><a name="MonitorListModel"></a>MonitorListModel::<span class="name">MonitorListModel</span>(<span class="type">QObject</span> *<i>parent</i> = nullptr)</h3>
<p>Constructor</p>
<p>Constructor.</p>
<!-- @@@MonitorListModel -->
<!-- $$$clearActiveWallpaper[overload1]$$$clearActiveWallpaper -->
<h3 class="fn" id="clearActiveWallpaper"><a name="clearActiveWallpaper"></a><code>[slot] </code><span class="type">void</span> MonitorListModel::<span class="name">clearActiveWallpaper</span>()</h3>
<p>Clears the listmodel.</p>
<!-- @@@clearActiveWallpaper -->
<!-- $$$closeWallpaper[overload1]$$$closeWallpaperconstQString& -->
<h3 class="fn" id="closeWallpaper"><a name="closeWallpaper"></a><code>[slot] </code><span class="type">void</span> MonitorListModel::<span class="name">closeWallpaper</span>(const <span class="type">QString</span> &amp;<i>appID</i>)</h3>
<p>Removes the preview image and appID inside an monitor item.</p>
<!-- @@@closeWallpaper -->
<!-- $$$reset[overload1]$$$reset -->
<h3 class="fn" id="reset"><a name="reset"></a><code>[slot] </code><span class="type">void</span> MonitorListModel::<span class="name">reset</span>()</h3>
<p>Removes all items and loads them vida loadMonitors() again.</p>
<!-- @@@reset -->
<!-- $$$data[overload1]$$$dataconstQModelIndex&int -->
<h3 class="fn" id="data"><a name="data"></a><code>[override virtual] </code><span class="type">QVariant</span> MonitorListModel::<span class="name">data</span>(const <span class="type">QModelIndex</span> &amp;<i>index</i>, <span class="type">int</span> <i>role</i> = Qt::DisplayRole) const</h3>
<p>Retruns the data member of the Monitor.</p>
<!-- @@@data -->
<!-- $$$getAppIDByMonitorIndex[overload1]$$$getAppIDByMonitorIndexconstint -->
<h3 class="fn" id="getAppIDByMonitorIndex"><a name="getAppIDByMonitorIndex"></a><span class="type">int</span> MonitorListModel::<span class="name">getAppIDByMonitorIndex</span>(<i>const int</i>) const</h3>
<p>If successful this function returns an AppID. Otherwhise std::nullopt.</p>
<!-- @@@getAppIDByMonitorIndex -->
<!-- $$$roleNames[overload1]$$$roleNames -->
<h3 class="fn" id="roleNames"><a name="roleNames"></a><code>[override virtual] </code><span class="type">QHash</span>&lt;<span class="type">int</span>, <span class="type">QByteArray</span>&gt; MonitorListModel::<span class="name">roleNames</span>() const</h3>
<p>Returns the variable names for QML.</p>
<!-- @@@roleNames -->
<!-- $$$rowCount[overload1]$$$rowCountconstQModelIndex& -->
<h3 class="fn" id="rowCount"><a name="rowCount"></a><code>[override virtual] </code><span class="type">int</span> MonitorListModel::<span class="name">rowCount</span>(const <span class="type">QModelIndex</span> &amp;<i>parent</i> = QModelIndex()) const</h3>
<p>Returns the amount of active monitors.</p>
<!-- @@@rowCount -->
<!-- $$$setWallpaperActiveMonitor[overload1]$$$setWallpaperActiveMonitorconststd::shared_ptr<ScreenPlayWallpaper>&constQVector<int> -->
<h3 class="fn" id="setWallpaperActiveMonitor"><a name="setWallpaperActiveMonitor"></a><span class="type">void</span> MonitorListModel::<span class="name">setWallpaperActiveMonitor</span>(const <span class="type">std::shared_ptr</span>&lt;<span class="type"><a href="screenplay-screenplaywallpaper.html">ScreenPlayWallpaper</a></span>&gt; &amp;<i>wallpaper</i>, const <span class="type">QVector</span>&lt;<span class="type">int</span>&gt; <i>monitors</i>)</h3>
<p>Sets the previewImage and appID for a list item.</p>
<!-- @@@setWallpaperActiveMonitor -->
</div>
<div id= license class="footer center"><p>This documentation is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.</p></div> <script src="../js/mermaid.min.js"></script> <script>var config = {startOnLoad:true,flowchart:{useMaxWidth:true,htmlLabels:true}};mermaid.initialize(config);</script></body>
</html>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- profilelistmodel.cpp -->
<title>List of All Members for ProfileListModel | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- profilelistmodel.cpp -->
<title>ProfileListModel Class | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -20,7 +19,7 @@
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">ProfileListModel Class</h1>
<span class="small-subtitle">(<a href="screenplay-profilelistmodel.html">ScreenPlay::ProfileListModel</a>)<br/></span>
<span class="small-subtitle">class <a href="screenplay.html">ScreenPlay</a>::ProfileListModel</span>
<!-- $$$ProfileListModel-brief -->
<p>Used to save all active wallpapers and widgets position and configurations after a restart. <a href="#details">More...</a></p>
<!-- @@@ProfileListModel -->

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- projectsettingslistmodel.cpp -->
<title>List of All Members for ProjectSettingsListModel | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- projectsettingslistmodel.cpp -->
<title>ProjectSettingsListModel Class | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -20,7 +19,7 @@
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">ProjectSettingsListModel Class</h1>
<span class="small-subtitle">(<a href="screenplay-projectsettingslistmodel.html">ScreenPlay::ProjectSettingsListModel</a>)<br/></span>
<span class="small-subtitle">class <a href="screenplay.html">ScreenPlay</a>::ProjectSettingsListModel</span>
<!-- $$$ProjectSettingsListModel-brief -->
<p>ProjectSettingsListModel used for the dynamic loading of the properties json object inside a project.json. <a href="#details">More...</a></p>
<!-- @@@ProjectSettingsListModel -->

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- screenplaymanager.cpp -->
<title>List of All Members for ScreenPlayManager | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -14,13 +13,14 @@
<h1 class="title">List of All Members for ScreenPlayManager</h1>
<p>This is the complete list of members for <a href="screenplay-screenplaymanager.html">ScreenPlay::ScreenPlayManager</a>, including inherited members.</p>
<ul>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaymanager.html#ScreenPlayManager">ScreenPlayManager</a></b></span>(const shared_ptr&lt;ScreenPlay::GlobalVariables&gt; &amp;, const shared_ptr&lt;ScreenPlay::MonitorListModel&gt; &amp;, const shared_ptr&lt;ScreenPlay::SDKConnector&gt; &amp;, const int &amp;, QObject *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaymanager.html#ScreenPlayManager">ScreenPlayManager</a></b></span>(const shared_ptr&lt;ScreenPlay::GlobalVariables&gt; &amp;, const shared_ptr&lt;ScreenPlay::MonitorListModel&gt; &amp;, const shared_ptr&lt;ScreenPlay::SDKConnector&gt; &amp;, const int &amp;, const shared_ptr&lt;ScreenPlay::Settings&gt; &amp;, QObject *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaymanager.html#activeWallpaperCounter-prop">activeWallpaperCounterChanged</a></b></span>(int )</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaymanager.html#activeWidgetsCounter-prop">activeWidgetsCounterChanged</a></b></span>(int )</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaymanager.html#createWallpaper">createWallpaper</a></b></span>(QVector&lt;int&gt; , const QString &amp;, const QString &amp;, const float , const QString &amp;, const QString &amp;, const bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaymanager.html#createWidget">createWidget</a></b></span>(const QUrl &amp;, const QString &amp;, const QString &amp;)</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaymanager.html#getWallpaperByAppID">getWallpaperByAppID</a></b></span>(<i>const QString &amp;</i>) : int</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaymanager.html#removeAllWallpapers">removeAllWallpapers</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaymanager.html#removeAllWidgets">removeAllWidgets</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaymanager.html#requestProjectSettingsListModelAt">requestProjectSettingsListModelAt</a></b></span>(const int )</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaymanager.html#activeWallpaperCounter-prop">setActiveWallpaperCounter</a></b></span>(int )</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaymanager.html#activeWidgetsCounter-prop">setActiveWidgetsCounter</a></b></span>(int )</li>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- screenplaymanager.cpp -->
<title>ScreenPlayManager Class | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -22,7 +21,7 @@
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">ScreenPlayManager Class</h1>
<span class="small-subtitle">(<a href="screenplay-screenplaymanager.html">ScreenPlay::ScreenPlayManager</a>)<br/></span>
<span class="small-subtitle">class <a href="screenplay.html">ScreenPlay</a>::ScreenPlayManager</span>
<!-- $$$ScreenPlayManager-brief -->
<p>The ScreenPlayManager is used to manage multiple <a href="screenplay-screenplaywallpaper.html">ScreenPlayWallpaper</a> and <a href="screenplay-screenplaywidget.html">ScreenPlayWidget</a>. <a href="#details">More...</a></p>
<!-- @@@ScreenPlayManager -->
@ -34,7 +33,7 @@
<a name="public-functions"></a>
<h2 id="public-functions">Public Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#ScreenPlayManager">ScreenPlayManager</a></b>(const shared_ptr&lt;ScreenPlay::GlobalVariables&gt; &amp;<i>globalVariables</i>, const shared_ptr&lt;ScreenPlay::MonitorListModel&gt; &amp;<i>mlm</i>, const shared_ptr&lt;ScreenPlay::SDKConnector&gt; &amp;<i>sdkc</i>, const int &amp;<i>telemetry</i>, QObject *<i>parent</i> = nullptr)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#ScreenPlayManager">ScreenPlayManager</a></b>(const shared_ptr&lt;ScreenPlay::GlobalVariables&gt; &amp;<i>globalVariables</i>, const shared_ptr&lt;ScreenPlay::MonitorListModel&gt; &amp;<i>mlm</i>, const shared_ptr&lt;ScreenPlay::SDKConnector&gt; &amp;<i>sdkc</i>, const int &amp;<i>telemetry</i>, const shared_ptr&lt;ScreenPlay::Settings&gt; &amp;<i>settings</i>, QObject *<i>parent</i> = nullptr)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#activeWallpaperCounter-prop">activeWallpaperCounter</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#activeWidgetsCounter-prop">activeWidgetsCounter</a></b>() const</td></tr>
</table></div>
@ -45,6 +44,7 @@
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#createWidget">createWidget</a></b>(const QUrl &amp;<i>absoluteStoragePath</i>, const QString &amp;<i>previewImage</i>, const QString &amp;<i>type</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#getWallpaperByAppID">getWallpaperByAppID</a></b>(<i>const QString &amp;</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#removeAllWallpapers">removeAllWallpapers</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#removeAllWidgets">removeAllWidgets</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#requestProjectSettingsListModelAt">requestProjectSettingsListModelAt</a></b>(const int <i>index</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#activeWallpaperCounter-prop">setActiveWallpaperCounter</a></b>(int <i>activeWallpaperCounter</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#activeWidgetsCounter-prop">setActiveWidgetsCounter</a></b>(int <i>activeWidgetsCounter</i>)</td></tr>
@ -66,9 +66,9 @@
<!-- @@@ScreenPlayManager -->
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$ScreenPlayManager[overload1]$$$ScreenPlayManagerconstshared_ptr<ScreenPlay::GlobalVariables>&constshared_ptr<ScreenPlay::MonitorListModel>&constshared_ptr<ScreenPlay::SDKConnector>&constint&QObject* -->
<h3 class="fn" id="ScreenPlayManager"><a name="ScreenPlayManager"></a>ScreenPlayManager::<span class="name">ScreenPlayManager</span>(const <span class="type">shared_ptr</span>&lt;<span class="type">ScreenPlay::GlobalVariables</span>&gt; &amp;<i>globalVariables</i>, const <span class="type">shared_ptr</span>&lt;<span class="type"><a href="screenplay-monitorlistmodel.html">ScreenPlay::MonitorListModel</a></span>&gt; &amp;<i>mlm</i>, const <span class="type">shared_ptr</span>&lt;<span class="type"><a href="screenplay-sdkconnector.html">ScreenPlay::SDKConnector</a></span>&gt; &amp;<i>sdkc</i>, const <span class="type">int</span> &amp;<i>telemetry</i>, <span class="type">QObject</span> *<i>parent</i> = nullptr)</h3>
<p>Constructor</p>
<!-- $$$ScreenPlayManager[overload1]$$$ScreenPlayManagerconstshared_ptr<ScreenPlay::GlobalVariables>&constshared_ptr<ScreenPlay::MonitorListModel>&constshared_ptr<ScreenPlay::SDKConnector>&constint&constshared_ptr<ScreenPlay::Settings>&QObject* -->
<h3 class="fn" id="ScreenPlayManager"><a name="ScreenPlayManager"></a>ScreenPlayManager::<span class="name">ScreenPlayManager</span>(const <span class="type">shared_ptr</span>&lt;<span class="type">ScreenPlay::GlobalVariables</span>&gt; &amp;<i>globalVariables</i>, const <span class="type">shared_ptr</span>&lt;<span class="type"><a href="screenplay-monitorlistmodel.html">ScreenPlay::MonitorListModel</a></span>&gt; &amp;<i>mlm</i>, const <span class="type">shared_ptr</span>&lt;<span class="type"><a href="screenplay-sdkconnector.html">ScreenPlay::SDKConnector</a></span>&gt; &amp;<i>sdkc</i>, const <span class="type">int</span> &amp;<i>telemetry</i>, const <span class="type">shared_ptr</span>&lt;<span class="type"><a href="screenplay-settings.html">ScreenPlay::Settings</a></span>&gt; &amp;<i>settings</i>, <span class="type">QObject</span> *<i>parent</i> = nullptr)</h3>
<p>Constructor-.</p>
<!-- @@@ScreenPlayManager -->
<!-- $$$createWallpaper[overload1]$$$createWallpaperQVector<int>constQString&constQString&constfloatconstQString&constQString&constbool -->
<h3 class="fn" id="createWallpaper"><a name="createWallpaper"></a><code>[slot] </code><span class="type">void</span> ScreenPlayManager::<span class="name">createWallpaper</span>(<span class="type">QVector</span>&lt;<span class="type">int</span>&gt; <i>monitorIndex</i>, const <span class="type">QString</span> &amp;<i>absoluteStoragePath</i>, const <span class="type">QString</span> &amp;<i>previewImage</i>, const <span class="type">float</span> <i>volume</i>, const <span class="type">QString</span> &amp;<i>fillMode</i>, const <span class="type">QString</span> &amp;<i>type</i>, const <span class="type">bool</span> <i>saveToProfilesConfigFile</i> = true)</h3>
@ -86,6 +86,10 @@
<h3 class="fn" id="removeAllWallpapers"><a name="removeAllWallpapers"></a><code>[slot] </code><span class="type">void</span> ScreenPlayManager::<span class="name">removeAllWallpapers</span>()</h3>
<p>Removes all wallpaper entries in the profiles.json. This method will likely be removed when using nlohmann/json in the future.</p>
<!-- @@@removeAllWallpapers -->
<!-- $$$removeAllWidgets[overload1]$$$removeAllWidgets -->
<h3 class="fn" id="removeAllWidgets"><a name="removeAllWidgets"></a><code>[slot] </code><span class="type">void</span> ScreenPlayManager::<span class="name">removeAllWidgets</span>()</h3>
<p>Removes all widgets and resets the activeWidgetCounter to 0.</p>
<!-- @@@removeAllWidgets -->
<!-- $$$requestProjectSettingsListModelAt[overload1]$$$requestProjectSettingsListModelAtconstint -->
<h3 class="fn" id="requestProjectSettingsListModelAt"><a name="requestProjectSettingsListModelAt"></a><code>[slot] </code><span class="type">void</span> ScreenPlayManager::<span class="name">requestProjectSettingsListModelAt</span>(const <span class="type">int</span> <i>index</i>)</h3>
<p>Request a spesific json profile to display in the active wallpaper popup on the right.</p>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- screenplaywallpaper.cpp -->
<title>List of All Members for ScreenPlayWallpaper | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -15,13 +14,14 @@
<p>This is the complete list of members for <a href="screenplay-screenplaywallpaper.html">ScreenPlay::ScreenPlayWallpaper</a>, including inherited members.</p>
<div class="table"><table class="propsummary">
<tr><td class="topAlign"><ul>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaywallpaper.html#ScreenPlayWallpaper-1">ScreenPlayWallpaper</a></b></span>(const QVector&lt;int&gt; &amp;, const shared_ptr&lt;ScreenPlay::GlobalVariables&gt; &amp;, const QString &amp;, const QString &amp;, const QString &amp;, const QString &amp;, const QJsonObject &amp;, QObject *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaywallpaper.html#ScreenPlayWallpaper">ScreenPlayWallpaper</a></b></span>(const QVector&lt;int&gt; &amp;, const shared_ptr&lt;ScreenPlay::GlobalVariables&gt; &amp;, const QString &amp;, const QString &amp;, const QString &amp;, const float , const QString &amp;, const QString &amp;, QObject *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaywallpaper.html#ScreenPlayWallpaper">ScreenPlayWallpaper</a></b></span>(const QVector&lt;int&gt; &amp;, const shared_ptr&lt;ScreenPlay::GlobalVariables&gt; &amp;, const QString &amp;, const QString &amp;, const QString &amp;, const float , const QString &amp;, const QString &amp;, const bool , QObject *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaywallpaper.html#absolutePath-prop">absolutePathChanged</a></b></span>(QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaywallpaper.html#appID-prop">appIDChanged</a></b></span>(QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaywallpaper.html#file-prop">fileChanged</a></b></span>(QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaywallpaper.html#fillMode-prop">fillModeChanged</a></b></span>(QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaywallpaper.html#previewImage-prop">previewImageChanged</a></b></span>(QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaywallpaper.html#processError">processError</a></b></span>(QProcess::ProcessError )</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaywallpaper.html#processExit">processExit</a></b></span>(int , QProcess::ExitStatus )</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaywallpaper.html#profileJsonObject-prop">profileJsonObjectChanged</a></b></span>(QJsonObject )</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaywallpaper.html#screenNumber-prop">screenNumberChanged</a></b></span>(QVector&lt;int&gt; )</li>
<li class="fn"><span class="name"><b><a href="screenplay-screenplaywallpaper.html#absolutePath-prop">setAbsolutePath</a></b></span>(QString )</li>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- screenplaywallpaper.cpp -->
<title>ScreenPlayWallpaper Class | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -22,7 +21,7 @@
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">ScreenPlayWallpaper Class</h1>
<span class="small-subtitle">(<a href="screenplay-screenplaywallpaper.html">ScreenPlay::ScreenPlayWallpaper</a>)<br/></span>
<span class="small-subtitle">class <a href="screenplay.html">ScreenPlay</a>::ScreenPlayWallpaper</span>
<!-- $$$ScreenPlayWallpaper-brief -->
<p>A Single Object to manage a Wallpaper. <a href="#details">More...</a></p>
<!-- @@@ScreenPlayWallpaper -->
@ -34,8 +33,7 @@
<a name="public-functions"></a>
<h2 id="public-functions">Public Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaywallpaper.html#ScreenPlayWallpaper-1">ScreenPlayWallpaper</a></b>(const QVector&lt;int&gt; &amp;<i>screenNumber</i>, const shared_ptr&lt;ScreenPlay::GlobalVariables&gt; &amp;<i>globalVariables</i>, const QString &amp;<i>appID</i>, const QString &amp;<i>absolutePath</i>, const QString &amp;<i>previewImage</i>, const QString &amp;<i>type</i>, const QJsonObject &amp;<i>profileJsonObject</i>, QObject *<i>parent</i> = nullptr)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaywallpaper.html#ScreenPlayWallpaper">ScreenPlayWallpaper</a></b>(const QVector&lt;int&gt; &amp;<i>screenNumber</i>, const shared_ptr&lt;ScreenPlay::GlobalVariables&gt; &amp;<i>globalVariables</i>, const QString &amp;<i>appID</i>, const QString &amp;<i>absolutePath</i>, const QString &amp;<i>previewImage</i>, const float <i>volume</i>, const QString &amp;<i>fillMode</i>, const QString &amp;<i>type</i>, QObject *<i>parent</i> = nullptr)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaywallpaper.html#ScreenPlayWallpaper">ScreenPlayWallpaper</a></b>(const QVector&lt;int&gt; &amp;<i>screenNumber</i>, const shared_ptr&lt;ScreenPlay::GlobalVariables&gt; &amp;<i>globalVariables</i>, const QString &amp;<i>appID</i>, const QString &amp;<i>absolutePath</i>, const QString &amp;<i>previewImage</i>, const float <i>volume</i>, const QString &amp;<i>fillMode</i>, const QString &amp;<i>type</i>, const bool <i>checkWallpaperVisible</i>, QObject *<i>parent</i> = nullptr)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaywallpaper.html#absolutePath-prop">absolutePath</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaywallpaper.html#appID-prop">appID</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaywallpaper.html#file-prop">file</a></b>() const</td></tr>
@ -48,6 +46,8 @@
<a name="public-slots"></a>
<h2 id="public-slots">Public Slots</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaywallpaper.html#processError">processError</a></b>(QProcess::ProcessError <i>error</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaywallpaper.html#processExit">processExit</a></b>(int <i>exitCode</i>, QProcess::ExitStatus <i>exitStatus</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaywallpaper.html#absolutePath-prop">setAbsolutePath</a></b>(QString <i>absolutePath</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaywallpaper.html#appID-prop">setAppID</a></b>(QString <i>appID</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaywallpaper.html#file-prop">setFile</a></b>(QString <i>file</i>)</td></tr>
@ -78,14 +78,18 @@
<!-- @@@ScreenPlayWallpaper -->
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$ScreenPlayWallpaper$$$ScreenPlayWallpaperconstQVector<int>&constshared_ptr<ScreenPlay::GlobalVariables>&constQString&constQString&constQString&constQString&constQJsonObject&QObject* -->
<h3 class="fn" id="ScreenPlayWallpaper-1"><a name="ScreenPlayWallpaper-1"></a>ScreenPlayWallpaper::<span class="name">ScreenPlayWallpaper</span>(const <span class="type">QVector</span>&lt;<span class="type">int</span>&gt; &amp;<i>screenNumber</i>, const <span class="type">shared_ptr</span>&lt;<span class="type">ScreenPlay::GlobalVariables</span>&gt; &amp;<i>globalVariables</i>, const <span class="type">QString</span> &amp;<i>appID</i>, const <span class="type">QString</span> &amp;<i>absolutePath</i>, const <span class="type">QString</span> &amp;<i>previewImage</i>, const <span class="type">QString</span> &amp;<i>type</i>, const <span class="type">QJsonObject</span> &amp;<i>profileJsonObject</i>, <span class="type">QObject</span> *<i>parent</i> = nullptr)</h3>
<p>Constructor for scene Wallpaper with multile json settings.</p>
<!-- @@@ScreenPlayWallpaper -->
<!-- $$$ScreenPlayWallpaper[overload1]$$$ScreenPlayWallpaperconstQVector<int>&constshared_ptr<ScreenPlay::GlobalVariables>&constQString&constQString&constQString&constfloatconstQString&constQString&QObject* -->
<h3 class="fn" id="ScreenPlayWallpaper"><a name="ScreenPlayWallpaper"></a>ScreenPlayWallpaper::<span class="name">ScreenPlayWallpaper</span>(const <span class="type">QVector</span>&lt;<span class="type">int</span>&gt; &amp;<i>screenNumber</i>, const <span class="type">shared_ptr</span>&lt;<span class="type">ScreenPlay::GlobalVariables</span>&gt; &amp;<i>globalVariables</i>, const <span class="type">QString</span> &amp;<i>appID</i>, const <span class="type">QString</span> &amp;<i>absolutePath</i>, const <span class="type">QString</span> &amp;<i>previewImage</i>, const <span class="type">float</span> <i>volume</i>, const <span class="type">QString</span> &amp;<i>fillMode</i>, const <span class="type">QString</span> &amp;<i>type</i>, <span class="type">QObject</span> *<i>parent</i> = nullptr)</h3>
<!-- $$$ScreenPlayWallpaper[overload1]$$$ScreenPlayWallpaperconstQVector<int>&constshared_ptr<ScreenPlay::GlobalVariables>&constQString&constQString&constQString&constfloatconstQString&constQString&constboolQObject* -->
<h3 class="fn" id="ScreenPlayWallpaper"><a name="ScreenPlayWallpaper"></a>ScreenPlayWallpaper::<span class="name">ScreenPlayWallpaper</span>(const <span class="type">QVector</span>&lt;<span class="type">int</span>&gt; &amp;<i>screenNumber</i>, const <span class="type">shared_ptr</span>&lt;<span class="type">ScreenPlay::GlobalVariables</span>&gt; &amp;<i>globalVariables</i>, const <span class="type">QString</span> &amp;<i>appID</i>, const <span class="type">QString</span> &amp;<i>absolutePath</i>, const <span class="type">QString</span> &amp;<i>previewImage</i>, const <span class="type">float</span> <i>volume</i>, const <span class="type">QString</span> &amp;<i>fillMode</i>, const <span class="type">QString</span> &amp;<i>type</i>, const <span class="type">bool</span> <i>checkWallpaperVisible</i>, <span class="type">QObject</span> *<i>parent</i> = nullptr)</h3>
<p>Constructor for video Wallpaper.</p>
<!-- @@@ScreenPlayWallpaper -->
<!-- $$$processError[overload1]$$$processErrorQProcess::ProcessError -->
<h3 class="fn" id="processError"><a name="processError"></a><code>[slot] </code><span class="type">void</span> ScreenPlayWallpaper::<span class="name">processError</span>(<span class="type">QProcess::ProcessError</span> <i>error</i>)</h3>
<p>Prints the exit code error.</p>
<!-- @@@processError -->
<!-- $$$processExit[overload1]$$$processExitintQProcess::ExitStatus -->
<h3 class="fn" id="processExit"><a name="processExit"></a><code>[slot] </code><span class="type">void</span> ScreenPlayWallpaper::<span class="name">processExit</span>(<span class="type">int</span> <i>exitCode</i>, <span class="type">QProcess::ExitStatus</span> <i>exitStatus</i>)</h3>
<p>Prints the exit code if != 0.</p>
<!-- @@@processExit -->
</div>
<div id= license class="footer center"><p>This documentation is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.</p></div> <script src="../js/mermaid.min.js"></script> <script>var config = {startOnLoad:true,flowchart:{useMaxWidth:true,htmlLabels:true}};mermaid.initialize(config);</script></body>
</html>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- screenplaywidget.cpp -->
<title>List of All Members for ScreenPlayWidget | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- screenplaywidget.cpp -->
<title>ScreenPlayWidget Class | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -22,7 +21,7 @@
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">ScreenPlayWidget Class</h1>
<span class="small-subtitle">(<a href="screenplay-screenplaywidget.html">ScreenPlay::ScreenPlayWidget</a>)<br/></span>
<span class="small-subtitle">class <a href="screenplay.html">ScreenPlay</a>::ScreenPlayWidget</span>
<!-- $$$ScreenPlayWidget-brief -->
<p>A Single Object to manage a Widget. <a href="#details">More...</a></p>
<!-- @@@ScreenPlayWidget -->
@ -70,7 +69,7 @@
<h2>Member Function Documentation</h2>
<!-- $$$ScreenPlayWidget[overload1]$$$ScreenPlayWidgetconstQString&constshared_ptr<ScreenPlay::GlobalVariables>&constQString&constQString&constQString&constQString& -->
<h3 class="fn" id="ScreenPlayWidget"><a name="ScreenPlayWidget"></a>ScreenPlayWidget::<span class="name">ScreenPlayWidget</span>(const <span class="type">QString</span> &amp;<i>appID</i>, const <span class="type">shared_ptr</span>&lt;<span class="type">ScreenPlay::GlobalVariables</span>&gt; &amp;<i>globalVariables</i>, const <span class="type">QString</span> &amp;<i>projectPath</i>, const <span class="type">QString</span> &amp;<i>previewImage</i>, const <span class="type">QString</span> &amp;<i>fullPath</i>, const <span class="type">QString</span> &amp;<i>type</i>)</h3>
<p>Constructor</p>
<p>Constructor.</p>
<!-- @@@ScreenPlayWidget -->
</div>
<div id= license class="footer center"><p>This documentation is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.</p></div> <script src="../js/mermaid.min.js"></script> <script>var config = {startOnLoad:true,flowchart:{useMaxWidth:true,htmlLabels:true}};mermaid.initialize(config);</script></body>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- sdkconnector.cpp -->
<title>List of All Members for SDKConnector | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -17,10 +16,11 @@
<li class="fn"><span class="name"><b><a href="screenplay-sdkconnector.html#SDKConnector">SDKConnector</a></b></span>(QObject *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-sdkconnector.html#closeAllConnections">closeAllConnections</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-sdkconnector.html#closeAllWallpapers">closeAllWallpapers</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-sdkconnector.html#closeAllWidgets">closeAllWidgets</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-sdkconnector.html#closeConntectionByType">closeConntectionByType</a></b></span>(const QStringList &amp;)</li>
<li class="fn"><span class="name"><b><a href="screenplay-sdkconnector.html#closeWallpaper">closeWallpaper</a></b></span>(const QString &amp;)</li>
<li class="fn"><span class="name"><b><a href="screenplay-sdkconnector.html#closeWallpapersAt">closeWallpapersAt</a></b></span>(int )</li>
<li class="fn"><span class="name"><b><a href="screenplay-sdkconnector.html#newConnection">newConnection</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-sdkconnector.html#setSceneValue">setSceneValue</a></b></span>(QString , QString , QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-sdkconnector.html#setWallpaperValue">setWallpaperValue</a></b></span>(QString , QString , QString )</li>
</ul>
<div id= license class="footer center"><p>This documentation is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.</p></div> <script src="../js/mermaid.min.js"></script> <script>var config = {startOnLoad:true,flowchart:{useMaxWidth:true,htmlLabels:true}};mermaid.initialize(config);</script></body>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- sdkconnector.cpp -->
<title>SDKConnector Class | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -21,7 +20,7 @@
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">SDKConnector Class</h1>
<span class="small-subtitle">(<a href="screenplay-sdkconnector.html">ScreenPlay::SDKConnector</a>)<br/></span>
<span class="small-subtitle">class <a href="screenplay.html">ScreenPlay</a>::SDKConnector</span>
<!-- $$$SDKConnector-brief -->
<p>SDKConnector is used for the QLocalSocket connection between <a href="screenplay.html">ScreenPlay</a> and the standalone <a href="screenplay-screenplaywallpaper.html">ScreenPlayWallpaper</a> and <a href="screenplay-screenplaywidget.html">ScreenPlayWidget</a> executables. <a href="#details">More...</a></p>
<!-- @@@SDKConnector -->
@ -40,10 +39,11 @@
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-sdkconnector.html#closeAllConnections">closeAllConnections</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-sdkconnector.html#closeAllWallpapers">closeAllWallpapers</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-sdkconnector.html#closeAllWidgets">closeAllWidgets</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-sdkconnector.html#closeConntectionByType">closeConntectionByType</a></b>(const QStringList &amp;<i>list</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-sdkconnector.html#closeWallpaper">closeWallpaper</a></b>(const QString &amp;<i>appID</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-sdkconnector.html#closeWallpapersAt">closeWallpapersAt</a></b>(int <i>at</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-sdkconnector.html#newConnection">newConnection</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-sdkconnector.html#setSceneValue">setSceneValue</a></b>(QString <i>appID</i>, QString <i>key</i>, QString <i>value</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-sdkconnector.html#setWallpaperValue">setWallpaperValue</a></b>(QString <i>appID</i>, QString <i>key</i>, QString <i>value</i>)</td></tr>
</table></div>
<a name="details"></a>
@ -73,6 +73,19 @@
<li>godotWallpaper</li>
</ul>
<!-- @@@closeAllWallpapers -->
<!-- $$$closeAllWidgets[overload1]$$$closeAllWidgets -->
<h3 class="fn" id="closeAllWidgets"><a name="closeAllWidgets"></a><code>[slot] </code><span class="type">void</span> SDKConnector::<span class="name">closeAllWidgets</span>()</h3>
<p>Closes all widgets connection with the following type:</p>
<ul>
<li>qmlWidget</li>
<li>htmlWidget</li>
<li>standaloneWidget</li>
</ul>
<!-- @@@closeAllWidgets -->
<!-- $$$closeConntectionByType[overload1]$$$closeConntectionByTypeconstQStringList& -->
<h3 class="fn" id="closeConntectionByType"><a name="closeConntectionByType"></a><code>[slot] </code><span class="type">void</span> SDKConnector::<span class="name">closeConntectionByType</span>(const <span class="type">QStringList</span> &amp;<i>list</i>)</h3>
<p>Closes a connection by type. Used only by <a href="screenplay-sdkconnector.html#closeAllWidgets">closeAllWidgets</a>() and <a href="screenplay-sdkconnector.html#closeAllWallpapers">closeAllWallpapers</a>()</p>
<!-- @@@closeConntectionByType -->
<!-- $$$closeWallpaper[overload1]$$$closeWallpaperconstQString& -->
<h3 class="fn" id="closeWallpaper"><a name="closeWallpaper"></a><code>[slot] </code><span class="type">void</span> SDKConnector::<span class="name">closeWallpaper</span>(const <span class="type">QString</span> &amp;<i>appID</i>)</h3>
<p>Closes a wallpaper by the given <i>appID</i>.</p>
@ -85,10 +98,6 @@
<h3 class="fn" id="newConnection"><a name="newConnection"></a><code>[slot] </code><span class="type">void</span> SDKConnector::<span class="name">newConnection</span>()</h3>
<p>Appends a new SDKConnection object shared_ptr to the m_clients list.</p>
<!-- @@@newConnection -->
<!-- $$$setSceneValue[overload1]$$$setSceneValueQStringQStringQString -->
<h3 class="fn" id="setSceneValue"><a name="setSceneValue"></a><code>[slot] </code><span class="type">void</span> SDKConnector::<span class="name">setSceneValue</span>(<span class="type">QString</span> <i>appID</i>, <span class="type">QString</span> <i>key</i>, <span class="type">QString</span> <i>value</i>)</h3>
<p>Sets a given <i>value</i> to a given <i>key</i>. The <i>appID</i> is used to identify the receiver socket.</p>
<!-- @@@setSceneValue -->
<!-- $$$setWallpaperValue[overload1]$$$setWallpaperValueQStringQStringQString -->
<h3 class="fn" id="setWallpaperValue"><a name="setWallpaperValue"></a><code>[slot] </code><span class="type">void</span> SDKConnector::<span class="name">setWallpaperValue</span>(<span class="type">QString</span> <i>appID</i>, <span class="type">QString</span> <i>key</i>, <span class="type">QString</span> <i>value</i>)</h3>
<p>Sets a given <i>value</i> to a given <i>key</i>. The <i>appID</i> is used to identify the receiver socket.</p>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- settings.cpp -->
<title>List of All Members for Settings | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -18,36 +17,42 @@
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#Settings">Settings</a></b></span>(const shared_ptr&lt;ScreenPlay::GlobalVariables&gt; &amp;, QObject *)</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#anonymousTelemetry-prop">anonymousTelemetryChanged</a></b></span>(bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#autostart-prop">autostartChanged</a></b></span>(bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#checkWallpaperVisible-prop">checkWallpaperVisibleChanged</a></b></span>(bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#decoder-prop">decoderChanged</a></b></span>(QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#font-prop">fontChanged</a></b></span>(QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#gitBuildHash-prop">gitBuildHashChanged</a></b></span>(QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#highPriorityStart-prop">highPriorityStartChanged</a></b></span>(bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#language-prop">languageChanged</a></b></span>(QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#language-prop">languageChanged</a></b></span>(ScreenPlay::Settings::Language )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#offlineMode-prop">offlineModeChanged</a></b></span>(bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#pauseWallpaperWhenIngame-prop">pauseWallpaperWhenIngameChanged</a></b></span>(bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#retranslateUI">retranslateUI</a></b></span>() : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#anonymousTelemetry-prop">setAnonymousTelemetry</a></b></span>(bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#autostart-prop">setAutostart</a></b></span>(bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#checkWallpaperVisible-prop">setCheckWallpaperVisible</a></b></span>(bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#decoder-prop">setDecoder</a></b></span>(QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#font-prop">setFont</a></b></span>(QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#gitBuildHash-prop">setGitBuildHash</a></b></span>(QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#highPriorityStart-prop">setHighPriorityStart</a></b></span>(bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#language-prop">setLanguage</a></b></span>(QString )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#offlineMode-prop">setOfflineMode</a></b></span>(bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#language-prop">setLanguage</a></b></span>(ScreenPlay::Settings::Language )</li>
</ul></td><td class="topAlign"><ul>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#pauseWallpaperWhenIngame-prop">setPauseWallpaperWhenIngame</a></b></span>(bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#offlineMode-prop">setOfflineMode</a></b></span>(bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#silentStart-prop">setSilentStart</a></b></span>(bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#videoFillMode-prop">setVideoFillMode</a></b></span>(ScreenPlay::Settings::FillMode )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#setupWidgetAndWindowPaths">setupWidgetAndWindowPaths</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#silentStart-prop">silentStartChanged</a></b></span>(bool )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#videoFillMode-prop">videoFillModeChanged</a></b></span>(ScreenPlay::Settings::FillMode )</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#writeJsonFileFromResource">writeJsonFileFromResource</a></b></span>(const QString &amp;)</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#writeSingleSettingConfig">writeSingleSettingConfig</a></b></span>(QString , QVariant ) : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#anonymousTelemetry-prop">anonymousTelemetry</a></b></span>() const : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#autostart-prop">autostart</a></b></span>() const : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#checkWallpaperVisible-prop">checkWallpaperVisible</a></b></span>() const : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#decoder-prop">decoder</a></b></span>() const : QString</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#font-prop">font</a></b></span>() const : QString</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#gitBuildHash-prop">gitBuildHash</a></b></span>() const : QString</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#highPriorityStart-prop">highPriorityStart</a></b></span>() const : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#language-prop">language</a></b></span>() const : QString</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#language-prop">language</a></b></span>() const : ScreenPlay::Settings::Language</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#offlineMode-prop">offlineMode</a></b></span>() const : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#pauseWallpaperWhenIngame-prop">pauseWallpaperWhenIngame</a></b></span>() const : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#setupLanguage">setupLanguage</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#silentStart-prop">silentStart</a></b></span>() const : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#version-prop">version</a></b></span>() const : QVersionNumber</li>
<li class="fn"><span class="name"><b><a href="screenplay-settings.html#videoFillMode-prop">videoFillMode</a></b></span>() const : ScreenPlay::Settings::FillMode</li>
</ul>
</td></tr>
</table></div>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- settings.cpp -->
<title>Settings Class | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -22,7 +21,7 @@
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">Settings Class</h1>
<span class="small-subtitle">(<a href="screenplay-settings.html">ScreenPlay::Settings</a>)<br/></span>
<span class="small-subtitle">class <a href="screenplay.html">ScreenPlay</a>::Settings</span>
<!-- $$$Settings-brief -->
<p>Global settings class for reading and writing settings. <a href="#details">More...</a></p>
<!-- @@@Settings -->
@ -37,43 +36,49 @@
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#Settings">Settings</a></b>(const shared_ptr&lt;ScreenPlay::GlobalVariables&gt; &amp;<i>globalVariables</i>, QObject *<i>parent</i> = nullptr)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#anonymousTelemetry-prop">anonymousTelemetry</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#autostart-prop">autostart</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#checkWallpaperVisible-prop">checkWallpaperVisible</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#decoder-prop">decoder</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#font-prop">font</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#gitBuildHash-prop">gitBuildHash</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#highPriorityStart-prop">highPriorityStart</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#language-prop">language</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> ScreenPlay::Settings::Language </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#language-prop">language</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#offlineMode-prop">offlineMode</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#pauseWallpaperWhenIngame-prop">pauseWallpaperWhenIngame</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#setupLanguage">setupLanguage</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#silentStart-prop">silentStart</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QVersionNumber </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#version-prop">version</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> ScreenPlay::Settings::FillMode </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#videoFillMode-prop">videoFillMode</a></b>() const</td></tr>
</table></div>
<a name="public-slots"></a>
<h2 id="public-slots">Public Slots</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#retranslateUI">retranslateUI</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#anonymousTelemetry-prop">setAnonymousTelemetry</a></b>(bool <i>anonymousTelemetry</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#autostart-prop">setAutostart</a></b>(bool <i>autostart</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#checkWallpaperVisible-prop">setCheckWallpaperVisible</a></b>(bool <i>checkWallpaperVisible</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#decoder-prop">setDecoder</a></b>(QString <i>decoder</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#font-prop">setFont</a></b>(QString <i>font</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#gitBuildHash-prop">setGitBuildHash</a></b>(QString <i>gitBuildHash</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#highPriorityStart-prop">setHighPriorityStart</a></b>(bool <i>highPriorityStart</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#language-prop">setLanguage</a></b>(QString <i>language</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#language-prop">setLanguage</a></b>(ScreenPlay::Settings::Language <i>language</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#offlineMode-prop">setOfflineMode</a></b>(bool <i>offlineMode</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#pauseWallpaperWhenIngame-prop">setPauseWallpaperWhenIngame</a></b>(bool <i>pauseWallpaperWhenIngame</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#silentStart-prop">setSilentStart</a></b>(bool <i>silentStart</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#videoFillMode-prop">setVideoFillMode</a></b>(ScreenPlay::Settings::FillMode <i>videoFillMode</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#setupWidgetAndWindowPaths">setupWidgetAndWindowPaths</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#writeJsonFileFromResource">writeJsonFileFromResource</a></b>(const QString &amp;<i>filename</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#writeSingleSettingConfig">writeSingleSettingConfig</a></b>(QString <i>name</i>, QVariant <i>value</i>)</td></tr>
</table></div>
<a name="signals"></a>
<h2 id="signals">Signals</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#anonymousTelemetry-prop">anonymousTelemetryChanged</a></b>(bool <i>anonymousTelemetry</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#autostart-prop">autostartChanged</a></b>(bool <i>autostart</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#checkWallpaperVisible-prop">checkWallpaperVisibleChanged</a></b>(bool <i>checkWallpaperVisible</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#decoder-prop">decoderChanged</a></b>(QString <i>decoder</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#font-prop">fontChanged</a></b>(QString <i>font</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#gitBuildHash-prop">gitBuildHashChanged</a></b>(QString <i>gitBuildHash</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#highPriorityStart-prop">highPriorityStartChanged</a></b>(bool <i>highPriorityStart</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#language-prop">languageChanged</a></b>(QString <i>language</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#language-prop">languageChanged</a></b>(ScreenPlay::Settings::Language <i>language</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#offlineMode-prop">offlineModeChanged</a></b>(bool <i>offlineMode</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#pauseWallpaperWhenIngame-prop">pauseWallpaperWhenIngameChanged</a></b>(bool <i>pauseWallpaperWhenIngame</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#silentStart-prop">silentStartChanged</a></b>(bool <i>silentStart</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-settings.html#videoFillMode-prop">videoFillModeChanged</a></b>(ScreenPlay::Settings::FillMode <i>videoFillMode</i>)</td></tr>
</table></div>
<a name="details"></a>
<!-- $$$Settings-description -->
@ -81,9 +86,8 @@
<h2 id="details">Detailed Description</h2>
<p>Used for:</p>
<ul>
<li>User configuration via AppDataLocalScreenPlayScreenPlay<ul>
<li>User configuration via AppData<b class="redFont"><code>\Local</code></b>ScreenPlayScreenPlay<ul>
<li>profiles.json - saved wallpaper and widgets config</li>
<li>settings.json - saved settings like autostart and installedContentPath</li>
<li>Computer\HKEY_CURRENT_USER\Software\<a href="screenplay.html">ScreenPlay</a>\<a href="screenplay.html">ScreenPlay</a> - ScreenPlayContentPath for steam plugin</li>
</ul>
</li>
@ -99,16 +103,17 @@
<p>Constructor and sets up:</p>
<ol class="1" type="1"><li>Sets the git build hash via <a href="screenplay.html">ScreenPlay</a>.pro c++ define</li>
<li>Checks the langauge via settings or system and available ones and installes a translator.</li>
<li>Checks the paths for config folders in appdata</li>
<li>Checks if settings.json and profiles.json are available. If first run it creates the default settings and profiles json.</li>
<li>Parses the version and checks with the compiled one.</li>
<li>Checks the absoluteStoragePath.</li>
<li>Checks the AbsoluteStoragePath.</li>
<li>Checks regisitry for steam plugin settings</li>
<li>Parses autostart, <a href="screenplay-settings.html#anonymousTelemetry-prop">anonymousTelemetry</a>, <a href="screenplay-settings.html#highPriorityStart-prop">highPriorityStart</a></li>
<li>Checks <a href="screenplay-screenplaywallpaper.html">ScreenPlayWallpaper</a> and ScreenPlayWidgets executable paths.</li>
</ol>
<p>More errorchecking is needed here. For example when the proile or settings json cannot to parsed, use the default settings.</p>
<!-- @@@Settings -->
<!-- $$$retranslateUI[overload1]$$$retranslateUI -->
<h3 class="fn" id="retranslateUI"><a name="retranslateUI"></a><code>[slot] </code><span class="type">bool</span> Settings::<span class="name">retranslateUI</span>()</h3>
<p>Check for supported langauges. If we use a langauge that not uses latin characters, we change the font. For example this happens for korean user. We ship google Noto Sans CJK KR Regular for this..</p>
<!-- @@@retranslateUI -->
<!-- $$$setupWidgetAndWindowPaths[overload1]$$$setupWidgetAndWindowPaths -->
<h3 class="fn" id="setupWidgetAndWindowPaths"><a name="setupWidgetAndWindowPaths"></a><code>[slot] </code><span class="type">void</span> Settings::<span class="name">setupWidgetAndWindowPaths</span>()</h3>
<p>To have a better developer experience we check if we use a debug version. Then we assume That the paths are the default QtCreator paths and set the widgets and wallpaper executable paths accordingly.</p>
@ -121,10 +126,10 @@
<li>settings.json</li>
</ul>
<!-- @@@writeJsonFileFromResource -->
<!-- $$$writeSingleSettingConfig[overload1]$$$writeSingleSettingConfigQStringQVariant -->
<h3 class="fn" id="writeSingleSettingConfig"><a name="writeSingleSettingConfig"></a><code>[slot] </code><span class="type">bool</span> Settings::<span class="name">writeSingleSettingConfig</span>(<span class="type">QString</span> <i>name</i>, <span class="type">QVariant</span> <i>value</i>)</h3>
<p>Save a single <i>value</i> with a given <i>name</i> (key) into the settings.json. Returns <code>true</code> when successful otherise returns <code>false</code>.</p>
<!-- @@@writeSingleSettingConfig -->
<!-- $$$setupLanguage[overload1]$$$setupLanguage -->
<h3 class="fn" id="setupLanguage"><a name="setupLanguage"></a><span class="type">void</span> Settings::<span class="name">setupLanguage</span>()</h3>
<p>Checks if there is already a saved language. If not we try to use the system langauge. If we do not support the system language we use english.</p>
<!-- @@@setupLanguage -->
</div>
<div id= license class="footer center"><p>This documentation is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.</p></div> <script src="../js/mermaid.min.js"></script> <script>var config = {startOnLoad:true,flowchart:{useMaxWidth:true,htmlLabels:true}};mermaid.initialize(config);</script></body>
</html>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- util.cpp -->
<title>List of All Members for Util | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -24,12 +23,14 @@
<li class="fn"><span class="name"><b><a href="screenplay-util.html#generateRandomString">generateRandomString</a></b></span>(quint32 ) : QString</li>
<li class="fn"><span class="name"><b><a href="screenplay-util.html#getVersionNumberFromString">getVersionNumberFromString</a></b></span>(<i>const QString &amp;</i>) : int</li>
<li class="fn"><span class="name"><b><a href="screenplay-util.html#logToGui">logToGui</a></b></span>(QtMsgType , const QMessageLogContext &amp;, const QString &amp;)</li>
<li class="fn"><span class="name"><b><a href="screenplay-util.html#openFolderInExplorer">openFolderInExplorer</a></b></span>(const QString &amp;) const</li>
</ul></td><td class="topAlign"><ul>
<li class="fn"><span class="name"><b><a href="screenplay-util.html#openJsonFileToObject">openJsonFileToObject</a></b></span>(<i>const QString &amp;</i>) : int</li>
<li class="fn"><span class="name"><b><a href="screenplay-util.html#openJsonFileToString">openJsonFileToString</a></b></span>(<i>const QString &amp;</i>) : int</li>
<li class="fn"><span class="name"><b><a href="screenplay-util.html#parseQByteArrayToQJsonObject">parseQByteArrayToQJsonObject</a></b></span>(<i>const QByteArray &amp;</i>) : int</li>
<li class="fn"><span class="name"><b><a href="screenplay-util.html#requestAllLicenses">requestAllLicenses</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-util.html#requestDataProtection">requestDataProtection</a></b></span>()</li>
<li class="fn"><span class="name"><b><a href="screenplay-util.html#toString">toString</a></b></span>(const QStringList &amp;) : QString</li>
<li class="fn"><span class="name"><b><a href="screenplay-util.html#writeJsonObjectToFile">writeJsonObjectToFile</a></b></span>(const QString &amp;, const QJsonObject &amp;, bool ) : bool</li>
<li class="fn"><span class="name"><b><a href="screenplay-util.html#aquireFFMPEGStatus-prop">aquireFFMPEGStatus</a></b></span>() const : ScreenPlay::Util::AquireFFMPEGStatus</li>
<li class="fn"><span class="name"><b><a href="screenplay-util.html#debugMessages-prop">debugMessages</a></b></span>() const : QString</li>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- util.cpp -->
<title>Util Class | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
@ -22,7 +21,7 @@
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">Util Class</h1>
<span class="small-subtitle">(<a href="screenplay-util.html">ScreenPlay::Util</a>)<br/></span>
<span class="small-subtitle">class <a href="screenplay.html">ScreenPlay</a>::Util</span>
<!-- $$$Util-brief -->
<p>Easy to use global object to use when certain functionality is not available in QML. <a href="#details">More...</a></p>
<!-- @@@Util -->
@ -47,11 +46,13 @@
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="screenplay-util.html#generateRandomString">generateRandomString</a></b>(quint32 <i>length</i> = 32)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="screenplay-util.html#getVersionNumberFromString">getVersionNumberFromString</a></b>(<i>const QString &amp;</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-util.html#logToGui">logToGui</a></b>(QtMsgType <i>type</i>, const QMessageLogContext &amp;<i>context</i>, const QString &amp;<i>msg</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-util.html#openFolderInExplorer">openFolderInExplorer</a></b>(const QString &amp;<i>url</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="screenplay-util.html#openJsonFileToObject">openJsonFileToObject</a></b>(<i>const QString &amp;</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="screenplay-util.html#openJsonFileToString">openJsonFileToString</a></b>(<i>const QString &amp;</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="screenplay-util.html#parseQByteArrayToQJsonObject">parseQByteArrayToQJsonObject</a></b>(<i>const QByteArray &amp;</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-util.html#requestAllLicenses">requestAllLicenses</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-util.html#requestDataProtection">requestDataProtection</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="screenplay-util.html#toString">toString</a></b>(const QStringList &amp;<i>list</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-util.html#writeJsonObjectToFile">writeJsonObjectToFile</a></b>(const QString &amp;<i>absoluteFilePath</i>, const QJsonObject &amp;<i>object</i>, bool <i>truncate</i> = true)</td></tr>
</table></div>
<a name="signals"></a>
@ -71,7 +72,7 @@
<h2>Member Function Documentation</h2>
<!-- $$$Util[overload1]$$$UtilQNetworkAccessManager*QObject* -->
<h3 class="fn" id="Util"><a name="Util"></a>Util::<span class="name">Util</span>(<span class="type">QNetworkAccessManager</span> *<i>networkAccessManager</i>, <span class="type">QObject</span> *<i>parent</i> = nullptr)</h3>
<p>Constructor</p>
<p>Constructor.</p>
<!-- @@@Util -->
<!-- $$$copyToClipboard[overload1]$$$copyToClipboardconstQString& -->
<h3 class="fn" id="copyToClipboard"><a name="copyToClipboard"></a><code>[slot] </code><span class="type">void</span> Util::<span class="name">copyToClipboard</span>(const <span class="type">QString</span> &amp;<i>text</i>) const</h3>
@ -98,17 +99,21 @@
<h3 class="fn" id="logToGui"><a name="logToGui"></a><code>[static slot] </code><span class="type">void</span> Util::<span class="name">logToGui</span>(<span class="type">QtMsgType</span> <i>type</i>, const <span class="type">QMessageLogContext</span> &amp;<i>context</i>, const <span class="type">QString</span> &amp;<i>msg</i>)</h3>
<p>Basic logging to the GUI. No logging is done to a log file for now. This string can be copied in the settings tab in the UI.</p>
<!-- @@@logToGui -->
<!-- $$$openFolderInExplorer[overload1]$$$openFolderInExplorerconstQString& -->
<h3 class="fn" id="openFolderInExplorer"><a name="openFolderInExplorer"></a><code>[slot] </code><span class="type">void</span> Util::<span class="name">openFolderInExplorer</span>(const <span class="type">QString</span> &amp;<i>url</i>) const</h3>
<p>Opens a native folder window on the given path. Windows and Mac only for now!</p>
<!-- @@@openFolderInExplorer -->
<!-- $$$openJsonFileToObject[overload1]$$$openJsonFileToObjectconstQString& -->
<h3 class="fn" id="openJsonFileToObject"><a name="openJsonFileToObject"></a><code>[static slot] </code><span class="type">int</span> Util::<span class="name">openJsonFileToObject</span>(<i>const QString &amp;</i>)</h3>
<p>Opens a json file (absolute path) and tries to convert it to a QJsonObject. Return std::nullopt when not successful.</p>
<p>Opens a json file (absolute path) and tries to convert it to a QJsonObject. Returns std::nullopt when not successful.</p>
<!-- @@@openJsonFileToObject -->
<!-- $$$openJsonFileToString[overload1]$$$openJsonFileToStringconstQString& -->
<h3 class="fn" id="openJsonFileToString"><a name="openJsonFileToString"></a><code>[static slot] </code><span class="type">int</span> Util::<span class="name">openJsonFileToString</span>(<i>const QString &amp;</i>)</h3>
<p>Opens a json file (absolute path) and tries to convert it to a QString. Return std::nullopt when not successful.</p>
<p>Opens a json file (absolute path) and tries to convert it to a QString. Returns std::nullopt when not successful.</p>
<!-- @@@openJsonFileToString -->
<!-- $$$parseQByteArrayToQJsonObject[overload1]$$$parseQByteArrayToQJsonObjectconstQByteArray& -->
<h3 class="fn" id="parseQByteArrayToQJsonObject"><a name="parseQByteArrayToQJsonObject"></a><code>[static slot] </code><span class="type">int</span> Util::<span class="name">parseQByteArrayToQJsonObject</span>(<i>const QByteArray &amp;</i>)</h3>
<p>Opens a native folder window on the given path. Windows and Mac only for now!</p>
<p>Parses a QByteArray to a QJsonObject. If returns and std::nullopt on failure.</p>
<!-- @@@parseQByteArrayToQJsonObject -->
<!-- $$$requestAllLicenses[overload1]$$$requestAllLicenses -->
<h3 class="fn" id="requestAllLicenses"><a name="requestAllLicenses"></a><code>[slot] </code><span class="type">void</span> Util::<span class="name">requestAllLicenses</span>()</h3>
@ -118,6 +123,10 @@
<h3 class="fn" id="requestDataProtection"><a name="requestDataProtection"></a><code>[slot] </code><span class="type">void</span> Util::<span class="name">requestDataProtection</span>()</h3>
<p>Loads all dataprotection of the legal folder in the qrc into a property string of this class. allDataProtectionLoaded is emited when loading is finished.</p>
<!-- @@@requestDataProtection -->
<!-- $$$toString[overload1]$$$toStringconstQStringList& -->
<h3 class="fn" id="toString"><a name="toString"></a><code>[static slot] </code><span class="type">QString</span> Util::<span class="name">toString</span>(const <span class="type">QStringList</span> &amp;<i>list</i>)</h3>
<p>Helper function to append a QStringList into a QString with a space between the items.</p>
<!-- @@@toString -->
<!-- $$$writeJsonObjectToFile[overload1]$$$writeJsonObjectToFileconstQString&constQJsonObject&bool -->
<h3 class="fn" id="writeJsonObjectToFile"><a name="writeJsonObjectToFile"></a><code>[static slot] </code><span class="type">bool</span> Util::<span class="name">writeJsonObjectToFile</span>(const <span class="type">QString</span> &amp;<i>absoluteFilePath</i>, const <span class="type">QJsonObject</span> &amp;<i>object</i>, <span class="type">bool</span> <i>truncate</i> = true)</h3>
<p>Writes a given QJsonObject to a file. The path must be absolute. When truncate is set to true the exsisting json file will be overriten.</p>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<!-- app.cpp -->
<title>ScreenPlay Namespace | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>

File diff suppressed because it is too large Load Diff

View File

@ -24,9 +24,9 @@ ScreenPlay is an open source cross plattform app for displaying Wallpaper, Widge
| Feature | Windows | Linux | MacOS |
|------------------------ |--------- |------- |------- |
| __ScreenPlay Main App__ | ✔ | ✔ | ✔ |
| __Steam Binaries__ | ✔ | ❌ | ❌ |
| __Wallpaper__ | ✔ | ❌ Help Needed for Gnome/KDE/etc! | ❓ (Basic implementation) Help Needed! |
| __Widgets__ | ✔ | ❓ | ❓ Help Needed! |
| __Steam Binaries__ | ✔ | ❌ | ❌ |
| __Wallpaper__ | ✔ | ❌ Help Needed for Gnome/KDE/etc! | |
| __Widgets__ | ✔ | ❓ | ✔ |
| __Multilanguage (EN,DE,RU,FR,ES,KO🆕,VI🆕)__ | ✔ | ✔ | ✔ |
</div>
@ -50,7 +50,7 @@ __If you want to help and add new desktop environments look at ScreenPlayWallpap
</div>
## Contributing
# Contributing
Everyone can contribute with code, design, documentation or translation. Visit our [contributing guide](https://gitlab.com/kelteseth/ScreenPlay/blob/dev/CONTRIBUTING.md) for more informations.
@ -65,7 +65,7 @@ Everyone can contribute with code, design, documentation or translation. Visit o
1. Install latest [git + git-lfs](https://git-scm.com/)
2. Clone ScreenPlay
``` bash
git clone https://gitlab.com/kelteseth/ScreenPlay.git
git clone --recursive https://gitlab.com/kelteseth/ScreenPlay.git
```
3. Download the latest [__Qt 5.14__](https://www.qt.io/download-qt-installer). Earlier versions are not supported!
4. Start install-dependencies.bat to download dependencies into the Common/ folder
@ -74,6 +74,7 @@ git clone https://gitlab.com/kelteseth/ScreenPlay.git
.\install-dependencies.bat
//Linux
sudo apt install git gcc cmake build-essential libgl1-mesa-dev
chmod +x install-dependencies.sh
.\install-dependencies.sh
```
@ -81,28 +82,43 @@ chmod +x install-dependencies.sh
* libzippp
* nlohmann-json
* openSSL 1.1.1d
* zlib& libzip
* breakpad
* Download these dependencies via __git submodules__
* stomt-qt-sdk
* qt-google-analytics
* qt-breakpad
5. Follow the steps below for your OS. Then Open The ScreenPlay.pro via QtCreator.
6. Add install to the build steps. Projects -> Build -> Add Build Step -> Select Make -> Insert "install" into Make arguments.
5. **Follow the steps below for your OS**. Then open the CMakeLists.txt via QtCreator.
6. Add install to the build steps. Projects -> Build -> Add Build Step -> Select Build -> Select "install" .
* CMake -> Check if cmake is listed there, otherwise add it
* Kits -> CMakeGenerator -> Change... (Otherwhise your builds are slow!)
* Generator: Ninja
* Extra Generator: CodeBlocks
* Add CMAKE_TOOLCHAIN_FILE and VCPKG_TARGET_TRIPLET
* Extras -> Tools -> Kits -> <Your Kit> -> CMake Configuration -> Append this:
* CMAKE_TOOLCHAIN_FILE:STRING=%{CurrentProject:Path}/ScreenPlay/Common/vcpkg/scripts/buildsystems/vcpkg.cmake
* VCPKG_TARGET_TRIPLET:STRING=x64-windows
* or Linux: x64-linux MacOSX: x64-osx
7. Press build (the green play button). This will compile the project and copy all necessary files into your Qt installation.
### Windows
1. [Download and install MSVC 2019 Community](https://visualstudio.microsoft.com/vs/community/)
- Select "Desktop development with C++"
2. [Download and install Qt 5 binary installer from qt.io](https://www.qt.io/download-qt-installer)
- Install the Maintaince tool
- Select the following features to install:
- Qt 5.14.0
- Qt 5.14.2
- MSVC 2017 64-bit
- Qt WebEngine
- Developer and Designer Tools
- Cmake
- Ninja
### Linux
1. Install dependencies for your distro:
``` bash
# Debian/Ubuntu
sudo apt install build-essential libgl1-mesa-dev
sudo apt install build-essential libgl1-mesa-dev lld ninja-build cmake
# Fedora/RHEL/CentOS (yum)
sudo yum groupinstall "C Development Tools and Libraries"
@ -114,18 +130,20 @@ sudo zypper install -t pattern devel_basis
2. [Download and install Qt 5 binary installer from qt.io](https://www.qt.io/download-qt-installer)
- Install the Maintaince tool
- Select the following features to install:
- Qt 5.14.0
- Qt 5.14.2
- GCC
- Qt WebEngine
### OSX
1. [Download and install Qt 5 binary installer from qt.io](https://www.qt.io/download-qt-installer)
- Install the Maintaince tool
- Select the following features to install:
- Qt 5.14.0
- Qt 5.14.2
- Qt WebEngine
- Developer and Designer Tools
- OpenSSL 1.1.1.c Toolkit
- OpenSSL 64-bit binaries
- Cmake
- Ninja
2. Install [homebrew](https://brew.sh/)
- Open a terminal and install clang -> brew install llvm
3. Change your default kit: QtCreator -> Options -> Kits -> Select your default kit (Desktop Qt 5.13.0) -> Change c and c++ Compiler to Apple Clang (x86_64)

View File

@ -1,17 +0,0 @@
TEMPLATE = subdirs
SUBDIRS += \
ScreenPlay/ScreenPlay.pro \
ScreenPlaySDK/ScreenPlaySDK.pro \
ScreenPlayWallpaper/ScreenPlayWallpaper.pro \
ScreenPlayWidget/ScreenPlayWidget.pro \
Common/stomt-qt-sdk/sdk/stomt-qt-sdk.pro \
ScreenPlayWallpaper.depends = ScreenPlaySDK
ScreenPlayWidget.depends = ScreenPlaySDK
win32 {
SUBDIRS += \
ScreenPlaySysInfo/ScreenPlaySysInfo.pro \
}

92
ScreenPlay/CMakeLists.txt Normal file
View File

@ -0,0 +1,92 @@
cmake_minimum_required(VERSION 3.17)
project(ScreenPlay)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOMOC ON)
find_package(
Qt5
COMPONENTS Quick
QML
Widgets
Gui
WebEngine
REQUIRED)
find_package(ZLIB REQUIRED)
find_package(OpenSSL REQUIRED)
find_package(libzippp CONFIG REQUIRED)
find_package(nlohmann_json CONFIG REQUIRED)
set(src main.cpp
app.cpp
../Common/qt-google-analytics/ganalytics.cpp
src/createimportvideo.cpp
src/installedlistmodel.cpp
src/monitorlistmodel.cpp
src/screenplaywallpaper.cpp
src/screenplaywidget.cpp
src/settings.cpp
src/profilelistmodel.cpp
src/installedlistfilter.cpp
src/sdkconnector.cpp
src/projectsettingslistmodel.cpp
src/screenplaymanager.cpp
src/util.cpp
src/create.cpp)
set(headers app.h
../Common/qt-google-analytics/ganalytics.h
src/globalvariables.h
src/createimportvideo.h
src/installedlistmodel.h
src/monitorlistmodel.h
src/screenplaywallpaper.h
src/screenplaywidget.h
src/settings.h
src/profilelistmodel.h
src/profile.h
src/projectfile.h
src/installedlistfilter.h
src/sdkconnector.h
src/projectsettingslistitem.h
src/projectsettingslistmodel.h
src/screenplaymanager.h
src/util.h
src/create.h)
set(resources Resources.qrc)
add_executable(ScreenPlay ${src} ${headers} ${resources})
target_compile_definitions(${PROJECT_NAME} PRIVATE "GIT_VERSION=${GIT_VERSION}")
target_link_libraries(ScreenPlay PRIVATE
Qt5::Qml
Qt5::Quick
Qt5::Gui
Qt5::Widgets
Qt5::Core
Qt5::WebEngine
nlohmann_json::nlohmann_json
libzippp::libzippp
ScreenPlaySDK
QTBreakpadplugin)
target_include_directories(${PROJECT_NAME}
PRIVATE
${QT_TELEMTRY_INCLUDE}
${QT_BREAKPAD_INCLUDE})
install(FILES
assets/fonts/NotoSansCJKkr-Regular.otf
DESTINATION
${CMAKE_BINARY_DIR}/assets/fonts/ )
execute_process(COMMAND git log --pretty=format:'%h' -n 1
OUTPUT_VARIABLE GIT_VERSION
ERROR_QUIET)

View File

@ -1,162 +0,0 @@
TEMPLATE = app
QT += qml quick widgets quickcontrols2 core webengine
CONFIG += c++17
TARGETPATH = ScreenPlay
include($$PWD/../Common/qt-google-analytics/qt-google-analytics.pri)
include($$PWD/../Common/qt-breakpad/qt-breakpad.pri)
ICON = favicon.ico
DEFINES += QT_DEPRECATED_WARNINGS
GIT_VERSION = $$system(git describe --always)
DEFINES += GIT_VERSION=\\\"$$GIT_VERSION\\\"
DISTFILES += \
$$PWD/favicon.ico \
RESOURCES += \
$$PWD/Resources.qrc
SOURCES += \
$$PWD/main.cpp \
$$PWD/app.cpp \
$$PWD/src/createimportvideo.cpp \
$$PWD/src/installedlistmodel.cpp \
$$PWD/src/monitorlistmodel.cpp \
$$PWD/src/screenplaywallpaper.cpp \
$$PWD/src/screenplaywidget.cpp \
$$PWD/src/settings.cpp \
$$PWD/src/profilelistmodel.cpp \
$$PWD/src/installedlistfilter.cpp \
$$PWD/src/sdkconnector.cpp \
$$PWD/src/projectsettingslistmodel.cpp \
$$PWD/src/screenplaymanager.cpp \
$$PWD/src/util.cpp \
$$PWD/src/create.cpp
TRANSLATIONS = \
$$PWD/translations/ScreenPlay_en.ts \
$$PWD/translations/ScreenPlay_de.ts \
$$PWD/translations/ScreenPlay_ru.ts \
$$PWD/translations/ScreenPlay_es.ts \
$$PWD/translations/ScreenPlay_fr.ts \
$$PWD/translations/ScreenPlay_ko.ts \
$$PWD/translations/ScreenPlay_vi.ts \
HEADERS += \
$$PWD/app.h \
$$PWD/src/globalvariables.h \
$$PWD/src/createimportvideo.h \
$$PWD/src/installedlistmodel.h \
$$PWD/src/monitorlistmodel.h \
$$PWD/src/screenplaywallpaper.h \
$$PWD/src/screenplaywidget.h \
$$PWD/src/settings.h \
$$PWD/src/profilelistmodel.h \
$$PWD/src/profile.h \
$$PWD/src/projectfile.h \
$$PWD/src/installedlistfilter.h \
$$PWD/src/sdkconnector.h \
$$PWD/src/projectsettingslistitem.h \
$$PWD/src/projectsettingslistmodel.h \
$$PWD/src/screenplaymanager.h \
$$PWD/src/util.h \
$$PWD/src/create.h
INCLUDEPATH += \
$$PWD/src/\
CONFIG(debug, debug|release) {
install_assets.path = $${OUT_PWD}/assets/fonts
} else {
install_assets.path = $${OUT_PWD}/assets/fonts
}
install_assets.files += $$PWD/assets/fonts/NotoSansCJKkr-Regular.otf
win32 {
RC_ICONS += favicon.ico
CONFIG(debug, debug|release) {
install_it.path = $${OUT_PWD}/debug/
} else {
install_it.path = $${OUT_PWD}/release/
}
INCLUDEPATH += $$PWD/../Common/vcpkg/installed/x64-windows/include
DEPENDPATH += $$PWD/../Common/vcpkg/installed/x64-windows/include
LIBS += -luser32
LIBS += -L$$PWD/../Common/vcpkg/installed/x64-windows/lib/ -llibzippp
CONFIG(debug, debug|release) {
install_it.files += $$PWD/../Common/vcpkg/installed/x64-windows/debug/bin/zip.dll \
$$PWD/../Common/vcpkg/installed/x64-windows/debug/bin/zlibd1.dll \
$$PWD/../Common/vcpkg/installed/x64-windows/debug/bin/libzippp.dll \
$$PWD/../Common/vcpkg/installed/x64-windows/debug/bin/bz2d.dll \
$$PWD/../Common/vcpkg/installed/x64-windows/debug/bin/libcrypto-1_1-x64.dll \
$$PWD/../Common/vcpkg/installed/x64-windows/debug/bin/libssl-1_1-x64.dll \
} else {
install_it.files += $$PWD/../Common/vcpkg/installed/x64-windows/bin/zip.dll \
$$PWD/../Common/vcpkg/installed/x64-windows/bin/zlib1.dll \
$$PWD/../Common/vcpkg/installed/x64-windows/bin/libzippp.dll \
$$PWD/../Common/vcpkg/installed/x64-windows/bin/bz2.dll \
$$PWD/../Common/vcpkg/installed/x64-windows/bin/libcrypto-1_1-x64.dll \
$$PWD/../Common/vcpkg/installed/x64-windows/bin/libssl-1_1-x64.dll \
}
}
macx {
LIBS += -L$$PWD/ThirdParty/steam/redistributable_bin/osx32/ -lsteam_api
DEPENDPATH += $$PWD/ThirdParty/steam/redistributable_bin/osx32
INCLUDEPATH += $$PWD/ThirdParty/steam/
DEPENDPATH += $$PWD/ThirdParty/steam/
LIBS += -L$$PWD/ThirdParty/steam/lib/osx32/ -lsdkencryptedappticket
steam_data.files += steam_appid.txt
steam_data.path = Contents/MacOS
steam_data_lib.files += $$PWD/ThirdParty/steam/redistributable_bin/osx32/libsteam_api.dylib
steam_data_lib.path = Contents/MacOS/
QMAKE_BUNDLE_DATA += steam_data
QMAKE_BUNDLE_DATA += steam_data_lib
}
unix {
INCLUDEPATH += $$PWD/../Common/vcpkg/installed/x64-linux/include
DEPENDPATH += $$PWD/../Common/vcpkg/installed/x64-linux/include
LIBS += -L$$PWD/../Common/vcpkg/installed/x64-linux/lib/ -llibzippp -lzip
install_it.path = $${OUT_PWD}
CONFIG(debug, debug|release) {
install_it.files += $$PWD/../Common/vcpkg/installed/x64-linux/debug/bin/zip.so \
$$PWD/../Common/vcpkg/installed/x64-linux/debug/bin/zlibd1.so \
$$PWD/../Common/vcpkg/installed/x64-linux/debug/bin/libzippp.so \
$$PWD/../Common/vcpkg/installed/x64-linux/debug/bin/bz2d.so \
$$PWD/../Common/vcpkg/installed/x64-linux/debug/bin/libcrypto-1_1-x64.so \
$$PWD/../Common/vcpkg/installed/x64-linux/debug/bin/libssl-1_1-x64.so \
} else {
install_it.files += $$PWD/../Common/vcpkg/installed/x64-linux/bin/zip.so \
$$PWD/../Common/vcpkg/installed/x64-linux/bin/zlib1.so \
$$PWD/../Common/vcpkg/installed/x64-linux/bin/libzippp.so \
$$PWD/../Common/vcpkg/installed/x64-linux/bin/bz2.so \
$$PWD/../Common/vcpkg/installed/x64-linux/bin/libcrypto-1_1-x64.so \
$$PWD/../Common/vcpkg/installed/x64-linux/bin/libssl-1_1-x64.so \
}
}
INSTALLS += install_it install_assets

View File

@ -51,8 +51,10 @@ App::App()
QGuiApplication::setApplicationName("ScreenPlay");
QGuiApplication::setApplicationVersion("0.10.1");
QGuiApplication::setQuitOnLastWindowClosed(false);
#ifdef Q_OS_WINDOWS
QtBreakpad::init(QDir::current().absolutePath());
#endif
QFontDatabase::addApplicationFont(":/assets/fonts/LibreBaskerville-Italic.ttf");
@ -98,6 +100,12 @@ App::App()
m_isAnotherScreenPlayInstanceRunning = m_sdkConnector->m_isAnotherScreenPlayInstanceRunning;
}
/*!
\brief Used for initialization after the constructor. The sole purpose is to check if
another ScreenPlay instance is running and then quit early. This is also because we cannot
call QApplication::quit(); in the SDKConnector before the app.exec(); ( the Qt main event
loop ) has started.
*/
void App::init()
{
// Util should be created as first so we redirect qDebugs etc. into the log
@ -117,7 +125,7 @@ void App::init()
m_telemetry->setNetworkAccessManager(nam);
m_telemetry->setSendInterval(1000);
m_telemetry->startSession();
m_telemetry->sendEvent("version", QGuiApplication::applicationVersion());
m_telemetry->sendEvent("version", QApplication::applicationVersion());
}
m_create = make_unique<Create>(m_globalVariables);
@ -139,7 +147,7 @@ void App::init()
m_installedListModel->init();
// Set visible if the -silent parameter was not set
if (QGuiApplication::instance()->arguments().contains("-silent")) {
if (QApplication::instance()->arguments().contains("-silent")) {
settings()->setSilentStart(true);
}
@ -147,16 +155,19 @@ void App::init()
m_mainWindowEngine->load(QUrl(QStringLiteral("qrc:/main.qml")));
}
/*!
\brief Tries to send the telemetry quit event before we call quit ourself.
*/
void App::exit()
{
if (!m_telemetry) {
QGuiApplication::instance()->quit();
QApplication::instance()->quit();
return;
} else {
// Workaround because we cannot force to send exit event
m_telemetry->setSendInterval(5);
m_telemetry->endSession();
QTimer::singleShot(150, []() { QGuiApplication::instance()->quit(); });
QTimer::singleShot(150, []() { QApplication::instance()->quit(); });
}
}
}

View File

@ -16,8 +16,9 @@
#include <memory>
#include "ganalytics.h"
#ifdef Q_OS_WINDOWS
#include "qt_breakpad.h"
#endif
#include "src/create.h"
#include "src/globalvariables.h"
#include "src/installedlistfilter.h"

View File

@ -1,13 +1,13 @@
#include <QGuiApplication>
#include <QApplication>
#include "app.h"
int main(int argc, char* argv[])
{
QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
QGuiApplication qtGuiApp(argc, argv);
QApplication qtGuiApp(argc, argv);
ScreenPlay::App app;

View File

@ -34,6 +34,11 @@ ApplicationWindow {
title: "ScreenPlay Alpha - V0.10.1"
minimumHeight: 450
minimumWidth: 1050
onVisibilityChanged: {
if(window.visibility === 2){
switchPage("Installed")
}
}
Material.accent: {

View File

@ -1,5 +1,5 @@
import QtQuick 2.12
import com.stomt.qmlSDK 1.0
import com.stomt.sdk 1.0
Item {
id: feedback

View File

@ -72,8 +72,8 @@ Item {
GridView {
id: gridView
boundsBehavior: Flickable.DragOverBounds
maximumFlickVelocity: 7000
flickDeceleration: 5000
maximumFlickVelocity: 2500
flickDeceleration: 2500
anchors.fill: parent
cellWidth: 340
cellHeight: 200

View File

@ -42,6 +42,9 @@ Create::Create()
qmlRegisterType<Create>("ScreenPlay.Create", 1, 0, "Create");
}
/*!
\brief Creates a new widget.
*/
void Create::createWidget(const QString& localStoragePath, const QString& title, const QString& previewThumbnail, const QString& createdBy, const QString& license, const QString& type, const QVector<QString>& tags)
{
QtConcurrent::run([=]() {
@ -127,6 +130,9 @@ void Create::createWidget(const QString& localStoragePath, const QString& title,
});
}
/*!
\brief Creates a HTML wallpaper.
*/
void Create::createHTMLWallpaper(
const QString& localStoragePath,
const QString& title,
@ -202,7 +208,7 @@ void Create::createHTMLWallpaper(
}
/*!
Starts the process.
\brief Starts the process.
*/
void Create::createWallpaperStart(QString videoPath, Create::VideoCodec codec)
{
@ -248,7 +254,7 @@ void Create::createWallpaperStart(QString videoPath, Create::VideoCodec codec)
}
/*!
When converting of the wallpaper steps where successful.
\brief When converting of the wallpaper steps where successful.
*/
void Create::saveWallpaper(QString title, QString description, QString filePath, QString previewImagePath, QString youtube, Create::VideoCodec codec, QVector<QString> tags)
{
@ -342,7 +348,9 @@ void Create::saveWallpaper(QString title, QString description, QString filePath,
file.close();
emit createWallpaperStateChanged(CreateImportVideo::ImportVideoState::CreateProjectFileFinished);
}
/*!
\brief .
*/
void Create::abortAndCleanup()
{
qWarning() << "Abort and Cleanup!";

View File

@ -14,10 +14,10 @@ namespace ScreenPlay {
*/
/*!
This constructor is only needed for calling qRegisterMetaType on CreateImportVideo to register the enums.
\code
qRegisterMetaType<CreateImportVideo::ImportVideoState>("CreateImportVideo::ImportVideoState");
\endcode
\brief This constructor is only needed for calling qRegisterMetaType on CreateImportVideo to register the enums.
\code
qRegisterMetaType<CreateImportVideo::ImportVideoState>("CreateImportVideo::ImportVideoState");
\endcode
*/
CreateImportVideo::CreateImportVideo(QObject* parent)
: QObject(parent)
@ -25,7 +25,7 @@ CreateImportVideo::CreateImportVideo(QObject* parent)
}
/*!
Creates a CreateImportVideo object to be used in a different thread. A \a videoPath and a \a exportPath are
\brief Creates a CreateImportVideo object to be used in a different thread. A \a videoPath and a \a exportPath are
needed for convertion.
*/
CreateImportVideo::CreateImportVideo(const QString& videoPath, const QString& exportPath, const QStringList& codecs, QObject* parent)
@ -51,7 +51,7 @@ CreateImportVideo::CreateImportVideo(const QString& videoPath, const QString& ex
}
/*!
Processes the multiple steps of creating a wallpaper.
\brief Processes the multiple steps of creating a wallpaper.
\list 1
\li createWallpaperInfo()
\li createWallpaperImagePreview()
@ -109,7 +109,7 @@ void CreateImportVideo::process()
}
/*!
Starts ffprobe and tries to parse the resulting json.
\brief Starts ffprobe and tries to parse the resulting json.
Returns \c false if :
\list
\li Parsing the output json of ffprobe fails.
@ -141,8 +141,8 @@ bool CreateImportVideo::createWallpaperInfo()
emit createWallpaperStateChanged(ImportVideoState::AnalyseVideoFinished);
auto a = pro->readAll();
auto objOptional = Util::parseQByteArrayToQJsonObject(a);
if (!objOptional) {
auto obj = Util::parseQByteArrayToQJsonObject(a);
if (!obj) {
qDebug() << "Error parsing ffmpeg json output";
emit processOutput(pro->readAll());
emit processOutput("Error parsing ffmpeg json output");
@ -150,8 +150,7 @@ bool CreateImportVideo::createWallpaperInfo()
return false;
}
QJsonObject obj = objOptional.value();
if (obj.empty()) {
if (obj->empty()) {
qDebug() << "Error! File could not be parsed.";
emit processOutput("Error! File could not be parsed.");
@ -163,7 +162,7 @@ bool CreateImportVideo::createWallpaperInfo()
pro->close();
// Check for audio and video streams
QJsonArray arrayStream = obj.value("streams").toArray();
QJsonArray arrayStream = obj->value("streams").toArray();
bool hasAudioStream { false };
bool hasVideoStream { false };
@ -204,7 +203,7 @@ bool CreateImportVideo::createWallpaperInfo()
return false;
}
QJsonObject objFormat = obj.value("format").toObject();
QJsonObject objFormat = obj->value("format").toObject();
// Get video length
bool okParseDuration = false;
@ -221,7 +220,7 @@ bool CreateImportVideo::createWallpaperInfo()
m_length = length;
// Get framerate
QJsonArray arrSteams = obj.value("streams").toArray();
QJsonArray arrSteams = obj->value("streams").toArray();
if (arrSteams.empty()) {
qDebug() << "Error container does not have any video streams";
emit processOutput("Error container does not have any video streams");
@ -257,7 +256,7 @@ bool CreateImportVideo::createWallpaperInfo()
}
/*!
Starts ffmpeg and tries to covert the given video to a five second preview.
\brief Starts ffmpeg and tries to covert the given video to a five second preview.
\code
//[...]
args.append("-vf");
@ -339,7 +338,7 @@ bool CreateImportVideo::createWallpaperVideoPreview()
}
/*!
Starts ffmpeg and tries to covert the given video to a 5 second preview gif.
\brief Starts ffmpeg and tries to covert the given video to a 5 second preview gif.
\code
//[...]
args.append("-filter_complex");
@ -390,7 +389,7 @@ bool CreateImportVideo::createWallpaperGifPreview()
}
/*!
Starts ffmpeg and tries to covert the given video to a image preview.
\brief Starts ffmpeg and tries to covert the given video to a image preview.
Returns \c false if :
\list
\li Cannot convert the video
@ -454,6 +453,9 @@ bool CreateImportVideo::createWallpaperImageThumbnailPreview()
return true;
}
/*!
\brief .
*/
bool CreateImportVideo::createWallpaperImagePreview()
{
@ -508,7 +510,7 @@ bool CreateImportVideo::createWallpaperImagePreview()
}
/*!
Starts ffmpeg and tries to covert the given video to a webm video.
\brief Starts ffmpeg and tries to covert the given video to a webm video.
\code
//[...]
args.append("-c:v");
@ -662,7 +664,7 @@ bool CreateImportVideo::createWallpaperVideo(const QString& codec)
return true;
}
/*!
Starts ffmpeg and tries to covert the given audio into a seperate mp3.
\brief Starts ffmpeg and tries to covert the given audio into a seperate mp3.
\code
//[...]
args.append("mp3");
@ -719,6 +721,9 @@ bool CreateImportVideo::extractWallpaperAudio()
return true;
}
/*!
\brief .
*/
void CreateImportVideo::waitForFinished(std::shared_ptr<QProcess>& process)
{
while (!process->waitForFinished(100)) //Wake up every 100ms and check if we must exit

View File

@ -11,6 +11,8 @@ namespace ScreenPlay {
\inmodule ScreenPlay
\brief GlobalVariables.
A header only class used only for storing some global variables like localStoragePath.
*/
class GlobalVariables : public QObject {
@ -29,26 +31,37 @@ public:
setLocalSettingsPath(QUrl { QStandardPaths::writableLocation(QStandardPaths::DataLocation) });
}
/*!
\brief Returns the localStoragePath.
*/
QUrl localStoragePath() const
{
return m_localStoragePath;
}
/*!
\brief Returns the localSettingsPath.
*/
QUrl localSettingsPath() const
{
return m_localSettingsPath;
}
/*!
\brief Returns the wallpaperExecutablePath. This only differes in development builds.
*/
QUrl wallpaperExecutablePath() const
{
return m_wallpaperExecutablePath;
}
/*!
\brief Returns the widgetExecutablePath. This only differes in development builds.
*/
QUrl widgetExecutablePath() const
{
return m_widgetExecutablePath;
}
/*!
\brief Returns the current app version. Not yet used.
*/
QVersionNumber version() const
{
return m_version;

View File

@ -11,9 +11,9 @@ namespace ScreenPlay {
*/
/*!
Sets the default role type to "All" to display all available content. Needs a given
\brief Sets the default role type to "All" to display all available content. Needs a given
\a ilm (InstalledListModel).
*/
*/
InstalledListFilter::InstalledListFilter(const shared_ptr<InstalledListModel>& ilm)
: QSortFilterProxyModel()
, m_ilm(ilm)
@ -24,14 +24,14 @@ InstalledListFilter::InstalledListFilter(const shared_ptr<InstalledListModel>& i
}
/*!
Set the filter proxy to sort by the given \a type. This can be
\brief Set the filter proxy to sort by the given \a type. This can be:
\list
\li All
\li Videos
\li Widgets
\li Scenes
\endlist
*/
*/
void InstalledListFilter::sortByRoleType(QString type)
{
if (type == "All") {
@ -52,9 +52,9 @@ void InstalledListFilter::sortByRoleType(QString type)
}
/*!
Invoked when the user uses the quicksearch at the top right of the installed page.
\brief Invoked when the user uses the quicksearch at the top right of the installed page.
Uses the \a name to sort by name. This name is saved in the project.json title.
*/
*/
void InstalledListFilter::sortByName(QString name)
{
setFilterRole(InstalledListModel::InstalledRole::TitleRole);
@ -64,8 +64,8 @@ void InstalledListFilter::sortByName(QString name)
}
/*!
Resets the filter and sorts by title.
*/
\brief Resets the filter and sorts by title.
*/
void InstalledListFilter::resetFilter()
{
setFilterRole(InstalledListModel::InstalledRole::TitleRole);

View File

@ -13,7 +13,7 @@ namespace ScreenPlay {
*/
/*!
Constructor
\brief Constructor.
*/
InstalledListModel::InstalledListModel(
const shared_ptr<GlobalVariables>& globalVariables,
@ -26,7 +26,7 @@ InstalledListModel::InstalledListModel(
}
/*!
\brief Init function that needs to be called after the constructor because we need the GlobalVariables to finish loading.
*/
void InstalledListModel::init()
{
@ -40,7 +40,7 @@ void InstalledListModel::init()
}
/*!
\brief Returns the length of the installed items.
*/
int InstalledListModel::rowCount(const QModelIndex& parent) const
{
@ -51,7 +51,7 @@ int InstalledListModel::rowCount(const QModelIndex& parent) const
}
/*!
\brief Retruns the data member of the ProjectFile.
*/
QVariant InstalledListModel::data(const QModelIndex& index, int role) const
{
@ -88,7 +88,7 @@ QVariant InstalledListModel::data(const QModelIndex& index, int role) const
}
/*!
\brief Returns the variable names for QML.
*/
QHash<int, QByteArray> InstalledListModel::roleNames() const
{
@ -130,10 +130,10 @@ void InstalledListModel::loadInstalledContent()
if (auto obj = Util::openJsonFileToObject(projectItemPath)) {
if (obj.value().isEmpty())
if (obj->isEmpty())
continue;
if (!obj.value().contains("file") || !obj.value().contains("type"))
if (!obj->contains("file") || !obj->contains("type"))
continue;
QStringList availableTypes {
@ -147,8 +147,8 @@ void InstalledListModel::loadInstalledContent()
"standaloneWidget"
};
if (availableTypes.contains(obj.value().value("type").toString())) {
emit addInstalledItem(obj.value(), item.baseName());
if (availableTypes.contains(obj->value("type").toString())) {
emit addInstalledItem(*obj, item.baseName());
}
counter += 1;

View File

@ -18,18 +18,21 @@ namespace ScreenPlay {
*/
/*!
Constructor
\brief Constructor.
*/
MonitorListModel::MonitorListModel(QObject* parent)
: QAbstractListModel(parent)
{
loadMonitors();
auto* guiAppInst = dynamic_cast<QGuiApplication*>(QGuiApplication::instance());
connect(guiAppInst, &QGuiApplication::screenAdded, this, &MonitorListModel::screenAdded);
connect(guiAppInst, &QGuiApplication::screenRemoved, this, &MonitorListModel::screenRemoved);
auto* guiAppInst = dynamic_cast<QApplication*>(QApplication::instance());
connect(guiAppInst, &QApplication::screenAdded, this, &MonitorListModel::screenAdded);
connect(guiAppInst, &QApplication::screenRemoved, this, &MonitorListModel::screenRemoved);
}
/*!
\brief Returns the variable names for QML.
*/
QHash<int, QByteArray> MonitorListModel::roleNames() const
{
static const QHash<int, QByteArray> roles {
@ -48,6 +51,10 @@ QHash<int, QByteArray> MonitorListModel::roleNames() const
return roles;
}
/*!
\brief Returns the amount of active monitors.
*/
int MonitorListModel::rowCount(const QModelIndex& parent) const
{
if (parent.isValid())
@ -56,6 +63,9 @@ int MonitorListModel::rowCount(const QModelIndex& parent) const
return m_monitorList.count();
}
/*!
\brief Retruns the data member of the Monitor.
*/
QVariant MonitorListModel::data(const QModelIndex& index, int role) const
{
if (!index.isValid())
@ -113,6 +123,9 @@ QVariant MonitorListModel::data(const QModelIndex& index, int role) const
return QVariant();
}
/*!
\brief Reloads the listmodel of monitors.
*/
void MonitorListModel::loadMonitors()
{
int offsetX = 0;
@ -148,6 +161,9 @@ void MonitorListModel::loadMonitors()
emit monitorReloadCompleted();
}
/*!
\brief Clears the listmodel.
*/
void MonitorListModel::clearActiveWallpaper()
{
int i { 0 };
@ -163,6 +179,9 @@ void MonitorListModel::clearActiveWallpaper()
}
}
/*!
\brief Removes the preview image and appID inside an monitor item.
*/
void MonitorListModel::closeWallpaper(const QString& appID)
{
int i {};
@ -182,6 +201,9 @@ void MonitorListModel::closeWallpaper(const QString& appID)
}
}
/*!
\brief Sets the previewImage and appID for a list item.
*/
void MonitorListModel::setWallpaperActiveMonitor(const std::shared_ptr<ScreenPlayWallpaper>& wallpaper, const QVector<int> monitors)
{
@ -197,6 +219,9 @@ void MonitorListModel::setWallpaperActiveMonitor(const std::shared_ptr<ScreenPla
}
}
/*!
\brief If successful this function returns an AppID. Otherwhise std::nullopt.
*/
std::optional<QString> MonitorListModel::getAppIDByMonitorIndex(const int index) const
{
for (auto& monitor : m_monitorList) {
@ -207,6 +232,9 @@ std::optional<QString> MonitorListModel::getAppIDByMonitorIndex(const int index)
return std::nullopt;
}
/*!
\brief Removes all items and loads them vida loadMonitors() again.
*/
void MonitorListModel::reset()
{
beginResetModel();

View File

@ -3,7 +3,7 @@
#include <QAbstractListModel>
#include <QApplication>
#include <QDebug>
#include <QGuiApplication>
#include <QApplication>
#include <QRect>
#include <QScreen>
#include <QSize>
@ -100,7 +100,7 @@ public slots:
QRect getAbsoluteDesktopSize() const
{
auto* app = static_cast<QGuiApplication*>(QGuiApplication::instance());
auto* app = static_cast<QApplication*>(QApplication::instance());
return app->screens().at(0)->availableVirtualGeometry();
}

View File

@ -12,7 +12,7 @@ namespace ScreenPlay {
*/
/*!
Constructor
\brief Constructor-.
*/
ScreenPlayManager::ScreenPlayManager(
const shared_ptr<GlobalVariables>& globalVariables,
@ -32,11 +32,11 @@ ScreenPlayManager::ScreenPlayManager(
}
/*!
Creates a wallpaper with a given \a monitorIndex list, \a a absoluteStoragePath folder,
\brief Creates a wallpaper with a given \a monitorIndex list, \a a absoluteStoragePath folder,
a \a previewImage (relative path to the absoluteStoragePath), a default \a volume,
a \a fillMode, a \a type (htmlWallpaper, qmlWallpaper etc.), a \a saveToProfilesConfigFile bool only set to flase
if we call the method when using via the settings on startup to skip a unnecessary save.
*/
*/
void ScreenPlayManager::createWallpaper(
QVector<int> monitorIndex,
const QString& absoluteStoragePath,
@ -49,10 +49,8 @@ void ScreenPlayManager::createWallpaper(
if (m_telemetry) {
m_telemetry->sendEvent("wallpaper", "start");
}
QString path = absoluteStoragePath;
if (absoluteStoragePath.contains("file:///"))
path = path.remove("file:///");
QString path = QUrl(absoluteStoragePath).toLocalFile();
std::sort(monitorIndex.begin(), monitorIndex.end());
@ -118,8 +116,8 @@ void ScreenPlayManager::createWallpaper(
}
/*!
Creates a ScreenPlayWidget object via a \a absoluteStoragePath and a \a preview image (relative path).
*/
\brief Creates a ScreenPlayWidget object via a \a absoluteStoragePath and a \a preview image (relative path).
*/
void ScreenPlayManager::createWidget(const QUrl& absoluteStoragePath, const QString& previewImage, const QString& type)
{
if (m_telemetry) {
@ -138,7 +136,7 @@ void ScreenPlayManager::createWidget(const QUrl& absoluteStoragePath, const QStr
}
/*!
Removes all wallpaper entries in the profiles.json. This method will likely be removed
\brief Removes all wallpaper entries in the profiles.json. This method will likely be removed
when using nlohmann/json in the future.
*/
void ScreenPlayManager::removeAllWallpapers()
@ -159,7 +157,7 @@ void ScreenPlayManager::removeAllWallpapers()
return;
}
QJsonObject oldConfig = configOptional.value();
QJsonObject oldConfig = *configOptional;
QJsonObject oldConfigProfile = oldConfig.value("profiles").toArray().first().toObject();
QJsonObject profileDefault;
@ -182,6 +180,9 @@ void ScreenPlayManager::removeAllWallpapers()
}
}
/*!
\brief Removes all widgets and resets the activeWidgetCounter to 0.
*/
void ScreenPlayManager::removeAllWidgets()
{
if (!m_screenPlayWidgets.empty()) {
@ -194,7 +195,7 @@ void ScreenPlayManager::removeAllWidgets()
}
/*!
Removes a Wallpaper at the given monitor \a at (index). Internally searches for a appID at the
\brief Removes a Wallpaper at the given monitor \a at (index). Internally searches for a appID at the
given monitor index and then closes the sdk connection, removes the entries in the
monitor list model and decreases the active wallpaper counter property of ScreenPlayManager.
*/
@ -205,8 +206,8 @@ bool ScreenPlayManager::removeWallpaperAt(int at)
}
if (auto appID = m_monitorListModel->getAppIDByMonitorIndex(at)) {
m_sdkconnector->closeWallpaper(appID.value());
m_monitorListModel->closeWallpaper(appID.value());
m_sdkconnector->closeWallpaper(*appID);
m_monitorListModel->closeWallpaper(*appID);
decreaseActiveWallpaperCounter();
return true;
}
@ -214,9 +215,8 @@ bool ScreenPlayManager::removeWallpaperAt(int at)
}
/*!
Request a spesific json profile to display in the active wallpaper popup on the right.
*/
\brief Request a spesific json profile to display in the active wallpaper popup on the right.
*/
void ScreenPlayManager::requestProjectSettingsListModelAt(const int index)
{
for (const shared_ptr<ScreenPlayWallpaper>& uPtrWallpaper : qAsConst(m_screenPlayWallpapers)) {
@ -231,22 +231,22 @@ void ScreenPlayManager::requestProjectSettingsListModelAt(const int index)
}
/*!
Set a wallpaper \a value at a given \a index and \a key.
*/
\brief Set a wallpaper \a value at a given \a index and \a key.
*/
void ScreenPlayManager::setWallpaperValue(const int index, const QString& key, const QString& value)
{
if (auto appID = m_monitorListModel->getAppIDByMonitorIndex(index)) {
m_sdkconnector->setWallpaperValue(appID.value(), key, value);
m_sdkconnector->setWallpaperValue(*appID, key, value);
if (auto wallpaper = getWallpaperByAppID(appID.value())) {
if (auto wallpaper = getWallpaperByAppID(*appID)) {
}
}
}
/*!
Convenient function to set a \a value at a given \a index and \a key for all wallaper. For exmaple used to mute all wallpaper.
*/
\brief Convenient function to set a \a value at a given \a index and \a key for all wallaper. For exmaple used to mute all wallpaper.
*/
void ScreenPlayManager::setAllWallpaperValue(const QString& key, const QString& value)
{
for (const shared_ptr<ScreenPlayWallpaper>& uPtrWallpaper : qAsConst(m_screenPlayWallpapers)) {
@ -255,8 +255,8 @@ void ScreenPlayManager::setAllWallpaperValue(const QString& key, const QString&
}
/*!
Returns \c a ScreenPlayWallpaper if successful, otherwhise \c std::nullopt.
*/
\brief Returns \c a ScreenPlayWallpaper if successful, otherwhise \c std::nullopt.
*/
std::optional<shared_ptr<ScreenPlayWallpaper>> ScreenPlayManager::getWallpaperByAppID(const QString& appID)
{
for (auto& wallpaper : m_screenPlayWallpapers) {
@ -268,9 +268,9 @@ std::optional<shared_ptr<ScreenPlayWallpaper>> ScreenPlayManager::getWallpaperBy
}
/*!
Saves a given wallpaper \a newProfileObject to a \a profileName. We ignore the profileName argument
\brief Saves a given wallpaper \a newProfileObject to a \a profileName. We ignore the profileName argument
because we currently only support one profile. Returns \c true if successfuly saved to profiles.json, otherwise \c false.
*/
*/
bool ScreenPlayManager::saveWallpaperProfile(const QString& profileName, const QJsonObject& newProfileObject)
{
// Remove when implementing profiles
@ -284,7 +284,7 @@ bool ScreenPlayManager::saveWallpaperProfile(const QString& profileName, const Q
return false;
}
QJsonObject oldConfig = configOptional.value();
QJsonObject oldConfig = *configOptional;
QJsonObject oldConfigProfile = oldConfig.value("profiles").toArray().first().toObject();
QJsonArray oldWallpaperArray = oldConfigProfile.value("wallpaper").toArray();
QJsonArray newWallpaperArray;
@ -323,8 +323,8 @@ bool ScreenPlayManager::saveWallpaperProfile(const QString& profileName, const Q
}
/*!
Loads all wallpaper from profiles.json when the version number matches and starts the available wallpaper
*/
\brief Loads all wallpaper from profiles.json when the version number matches and starts the available wallpaper
*/
void ScreenPlayManager::loadWallpaperProfiles()
{
@ -335,14 +335,14 @@ void ScreenPlayManager::loadWallpaperProfiles()
return;
}
std::optional<QVersionNumber> version = Util::getVersionNumberFromString(configObj.value().value("version").toString());
std::optional<QVersionNumber> version = Util::getVersionNumberFromString(configObj->value("version").toString());
if (version && version.value() != m_globalVariables->version()) {
qWarning() << "Version missmatch fileVersion: " << version.value().toString() << "m_version: " << m_globalVariables->version().toString();
if (version && *version != m_globalVariables->version()) {
qWarning() << "Version missmatch fileVersion: " << version->toString() << "m_version: " << m_globalVariables->version().toString();
return;
}
QJsonArray activeProfilesTmp = configObj.value().value("profiles").toArray();
QJsonArray activeProfilesTmp = configObj->value("profiles").toArray();
if (activeProfilesTmp.size() > 1) {
qWarning() << "We currently only support one profile!";

View File

@ -1,6 +1,6 @@
#pragma once
#include <QGuiApplication>
#include <QApplication>
#include <QObject>
#include <QPoint>
#include <QProcess>
@ -70,7 +70,10 @@ public slots:
const QString& fillMode,
const QString& type, const bool saveToProfilesConfigFile = true);
void createWidget(const QUrl& absoluteStoragePath, const QString& previewImage, const QString& type);
void createWidget(
const QUrl& absoluteStoragePath,
const QString& previewImage,
const QString& type);
void removeAllWallpapers();
void removeAllWidgets();

View File

@ -11,7 +11,7 @@ namespace ScreenPlay {
*/
/*!
Constructor for video Wallpaper.
\brief Constructor for video Wallpaper.
*/
ScreenPlayWallpaper::ScreenPlayWallpaper(
const QVector<int>& screenNumber,
@ -68,13 +68,18 @@ ScreenPlayWallpaper::ScreenPlayWallpaper(
m_process.startDetached();
}
/*!
\brief Prints the exit code if != 0.
*/
void ScreenPlayWallpaper::processExit(int exitCode, QProcess::ExitStatus exitStatus)
{
Q_UNUSED(exitStatus)
if (exitCode != 0)
qDebug() << "WARNING EXIT CODE: " << exitCode;
}
/*!
\brief Prints the exit code error.
*/
void ScreenPlayWallpaper::processError(QProcess::ProcessError error)
{
qDebug() << "EX: " << error;

View File

@ -11,8 +11,7 @@ namespace ScreenPlay {
*/
/*!
Constructor
\brief Constructor.
*/
ScreenPlayWidget::ScreenPlayWidget(
const QString& appID,

View File

@ -13,8 +13,8 @@ namespace ScreenPlay {
*/
/*!
Starts the QLocalServer with the pipename ScreenPlay.
*/
\brief Starts the QLocalServer with the pipename ScreenPlay.
*/
SDKConnector::SDKConnector(QObject* parent)
: QObject(parent)
, m_server { make_unique<QLocalServer>() }
@ -32,6 +32,11 @@ SDKConnector::SDKConnector(QObject* parent)
}
}
/*!
\brief Checks if another ScreenPlay instance is running by trying to connect to a pipe
with the name ScreenPlay.
If successful we send a raise command and quit via m_isAnotherScreenPlayInstanceRunning = true.
*/
bool SDKConnector::isAnotherScreenPlayInstanceRunning()
{
QLocalSocket socket;
@ -49,8 +54,9 @@ bool SDKConnector::isAnotherScreenPlayInstanceRunning()
socket.close();
return true;
}
/*!
Appends a new SDKConnection object shared_ptr to the m_clients list.
\brief Appends a new SDKConnection object shared_ptr to the m_clients list.
*/
void SDKConnector::newConnection()
{
@ -62,7 +68,7 @@ void SDKConnector::newConnection()
}
/*!
Closes all m_clients connections and clears the QVector.
\brief Closes all m_clients connections and clears the QVector.
*/
void SDKConnector::closeAllConnections()
{
@ -73,7 +79,7 @@ void SDKConnector::closeAllConnections()
}
/*!
Closes all wallpaper connection with the following type:
\brief Closes all wallpaper connection with the following type:
\list
\li videoWallpaper
\li qmlWallpaper
@ -113,7 +119,7 @@ void SDKConnector::closeAllWidgets()
}
/*!
\brief SDKConnector::closeConntectionByType
\brief Closes a connection by type. Used only by closeAllWidgets() and closeAllWallpapers()
*/
void SDKConnector::closeConntectionByType(const QStringList& list)
{
@ -147,7 +153,7 @@ void SDKConnector::closeWallpapersAt(int at)
}
/*!
\brief Closes a wallpaper by the given \a appID.
\brief Closes a wallpaper by the given \a appID.
*/
void SDKConnector::closeWallpaper(const QString& appID)
{

View File

@ -21,11 +21,10 @@ namespace ScreenPlay {
*/
/*!
Constructor and sets up:
\brief Constructor and sets up:
\list 1
\li Sets the git build hash via ScreenPlay.pro c++ define
\li Checks the langauge via settings or system and available ones and installes a translator.
\li Checks the paths for config folders in appdata
\li Checks the AbsoluteStoragePath.
\li Checks regisitry for steam plugin settings
\li Parses autostart, anonymousTelemetry, highPriorityStart
@ -105,7 +104,7 @@ Settings::Settings(const shared_ptr<GlobalVariables>& globalVariables,
* not generate warnings.
*/
QDir dir;
QString path = QGuiApplication::instance()->applicationDirPath() + "/../../workshop/content/672870";
QString path = QApplication::instance()->applicationDirPath() + "/../../workshop/content/672870";
if (!dir.mkpath(path)) {
qWarning() << "Could not create steam workshop path for path: " << path;
} else {
@ -119,11 +118,11 @@ Settings::Settings(const shared_ptr<GlobalVariables>& globalVariables,
}
setupWidgetAndWindowPaths();
setGitBuildHash(GIT_VERSION);
setGitBuildHash("GIT_VERSION");
}
/*!
Writes the default JsonFile from the resources and the given \a filename. Currently we have two default json files:
\brief Writes the default JsonFile from the resources and the given \a filename. Currently we have two default json files:
\list
\li profiles.json
\li settings.json
@ -132,6 +131,10 @@ Settings::Settings(const shared_ptr<GlobalVariables>& globalVariables,
void Settings::writeJsonFileFromResource(const QString& filename)
{
QFile file(m_globalVariables->localSettingsPath().toString() + "/" + filename + ".json");
QDir directory(m_globalVariables->localSettingsPath().toString());
if(!directory.exists()){
directory.mkpath(directory.path());
}
QFile defaultSettings(":/" + filename + ".json");
file.open(QIODevice::WriteOnly | QIODevice::Text);
@ -147,7 +150,7 @@ void Settings::writeJsonFileFromResource(const QString& filename)
}
/*!
To have a better developer experience we check if we use a debug version. Then we assume
\brief To have a better developer experience we check if we use a debug version. Then we assume
That the paths are the default QtCreator paths and set the widgets and wallpaper executable
paths accordingly.
*/
@ -156,56 +159,24 @@ void Settings::setupWidgetAndWindowPaths()
QDir workingDir(QDir::currentPath());
QDir baseDir(QDir::currentPath());
#ifdef QT_DEBUG
if (workingDir.cdUp()) {
#ifdef Q_OS_OSX
m_globalVariables->setWidgetExecutablePath(QUrl::fromUserInput(workingDir.path() + "/../../../ScreenPlayWidget/ScreenPlayWidget.app/Contents/MacOS/ScreenPlayWidget").toLocalFile());
m_globalVariables->setWallpaperExecutablePath(QUrl::fromUserInput(workingDir.path() + "/../../../ScreenPlayWallpaper/ScreenPlayWallpaper.app/Contents/MacOS/ScreenPlayWallpaper").toLocalFile());
#if defined(Q_OS_WIN)
m_globalVariables->setWidgetExecutablePath(QUrl(workingDir.path() + "/ScreenPlayWidget.exe"));
m_globalVariables->setWallpaperExecutablePath(QUrl(workingDir.path() + "/ScreenPlayWallpaper.exe"));
#endif
#ifdef Q_OS_WIN
m_globalVariables->setWidgetExecutablePath(QUrl(workingDir.path() + "/ScreenPlayWidget/debug/ScreenPlayWidget.exe"));
m_globalVariables->setWallpaperExecutablePath(QUrl(workingDir.path() + "/ScreenPlayWallpaper/debug/ScreenPlayWallpaper.exe"));
#if defined(Q_OS_LINUX)
m_globalVariables->setWidgetExecutablePath(QUrl(workingDir.path() + "/ScreenPlayWidget"));
m_globalVariables->setWallpaperExecutablePath(QUrl(workingDir.path() + "/SScreenPlayWallpaper"));
#endif
}
// We need to detect the right base path so we can copy later the example projects
baseDir.cdUp();
baseDir.cdUp();
baseDir.cd("ScreenPlay");
baseDir.cd("ScreenPlay");
#endif
#ifdef QT_NO_DEBUG
qDebug() << "Starting in Release mode!";
// If we build in the release version we must be cautious!
// The working dir in steam is the ScreenPlay.exe location
// In QtCreator is the dir above ScreenPlay.exe (!)
workingDir.cdUp();
workingDir.cd("ScreenPlayWallpaper");
if (QDir(workingDir.path() + "/release").exists()) {
// If started by QtCreator
workingDir.cd("release");
m_globalVariables->setWallpaperExecutablePath(QUrl(workingDir.path() + "/ScreenPlayWallpaper.exe"));
workingDir.cdUp();
workingDir.cdUp();
workingDir.cd("ScreenPlayWidget");
workingDir.cd("release");
m_globalVariables->setWidgetExecutablePath(QUrl(workingDir.path() + "/ScreenPlayWidget.exe"));
} else {
// If started by Steam
m_globalVariables->setWallpaperExecutablePath(QUrl("ScreenPlayWallpaper.exe"));
m_globalVariables->setWidgetExecutablePath(QUrl("ScreenPlayWidget.exe"));
}
#if defined(Q_OS_OSX)
m_globalVariables->setWidgetExecutablePath(QUrl::fromUserInput(workingDir.path() + "ScreenPlayWidget.app/Contents/MacOS/ScreenPlayWidget").toLocalFile());
m_globalVariables->setWallpaperExecutablePath(QUrl::fromUserInput(workingDir.path() + "ScreenPlayWallpaper.app/Contents/MacOS/ScreenPlayWallpaper").toLocalFile());
#endif
}
/*!
When no default language is set in the registry we check the system set language. If there is no
\brief When no default language is set in the registry we check the system set language. If there is no
matching translation is available we set it to english. This function gets called from the UI when
the user manually changes the language.
*/
@ -219,6 +190,10 @@ void Settings::restoreDefault(const QString& appConfigLocation, const QString& s
writeJsonFileFromResource(settingsFileType);
}
/*!
\brief Checks if there is already a saved language. If not we try to use the system langauge.
If we do not support the system language we use english.
*/
void Settings::setupLanguage()
{
QString langCode;
@ -242,9 +217,14 @@ void Settings::setupLanguage()
retranslateUI();
}
/*!
\brief Check for supported langauges. If we use a langauge that not uses
latin characters, we change the font. For example this happens for korean user. We ship google
Noto Sans CJK KR Regular for this..
*/
bool Settings::retranslateUI()
{
auto* app = static_cast<QGuiApplication*>(QGuiApplication::instance());
auto* app = static_cast<QApplication*>(QApplication::instance());
QString langCode = QVariant::fromValue(language()).toString();
langCode = langCode.toLower();
QFile tsFile;

View File

@ -4,7 +4,7 @@
#include <QDir>
#include <QFile>
#include <QFontDatabase>
#include <QGuiApplication>
#include <QApplication>
#include <QJsonArray>
#include <QJsonDocument>
#include <QJsonObject>
@ -177,6 +177,7 @@ public:
signals:
void requestRetranslation();
void resetInstalledListmodel();
void autostartChanged(bool autostart);
void highPriorityStartChanged(bool highPriorityStart);
@ -185,13 +186,11 @@ signals:
void setMainWindowVisible(bool visible);
void offlineModeChanged(bool offlineMode);
void gitBuildHashChanged(QString gitBuildHash);
void resetInstalledListmodel();
void silentStartChanged(bool silentStart);
void anonymousTelemetryChanged(bool anonymousTelemetry);
void checkWallpaperVisibleChanged(bool checkWallpaperVisible);
void videoFillModeChanged(FillMode videoFillMode);
void languageChanged(Language language);
void fontChanged(QString font);
void themeChanged(Theme theme);
@ -200,6 +199,7 @@ public slots:
void writeJsonFileFromResource(const QString& filename);
void setupWidgetAndWindowPaths();
bool retranslateUI();
void setqSetting(const QString& key, const QVariant& value)
{
m_qSettings.setValue(key, value);
@ -218,8 +218,9 @@ public slots:
settings.sync();
} else {
settings.remove("ScreenPlay");
#endif
}
#endif
setqSetting("Autostart", autostart);

View File

@ -9,7 +9,7 @@ namespace ScreenPlay {
*/
/*!
Constructor
\brief Constructor.
*/
Util::Util(QNetworkAccessManager* networkAccessManager, QObject* parent)
: QObject(parent)
@ -28,7 +28,7 @@ Util::Util(QNetworkAccessManager* networkAccessManager, QObject* parent)
// This gives us nice clickable output in QtCreator
qSetMessagePattern("%{if-category}%{category}: %{endif}%{message}\n Loc: [%{file}:%{line}]");
QString path = QGuiApplication::instance()->applicationDirPath() + "/";
QString path = QApplication::instance()->applicationDirPath() + "/";
QFile fileFFMPEG;
QFile fileFFPROBE;
@ -45,17 +45,17 @@ Util::Util(QNetworkAccessManager* networkAccessManager, QObject* parent)
}
/*!
Copies the given string to the clipboard.
\brief Copies the given string to the clipboard.
*/
void Util::copyToClipboard(const QString& text) const
{
auto* clipboard = QGuiApplication::clipboard();
auto* clipboard = QApplication::clipboard();
clipboard->setText(text);
}
/*!
Opens a json file (absolute path) and tries to convert it to a QJsonObject.
Return std::nullopt when not successful.
\brief Opens a json file (absolute path) and tries to convert it to a QJsonObject.
Returns std::nullopt when not successful.
*/
std::optional<QJsonObject> Util::openJsonFileToObject(const QString& path)
{
@ -67,7 +67,7 @@ std::optional<QJsonObject> Util::openJsonFileToObject(const QString& path)
QJsonDocument jsonDocument;
QJsonParseError parseError {};
jsonDocument = QJsonDocument::fromJson(jsonString.value().toUtf8(), &parseError);
jsonDocument = QJsonDocument::fromJson(jsonString->toUtf8(), &parseError);
if (!(parseError.error == QJsonParseError::NoError)) {
qWarning() << "Settings Json Parse Error: " << parseError.errorString();
@ -78,8 +78,8 @@ std::optional<QJsonObject> Util::openJsonFileToObject(const QString& path)
}
/*!
Opens a json file (absolute path) and tries to convert it to a QString.
Return std::nullopt when not successful.
\brief Opens a json file (absolute path) and tries to convert it to a QString.
Returns std::nullopt when not successful.
*/
std::optional<QString> Util::openJsonFileToString(const QString& path)
{
@ -96,7 +96,7 @@ std::optional<QString> Util::openJsonFileToString(const QString& path)
}
/*!
Generates a (non secure) random string with the default length of 32. Can contain:
\brief Generates a (non secure) random string with the default length of 32. Can contain:
\list
\li A-Z
\li a-z
@ -120,7 +120,7 @@ QString Util::generateRandomString(quint32 length)
}
/*!
Parses a version from a given QString. The QString must be looke like this:
\brief Parses a version from a given QString. The QString must be looke like this:
1.0.0 - Major.Minor.Patch. A fixed position is used for parsing (at 0,2,4).
Return std::nullopt when not successful.
*/
@ -143,7 +143,7 @@ std::optional<QVersionNumber> Util::getVersionNumberFromString(const QString& st
}
/*!
Writes a given QJsonObject to a file. The path must be absolute. When truncate is set to
\brief Writes a given QJsonObject to a file. The path must be absolute. When truncate is set to
true the exsisting json file will be overriten.
*/
bool Util::writeJsonObjectToFile(const QString& absoluteFilePath, const QJsonObject& object, bool truncate)
@ -168,6 +168,9 @@ bool Util::writeJsonObjectToFile(const QString& absoluteFilePath, const QJsonObj
return true;
}
/*!
\brief Helper function to append a QStringList into a QString with a space between the items.
*/
QString Util::toString(const QStringList& list)
{
QString out;
@ -177,13 +180,8 @@ QString Util::toString(const QStringList& list)
return out;
}
QString Util::fixWindowsPath(QString url)
{
return url.replace("/", "\\\\");
}
/*!
Opens a native folder window on the given path. Windows and Mac only for now!
\brief Parses a QByteArray to a QJsonObject. If returns and std::nullopt on failure.
*/
std::optional<QJsonObject> Util::parseQByteArrayToQJsonObject(const QByteArray& byteArray)
{
@ -199,13 +197,14 @@ std::optional<QJsonObject> Util::parseQByteArrayToQJsonObject(const QByteArray&
return std::nullopt;
}
/*!
\brief Opens a native folder window on the given path. Windows and Mac only for now!
*/
void Util::openFolderInExplorer(const QString& url) const
{
QString fileString { "file:///" };
QString parameter = url;
if (url.contains(fileString)) {
parameter.remove(fileString);
}
QString path = QUrl::fromUserInput(url).toLocalFile();
QProcess explorer;
#ifdef Q_OS_WIN
explorer.setProgram("explorer.exe");
@ -213,20 +212,18 @@ void Util::openFolderInExplorer(const QString& url) const
// C:\Program Files (x86)\Steam\...
// we cannot set the path as an argument. But we can set the working it
// to the wanted path and open the current path via the dot.
explorer.setWorkingDirectory(QDir::toNativeSeparators(parameter));
explorer.setWorkingDirectory(QDir::toNativeSeparators(path));
explorer.setArguments({ "." });
#elif defined(Q_OS_OSX)
explorer.setProgram("open");
explorer.setArguments({ QDir::toNativeSeparators(parameter) });
explorer.setArguments({ QDir::toNativeSeparators(path) });
#endif
explorer.startDetached();
}
/*!
Loads all content of the legal folder in the qrc into a property string of this class.
\brief Loads all content of the legal folder in the qrc into a property string of this class.
allLicenseLoaded is emited when loading is finished.
*/
void Util::Util::requestAllLicenses()
@ -272,7 +269,7 @@ void Util::Util::requestAllLicenses()
}
/*!
Loads all dataprotection of the legal folder in the qrc into a property string of this class.
\brief Loads all dataprotection of the legal folder in the qrc into a property string of this class.
allDataProtectionLoaded is emited when loading is finished.
*/
void Util::Util::requestDataProtection()
@ -292,7 +289,7 @@ void Util::Util::requestDataProtection()
}
/*!
Downloads and extracts ffmpeg static version from https://ffmpeg.zeranoe.com
\brief Downloads and extracts ffmpeg static version from https://ffmpeg.zeranoe.com
The progress is tracked via setAquireFFMPEGStatus(AquireFFMPEGStatus);
*/
void Util::downloadFFMPEG()
@ -303,7 +300,7 @@ void Util::downloadFFMPEG()
#ifdef Q_OS_WIN
req.setUrl(QUrl("https://ffmpeg.zeranoe.com/builds/win64/static/" + ffmpegVersion + "-win64-static.zip"));
#elif defined(Q_OS_OSX)
req.setUrl(QUrl("https://ffmpeg.zeranoe.com/builds/macos64/static/" + ffmpegVersion + "-win64-static.zip"));
req.setUrl(QUrl("https://ffmpeg.zeranoe.com/builds/macos64/static/" + ffmpegVersion + "-macos64-static.zip"));
#endif
setAquireFFMPEGStatus(AquireFFMPEGStatus::Download);
@ -323,7 +320,7 @@ void Util::downloadFFMPEG()
return;
}
string path = QGuiApplication::instance()->applicationDirPath().toStdString() + "/";
string path = QApplication::instance()->applicationDirPath().toStdString() + "/";
ZipEntry entryFFMPEG;
std::string entryFFMPEGPath;
@ -380,7 +377,7 @@ void Util::downloadFFMPEG()
}
/*!
Basic logging to the GUI. No logging is done to a log file for now. This string can be copied
\brief Basic logging to the GUI. No logging is done to a log file for now. This string can be copied
in the settings tab in the UI.
*/
void Util::logToGui(QtMsgType type, const QMessageLogContext& context, const QString& msg)
@ -417,7 +414,7 @@ void Util::logToGui(QtMsgType type, const QMessageLogContext& context, const QSt
}
/*!
Convenient function for the ffmpeg download extraction via libzippp. Extracts a given bytearray
\brief Convenient function for the ffmpeg download extraction via libzippp. Extracts a given bytearray
to a given absolute file path and file name. Returns false if extraction or saving wasn't successful.
*/
bool Util::saveExtractedByteArray(libzippp::ZipEntry& entry, std::string& absolutePathAndName)

View File

@ -5,7 +5,7 @@
#include <QDateTime>
#include <QDebug>
#include <QDir>
#include <QGuiApplication>
#include <QApplication>
#include <QJsonDocument>
#include <QJsonObject>
#include <QNetworkAccessManager>
@ -90,7 +90,6 @@ public slots:
void downloadFFMPEG();
QString fixWindowsPath(QString url);
static std::optional<QJsonObject> parseQByteArrayToQJsonObject(const QByteArray& byteArray);
static std::optional<QJsonObject> openJsonFileToObject(const QString& path);
static std::optional<QString> openJsonFileToString(const QString& path);

View File

@ -0,0 +1,24 @@
project(ScreenPlaySDK)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOMOC ON)
find_package(
Qt5
COMPONENTS Quick
QML
Widgets
Gui
Network
Core
REQUIRED)
set(src screenplay-sdk_plugin.cpp
screenplaysdk.cpp)
set(headers screenplay-sdk_plugin.h
screenplaysdk.h)
add_library(${PROJECT_NAME} ${src} ${headers})
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Quick Qt5::Gui Qt5::Qml Qt5::Network)

View File

@ -1,7 +0,0 @@
SOURCES += \
$$PWD/screenplay-sdk_plugin.cpp \
$$PWD/screenplaysdk.cpp
HEADERS += \
$$PWD/screenplay-sdk_plugin.h \
$$PWD/screenplaysdk.h

View File

@ -1,35 +0,0 @@
TEMPLATE = lib
TARGET = ScreenPlaySDK
TARGET = $$qtLibraryTarget($$TARGET)
QT += qml quick
CONFIG += plugin c++17
uri = ScreenPlay.ScreenPlaySDK
# Input
SOURCES += \
$$PWD/screenplay-sdk_plugin.cpp \
$$PWD/screenplaysdk.cpp
HEADERS += \
$$PWD/screenplay-sdk_plugin.h \
$$PWD/screenplaysdk.h
DISTFILES = qmldir
!equals(_PRO_FILE_PWD_, $$OUT_PWD) {
copy_qmldir.target = $$OUT_PWD/qmldir
copy_qmldir.depends = $$_PRO_FILE_PWD_/qmldir
copy_qmldir.commands = $(COPY_FILE) \"$$replace(copy_qmldir.depends, /, $$QMAKE_DIR_SEP)\" \"$$replace(copy_qmldir.target, /, $$QMAKE_DIR_SEP)\"
QMAKE_EXTRA_TARGETS += copy_qmldir
PRE_TARGETDEPS += $$copy_qmldir.target
}
qmldir.files = qmldir
installPath = $$[QT_INSTALL_QML]/$$replace(uri, \\., /)
qmldir.path = $$installPath
target.path = $$installPath
INSTALLS += target qmldir

View File

@ -0,0 +1,57 @@
project(ScreenPlaySysInfo)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOMOC ON)
find_package(
Qt5
COMPONENTS Quick
QML
Core
REQUIRED)
set(src screenplaysysinfo_plugin.cpp
sysinfo.cpp
cpu.cpp
ram.cpp
storage.cpp)
set(headers screenplaysysinfo_plugin.h
sysinfo.h
cpu.h
ram.h
mathhelper.h
storage.h)
add_library(${PROJECT_NAME} ${src} ${headers})
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Quick Qt5::Qml)
# QML module deployment
set(URI "ScreenPlay/Sysinfo")
string(REPLACE "." "/" TARGETPATH ${URI})
if (NOT DEFINED QT_QMAKE_EXECUTABLE)
get_target_property (QT_QMAKE_EXECUTABLE Qt5::qmake IMPORTED_LOCATION)
if (NOT QT_QMAKE_EXECUTABLE)
message(FATAL_ERROR "Cannot find qmake")
endif()
endif()
execute_process(COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_QML OUTPUT_VARIABLE QT_INSTALL_QML_RAW)
string(STRIP ${QT_INSTALL_QML_RAW} QT_INSTALL_QML)
set(DESTDIR "${QT_INSTALL_QML}/${TARGETPATH}")
message("DESTDIR ${DESTDIR}")
install(FILES
qmldir
DESTINATION
${DESTDIR} )
# Copies ScreenPlaySysInfo.* into qt qml plugins folder
add_custom_command(
TARGET ${PROJECT_NAME}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:ScreenPlaySysInfo>
${DESTDIR}/$<TARGET_FILE_NAME:ScreenPlaySysInfo>)

View File

@ -1,42 +0,0 @@
TEMPLATE = lib
TARGET = ScreenPlaySysInfo
QT += qml quick
CONFIG += plugin c++17
TARGET = $$qtLibraryTarget($$TARGET)
uri = ScreenPlay.Sysinfo
SOURCES += \
screenplaysysinfo_plugin.cpp \
sysinfo.cpp \
cpu.cpp \
ram.cpp \
storage.cpp
HEADERS += \
screenplaysysinfo_plugin.h \
sysinfo.h \
cpu.h \
ram.h \
mathhelper.h \
storage.h
DISTFILES = qmldir
!equals(_PRO_FILE_PWD_, $$OUT_PWD) {
copy_qmldir.target = $$OUT_PWD/qmldir
copy_qmldir.depends = $$_PRO_FILE_PWD_/qmldir
copy_qmldir.commands = $(COPY_FILE) \"$$replace(copy_qmldir.depends, /, $$QMAKE_DIR_SEP)\" \"$$replace(copy_qmldir.target, /, $$QMAKE_DIR_SEP)\"
QMAKE_EXTRA_TARGETS += copy_qmldir
PRE_TARGETDEPS += $$copy_qmldir.target
}
qmldir.files = qmldir
installPath = $$[QT_INSTALL_QML]/$$replace(uri, \\., /)
qmldir.path = $$installPath
target.path = $$installPath
INSTALLS += target qmldir

View File

@ -0,0 +1,58 @@
project(ScreenPlayWallpaper)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOMOC ON)
find_package(
Qt5
COMPONENTS Quick
QML
Widgets
Gui
WebEngine
REQUIRED)
if(WIN32)
set(src_plattform
src/windowsdesktopproperties.cpp
src/winwindow.cpp)
set(headers_plattform
src/windowsdesktopproperties.h
src/winwindow.h)
elseif(APPLE)
set(src_plattform
src/macintegration.cpp
src/macwindow.cpp)
set(headers_plattform
src/macintegration.h
src/macbridge.h
src/macwindow.h)
elseif(UNIX)
set(src_plattform
main.cpp
src/linuxwindow.cpp)
set(headers_plattform
src/linuxwindow.h)
endif()
set( src
main.cpp
src/basewindow.cpp)
set( headers
src/basewindow.h)
set(resources SPWResources.qrc)
add_executable(${PROJECT_NAME} ${src} ${headers} ${src_plattform} ${headers_plattform} ${resources})
target_link_libraries(${PROJECT_NAME}
PRIVATE
Qt5::Qml
Qt5::Quick
Qt5::Gui
Qt5::Widgets
Qt5::Core
Qt5::WebEngine
ScreenPlaySDK
)

View File

@ -6,7 +6,6 @@ DEFINES += QT_DEPRECATED_WARNINGS
TARGETPATH = ScreenPlayWallpaper
include($$PWD/../Common/qt-breakpad/qt-breakpad.pri)
RESOURCES += \
@ -20,15 +19,8 @@ SOURCES += \
HEADERS += \
src/basewindow.h \
unix{
SOURCES += \
src/linuxwindow.cpp
HEADERS += \
src/linuxwindow.h
}
win32 {
include($$PWD/../Common/qt-breakpad/qt-breakpad.pri)
LIBS += -luser32
SOURCES += \
src/windowsdesktopproperties.cpp \
@ -75,10 +67,18 @@ macx {
src/macwindow.h
}
unix {
unix:!macx {
install_it.path = $${OUT_PWD}/
LIBS += -lX11
SOURCES += \
src/linuxwindow.cpp
HEADERS += \
src/linuxwindow.h
CONFIG(debug, debug|release) {
install_it.files += \
$$PWD/../Common/vcpkg/installed/x64-linux/debug/bin/libcrypto-1_1-x64.so \

View File

@ -6,6 +6,7 @@
#include <QtWebEngine>
#if defined(Q_OS_WIN)
#include "src/winwindow.h"
#endif
@ -18,18 +19,15 @@
#endif
#include "../ScreenPlaySDK/screenplaysdk.h"
#include "qt_breakpad.h"
int main(int argc, char* argv[])
{
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
QApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
QApplication app(argc, argv);
QtBreakpad::init(QDir::current().absolutePath());
// This gives us nice clickable output in QtCreator
qSetMessagePattern("%{if-category}%{category}: %{endif}%{message}\n Loc: [%{file}:%{line}]");
@ -41,6 +39,7 @@ int main(int argc, char* argv[])
//Set the monitor number to test
#if defined(Q_OS_WIN)
//WinWindow window1({ 0 }, "test", "appid", "1", "fill");
//WinWindow window2({ 1 }, "test", "appid", "1", "fill");
//WinWindow window3({ 2 }, "test", "appid", "1", "fill");
@ -48,7 +47,7 @@ int main(int argc, char* argv[])
WinWindow window({ 0 }, "C:/Program Files (x86)/Steam/steamapps/workshop/content/672870/1958068745", "appid", "1", "fill", true);
#endif
#if defined(Q_OS_LINUX)
LinuxWindow window(QVector<int>{ 0 }, "test", "appid", "1", "fill");
LinuxWindow window({ 0 }, "/home/graphicscore/Desktop/wallpapers/MechaGirl", "appid", "1", "fill", false);
#endif
#if defined(Q_OS_OSX)
MacWindow window({ 0 }, "test", "appid", "1", "fill");
@ -115,15 +114,15 @@ int main(int argc, char* argv[])
#endif
#if defined(Q_OS_LINUX)
LinuxWindow window(list, argumentList.at(2), argumentList.at(3), argumentList.at(4), argumentList.at(5));
LinuxWindow window(list, argumentList.at(2), argumentList.at(3), argumentList.at(4), argumentList.at(5), checkWallpaperVisible);
QObject::connect(&sdk, &ScreenPlaySDK::sdkDisconnected, &window, &LinuxWindow::destroyThis);
QObject::connect(&sdk, &ScreenPlaySDK::incommingMessage, &window, &LinuxWindow::messageReceived);
#endif
#if defined(Q_OS_OSX)
MacWindow window(list, argumentList.at(2), argumentList.at(3), argumentList.at(5));
QObject::connect(&sdk, &ScreenPlaySDK::sdkDisconnected, &MacWindow, &MacWindow::destroyThis);
QObject::connect(&sdk, &ScreenPlaySDK::incommingMessage, &MacWindow, &MacWindow::messageReceived);
MacWindow window(list, argumentList.at(2), argumentList.at(3), argumentList.at(4), argumentList.at(5));
QObject::connect(&sdk, &ScreenPlaySDK::sdkDisconnected, &window, &MacWindow::destroyThis);
QObject::connect(&sdk, &ScreenPlaySDK::incommingMessage, &window, &MacWindow::messageReceived);
#endif
return app.exec();

View File

@ -1,14 +1,173 @@
#include "linuxwindow.h"
#include <X11/Xatom.h>
#include <X11/Xlib.h>
#include <X11/Xproto.h>
#include <X11/Xutil.h>
LinuxWindow::LinuxWindow(QVector<int> activeScreensList, QString projectPath, QString id, QString volume, const QString fillmode, QObject* parent)
: BaseWindow(projectPath)
#include <signal.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#define WIDTH 512
#define HEIGHT 384
#define OPAQUE 0xffffffff
#define NAME "xwinwrap"
#define ATOM(a) XInternAtom(display, #a, False)
/*
*
*
*
* This code is non functional only here for testing!
*
*
*
*/
LinuxWindow::LinuxWindow(QVector<int> activeScreensList, QString projectPath, QString id, QString volume, const QString fillmode, const bool checkWallpaperVisible, QObject* parent)
: BaseWindow(projectPath, activeScreensList, checkWallpaperVisible)
{
m_window.setWidth(1920);
m_window.setHeight(1080);
m_window.show();
setAppID(id);
bool ok = false;
float volumeParsed = volume.toFloat(&ok);
if (!ok) {
qFatal("Could not parse volume");
}
setVolume(volumeParsed);
setFillMode(fillmode);
// Ether for one Screen or for all
if ((QApplication::screens().length() == activeScreensList.length()) && (activeScreensList.length() != 1)) {
setupWallpaperForAllScreens();
} else if (activeScreensList.length() == 1) {
setupWallpaperForOneScreen(activeScreensList.at(0));
setCanFade(true);
} else if (activeScreensList.length() > 1) {
setupWallpaperForMultipleScreens(activeScreensList);
}
setWidth(m_window.width());
setHeight(m_window.height());
m_window.setResizeMode(QQuickView::ResizeMode::SizeRootObjectToView);
m_window.rootContext()->setContextProperty("window", this);
//m_window.rootContext()->setContextProperty("desktopProperties", &m_windowsDesktopProperties);
// Instead of setting "renderType: Text.NativeRendering" every time
// we can set it here once :)
m_window.setTextRenderType(QQuickWindow::TextRenderType::NativeTextRendering);
m_window.setSource(QUrl("qrc:/mainWindow.qml"));
Window window = m_window.winId();
Display* display = XOpenDisplay("");
XSetWindowAttributes attrs = { ParentRelative, 0L, 0, 0L, 0, 0,
Always, 0L, 0L, False, StructureNotifyMask | ExposureMask | ButtonPressMask | ButtonReleaseMask, 0L, False, 0, 0 };
XWMHints wmHint;
Atom xa;
int flags;
flags |= CWBorderPixel | CWColormap;
XChangeWindowAttributes(display, window, flags, &attrs);
wmHint.flags = InputHint | StateHint;
wmHint.input = true;
wmHint.initial_state = WithdrawnState;
XSetWMProperties(display, window, NULL, NULL, NULL,
0, NULL, &wmHint, NULL);
xa = ATOM(_NET_WM_WINDOW_TYPE);
Atom prop;
xa = ATOM(_MOTIF_WM_HINTS);
if (xa != None) {
long prop[5] = { 2, 0, 0, 0, 0 };
XChangeProperty(display, window, xa, xa, 32,
PropModeReplace, (unsigned char*)prop, 5);
}
xa = ATOM(_NET_WM_STATE);
if (xa != None) {
Atom xa_prop = ATOM(_NET_WM_STATE_BELOW);
XChangeProperty(display, window, xa, XA_ATOM, 32,
PropModeAppend, (unsigned char*)&xa_prop, 1);
}
xa = ATOM(_NET_WM_DESKTOP);
if (xa != None) {
CARD32 xa_prop = 0xFFFFFFFF;
XChangeProperty(display, window, xa, XA_CARDINAL, 32,
PropModeAppend, (unsigned char*)&xa_prop, 1);
}
xa = ATOM(_NET_WM_STATE);
if (xa != None) {
Atom xa_prop = ATOM(_NET_WM_STATE_STICKY);
XChangeProperty(display, window, xa, XA_ATOM, 32,
PropModeAppend, (unsigned char*)&xa_prop, 1);
}
xa = ATOM(_NET_WM_STATE);
if (xa != None) {
Atom xa_prop = ATOM(_NET_WM_STATE_SKIP_TASKBAR);
XChangeProperty(display, window, xa, XA_ATOM, 32,
PropModeAppend, (unsigned char*)&xa_prop, 1);
}
xa = ATOM(_NET_WM_STATE);
if (xa != None) {
Atom xa_prop = ATOM(_NET_WM_STATE_SKIP_PAGER);
XChangeProperty(display, window, xa, XA_ATOM, 32,
PropModeAppend, (unsigned char*)&xa_prop, 1);
}
XMapWindow(display, window);
XSync(display, window);
/*QObject::connect(&m_checkForFullScreenWindowTimer, &QTimer::timeout, this, &WinWindow::checkForFullScreenWindow);
if (checkWallpaperVisible) {
m_checkForFullScreenWindowTimer.start(10);
}
QTimer::singleShot(1000, [this]() {
setupWindowMouseHook();
});*/
/*********/
/*bool ok = false;
float volumeParsed = volume.toFloat(&ok);
if (!ok) {
qFatal("Could not parse volume");
}
setVolume(volumeParsed);
// WARNING: Setting Window flags must be called *here*!
@ -20,7 +179,19 @@ LinuxWindow::LinuxWindow(QVector<int> activeScreensList, QString projectPath, QS
// Instead of setting "renderType: Text.NativeRendering" every time
// we can set it here once :)
m_window.setTextRenderType(QQuickWindow::TextRenderType::NativeTextRendering);
m_window.setSource(QUrl("qrc:/mainWindow.qml"));
m_window.setSource(QUrl("qrc:/mainWindow.qml"));*/
}
void LinuxWindow::setupWallpaperForOneScreen(int activeScreen)
{
}
void LinuxWindow::setupWallpaperForAllScreens()
{
}
void LinuxWindow::setupWallpaperForMultipleScreens(const QVector<int>& activeScreensList)
{
}
void LinuxWindow::setVisible(bool show)
@ -32,4 +203,3 @@ void LinuxWindow::destroyThis()
{
QCoreApplication::quit();
}

View File

@ -17,7 +17,7 @@ class LinuxWindow : public BaseWindow
{
Q_OBJECT
public:
explicit LinuxWindow(QVector<int> activeScreensList, QString projectPath, QString id, QString volume, const QString fillmode,QObject *parent = nullptr);
explicit LinuxWindow(QVector<int> activeScreensList, QString projectPath, QString id, QString volume, const QString fillmode,const bool checkWallpaperVisible, QObject *parent = nullptr);
signals:
@ -26,5 +26,8 @@ public slots:
void destroyThis() override;
private:
QQuickView m_window;
void setupWallpaperForOneScreen(int activeScreen);
void setupWallpaperForAllScreens();
void setupWallpaperForMultipleScreens(const QVector<int>& activeScreensList);
};

View File

@ -1,4 +1,4 @@
#pragma oncer
#pragma once
#include <QApplication>

View File

@ -1,7 +1,12 @@
#include "macwindow.h"
MacWindow::MacWindow(QVector<int>& activeScreensList, QString projectPath, QString id, QString volume, QObject* parent)
: BaseWindow(projectPath)
MacWindow::MacWindow(
const QVector<int> &activeScreensList,
const QString &projectPath,
const QString &id,
const QString &volume,
const QString &fillmode)
: BaseWindow(projectPath, activeScreensList, false)
{
setAppID(id);
bool ok = false;
@ -11,6 +16,20 @@ MacWindow::MacWindow(QVector<int>& activeScreensList, QString projectPath, QStri
}
setVolume(volumeParsed);
// Ether for one Screen or for all
if ((QApplication::screens().length() == activeScreensList.length()) && (activeScreensList.length() != 1)) {
//setupWallpaperForAllScreens();
} else if (activeScreensList.length() == 1) {
//setupWallpaperForOneScreen(activeScreensList.at(0));
auto* screen = QGuiApplication::screens().at(0);
m_window.setWidth(screen->geometry().width());
m_window.setHeight(screen->geometry().height());
} else if (activeScreensList.length() > 1) {
//setupWallpaperForMultipleScreens(activeScreensList);
}
// WARNING: Setting Window flags must be called *here*!
Qt::WindowFlags flags = m_window.flags();
m_window.setFlags(flags | Qt::FramelessWindowHint | Qt::Desktop);
@ -18,9 +37,14 @@ MacWindow::MacWindow(QVector<int>& activeScreensList, QString projectPath, QStri
m_window.setResizeMode(QQuickView::ResizeMode::SizeRootObjectToView);
m_window.rootContext()->setContextProperty("window", this);
// Instead of setting "renderType: Text.NativeRendering" every time
// we can set it here once :)
m_window.setTextRenderType(QQuickWindow::TextRenderType::NativeTextRendering);
m_window.setSource(QUrl("qrc:/mainWindow.qml"));
MacIntegration* macIntegration = new MacIntegration(this);
macIntegration->SetBackgroundLevel(&m_window);
}
void MacWindow::setVisible(bool show)
@ -32,7 +56,3 @@ void MacWindow::destroyThis()
{
QCoreApplication::quit();
}
void MacWindow::messageReceived(QString key, QString value)
{
}

View File

@ -12,19 +12,24 @@
#include <QVector>
#include "basewindow.h"
#include "macintegration.h"
class MacWindow : public BaseWindow
{
Q_OBJECT
public:
explicit MacWindow(QVector<int>& activeScreensList, QString projectPath, QString id, QString volume,QObject *parent = nullptr);
explicit MacWindow(
const QVector<int>& activeScreensList,
const QString& projectPath,
const QString& id,
const QString& volume,
const QString& fillmode);
signals:
public slots:
void setVisible(bool show) override;
void destroyThis() override;
void messageReceived(QString key, QString value) override;
private:
QQuickView m_window;
};

View File

@ -242,7 +242,7 @@ void WinWindow::setupWallpaperForMultipleScreens(const QVector<int>& activeScree
void WinWindow::setupWindowMouseHook()
{
// MUST be called before setting hook for events!
if (type() == BaseWindow::WallpaperType::Qml) {
if (type() != BaseWindow::WallpaperType::Video) {
winGlobalHook = &m_window;
if (!(mouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseHookCallback, nullptr, 0))) {
qDebug() << "Faild to install mouse hook!";
@ -316,7 +316,7 @@ void WinWindow::checkForFullScreenWindow()
HMONITOR wallpaper = MonitorFromWindow(m_windowHandle, dwFlags);
int monitorIndex = GetMonitorIndex(monitor);
int wallpaperIndex = GetMonitorIndex(wallpaper);
// qDebug() << monitorIndex << wallpaperIndex;
// qDebug() << monitorIndex << wallpaperIndex;
// If the window that has WS_MAXIMIZE is at the same monitor as this wallpaper
if (monitorIndex == wallpaperIndex) {

View File

@ -0,0 +1,26 @@
cmake_minimum_required(VERSION 3.16.0)
project(ScreenPlayWidget)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOMOC ON)
find_package(Qt5Qml)
find_package(Qt5Quick)
find_package(Qt5Gui)
find_package(Qt5Widgets)
find_package(Qt5Core)
set(src main.cpp
src/widgetwindow.cpp)
set(headers src/widgetwindow.h)
set(resources SPWidgetResources.qrc)
add_executable(ScreenPlayWidget ${src} ${headers} ${resources})
target_link_libraries( ScreenPlayWidget
PRIVATE
Qt5::Qml
Qt5::Quick
Qt5::Gui
Qt5::Widgets
Qt5::Core
ScreenPlaySDK
)

View File

@ -1,60 +0,0 @@
QT += quick qml quickcontrols2 core widgets gui
CONFIG += c++17
CONFIG += qtquickcompiler
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
main.cpp \
src/widgetwindow.cpp
HEADERS += \
src/widgetwindow.h
RESOURCES += \
SPWidgetResources.qrc
include(../ScreenPlaySDK/ScreenPlaySDK.pri)
win32 {
CONFIG(debug, debug|release) {
install_it.path = $${OUT_PWD}/debug/
install_it.files += \
$$PWD/../Common/vcpkg/installed/x64-windows/debug/bin/libcrypto-1_1-x64.dll \
$$PWD/../Common/vcpkg/installed/x64-windows/debug/bin/libssl-1_1-x64.dll \
} else {
install_it.path = $${OUT_PWD}/release/
install_it.files += \
$$PWD/../Common/vcpkg/installed/x64-windows/bin/libcrypto-1_1-x64.dll \
$$PWD/../Common/vcpkg/installed/x64-windows/bin/libssl-1_1-x64.dll \
}
}
macx {
QMAKE_LIBDIR += $$OUT_PWD/
}
unix {
install_it.path = $${OUT_PWD}/
CONFIG(debug, debug|release) {
install_it.files += \
$$PWD/../Common/vcpkg/installed/x64-linux/debug/bin/libcrypto-1_1-x64.so \
$$PWD/../Common/vcpkg/installed/x64-linux/debug/bin/libssl-1_1-x64.so \
} else {
install_it.files += \
$$PWD/../Common/vcpkg/installed/x64-linux/bin/libcrypto-1_1-x64.so \
$$PWD/../Common/vcpkg/installed/x64-linux/bin/libssl-1_1-x64.so \
}
}
INSTALLS += install_it

View File

@ -1,4 +1,4 @@
#include <QGuiApplication>
#include <QApplication>
#include <QQmlApplicationEngine>
#include <QStringList>
@ -7,10 +7,10 @@
int main(int argc, char* argv[])
{
QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
QGuiApplication app(argc, argv);
QApplication app(argc, argv);
QStringList argumentList = app.arguments();

View File

@ -13,7 +13,7 @@ WidgetWindow::WidgetWindow(const QString projectPath, const QString appid, const
};
if (!availableTypes.contains(m_type)) {
QGuiApplication::exit(-4);
QApplication::exit(-4);
}
Qt::WindowFlags flags = m_window.flags();

View File

@ -2,7 +2,7 @@
#include <QDebug>
#include <QFile>
#include <QGuiApplication>
#include <QApplication>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonParseError>

View File

@ -1,11 +0,0 @@
git submodule update --init
git submodule update --recursive
cd Common
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
git pull
git checkout origin/master
chmod +x bootstrap-vcpkg.sh
./bootstrap-vcpkg.sh
chmod +x vcpkg
./vcpkg install libzippp:x64-linux nlohmann-json:x64-linux openssl-unix:x64-linux libzip:x64-linux

View File

@ -0,0 +1,16 @@
git submodule update --init
git submodule update --recursive
cd Common
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
git pull
git checkout 2bc6cd714
chmod +x bootstrap-vcpkg.sh
./bootstrap-vcpkg.sh
chmod +x vcpkg
if [[ "$OSTYPE" == "darwin"* ]]; then
./vcpkg install zlib libzip libzippp nlohmann-json openssl-unix libzip breakpad --triplet x64-osx --recurse
else
./vcpkg install zlib libzip libzippp nlohmann-json openssl-unix libzip breakpad --triplet x64-linux --recurse
fi

View File

@ -4,7 +4,6 @@ cd Common
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
git pull
git checkout origin/master
git checkout 2bc6cd714
call bootstrap-vcpkg.bat
vcpkg.exe install libzippp:x64-windows nlohmann-json:x64-windows openssl:x64-windows
pause
vcpkg.exe install zlib libzip libzippp nlohmann-json openssl breakpad --triplet x64-windows --recurse