1
0
mirror of https://gitlab.com/kelteseth/ScreenPlay.git synced 2024-09-15 06:52:34 +02:00

Merge branch 'master' into 66-port-screenplay-from-qmake-to-cmake

This commit is contained in:
Elias Steurer 2020-04-16 11:14:49 +02:00
commit 38f117b369
112 changed files with 5876 additions and 3317 deletions

View File

@ -1,48 +0,0 @@
# Contributing to ScreenPlay
### Basic
Every changes to ScreenPlay are done via Gitlab issues and merge requests (pull request for github people). These follow the normal contributing pattern: press the big blue fork button at the top of the repository, make changes, open a merge request.
### Development
1. Accept the Contributing Agreement:
* [For regular contributors](https://gitlab.com/kelteseth/ScreenPlay/blob/dev/Legal/individual_contributor_license_agreement.md)
* [For members of a company](https://gitlab.com/kelteseth/ScreenPlay/blob/dev/Legal/corporate_contributor_license_agreement.md)
2. Download and set up ScreenPlay as described in the main [Readme](https://gitlab.com/kelteseth/ScreenPlay).
2. Choose an issue to work on:
* Your own ideas or thinks you want to improve. Alternatively you can tackle existing open issues:
* You can find simple problems by [searching for problems labeled "Accepting merge requests" sorted by weight.](https://gitlab.com/kelteseth/ScreenPlay/issues?state=opened&label_name[]=Accepting+merge+requests&assignee_id=0&sort=weight). Low-weight issues will be the easiest to accomplish.
* Make sure that no one else is working on the problem and make sure that we are still interested in a particular post.
* You can also make comments and ask for help if you are new or stuck. We will be happy to help you!
3. Add the feature or fix the bug youve chosen to work on.
4. Open a merge request to merge your code and its documentation (preferably via [draw.io]( http://draw.io/) embedded graphs). The sooner you open a merge request, the sooner you can get feedback. You can mark it as Work in Progress to indicate that you are not finished.
6. Make sure the CI builds are passing.
7. Make sure to update the translations if you've added any text via the qsTr("text) macro. It is ok to not translate your text for all the supported languages. You can always ask other contributors from other countries to verify your translations.
7. Wait for a reviewer. Youll likely need to change some things once the reviewer has completed a code review for your merge request. You may also need multiple reviews depending on the size of the change.
8. Get your changes merged!
### Programming rules
1. Use the Qt naming conventions for [C++](https://wiki.qt.io/Coding_Conventions) and [QML](https://doc.qt.io/qt-5/qml-codingconventions.html)
2. Use all the available Qt container and classes for things like (Q)Strings and (Q)Vector.
3. Use the c++17 std smart pointer.
4. Use the webkit formatting style. You can automatically format your code via the Beautifier QtCreator plugin:
* To activate this plugin you have to navigate inside your QtCreator: Help -> About Plugins -> Beautifier.
* [Download and install LLVM](http://releases.llvm.org/download.html) to format the code
* In QtCreator navigate to: Tools -> Options -> Beautifier -> Clang format -> Options -> Use predefined style: Webkit
* Add a formatting shortcut via: Tools -> Options -> Environment -> Keyboard -> Search for "format" and add your shortcut to ClangFormat, FormatFile
3. Use this [git commit message style](https://gist.github.com/robertpainsi/b632364184e70900af4ab688decf6f53)
### Documentation
To contribute to the [documentation](https://kelteseth.gitlab.io/ScreenPlayDocs/) you only have to press the pen icon on the top right of every page. We mostly use [draw.io]( http://draw.io/) for every diagram because it is free and you can embed the code inside a png when exporting the document.
### Translation
We use the [Qt Linguist] for translating ScreenPlay. This tool lets you open the ScreenPlay_<language>.ts files and edit these easily. If is included in the open source Qt SDK and normally inside your Qt bin folder: "C:\Qt\5.XX.0\msvc2017_64\bin\linguist.exe"
### Design
To design ScreenPlay we use [Affinity Designer](https://affinity.serif.com/en-gb/designer/) as superior alternative to Photoshop. But you can use any tool you like. If you have any ideas on how to improve any design aspect of ScreenPlay just open a issue with the "Design" tag and paste you mockups into the description (preferably as png or/and the source *.afdesign file)

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

@ -27,7 +27,7 @@ ScreenPlay is an open source cross plattform app for displaying Wallpaper, Widge
| __Steam Binaries__ | ✔ | ❌ | ❌ |
| __Wallpaper__ | ✔ | ❌ Help Needed for Gnome/KDE/etc! | ❓ (Basic implementation) Help Needed! |
| __Widgets__ | ✔ | ❓ | ❓ Help Needed! |
| __Multilanguage (EN,DE,RU,FR,ES)__ | ✔ | ✔ | ✔ |
| __Multilanguage (EN,DE,RU,FR,ES,KO🆕,VI🆕)__ | ✔ | ✔ | ✔ |
</div>

View File

@ -146,5 +146,11 @@
<file>qml/Common/Headline.qml</file>
<file>qml/Create/Wizards/CreateEmptyHtmlWallpaper/CreateEmptyHtmlWallpaper.qml</file>
<file>assets/images/undraw_static_website_0107.svg</file>
<file>translations/ScreenPlay_ko.qm</file>
<file>assets/fonts/NotoSans-Light.ttf</file>
<file>assets/fonts/NotoSans-Medium.ttf</file>
<file>assets/fonts/NotoSans-Regular.ttf</file>
<file>assets/fonts/NotoSans-Thin.ttf</file>
<file>translations/ScreenPlay_vi.qm</file>
</qresource>
</RCC>

View File

@ -42,7 +42,9 @@ TRANSLATIONS = \
$$PWD/translations/ScreenPlay_de.ts \
$$PWD/translations/ScreenPlay_ru.ts \
$$PWD/translations/ScreenPlay_es.ts \
$$PWD/translations/ScreenPlay_fr.ts
$$PWD/translations/ScreenPlay_fr.ts \
$$PWD/translations/ScreenPlay_ko.ts \
$$PWD/translations/ScreenPlay_vi.ts \
HEADERS += \
$$PWD/app.h \
@ -68,18 +70,22 @@ 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
@ -152,5 +158,5 @@ unix {
}
INSTALLS += install_it
INSTALLS += install_it install_assets

View File

@ -49,17 +49,28 @@ App::App()
QGuiApplication::setOrganizationName("ScreenPlay");
QGuiApplication::setOrganizationDomain("screen-play.app");
QGuiApplication::setApplicationName("ScreenPlay");
QGuiApplication::setApplicationVersion("0.9.0");
QGuiApplication::setApplicationVersion("0.10.1");
QGuiApplication::setQuitOnLastWindowClosed(false);
QtBreakpad::init(QDir::current().absolutePath());
QFontDatabase::addApplicationFont(":/assets/fonts/LibreBaskerville-Italic.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/Roboto-Light.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/Roboto-Regular.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/Roboto-Thin.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/RobotoMono-Light.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/RobotoMono-Thin.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/NotoSans-Thin.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/NotoSans-Regular.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/NotoSans-Medium.ttf");
QFontDatabase::addApplicationFont(":/assets/fonts/NotoSans-Light.ttf");
if (-1 == QFontDatabase::addApplicationFont(QDir::current().absolutePath() + "/assets/fonts/NotoSansCJKkr-Regular.otf")) {
qWarning() << "Could not load korean font from: " << QDir::current().absolutePath() + "/assets/fonts/NotoSansCJKkr-Regular.otf";
}
QQuickWindow::setTextRenderType(QQuickWindow::TextRenderType::NativeTextRendering);
qRegisterMetaType<QQmlApplicationEngine*>();
@ -75,12 +86,26 @@ App::App()
qRegisterMetaType<MonitorListModel*>();
qRegisterMetaType<ProfileListModel*>();
qmlRegisterAnonymousType<GlobalVariables>("ScreenPlay",1);
qmlRegisterAnonymousType<ScreenPlayManager>("ScreenPlay",1);
qmlRegisterAnonymousType<Util>("ScreenPlay",1);
qmlRegisterAnonymousType<Create>("ScreenPlay",1);
qmlRegisterAnonymousType<Settings>("ScreenPlay",1);
qmlRegisterAnonymousType<GlobalVariables>("ScreenPlay", 1);
qmlRegisterAnonymousType<ScreenPlayManager>("ScreenPlay", 1);
qmlRegisterAnonymousType<Util>("ScreenPlay", 1);
qmlRegisterAnonymousType<Create>("ScreenPlay", 1);
qmlRegisterAnonymousType<Settings>("ScreenPlay", 1);
qmlRegisterAnonymousType<SDKConnector>("ScreenPlay", 1);
// SDKConnect first to check if another ScreenPlay Instace is running
m_sdkConnector = make_shared<SDKConnector>();
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
auto* nam = new QNetworkAccessManager(this);
m_util = make_unique<Util>(nam);
@ -89,8 +114,8 @@ App::App()
m_installedListFilter = make_shared<InstalledListFilter>(m_installedListModel);
m_monitorListModel = make_shared<MonitorListModel>();
m_profileListModel = make_shared<ProfileListModel>(m_globalVariables);
m_sdkConnector = make_shared<SDKConnector>();
m_settings = make_shared<Settings>(m_globalVariables);
m_mainWindowEngine = make_unique<QQmlApplicationEngine>();
// Only create tracker if user did not disallow!
if (m_settings->anonymousTelemetry()) {
@ -107,6 +132,9 @@ App::App()
// When the installed storage path changed
QObject::connect(m_settings.get(), &Settings::resetInstalledListmodel, m_installedListModel.get(), &InstalledListModel::reset);
QObject::connect(m_settings.get(), &Settings::requestRetranslation, m_mainWindowEngine.get(), &QQmlEngine::retranslate);
m_settings->setupLanguage();
QObject::connect(m_globalVariables.get(), &GlobalVariables::localStoragePathChanged, this, [this](QUrl localStoragePath) {
m_settings->resetInstalledListmodel();
m_settings->setqSetting("ScreenPlayContentPath", localStoragePath.toString());
@ -122,10 +150,12 @@ App::App()
}
qmlRegisterSingletonInstance("ScreenPlay", 1, 0, "ScreenPlay", this);
m_mainWindowEngine = make_unique<QQmlApplicationEngine>();
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) {

View File

@ -54,6 +54,9 @@ class App : public QObject {
public:
explicit App();
void init();
bool m_isAnotherScreenPlayInstanceRunning { false };
GlobalVariables* globalVariables() const
{
return m_globalVariables.get();

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -11,5 +11,10 @@ int main(int argc, char* argv[])
ScreenPlay::App app;
return qtGuiApp.exec();
if (app.m_isAnotherScreenPlayInstanceRunning) {
return 0;
} else {
app.init();
return qtGuiApp.exec();
}
}

View File

@ -21,9 +21,14 @@ ApplicationWindow {
visible: false
width: 1400
height: 788
title: "ScreenPlay Alpha - V0.9.0"
title: "ScreenPlay Alpha - V0.10.1"
minimumHeight: 450
minimumWidth: 1050
onVisibilityChanged: {
if(window.visibility === 2){
switchPage("Installed")
}
}
Component.onCompleted: {
if (!ScreenPlay.settings.silentStart) {
@ -34,8 +39,6 @@ ApplicationWindow {
}
}
function switchPage(name) {
if (name === "Create") {
bg.state = "create"
@ -74,15 +77,22 @@ ApplicationWindow {
Connections {
target: ScreenPlay.util
onRequestNavigation: {
function onRequestNavigation(nav) {
switchPage(nav)
}
onRequestToggleWallpaperConfiguration: {
function onRequestToggleWallpaperConfiguration() {
monitors.state = monitors.state == "active" ? "inactive" : "active"
ScreenPlay.screenPlayManager.requestProjectSettingsListModelAt(0)
}
}
Connections {
target: ScreenPlay.sdkConnector
function onRequestRaise() {
window.show()
}
}
LinearGradient {
id: tabShadow
height: 4
@ -233,7 +243,7 @@ ApplicationWindow {
target: pageLoader.item
ignoreUnknownSignals: true
onSetSidebarActive: {
function onSetSidebarActive(active) {
if (active) {
sidebar.state = "active"
} else {
@ -241,7 +251,7 @@ ApplicationWindow {
}
}
onSetNavigationItem: {
function onSetNavigationItem(pos) {
if (pos === 0) {
nav.onPageChanged("Create")
} else {

View File

@ -1,5 +1,6 @@
import QtQuick 2.14
import QtQuick.Controls.Material 2.12
import ScreenPlay 1.0
Item {
id:root
@ -10,10 +11,10 @@ Item {
Text {
id: txtHeadline
font.family: "Roboto"
font.pointSize: 18
color: "#444444"
text: qsTr("Headline")
font.family: ScreenPlay.settings.font
}
Rectangle {

View File

@ -2,7 +2,7 @@ import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Controls.Material 2.12
import Qt.labs.platform 1.1
import ScreenPlay 1.0
/*!
\qmltype Image Selector
\brief A image selector with popup preview.
@ -103,7 +103,7 @@ Item {
id: txtPlaceholder
clip: true
font.pointSize: 12
font.family: "Roboto"
font.family: ScreenPlay.settings.font
wrapMode: Text.WordWrap
color: Material.color(Material.Grey)
verticalAlignment: Text.AlignVCenter
@ -121,7 +121,7 @@ Item {
id: txtName
clip: true
font.pointSize: 12
font.family: "Roboto"
font.family: ScreenPlay.settings.font
wrapMode: Text.WordWrap
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignLeft
@ -139,6 +139,7 @@ Item {
text: qsTr("Clear")
Material.background: Material.Grey
Material.foreground: "white"
font.family: ScreenPlay.settings.font
anchors {
top: parent.top
right: btnOpen.left
@ -153,6 +154,7 @@ Item {
text: qsTr("Select Preview Image")
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
anchors {
top: parent.top
right: parent.right

View File

@ -1,6 +1,7 @@
import QtQuick 2.12
import QtQuick.Layouts 1.12
import QtQuick.Controls 2.2
import ScreenPlay 1.0
Item {
id: sliderVolumeWrapperBottom
@ -19,7 +20,7 @@ Item {
text: headline
height: 20
font.pointSize: 10
font.family: "Roboto"
font.family: ScreenPlay.settings.font
color: "#626262"
anchors {

View File

@ -1,6 +1,7 @@
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Controls.Material 2.3
import ScreenPlay 1.0
Item {
id: tag
@ -24,6 +25,7 @@ Item {
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
anchors.fill: parent
font.family: ScreenPlay.settings.font
}
TextField {
id: textField
@ -32,13 +34,14 @@ Item {
anchors.fill: parent
anchors.margins: 10
anchors.bottomMargin: 0
font.family: ScreenPlay.settings.font
}
TextMetrics {
id: textMetrics
text: txt.text
font.pointSize: 14
font.family: "Roboto"
font.family: ScreenPlay.settings.font
}
}
MouseArea {

View File

@ -2,6 +2,7 @@ import QtQuick 2.12
import QtQuick.Controls 2.12
import QtGraphicalEffects 1.0
import QtQuick.Controls.Material 2.12
import ScreenPlay 1.0
Item {
id: tagSelector
@ -52,7 +53,7 @@ Item {
Connections {
target: delegate
onRemoveThis: {
function onRemoveThis() {
listModel.remove(itemIndex)
}
}
@ -93,6 +94,7 @@ Item {
id: textField
anchors.fill: parent
anchors.rightMargin: 15
font.family: ScreenPlay.settings.font
anchors.leftMargin: 15
onTextChanged: {
if(textField.length >= 10){
@ -109,6 +111,7 @@ Item {
enabled: false
Material.background: Material.Red
Material.foreground: "white"
font.family: ScreenPlay.settings.font
anchors {
right: btnAdd.left
rightMargin: 10
@ -125,6 +128,7 @@ Item {
text: qsTr("Add Tag")
Material.background: Material.LightGreen
Material.foreground: "white"
font.family: ScreenPlay.settings.font
anchors {
right: parent.right
rightMargin: 10

View File

@ -3,7 +3,7 @@ import QtQuick.Controls 2.3
import QtQuick.Controls.Material 2.2
import QtGraphicalEffects 1.0
import QtQuick.Layouts 1.3
//import QtQuick.XmlListModel 2.0
import ScreenPlay 1.0
import QtWebEngine 1.8
Item {
@ -59,7 +59,7 @@ Item {
color: "white"
height: 100
text: qsTr("We use Stomt because it provides quick and easy feedback via I like/I wish. So you can easily give us feedback and speak your mind. We will read these wishes on a daily basis!")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Normal
wrapMode: Text.WordWrap
horizontalAlignment: Qt.AlignHCenter
@ -195,6 +195,7 @@ Item {
text: qsTr("Forums")
Material.background: Material.Blue
Material.foreground: "white"
font.family: ScreenPlay.settings.font
onClicked: Qt.openUrlExternally(
"https://forum.screen-play.app/")
icon.source: "qrc:/assets/icons/icon_people.svg"
@ -206,6 +207,7 @@ Item {
text: qsTr("Blog")
Material.background: Material.LightGreen
Material.foreground: "white"
font.family: ScreenPlay.settings.font
icon.source: "qrc:/assets/icons/icon_document.svg"
icon.color: "white"
icon.width: 16
@ -217,7 +219,7 @@ Item {
text: qsTr("Source Code")
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
icon.source: "qrc:/assets/icons/icon_code.svg"
icon.color: "white"
icon.width: 16
@ -229,7 +231,7 @@ Item {
text: qsTr("Workshop")
Material.background: Material.Red
Material.foreground: "white"
font.family: ScreenPlay.settings.font
icon.source: "qrc:/assets/icons/icon_steam.svg"
icon.color: "white"
icon.width: 16
@ -241,7 +243,7 @@ Item {
text: qsTr("Changelog")
Material.background: Material.Purple
Material.foreground: "white"
font.family: ScreenPlay.settings.font
icon.source: "qrc:/assets/icons/icon_info.svg"
icon.color: "white"
icon.width: 16

View File

@ -62,7 +62,7 @@ GridView {
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignLeft
font.pointSize: 32
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors {
top: parent.top
@ -138,7 +138,7 @@ GridView {
margins: 20
}
color: "white"
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Normal
font.pointSize: 18
wrapMode: Text.WordWrap
@ -157,7 +157,7 @@ GridView {
leftMargin: 20
}
color: "white"
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Normal
font.pointSize: 14

View File

@ -113,7 +113,7 @@ Item {
Text {
id: txtDescriptionBottom
text: qsTr("Create wallpapers and widgets for local usage or the steam workshop!")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.pointSize: 10
color: "white"

View File

@ -20,8 +20,7 @@ Item {
color: "white"
font.pointSize: 21
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Thin
}
@ -41,8 +40,7 @@ Item {
Text {
id: txtExamples
text: qsTr("Example Widgets and Scenes")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.pointSize: 16
color: "white"

View File

@ -1,6 +1,7 @@
import QtQuick 2.14
import QtQuick.Controls 2.14
import QtGraphicalEffects 1.0
import ScreenPlay 1.0
Item {
id: btnEmpty
@ -70,7 +71,7 @@ Item {
Text {
id: name
text: btnEmpty.text
font.family: "Roboto"
font.family: ScreenPlay.settings.font
opacity: buttonActive ? 1 : .25
font.pointSize: 14
color: "gray"
@ -87,7 +88,7 @@ Item {
}
Text {
text: ">"
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.pointSize: 18
opacity: buttonActive ? 1 : .25
color: "#b9b9b9"

View File

@ -19,7 +19,8 @@ Popup {
Connections {
target: ScreenPlay.util
onAquireFFMPEGStatusChanged: {
function onAquireFFMPEGStatusChanged(aquireFFMPEGStatus) {
switch (aquireFFMPEGStatus) {
case QMLUtilities.Init:
@ -90,7 +91,7 @@ Popup {
horizontalAlignment: Text.AlignHCenter
font.pointSize: 16
height: 50
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors.fill: parent
anchors.margins: 50
wrapMode: Text.WordWrap
@ -145,7 +146,7 @@ Popup {
height: 50
Layout.fillWidth: true
color: "gray"
font.family: "Roboto"
font.family: ScreenPlay.settings.font
}
Rectangle {
@ -187,7 +188,7 @@ Popup {
height: 50
Layout.fillWidth: true
color: Material.color(Material.Orange)
font.family: "Roboto"
font.family: ScreenPlay.settings.font
wrapMode: Text.WordWrap
anchors {
top: busyIndicator.bottom
@ -234,7 +235,7 @@ Popup {
height: txtExpander.paintedHeight
wrapMode: Text.WordWrap
font.pointSize: 12
font.family: "Roboto"
font.family: ScreenPlay.settings.font
onLinkHovered: maHoverEffect.cursorShape = Qt.PointingHandCursor
onLinkActivated: Qt.openUrlExternally(link)
linkColor: Material.color(Material.LightBlue)
@ -339,7 +340,7 @@ if you installed ScreenPlay via Steam!
height: 50
Layout.fillWidth: true
color: "gray"
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors {
horizontalCenter: parent.horizontalCenter
top: parent.top

View File

@ -31,8 +31,7 @@ Item {
color: "white"
font.pointSize: 21
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Thin
}
@ -85,6 +84,7 @@ Item {
icon.source: "qrc:/assets/icons/icon_upload.svg"
icon.color: "white"
icon.width: 16
font.family: ScreenPlay.settings.font
enabled: ScreenPlay.util.ffmpegAvailable
icon.height: 16
onClicked: fileDialogImportVideo.open()
@ -92,6 +92,7 @@ Item {
FileDialog {
id: fileDialogImportVideo
nameFilters: ["Video files (*.mp4 *.webm *.mkv *.mpg *.mp2 *.mpeg *.ogv *.ogg *.avi *.wmv *.m4v *.3gp *.flv)"]
onAccepted: {
videoImportConvertFileSelected(
@ -169,6 +170,7 @@ Item {
icon.color: "white"
icon.width: 16
icon.height: 16
font.family: ScreenPlay.settings.font
onClicked: fileDialogImportProject.open()
}
@ -246,6 +248,7 @@ Item {
icon.color: "white"
icon.width: 16
icon.height: 16
font.family: ScreenPlay.settings.font
onClicked: {
ScreenPlay.util.requestNavigation("Workshop")
}

View File

@ -55,7 +55,7 @@ Item {
color: "gray"
width: parent.width - 40
font.pointSize: 13
font.family: ScreenPlay.settings.font
anchors {
centerIn: parent
}
@ -72,7 +72,7 @@ Item {
bottom: parent.bottom
margins: 20
}
font.family: ScreenPlay.settings.font
onClicked: swipeView.incrementCurrentIndex()
}
}
@ -123,11 +123,13 @@ Item {
text: qsTr("General")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
TextField {
id: tfTitle
Layout.fillWidth: true
placeholderText: qsTr("Wallpaper name")
font.family: ScreenPlay.settings.font
onTextChanged: {
if (text.length >= 3) {
btnSave.enabled = true
@ -138,6 +140,7 @@ Item {
}
TextField {
id: tfCreatedBy
font.family: ScreenPlay.settings.font
Layout.fillWidth: true
placeholderText: qsTr("Copyright owner")
}
@ -146,10 +149,12 @@ Item {
text: qsTr("License")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
ComboBox {
id: cbLicense
Layout.fillWidth: true
font.family: ScreenPlay.settings.font
model: ListModel {
id: modelLicense
ListElement {
@ -167,16 +172,19 @@ Item {
text: qsTr("Tags")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
TagSelector {
id: tagSelector
Layout.fillWidth: true
}
Text {
text: qsTr("Preview Image")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
ImageSelector {
id: previewSelector
@ -198,7 +206,7 @@ Item {
Connections {
target: ScreenPlay.create
onHtmlWallpaperCreatedSuccessful: {
function onHtmlWallpaperCreatedSuccessful(path) {
ScreenPlay.util.openFolderInExplorer(path)
}
}
@ -208,6 +216,7 @@ Item {
text: qsTr("Abort")
Material.background: Material.Red
Material.foreground: "white"
font.family: ScreenPlay.settings.font
onClicked: {
ScreenPlay.util.setNavigationActive(true)
ScreenPlay.util.setNavigation("Create")
@ -220,7 +229,7 @@ Item {
enabled: false
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
onClicked: {
btnSave.enabled = false
savePopup.open()
@ -255,6 +264,7 @@ Item {
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
anchors.bottomMargin: 30
font.family: ScreenPlay.settings.font
}
Timer {

View File

@ -4,6 +4,7 @@ import QtQuick.Controls 2.14
import QtQuick.Layouts 1.14
import QtQuick.Dialogs 1.2
import ScreenPlay 1.0
import Settings 1.0
import "../../../Common"
@ -15,7 +16,7 @@ Item {
id: txtHeadline
text: qsTr("Create an empty widget")
height: 40
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Light
color: "#757575"
@ -76,11 +77,13 @@ Item {
text: qsTr("General")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
TextField {
id: tfTitle
Layout.fillWidth: true
placeholderText: qsTr("Widget name")
font.family: ScreenPlay.settings.font
onTextChanged: {
if (text.length >= 3) {
btnSave.enabled = true
@ -93,15 +96,18 @@ Item {
id: tfCreatedBy
Layout.fillWidth: true
placeholderText: qsTr("Copyright owner")
font.family: ScreenPlay.settings.font
}
Text {
text: qsTr("Type")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
ComboBox {
id: cbType
Layout.fillWidth: true
font.family: ScreenPlay.settings.font
model: ListModel {
id: model
ListElement {
@ -125,10 +131,12 @@ Item {
text: qsTr("License")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
ComboBox {
id: cbLicense
Layout.fillWidth: true
font.family: ScreenPlay.settings.font
model: ListModel {
id: modelLicense
ListElement {
@ -146,6 +154,7 @@ Item {
text: qsTr("Tags")
font.pointSize: 14
color: "#757575"
font.family: ScreenPlay.settings.font
}
TagSelector {
@ -170,6 +179,7 @@ Item {
enabled: false
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
onClicked: {
btnSave.enabled = false
@ -185,7 +195,7 @@ Item {
Connections {
target: ScreenPlay.create
onWidgetCreatedSuccessful: {
function onWidgetCreatedSuccessful(path) {
ScreenPlay.util.openFolderInExplorer(path)
}
}
@ -193,6 +203,7 @@ Item {
Button {
id: btnExit
text: qsTr("Abort")
font.family: ScreenPlay.settings.font
Material.background: Material.Red
Material.foreground: "white"
onClicked: {

View File

@ -64,6 +64,7 @@ Item {
width: parent.width
font.pointSize: 13
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
font.family: ScreenPlay.settings.font
}
Item {
width: parent.width
@ -76,12 +77,14 @@ Item {
color: "gray"
width: parent.width
font.pointSize: 14
font.family: ScreenPlay.settings.font
}
ComboBox {
id: comboBoxCodec
width: 260
textRole: "text"
valueRole: "value"
font.family: ScreenPlay.settings.font
onCurrentIndexChanged: {
root.codec = model.get(comboBoxCodec.currentIndex).value
}
@ -109,6 +112,7 @@ Item {
icon.color: "white"
icon.width: 16
icon.height: 16
font.family: ScreenPlay.settings.font
onClicked: Qt.openUrlExternally(
"https://kelteseth.gitlab.io/ScreenPlayDocs/wallpaper/wallpaper/#performance")
anchors {
@ -120,6 +124,7 @@ Item {
Button {
text: qsTr("Next")
highlighted: true
font.family: ScreenPlay.settings.font
onClicked: {
root.next()
}

View File

@ -16,13 +16,14 @@ Item {
Text {
id: txtErrorHeadline
text: qsTr("An error occurred!")
anchors {
top: parent.top
topMargin: 30
horizontalCenter: parent.horizontalCenter
}
height: 40
font.family: "Segoe UI, Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Light
color: Material.color(Material.DeepOrange)
font.pointSize: 32
@ -57,6 +58,7 @@ Item {
left: parent.left
margins: 20
}
font.family: ScreenPlay.settings.font
wrapMode: Text.WordWrap
color: "#626262"
text: ScreenPlay.create.ffmpegOutput
@ -86,6 +88,7 @@ Item {
text: qsTr("Back to create and send an error report!")
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
anchors {
horizontalCenter: parent.horizontalCenter
bottom: parent.bottom

View File

@ -50,8 +50,7 @@ Item {
Connections {
target: ScreenPlay.create
onCreateWallpaperStateChanged: {
function onCreateWallpaperStateChanged(state) {
switch (state) {
case CreateImportVideo.ConvertingPreviewImage:
txtConvert.text = qsTr("Generating preview image...")
@ -98,7 +97,7 @@ Item {
break
}
}
onProgressChanged: {
function onProgressChanged(progress) {
var percentage = Math.floor(progress * 100)
if (percentage > 100 || progress > 0.95)
@ -112,7 +111,7 @@ Item {
id: txtHeadline
text: qsTr("Convert a video to a wallpaper")
height: 40
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Light
color: "#757575"
@ -196,6 +195,7 @@ Item {
color: "white"
text: qsTr("")
font.pointSize: 21
font.family: ScreenPlay.settings.font
anchors {
horizontalCenter: parent.horizontalCenter
bottom: parent.bottom
@ -208,6 +208,7 @@ Item {
color: "white"
text: qsTr("Generating preview video...")
font.pointSize: 14
font.family: ScreenPlay.settings.font
anchors {
horizontalCenter: parent.horizontalCenter
bottom: parent.bottom
@ -254,6 +255,7 @@ Item {
id: textFieldName
placeholderText: qsTr("Name (required!)")
width: parent.width
font.family: ScreenPlay.settings.font
Layout.fillWidth: true
onTextChanged: {
if (textFieldName.text.length >= 3) {
@ -267,6 +269,7 @@ Item {
TextField {
id: textFieldDescription
placeholderText: qsTr("Description")
font.family: ScreenPlay.settings.font
width: parent.width
Layout.fillWidth: true
@ -275,6 +278,7 @@ Item {
TextField {
id: textFieldYoutubeURL
placeholderText: qsTr("Youtube URL")
font.family: ScreenPlay.settings.font
width: parent.width
Layout.fillWidth: true
}
@ -282,6 +286,7 @@ Item {
TagSelector {
id: textFieldTags
width: parent.width
Layout.fillWidth: true
}
}
@ -303,6 +308,7 @@ Item {
text: qsTr("Abort")
Material.background: Material.Red
Material.foreground: "white"
font.family: ScreenPlay.settings.font
onClicked: {
ScreenPlay.create.abortAndCleanup()
ScreenPlay.util.setNavigationActive(true)
@ -316,6 +322,7 @@ Item {
enabled: false
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
onClicked: {
if (conversionFinishedSuccessful) {
@ -353,6 +360,7 @@ Item {
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
anchors.bottomMargin: 30
font.family: ScreenPlay.settings.font
}
Timer {

View File

@ -28,16 +28,16 @@ Item {
Connections {
target: loaderHelp.item
onHelperButtonPressed: {
function onHelperButtonPressed(pos) {
setNavigationItem(pos)
}
}
Connections {
target: ScreenPlay.installedListModel
onInstalledLoadingFinished: {
function onInstalledLoadingFinished(){
checkIsContentInstalled()
}
onCountChanged: {
function onCountChanged(count) {
if (count === 0) {
checkIsContentInstalled()
}
@ -71,8 +71,8 @@ Item {
GridView {
id: gridView
boundsBehavior: Flickable.DragOverBounds
maximumFlickVelocity: 7000
flickDeceleration: 5000
maximumFlickVelocity: 2500
flickDeceleration: 2500
anchors.fill: parent
cellWidth: 340
cellHeight: 200
@ -116,6 +116,7 @@ Item {
Text {
id: txtHeader
text: qsTr("Pull to refresh!")
font.family: ScreenPlay.settings.font
anchors.centerIn: parent
color: "gray"
font.pointSize: 18
@ -130,6 +131,7 @@ Item {
Text {
id: txtFooter
font.family: ScreenPlay.settings.font
text: qsTr("Get more Wallpaper & Widgets via the Steam workshop!")
anchors.centerIn: parent
color: "gray"
@ -219,6 +221,9 @@ Item {
right: parent.right
left: parent.left
}
MouseArea {
anchors.fill: parent
}
TabBar {
height: parent.height
background: Item {}
@ -232,6 +237,7 @@ Item {
TabButton {
text: qsTr("All")
font.family: ScreenPlay.settings.font
icon.height: 16
icon.width: 16
height: parent.height
@ -247,6 +253,7 @@ Item {
text: qsTr("Scenes")
icon.height: 16
icon.width: 16
font.family: ScreenPlay.settings.font
width: implicitWidth
height: parent.height
background: Item {}
@ -260,6 +267,7 @@ Item {
text: qsTr("Videos")
icon.height: 16
icon.width: 16
font.family: ScreenPlay.settings.font
height: parent.height
width: implicitWidth
background: Item {}
@ -273,6 +281,7 @@ Item {
text: qsTr("Widgets")
icon.height: 16
icon.width: 16
font.family: ScreenPlay.settings.font
height: parent.height
width: implicitWidth
background: Item {}
@ -301,7 +310,7 @@ Item {
id: txtSearch
width: 250
height: 40
font.family: "Roboto"
font.family: ScreenPlay.settings.font
leftPadding: 10
anchors {
right: icnSearch.right

View File

@ -2,7 +2,7 @@ import QtQuick 2.12
import QtQuick.Controls 2.3
import QtQuick.Controls.Styles 1.4
import QtQuick.Controls.Material 2.2
import ScreenPlay 1.0
import "../Common"
Item {
@ -52,7 +52,7 @@ Item {
x: 20
y: 80
text: qsTr("Get free Widgets and Wallpaper via the Steam Workshop")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
wrapMode: Text.WordWrap
color: "white"

View File

@ -34,7 +34,7 @@ Item {
Connections {
target: ScreenPlay.util
onSetSidebarItem: {
function onSetSidebarItem(screenId, type) {
// Toggle sidebar if clicked on the same content twice
if (activeScreen === screenId && root.state !== "inactive") {
@ -191,7 +191,7 @@ Item {
Text {
id: txtHeadline
text: qsTr("Headline")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Thin
verticalAlignment: Text.AlignBottom
font.pointSize: 16
@ -242,7 +242,7 @@ Item {
id: txtHeadlineMonitor
height: 20
text: qsTr("Select a Monitor to display the content")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
verticalAlignment: Text.AlignVCenter
font.pointSize: 10
color: "#626262"
@ -277,7 +277,7 @@ Item {
id: txtComboBoxFillMode
text: qsTr("Fill Mode")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
verticalAlignment: Text.AlignVCenter
font.pointSize: 10
color: "#626262"
@ -290,6 +290,7 @@ Item {
Layout.fillWidth: true
textRole: "text"
valueRole: "value"
font.family: ScreenPlay.settings.font
currentIndex: root.indexOfValue(
cbVideoFillMode.model,
ScreenPlay.settings.videoFillMode)
@ -321,7 +322,7 @@ Item {
Material.accent: Material.Orange
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
icon.source: "qrc:/assets/icons/icon_plus.svg"
icon.color: "white"
icon.width: 16

View File

@ -60,7 +60,7 @@ ColumnLayout {
Text {
id: txtComboBoxFillMode
text: qsTr("Fill Mode")
font.family: "Roboto"
font.family: ScreenPlay.settings.font
verticalAlignment: Text.AlignVCenter
font.pointSize: 10
color: "#626262"

View File

@ -28,7 +28,7 @@ Rectangle {
Connections {
target: ScreenPlay.monitorListModel
onMonitorReloadCompleted: {
function onMonitorReloadCompleted() {
resize()
}
}

View File

@ -1,5 +1,6 @@
import QtQuick 2.12
import QtGraphicalEffects 1.0
import ScreenPlay 1.0
Item {
id: root
@ -37,7 +38,7 @@ Item {
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
font.pointSize: root.fontSize
font.family: "Roboto"
font.family: ScreenPlay.settings.font
wrapMode: Text.WrapAnywhere
}

View File

@ -65,7 +65,7 @@ Item {
text: qsTr("Wallpaper Configuration")
font.pointSize: 21
color: "#626262"
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Thin
width: 400
anchors {
@ -98,10 +98,10 @@ Item {
}
Connections {
target: ScreenPlay.screenPlayManager
onProjectSettingsListModelFound: {
function onProjectSettingsListModelFound(li,type) {
videoControlWrapper.state = "visible"
customPropertiesGridView.model = li
if (type == "videoWallpaper") {
if (type === "videoWallpaper") {
customPropertiesGridView.state = "hidden"
videoControlWrapper.state = "visible"
} else {
@ -109,7 +109,7 @@ Item {
videoControlWrapper.state = "hidden"
}
}
onProjectSettingsListModelNotFound: {
function onProjectSettingsListModelNotFound() {
customPropertiesGridView.model = null
videoControlWrapper.state = "hidden"
customPropertiesGridView.state = "hidden"
@ -130,6 +130,7 @@ Item {
text: qsTr("Remove selected")
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
enabled: monitorSelection.activeMonitors.length == 1
onClicked: {
ScreenPlay.screenPlayManager.removeWallpaperAt(monitorSelection.activeMonitors[0])
@ -141,6 +142,7 @@ Item {
text: qsTr("Remove all Wallpapers")
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
enabled: ScreenPlay.screenPlayManager.activeWallpaperCounter > 0
onClicked: {
ScreenPlay.screenPlayManager.removeAllWallpapers()
@ -152,6 +154,7 @@ Item {
text: qsTr("Remove all Widgets")
Material.background: Material.Orange
Material.foreground: "white"
font.family: ScreenPlay.settings.font
enabled: ScreenPlay.screenPlayManager.activeWidgetsCounter > 0
onClicked: {
ScreenPlay.screenPlayManager.removeAllWidgets()
@ -174,6 +177,7 @@ Item {
}
}
GridView {
id: customPropertiesGridView
boundsBehavior: Flickable.DragOverBounds
@ -188,18 +192,21 @@ Item {
top: parent.top
topMargin: 60
right: parent.right
rightMargin: 40
bottom: parent.bottom
margins: 30
bottomMargin: 30
left: itmLeftWrapper.right
}
delegate: MonitorsProjectSettingItem {
id: delegate
width: parent.width - 40
selectedMonitor: monitors.activeMonitorIndex
}
ScrollBar.vertical: ScrollBar {
snapMode: ScrollBar.SnapOnRelease
policy: ScrollBar.AlwaysOn
}
states: [
@ -334,3 +341,9 @@ Item {
}
]
}
/*##^##
Designer {
D{i:0;autoSize:true;height:768;width:1366}
}
##^##*/

View File

@ -1,33 +1,32 @@
import QtQuick 2.12
import QtQuick.Controls 2.3
import QtGraphicalEffects 1.0
import QtQuick.Dialogs 1.2
import QtQuick.Controls.Material 2.2
import QtQuick.Layouts 1.3
import Settings 1.0
import ScreenPlay 1.0
Item {
Rectangle {
id: delegate
focus: true
height: isHeadline ? 50 : 30
width: 300
property int selectedMonitor
anchors {
left: parent.left
leftMargin: isHeadline ? 0 : 25
}
Text {
id: txtDescription
text: name
width: 100
font.pointSize: isHeadline ? 21 : 14
font.pointSize: isHeadline ? 18 : 12
anchors.verticalCenter: parent.verticalCenter
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Normal
color: isHeadline ? Qt.darker(Material.foreground) : Material.foreground
anchors {
left: parent.left
leftMargin: isHeadline ? 0 : 25
}
}
@ -47,19 +46,102 @@ Item {
var obj = JSON.parse(value.toString())
if (obj["type"] === "slider") {
if (obj["text"]) {
txtDescription.text = obj["text"]
}
switch (obj["type"]) {
case "slider":
loader.sourceComponent = compSlider
loader.item.from = obj["from"]
loader.item.to = obj["to"]
loader.item.value = obj["value"]
loader.item.stepSize = obj["stepSize"]
break
case "bool":
loader.sourceComponent = compCheckbox
loader.item.value = obj["value"]
break
case "color":
loader.sourceComponent = compColorpicker
loader.item.value = obj["value"]
break
}
}
Component {
id: compCheckbox
Item {
id: root
anchors.fill: parent
property bool value
CheckBox {
id: checkbox
checkable: true
checked: root.value
anchors {
right: parent.right
verticalCenter: parent.verticalCenter
}
onCheckedChanged: {
ScreenPlay.screenPlayManager.setWallpaperValue(
selectedMonitor, name, checkbox.checked)
}
}
}
}
Component {
id: compColorpicker
Item {
id: root
anchors.fill: parent
property color value
Button {
id: btnSetColor
text: qsTr("Set color")
onClicked: colorDialog.open()
anchors {
right: parent.right
verticalCenter: parent.verticalCenter
}
}
Rectangle {
id: rctPreviewColor
radius: 3
color: root.value
border.width: 1
border.color: "gray"
width: parent.height
height: parent.height
anchors {
right: btnSetColor.left
rightMargin: 20
verticalCenter: parent.verticalCenter
}
}
ColorDialog {
id: colorDialog
title: qsTr("Please choose a color")
onAccepted: {
rctPreviewColor.color = colorDialog.color
let tmpColor = "'" + colorDialog.color.toString() + "'"
ScreenPlay.screenPlayManager.setWallpaperValue(
selectedMonitor, name, tmpColor)
}
}
}
}
Component {
id: compSlider
Item {
id:root
id: root
anchors.fill: parent
property int from
property int to
@ -67,24 +149,35 @@ Item {
property int stepSize
Slider {
id:slider
id: slider
from: root.from
to: root.to
value: root.value
stepSize: root.stepSize
live: false
width: parent.width
anchors {
verticalCenter: parent.verticalCenter
right:txtSliderValue.left
rightMargin: 20
left:parent.left
leftMargin: 20
}
onValueChanged: {
var value = Math.round(slider.value * 100) / 100;
txtSliderValue.text = value;
ScreenPlay.screenPlayManager.setWallpaperValue(selectedMonitor,txtDescription.text,value)
var value = Math.round(slider.value * 100) / 100
txtSliderValue.text = value
ScreenPlay.screenPlayManager.setWallpaperValue(
selectedMonitor, name, value)
}
}
Text {
id: txtSliderValue
anchors{
right:parent.right
color: Material.foreground
horizontalAlignment: Text.AlignRight
font.family: ScreenPlay.settings.font
anchors {
right: parent.right
verticalCenter: parent.verticalCenter
}
}
@ -94,6 +187,14 @@ Item {
Loader {
id: loader
anchors.fill: parent
anchors.rightMargin: 10
}
}
}
/*##^##
Designer {
D{i:0;height:50;width:400}
}
##^##*/

View File

@ -2,7 +2,6 @@ import QtQuick 2.12
import QtQuick.Controls 2.3
import QtGraphicalEffects 1.0
import ScreenPlay 1.0
import "../Workshop"
@ -15,6 +14,10 @@ Rectangle {
width: 1366
color: "#ffffff"
MouseArea {
anchors.fill: parent
}
signal changePage(string name)
property var navArray: [navCreate, navWorkshop, navInstalled, navSettings, navCommunity]
@ -22,10 +25,10 @@ Rectangle {
Connections {
target: ScreenPlay.util
onRequestNavigationActive: {
function onRequestNavigationActive(isActive) {
setActive(isActive)
}
onRequestNavigation:{
function onRequestNavigation(nav){
onPageChanged(nav)
}
}

View File

@ -1,5 +1,6 @@
import QtQuick 2.12
import QtGraphicalEffects 1.0
import ScreenPlay 1.0
Item {
id: navigationItem
@ -64,7 +65,7 @@ Item {
font.pointSize: 14
color: "#626262"
anchors.verticalCenter: parent.verticalCenter
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Normal
text: ""
@ -78,7 +79,7 @@ Item {
font.pointSize: 14
color: "#626262"
anchors.verticalCenter: parent.verticalCenter
font.family: "Roboto"
font.family: ScreenPlay.settings.font
font.weight: Font.Normal
}

View File

@ -24,7 +24,7 @@ Item {
Connections {
target: ScreenPlay.screenPlayManager
onActiveWallpaperCounterChanged: {
function onActiveWallpaperCounterChanged() {
rippleEffect.trigger()
ScreenPlay.setTrackerSendEvent("navigation",
"wallpaperConfiguration")
@ -51,7 +51,7 @@ Item {
color: "orange"
font.pointSize: 10
font.bold: true
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors {
horizontalCenter: parent.horizontalCenter
@ -79,7 +79,7 @@ Item {
horizontalAlignment: Text.AlignRight
color: "#626262"
font.pointSize: 12
font.family: "Roboto"
font.family: ScreenPlay.settings.font
}
MouseArea {
id: ma

View File

@ -1,6 +1,7 @@
import QtQuick 2.12
import QtQuick.Controls 2.3
import QtQuick.Controls.Material 2.2
import ScreenPlay 1.0
Item {
id: settingsBool
@ -26,7 +27,7 @@ Item {
id: txtHeadline
color: "#5D5D5D"
text: settingsBool.headline
font.family: ScreenPlay.settings.font
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignLeft
anchors{
@ -38,7 +39,6 @@ Item {
}
font.pointSize: 12
font.family: "Roboto"
}
Text {
@ -46,11 +46,11 @@ Item {
text: settingsBool.description
wrapMode: Text.WordWrap
color: "#B5B5B5"
font.family: ScreenPlay.settings.font
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignLeft
font.pointSize: 10
font.family: "Roboto"
anchors{
top:txtHeadline.bottom
topMargin: 6

View File

@ -163,7 +163,7 @@ Item {
wrapMode: Text.WordWrap
horizontalAlignment: Text.AlignLeft
font.pointSize: 10
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors {
right: parent.right
left: parent.left
@ -180,13 +180,13 @@ Item {
Component.onCompleted: {
settingsLanguage.comboBox.currentIndex = root.indexOfValue(
settingsLanguage.comboBox.model,
ScreenPlay.settings.videoFillMode)
ScreenPlay.settings.language)
}
comboBox {
onActivated: {
ScreenPlay.settings.setLanguage(settingsLanguage.comboBox.currentValue)
ScreenPlay.settings.setupLanguage()
ScreenPlay.settings.retranslateUI()
}
model: [{
"value": Settings.En,
@ -203,6 +203,12 @@ Item {
}, {
"value": Settings.Es,
"text": qsTr("Spanish")
}, {
"value": Settings.Ko,
"text": qsTr("Korean")
}, {
"value": Settings.Vi,
"text": qsTr("Vietnamese")
}]
}
}
@ -363,6 +369,7 @@ Item {
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignLeft
font.pointSize: 16
font.family: ScreenPlay.settings.font
anchors {
top: parent.top
topMargin: 6
@ -379,7 +386,7 @@ Item {
verticalAlignment: Text.AlignTop
horizontalAlignment: Text.AlignLeft
font.pointSize: 11
font.family: "Roboto"
font.family: ScreenPlay.settings.font
width: parent.width * .6
anchors {
top: txtHeadline.bottom
@ -486,7 +493,7 @@ Item {
Connections {
target: ScreenPlay.util
onAllLicenseLoaded: {
function onAllLicenseLoaded(licensesText) {
expanderCopyright.text = licensesText
}
}
@ -527,7 +534,7 @@ Item {
Connections {
target: ScreenPlay.util
onAllDataProtectionLoaded: {
function onAllDataProtectionLoaded(dataProtectionText) {
expanderDataProtection.text = dataProtectionText
}
}

View File

@ -1,6 +1,7 @@
import QtQuick 2.12
import QtQuick.Controls 2.3
import QtQuick.Controls.Material 2.2
import ScreenPlay 1.0
Item {
id: settingsButton
@ -31,7 +32,6 @@ Item {
id: txtHeadline
color: "#5D5D5D"
text: settingsButton.headline
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignLeft
anchors {
@ -42,6 +42,7 @@ Item {
}
font.pointSize: 12
font.family: ScreenPlay.settings.font
}
Text {
@ -53,7 +54,7 @@ Item {
wrapMode: Text.WordWrap
horizontalAlignment: Text.AlignLeft
font.pointSize: 10
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors {
top: txtHeadline.bottom
topMargin: 6
@ -71,6 +72,7 @@ Item {
Material.foreground: "white"
icon.width: 20
icon.height: 20
font.family: ScreenPlay.settings.font
anchors {
right: parent.right
rightMargin: 20

View File

@ -1,5 +1,6 @@
import QtQuick 2.12
import QtQuick.Controls 2.3
import ScreenPlay 1.0
Item {
id: settingsComboBox
@ -26,7 +27,7 @@ Item {
}
font.pointSize: 12
font.family: "Roboto"
font.family: ScreenPlay.settings.font
}
Text {
@ -38,7 +39,7 @@ Item {
horizontalAlignment: Text.AlignLeft
wrapMode: Text.WordWrap
font.pointSize: 10
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors {
top: txtHeadline.bottom
topMargin: 6
@ -54,6 +55,7 @@ Item {
implicitWidth: 200
textRole: "text"
valueRole: "value"
font.family: ScreenPlay.settings.font
anchors {
right: parent.right
rightMargin: 20

View File

@ -29,9 +29,11 @@ Rectangle {
left: parent.left
margins: 20
}
lineHeight: 1.2
color: "#626262"
height: txtExpander.paintedHeight
wrapMode: Text.WordWrap
font.family: ScreenPlay.settings.font
}
MouseArea {
anchors.fill: parent

View File

@ -1,5 +1,6 @@
import QtQuick 2.12
import QtGraphicalEffects 1.0
import ScreenPlay 1.0
Item {
id: settingsHeader
@ -65,8 +66,7 @@ Item {
font.pointSize: 12
color: "white"
verticalAlignment: Text.AlignTop
font.family: "Roboto"
font.family: ScreenPlay.settings.font
anchors {
top: parent.top
topMargin: 0

View File

@ -34,7 +34,6 @@ Create::Create(const shared_ptr<GlobalVariables>& globalVariables, QObject* pare
*/
Create::Create()
: QObject(nullptr)
, m_globalVariables(nullptr)
{
qRegisterMetaType<CreateImportVideo::ImportVideoState>("CreateImportVideo::ImportVideoState");
qRegisterMetaType<Create::VideoCodec>("Create::VideoCodec");
@ -43,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([=]() {
@ -95,7 +97,7 @@ void Create::createWidget(const QString& localStoragePath, const QString& title,
}
QJsonArray tagsJsonArray;
for (QString tmp : tags) {
for (const QString& tmp : tags) {
tagsJsonArray.append(tmp);
}
obj.insert("tags", tagsJsonArray);
@ -128,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,
@ -169,7 +174,7 @@ void Create::createHTMLWallpaper(
fileMainHTML.close();
QJsonArray tagsJsonArray;
for (QString tmp : tags) {
for (const QString& tmp : tags) {
tagsJsonArray.append(tmp);
}
obj.insert("tags", tagsJsonArray);
@ -203,7 +208,7 @@ void Create::createHTMLWallpaper(
}
/*!
Starts the process.
\brief Starts the process.
*/
void Create::createWallpaperStart(QString videoPath, Create::VideoCodec codec)
{
@ -249,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)
{
@ -323,7 +328,7 @@ void Create::saveWallpaper(QString title, QString description, QString filePath,
obj.insert("type", "videoWallpaper");
QJsonArray tagsJsonArray;
for (QString tmp : tags) {
for (const QString &tmp : tags) {
tagsJsonArray.append(tmp);
}
obj.insert("tags", tagsJsonArray);
@ -343,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

@ -75,6 +75,8 @@ signals:
void htmlWallpaperCreatedSuccessful(QString path);
public slots:
void createWallpaperStart(QString videoPath, Create::VideoCodec codec);
void createWidget(
const QString& localStoragePath,
const QString& title,
@ -91,8 +93,14 @@ public slots:
const QString& license,
const QVector<QString>& tags);
void createWallpaperStart(QString videoPath, Create::VideoCodec codec);
void saveWallpaper(QString title, QString description, QString filePath, QString previewImagePath, QString youtube, ScreenPlay::Create::VideoCodec codec, QVector<QString> tags);
void saveWallpaper(QString title,
QString description,
QString filePath,
QString previewImagePath,
QString youtube,
ScreenPlay::Create::VideoCodec codec,
QVector<QString> tags);
void abortAndCleanup();
void setProgress(float progress)
@ -129,7 +137,7 @@ private:
CreateImportVideo* m_createImportVideo { nullptr };
QThread* m_createImportVideoThread { nullptr };
const shared_ptr<GlobalVariables>& m_globalVariables;
const shared_ptr<GlobalVariables> m_globalVariables;
float m_progress { 0.0F };
QString m_workingDir;

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()
@ -90,7 +90,7 @@ void CreateImportVideo::process()
return;
}
for (const auto codec : m_codecs) {
for (const auto& codec : qAsConst(m_codecs)) {
if (!createWallpaperVideo(codec) || QThread::currentThread()->isInterruptionRequested()) {
emit abortAndCleanup();
return;
@ -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.
@ -249,11 +249,15 @@ bool CreateImportVideo::createWallpaperInfo()
framerate = qCeil(value1 / value2);
m_framerate = framerate;
// If the video is to short
m_smallVideo = m_numberOfFrames < (m_framerate * 3);
return true;
}
/*!
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");
@ -273,6 +277,7 @@ bool CreateImportVideo::createWallpaperInfo()
*/
bool CreateImportVideo::createWallpaperVideoPreview()
{
emit createWallpaperStateChanged(ImportVideoState::ConvertingPreviewVideo);
QStringList args;
@ -280,13 +285,15 @@ bool CreateImportVideo::createWallpaperVideoPreview()
args.append("-stats");
args.append("-i");
args.append(m_videoPath);
args.append("-vf");
// We allways want to have a 5 second clip via 24fps -> 120 frames
// Divided by the number of frames we can skip (timeInSeconds * Framrate)
// scale & crop parameter: https://unix.stackexchange.com/a/284731
args.append("select='not(mod(n," + QString::number((m_length / 5)) + "))',setpts=N/FRAME_RATE/TB,crop=in_h*16/9:in_h,scale=-2:400");
// Disable audio
// If the video is shorter than 6 seconds we simply convert the original to webm
if (!m_smallVideo) {
args.append("-vf");
// We allways want to have a 5 second clip via 24fps -> 120 frames
// Divided by the number of frames we can skip (timeInSeconds * Framrate)
// scale & crop parameter: https://unix.stackexchange.com/a/284731
args.append("select='not(mod(n," + QString::number((m_length / 5)) + "))',setpts=N/FRAME_RATE/TB,crop=in_h*16/9:in_h,scale=-2:400");
// Disable audio
}
args.append("-an");
args.append(m_exportPath + "/preview.webm");
emit processOutput("ffmpeg " + Util::toString(args));
@ -332,7 +339,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");
@ -383,7 +390,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
@ -399,16 +406,28 @@ bool CreateImportVideo::createWallpaperImageThumbnailPreview()
args.clear();
args.append("-y");
args.append("-stats");
args.append("-ss");
args.append("00:00:02");
// If the video is shorter than 3 seconds we use the first frame
if (!m_smallVideo) {
args.append("-ss");
args.append("00:00:02");
}
args.append("-i");
args.append(m_videoPath);
args.append("-vframes");
args.append("1");
// Order of arguments is important
if(!m_smallVideo){
args.append("-vframes");
args.append("1");
}
args.append("-q:v");
args.append("2");
args.append("-vf");
args.append("scale=320:-1");
if(m_smallVideo){
args.append("-vf");
// Select first frame https://stackoverflow.com/a/44073745/12619313
args.append("select=eq(n\\,0), scale=320:-1");
} else {
args.append("-vf");
args.append("scale=320:-1");
}
args.append(m_exportPath + "/previewThumbnail.jpg");
emit processOutput("ffmpeg " + Util::toString(args));
@ -435,6 +454,9 @@ bool CreateImportVideo::createWallpaperImageThumbnailPreview()
return true;
}
/*!
\brief .
*/
bool CreateImportVideo::createWallpaperImagePreview()
{
@ -444,14 +466,20 @@ bool CreateImportVideo::createWallpaperImagePreview()
args.clear();
args.append("-y");
args.append("-stats");
args.append("-ss");
args.append("00:00:02");
// If the video is shorter than 3 seconds we use the first frame
if (!m_smallVideo) {
args.append("-ss");
args.append("00:00:02");
}
args.append("-i");
args.append(m_videoPath);
args.append("-vframes");
args.append("1");
args.append("-q:v");
args.append("2");
if(m_smallVideo){
args.append("-vf");
// Select first frame https://stackoverflow.com/a/44073745/12619313
args.append("select=eq(n\\,0)");
}
args.append(m_exportPath + "/preview.jpg");
emit processOutput("ffmpeg " + Util::toString(args));
@ -483,7 +511,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");
@ -504,9 +532,9 @@ bool CreateImportVideo::createWallpaperImagePreview()
bool CreateImportVideo::createWallpaperVideo(const QString& codec)
{
// if (m_videoPath.endsWith(".webm")) {
// return true;
// }
// if (m_videoPath.endsWith(".webm")) {
// return true;
// }
emit createWallpaperStateChanged(ImportVideoState::ConvertingVideo);
@ -637,7 +665,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");
@ -694,6 +722,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

@ -25,7 +25,7 @@ class CreateImportVideo : public QObject {
Q_PROPERTY(float progress READ progress WRITE setProgress NOTIFY progressChanged)
public:
CreateImportVideo() {}
CreateImportVideo() { }
~CreateImportVideo()
{
qDebug() << "CreateImportVideo";
@ -33,19 +33,6 @@ public:
CreateImportVideo(QObject* parent = nullptr);
explicit CreateImportVideo(const QString& videoPath, const QString& exportPath, const QStringList& codecs, QObject* parent = nullptr);
bool m_skipAudio { false };
float m_progress { 0.0F };
QString m_videoPath;
QString m_exportPath;
QString m_format;
QStringList m_codecs;
int m_numberOfFrames { 0 };
int m_length { 0 };
int m_framerate { 0 };
enum class ImportVideoState {
Idle,
Started,
@ -88,6 +75,22 @@ public:
return m_progress;
}
bool m_skipAudio { false };
// If the video is < 1s in duration we cannot create a 5s preview
bool m_smallVideo { false };
float m_progress { 0.0F };
QString m_videoPath;
QString m_exportPath;
QString m_format;
QStringList m_codecs;
int m_numberOfFrames { 0 };
int m_length { 0 };
int m_framerate { 0 };
signals:
void createWallpaperStateChanged(CreateImportVideo::ImportVideoState state);
void processOutput(QString text);
@ -102,7 +105,7 @@ public slots:
bool createWallpaperVideoPreview();
bool createWallpaperGifPreview();
bool createWallpaperImagePreview();
bool createWallpaperVideo(const QString &codec);
bool createWallpaperVideo(const QString& codec);
bool extractWallpaperAudio();
bool createWallpaperImageThumbnailPreview();
@ -123,6 +126,8 @@ private:
QString m_ffprobeExecutable;
QString m_ffmpegExecutable;
};
}
Q_DECLARE_METATYPE(ScreenPlay::CreateImportVideo::ImportVideoState)

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
{

View File

@ -18,7 +18,7 @@ namespace ScreenPlay {
*/
/*!
Constructor
\brief Constructor.
*/
MonitorListModel::MonitorListModel(QObject* parent)
: QAbstractListModel(parent)
@ -30,6 +30,9 @@ MonitorListModel::MonitorListModel(QObject* parent)
connect(guiAppInst, &QGuiApplication::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

@ -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,
@ -79,7 +79,9 @@ void ScreenPlayManager::createWallpaper(
for (auto& wallpaperIterator : m_screenPlayWallpapers) {
if (wallpaperIterator->screenNumber().length() == 1) {
if (monitors.at(0) == wallpaperIterator->screenNumber().at(0)) {
removeWallpaperAt(i);
if(!removeWallpaperAt(i)){
qWarning() << "Could not remove wallpaper at index " << i;
}
}
}
i++;
@ -101,12 +103,23 @@ void ScreenPlayManager::createWallpaper(
settings.insert("absolutePath", path);
saveWallpaperProfile("default", settings);
return;
}
if (saveToProfilesConfigFile && type == "qmlWallpaper") {
QJsonObject settings;
settings.insert("monitors", monitors);
settings.insert("type", type);
settings.insert("previewImage", previewImage);
settings.insert("absolutePath", path);
saveWallpaperProfile("default", settings);
}
}
/*!
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) {
@ -125,7 +138,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()
@ -138,7 +151,7 @@ void ScreenPlayManager::removeAllWallpapers()
m_screenPlayWallpapers.clear();
m_monitorListModel->clearActiveWallpaper();
QString absoluteProfilesFilePath = m_globalVariables->localSettingsPath().toLocalFile() + "/profiles.json";
QString absoluteProfilesFilePath = m_globalVariables->localSettingsPath().toString() + "/profiles.json";
auto configOptional = Util::openJsonFileToObject(absoluteProfilesFilePath);
if (!configOptional) {
@ -164,9 +177,14 @@ void ScreenPlayManager::removeAllWallpapers()
Util::writeJsonObjectToFile(absoluteProfilesFilePath, newConfig);
setActiveWallpaperCounter(0);
} else {
qWarning() << "Trying to remove all wallpapers while m_screenPlayWallpapers is not empty. Count: "<< m_screenPlayWallpapers.size();
}
}
/*!
\brief Removes all widgets and resets the activeWidgetCounter to 0.
*/
void ScreenPlayManager::removeAllWidgets()
{
if (!m_screenPlayWidgets.empty()) {
@ -179,7 +197,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.
*/
@ -199,12 +217,11 @@ 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 : m_screenPlayWallpapers) {
for (const shared_ptr<ScreenPlayWallpaper>& uPtrWallpaper : qAsConst(m_screenPlayWallpapers)) {
if (!uPtrWallpaper->screenNumber().empty() && uPtrWallpaper->screenNumber()[0] == index) {
emit projectSettingsListModelFound(
uPtrWallpaper->projectSettingsListModel().get(),
@ -216,8 +233,8 @@ 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)) {
@ -230,18 +247,18 @@ void ScreenPlayManager::setWallpaperValue(const int index, const QString& key, c
}
/*!
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 : m_screenPlayWallpapers) {
for (const shared_ptr<ScreenPlayWallpaper>& uPtrWallpaper : qAsConst(m_screenPlayWallpapers)) {
m_sdkconnector->setWallpaperValue(uPtrWallpaper->appID(), key, value);
}
}
/*!
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) {
@ -253,15 +270,15 @@ 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
Q_UNUSED(profileName)
QString absoluteProfilesFilePath = m_globalVariables->localSettingsPath().toLocalFile() + "/profiles.json";
QString absoluteProfilesFilePath = m_globalVariables->localSettingsPath().toString() + "/profiles.json";
auto configOptional = Util::openJsonFileToObject(absoluteProfilesFilePath);
if (!configOptional) {
@ -308,15 +325,15 @@ 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()
{
auto configObj = Util::openJsonFileToObject(m_globalVariables->localSettingsPath().toLocalFile() + "/profiles.json");
auto configObj = Util::openJsonFileToObject(m_globalVariables->localSettingsPath().toString() + "/profiles.json");
if (!configObj) {
qWarning() << "Could not load active profiles at path: " << m_globalVariables->localSettingsPath().toLocalFile() + "/profiles.json";
qWarning() << "Could not load active profiles at path: " << m_globalVariables->localSettingsPath().toString() + "/profiles.json";
return;
}

View File

@ -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,
@ -39,7 +39,7 @@ ScreenPlayWallpaper::ScreenPlayWallpaper(
QString tmpScreenNumber;
if (m_screenNumber.length() > 1) {
for (const int number : m_screenNumber) {
for (const int number : qAsConst(m_screenNumber)) {
// IMPORTANT: NO TRAILING COMMA!
if (number == m_screenNumber.back()) {
tmpScreenNumber += QString::number(number);
@ -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,35 +13,62 @@ 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>() }
{
if (isAnotherScreenPlayInstanceRunning()) {
m_isAnotherScreenPlayInstanceRunning = true;
return;
}
connect(m_server.get(), &QLocalServer::newConnection, this, &SDKConnector::newConnection);
m_server->setSocketOptions(QLocalServer::WorldAccessOption);
if (!m_server->listen("ScreenPlay")) {
qCritical("Could not open Local Socket with the name ScreenPlay. Usually this means another ScreenPlay instance is running!");
qCritical("Could not open Local Socket with the name ScreenPlay!");
}
}
void SDKConnector::readyRead()
/*!
\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;
socket.connectToServer("ScreenPlay");
if (!socket.isOpen()) {
socket.close();
return false;
}
qInfo("Another ScreenPlay app is already running!");
QByteArray msg = "command=requestRaise";
socket.write(msg);
socket.waitForBytesWritten(500);
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()
{
auto connection = make_shared<SDKConnection>(m_server->nextPendingConnection());
QObject::connect(connection.get(),&SDKConnection::requestDecreaseWidgetCount,this,&SDKConnector::requestDecreaseWidgetCount);
// Because user can close widgets by pressing x the widgets must send us the event
QObject::connect(connection.get(), &SDKConnection::requestDecreaseWidgetCount, this, &SDKConnector::requestDecreaseWidgetCount);
QObject::connect(connection.get(), &SDKConnection::requestRaise, this, &SDKConnector::requestRaise);
m_clients.append(connection);
}
/*!
Closes all m_clients connections and clears the QVector.
\brief Closes all m_clients connections and clears the QVector.
*/
void SDKConnector::closeAllConnections()
{
@ -52,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
@ -69,14 +96,17 @@ void SDKConnector::closeAllWallpapers()
"godotWallpaper"
};
for (auto& client : m_clients) {
if (types.contains(client->type())) {
client->close();
m_clients.removeOne(client);
}
}
closeConntectionByType(types);
}
/*!
\brief Closes all widgets connection with the following type:
\list
\li qmlWidget
\li htmlWidget
\li standaloneWidget
\endlist
*/
void SDKConnector::closeAllWidgets()
{
QStringList types {
@ -85,8 +115,16 @@ void SDKConnector::closeAllWidgets()
"standaloneWidget"
};
closeConntectionByType(types);
}
/*!
\brief Closes a connection by type. Used only by closeAllWidgets() and closeAllWallpapers()
*/
void SDKConnector::closeConntectionByType(const QStringList& list)
{
for (auto& client : m_clients) {
if (types.contains(client->type())) {
if (list.contains(client->type())) {
client->close();
m_clients.removeOne(client);
}
@ -94,12 +132,12 @@ void SDKConnector::closeAllWidgets()
}
/*!
Closes a wallpaper at the given \a index. The native monitor index is used here.
\brief Closes a wallpaper at the given \a index. The native monitor index is used here.
On Windows the monitor 0 is the main display.
*/
void SDKConnector::closeWallpapersAt(int at)
{
for (const shared_ptr<SDKConnection>& refSDKConnection : m_clients) {
for (const shared_ptr<SDKConnection>& refSDKConnection : qAsConst(m_clients)) {
refSDKConnection->close();
if (!refSDKConnection->monitor().empty()) {
if (refSDKConnection->monitor().at(0) == at) {
@ -115,7 +153,7 @@ void SDKConnector::closeWallpapersAt(int at)
}
/*!
Closes a wallpaper by the given \a appID.
\brief Closes a wallpaper by the given \a appID.
*/
void SDKConnector::closeWallpaper(const QString& appID)
{
@ -129,7 +167,7 @@ void SDKConnector::closeWallpaper(const QString& appID)
}
/*!
Sets a given \a value to a given \a key. The \a appID is used to identify the receiver socket.
\brief Sets a given \a value to a given \a key. The \a appID is used to identify the receiver socket.
*/
void SDKConnector::setWallpaperValue(QString appID, QString key, QString value)
{
@ -146,22 +184,4 @@ void SDKConnector::setWallpaperValue(QString appID, QString key, QString value)
}
}
/*!
Sets a given \a value to a given \a key. The \a appID is used to identify the receiver socket.
*/
void SDKConnector::setSceneValue(QString appID, QString key, QString value)
{
for (int i = 0; i < m_clients.count(); ++i) {
if (m_clients.at(i)->appID() == appID) {
QJsonObject obj;
obj.insert("type", QJsonValue("qmlScene"));
obj.insert(key, QJsonValue(value));
QByteArray send = QJsonDocument(obj).toJson();
m_clients.at(i)->socket()->write(send);
m_clients.at(i)->socket()->waitForBytesWritten();
}
}
}
}

View File

@ -1,5 +1,6 @@
#pragma once
#include <QApplication>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonValue>
@ -31,12 +32,15 @@ class SDKConnector : public QObject {
public:
explicit SDKConnector(QObject* parent = nullptr);
bool m_isAnotherScreenPlayInstanceRunning { false };
signals:
void requestDecreaseWidgetCount();
void requestRaise();
public slots:
void readyRead();
void newConnection();
void closeConntectionByType(const QStringList& list);
void closeAllConnections();
void closeAllWallpapers();
void closeAllWidgets();
@ -44,11 +48,11 @@ public slots:
void closeWallpapersAt(int at);
void closeWallpaper(const QString& appID);
void setWallpaperValue(QString appID, QString key, QString value);
void setSceneValue(QString appID, QString key, QString value);
private:
unique_ptr<QLocalServer> m_server;
QVector<shared_ptr<SDKConnection>> m_clients;
bool isAnotherScreenPlayInstanceRunning();
};
class SDKConnection : public QObject {
@ -105,6 +109,7 @@ signals:
void monitorChanged(QVector<int> monitor);
void typeChanged(QString type);
void requestDecreaseWidgetCount();
void requestRaise();
public slots:
void readyRead()
@ -129,7 +134,7 @@ public slots:
"htmlWidget",
"standaloneWidget"
};
for (QString type : types) {
for (const QString& type : types) {
if (msg.contains(type)) {
m_type = type;
}
@ -137,6 +142,12 @@ public slots:
qInfo() << "###### Wallpaper created:"
<< "\t AppID:" << m_appID << "\t type: " << m_type;
} else if(msg.startsWith("command=")){
msg.remove("command=");
if(msg == "requestRaise") {
qInfo() << "Another ScreenPlay instance reuqested this one to raise!";
emit requestRaise();
}
} else {
qInfo() << "### Message from: " << m_appID << ": " << msg;
}
@ -150,7 +161,8 @@ public slots:
qDebug() << "### Destroy APPID:\t " << m_appID << " State: " << m_socket->state();
}
if(m_type.contains("widget",Qt::CaseInsensitive)){
if (m_type.contains("widget", Qt::CaseInsensitive)) {
emit requestDecreaseWidgetCount();
}
}

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
@ -42,35 +41,38 @@ Settings::Settings(const shared_ptr<GlobalVariables>& globalVariables,
qRegisterMetaType<Settings::Language>("Settings::Language");
qmlRegisterUncreatableType<Settings>("Settings", 1, 0, "Settings", "Error only for enums");
{
if (!m_qSettings.contains("Autostart")) {
if (!m_qSettings.contains("Autostart")) {
#ifdef Q_OS_WIN
QSettings settings("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
if (!m_qSettings.value("Autostart").toBool()) {
if (!settings.contains("ScreenPlay")) {
}
QSettings settings("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
if (!m_qSettings.value("Autostart").toBool()) {
if (!settings.contains("ScreenPlay")) {
}
settings.setValue("ScreenPlay", QDir::toNativeSeparators(QCoreApplication::applicationFilePath()) + " -silent");
settings.sync();
#endif
m_qSettings.setValue("Autostart", true);
m_qSettings.sync();
} else {
setAutostart(m_qSettings.value("Autostart", true).toBool());
}
settings.setValue("ScreenPlay", QDir::toNativeSeparators(QCoreApplication::applicationFilePath()) + " -silent");
settings.sync();
#endif
m_qSettings.setValue("Autostart", true);
m_qSettings.sync();
} else {
setAutostart(m_qSettings.value("Autostart", true).toBool());
}
setCheckWallpaperVisible(m_qSettings.value("CheckWallpaperVisible", true).toBool());
setCheckWallpaperVisible(m_qSettings.value("CheckWallpaperVisible", false).toBool());
setHighPriorityStart(m_qSettings.value("ScreenPlayExecutable", false).toBool());
setVideoFillMode(SettingsSetQStringToEnum<FillMode>("VideoFillMode", FillMode::Fill, m_qSettings));
setLanguage(SettingsSetQStringToEnum<Language>("Language", Language::En, m_qSettings));
if (m_qSettings.contains("VideoFillMode")) {
auto value = m_qSettings.value("VideoFillMode").toString();
setVideoFillMode(QStringToEnum<FillMode>(value, FillMode::Cover));
} else {
setVideoFillMode(FillMode::Cover);
}
setAnonymousTelemetry(m_qSettings.value("AnonymousTelemetry", true).toBool());
// Wallpaper and Widgets config
QFile profilesFile(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + "/profiles.json");
QFile profilesFile(m_globalVariables->localSettingsPath().toString() + "/profiles.json");
if (!profilesFile.exists()) {
qInfo("No profiles.json found, creating default settings");
qInfo("No profiles.json found, creating default profiles.json");
qDebug() << profilesFile;
writeJsonFileFromResource("profiles");
}
@ -109,11 +111,10 @@ Settings::Settings(const shared_ptr<GlobalVariables>& globalVariables,
setupWidgetAndWindowPaths();
setGitBuildHash(GIT_VERSION);
setupLanguage();
}
/*!
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
@ -121,7 +122,7 @@ Settings::Settings(const shared_ptr<GlobalVariables>& globalVariables,
*/
void Settings::writeJsonFileFromResource(const QString& filename)
{
QFile file(m_globalVariables->localSettingsPath().toLocalFile() + "/" + filename + ".json");
QFile file(m_globalVariables->localSettingsPath().toString() + "/" + filename + ".json");
QFile defaultSettings(":/" + filename + ".json");
file.open(QIODevice::WriteOnly | QIODevice::Text);
@ -137,7 +138,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.
*/
@ -195,7 +196,7 @@ void Settings::setupWidgetAndWindowPaths()
}
/*!
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.
*/
@ -209,31 +210,57 @@ 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()
{
auto* app = static_cast<QGuiApplication*>(QGuiApplication::instance());
QString langCode;
if (m_qSettings.value("Language").isNull()) {
auto locale = QLocale::system().uiLanguages();
auto localeSplits = locale.at(0).split("-");
auto localeList = QLocale::system().uiLanguages();
// Only install a translator if one exsists
QFile tsFile;
qDebug() << ":/translations/ScreenPlay_" + localeSplits.at(0) + ".qm";
if (tsFile.exists(":/translations/ScreenPlay_" + localeSplits.at(0) + ".qm")) {
m_translator.load(":/translations/ScreenPlay_" + localeSplits.at(0) + ".qm");
m_qSettings.setValue("language", QVariant(localeSplits.at(0)));
// setLanguage(QVariant(localeSplits.at(0)).toString());
// Like En-us, De-de
QStringList localeSplits = localeList.at(0).split("-");
langCode = localeSplits.at(0);
m_qSettings.sync();
app->installTranslator(&m_translator);
// Ether De, En, Ru, Fr...
if (langCode.length() != 2) {
qWarning() << "Could not parse locale of value " << langCode;
return;
}
} else {
QFile tsFile;
if (tsFile.exists(":/translations/ScreenPlay_" + m_qSettings.value("Language").toString() + ".qm")) {
m_translator.load(":/translations/ScreenPlay_" + m_qSettings.value("Language").toString() + ".qm");
// setLanguage(m_qSettings.value("language").toString());
app->installTranslator(&m_translator);
}
langCode = m_qSettings.value("Language").toString();
}
setLanguage(QStringToEnum<Language>(langCode, Language::En));
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());
QString langCode = QVariant::fromValue(language()).toString();
langCode = langCode.toLower();
QFile tsFile;
if (tsFile.exists(":/translations/ScreenPlay_" + langCode + ".qm")) {
m_translator.load(":/translations/ScreenPlay_" + langCode + ".qm");
app->installTranslator(&m_translator);
emit requestRetranslation();
if (language() == Settings::Language::Ko) {
setFont("Noto Sans CJK KR Regular");
} else {
setFont("Roboto");
}
return true;
}
return false;
}
}

View File

@ -43,26 +43,23 @@ using std::shared_ptr,
std::make_shared;
template <typename T>
T SettingsSetQStringToEnum(const QString& key, const T defaultValue, const QSettings& settings)
T QStringToEnum(const QString& key, const T defaultValue)
{
auto metaEnum = QMetaEnum::fromType<T>();
if (!settings.value(key).isNull()) {
QString value = settings.value(key).toString();
bool ok = false;
T wantedEnum = static_cast<T>(metaEnum.keyToValue(value.toUtf8(), &ok));
bool ok = false;
T wantedEnum = static_cast<T>(metaEnum.keyToValue(key.toUtf8(), &ok));
if (ok) {
return wantedEnum;
}
if (ok) {
return wantedEnum;
}
return defaultValue;
}
class Settings : public QObject {
Q_OBJECT
Q_PROPERTY(bool anonymousTelemetry READ anonymousTelemetry WRITE setAnonymousTelemetry NOTIFY anonymousTelemetryChanged)
Q_PROPERTY(bool silentStart READ silentStart WRITE setSilentStart NOTIFY silentStartChanged)
Q_PROPERTY(bool autostart READ autostart WRITE setAutostart NOTIFY autostartChanged)
@ -75,6 +72,7 @@ class Settings : public QObject {
Q_PROPERTY(QString decoder READ decoder WRITE setDecoder NOTIFY decoderChanged)
Q_PROPERTY(QString gitBuildHash READ gitBuildHash WRITE setGitBuildHash NOTIFY gitBuildHashChanged)
Q_PROPERTY(QString font READ font WRITE setFont NOTIFY fontChanged)
public:
explicit Settings(
@ -95,11 +93,12 @@ public:
De,
Ru,
Fr,
Es
Es,
Ko,
Vi
};
Q_ENUM(Language)
bool offlineMode() const
{
return m_offlineMode;
@ -155,7 +154,18 @@ public:
return m_language;
}
public:
void setupLanguage();
QString font() const
{
return m_font;
}
signals:
void requestRetranslation();
void resetInstalledListmodel();
void autostartChanged(bool autostart);
void highPriorityStartChanged(bool highPriorityStart);
void hasWorkshopBannerSeenChanged(bool hasWorkshopBannerSeen);
@ -163,17 +173,18 @@ 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);
public slots:
void writeJsonFileFromResource(const QString& filename);
void setupWidgetAndWindowPaths();
void setupLanguage();
bool retranslateUI();
void setqSetting(const QString& key, const QVariant& value)
{
m_qSettings.setValue(key, value);
@ -304,6 +315,15 @@ public slots:
emit languageChanged(m_language);
}
void setFont(QString font)
{
if (m_font == font)
return;
m_font = font;
emit fontChanged(m_font);
}
private:
void restoreDefault(const QString& appConfigLocation, const QString& settingsFileType);
@ -316,13 +336,14 @@ private:
bool m_autostart { true };
bool m_highPriorityStart { true };
bool m_offlineMode { true };
bool m_checkWallpaperVisible { true };
bool m_checkWallpaperVisible { false };
bool m_silentStart { false };
bool m_anonymousTelemetry { true };
QString m_gitBuildHash;
QString m_decoder;
FillMode m_videoFillMode;
FillMode m_videoFillMode = FillMode::Cover;
Language m_language = Language::En;
QString m_font {"Roboto"};
};
}

View File

@ -9,7 +9,7 @@ namespace ScreenPlay {
*/
/*!
Constructor
\brief Constructor.
*/
Util::Util(QNetworkAccessManager* networkAccessManager, QObject* parent)
: QObject(parent)
@ -45,7 +45,7 @@ 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
{
@ -54,8 +54,8 @@ void Util::copyToClipboard(const QString& text) const
}
/*!
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)
{
@ -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,22 +168,20 @@ 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;
for (auto string : list) {
for (const auto &string : list) {
out += " " + string;
}
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,6 +197,9 @@ 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:///" };
@ -223,10 +224,8 @@ void Util::openFolderInExplorer(const QString& url) const
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 +271,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 +291,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()
@ -380,7 +379,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)
@ -391,7 +390,7 @@ void Util::logToGui(QtMsgType type, const QMessageLogContext& context, const QSt
QByteArray line = "in line " + QByteArray::number(context.line) + ", ";
QByteArray function = "function " + QByteArray(context.function) + ", Message: ";
QString log = "&emsp; <font color=\"#03A9F4\"> " + QDateTime::currentDateTime().toString() + "</font> &emsp; " + localMsg + "<br><br>";
QString log = "&emsp; <font color=\"#03A9F4\"> " + QDateTime::currentDateTime().toString() + "</font> &emsp; " + localMsg + "<br>";
switch (type) {
case QtDebugMsg:
@ -410,13 +409,14 @@ void Util::logToGui(QtMsgType type, const QMessageLogContext& context, const QSt
log.prepend("<b><font color=\"#F44336\"> Fatal</font>:</b>");
break;
}
log.append("\n");
if (utilPointer != nullptr)
utilPointer->appendDebugMessages(log);
}
/*!
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

@ -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);

Some files were not shown because too many files have changed in this diff Show More