<!DOCTYPE html>
<html lang="en">
<head>
  <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"/>
</head>
<body>
<div class="container-fullwidth nav sticky-top"><div class="container navWrapper"><a href="../index.html"><span class="logo">ScreenPlay Generated Docs </span></a><span class="navHome"><a href="../index.html">Home</a></span></div></div> <div id= mainWrapper class="wrapper container ">
<li>ScreenPlayManager</li>
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#public-slots">Public Slots</a></li>
<li class="level1"><a href="#signals">Signals</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">ScreenPlayManager Class</h1>
<span class="small-subtitle">class <a href="screenplay-module.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 -->
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include &lt;ScreenPlayManager&gt;</span>
</td></tr></table></div><ul>
<li><a href="screenplay-screenplaymanager-members.html">List of all members, including inherited members</a></li>
</ul>
<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>(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>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#init">init</a></b>(const std::shared_ptr&lt;GlobalVariables&gt; &amp;<i>globalVariables</i>, const std::shared_ptr&lt;MonitorListModel&gt; &amp;<i>mlm</i>, const std::shared_ptr&lt;Settings&gt; &amp;<i>settings</i>)</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"> ScreenPlay::ScreenPlayWallpaper *</td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#getWallpaperByAppID">getWallpaperByAppID</a></b>(const QString &amp;<i>appID</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#newConnection">newConnection</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#removeAllWallpapers">removeAllWallpapers</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#removeAllWidgets">removeAllWidgets</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#requestProjectSettingsAtMonitorIndex">requestProjectSettingsAtMonitorIndex</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>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#setAllWallpaperValue">setAllWallpaperValue</a></b>(const QString &amp;<i>key</i>, const QString &amp;<i>value</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#setWallpaperValue">setWallpaperValue</a></b>(const QString &amp;<i>appID</i>, const QString &amp;<i>key</i>, const QString &amp;<i>value</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-screenplaymanager.html#setWallpaperValueAtMonitorIndex">setWallpaperValueAtMonitorIndex</a></b>(const int <i>index</i>, const QString &amp;<i>key</i>, const QString &amp;<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-screenplaymanager.html#activeWallpaperCounter-prop">activeWallpaperCounterChanged</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">activeWidgetsCounterChanged</a></b>(int <i>activeWidgetsCounter</i>)</td></tr>
</table></div>
<a name="details"></a>
<!-- $$$ScreenPlayManager-description -->
<div class="descr">
<h2 id="details">Detailed Description</h2>
<p>Creates and (indirectly) destroys Wallpaper and Widgets via opening and closing QLocalPipe connectons of the <a href="screenplaysdk-module.html">ScreenPlaySDK</a>. Also responsible to set the current active wallpaper to the monitorListModel.</p>
</div>
<!-- @@@ScreenPlayManager -->
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$ScreenPlayManager[overload1]$$$ScreenPlayManagerQObject* -->
<h3 class="fn" id="ScreenPlayManager"><a name="ScreenPlayManager"></a>ScreenPlayManager::<span class="name">ScreenPlayManager</span>(<span class="type">QObject</span> *<i>parent</i> = nullptr)</h3>
<p>Constructor that checks if another <a href="screenplay-module.html">ScreenPlay</a> instance is running via a localsocket. Starts a save timer to limit the amount of times to save. This is used for limiting slider small value save spam.</p>
<!-- @@@ScreenPlayManager -->
<!-- $$$getWallpaperByAppID[overload1]$$$getWallpaperByAppIDconstQString& -->
<h3 class="fn" id="getWallpaperByAppID"><a name="getWallpaperByAppID"></a><code>[slot] </code><span class="type"><a href="screenplay-screenplaywallpaper.html">ScreenPlay::ScreenPlayWallpaper</a></span> *ScreenPlayManager::<span class="name">getWallpaperByAppID</span>(const <span class="type">QString</span> &amp;<i>appID</i>) const</h3>
<p>Returns <code>a</code> <a href="screenplay-screenplaywallpaper.html">ScreenPlayWallpaper</a> if successful, otherwhise <code>std::nullopt</code>. This function is only used in QML.</p>
<!-- @@@getWallpaperByAppID -->
<!-- $$$newConnection[overload1]$$$newConnection -->
<h3 class="fn" id="newConnection"><a name="newConnection"></a><code>[slot] </code><span class="type">void</span> ScreenPlayManager::<span class="name">newConnection</span>()</h3>
<p>Appends a new <a href="screenplay-sdkconnection.html">SDKConnection</a> object shared_ptr to the m_clients list.</p>
<!-- @@@newConnection -->
<!-- $$$removeAllWallpapers[overload1]$$$removeAllWallpapers -->
<h3 class="fn" id="removeAllWallpapers"><a name="removeAllWallpapers"></a><code>[slot] </code><span class="type">bool</span> ScreenPlayManager::<span class="name">removeAllWallpapers</span>()</h3>
<p>Removes all wallpaper entries in the profiles.json.</p>
<!-- @@@removeAllWallpapers -->
<!-- $$$removeAllWidgets[overload1]$$$removeAllWidgets -->
<h3 class="fn" id="removeAllWidgets"><a name="removeAllWidgets"></a><code>[slot] </code><span class="type">bool</span> ScreenPlayManager::<span class="name">removeAllWidgets</span>()</h3>
<p>Removes all widgets and resets the activeWidgetCounter to 0.</p>
<!-- @@@removeAllWidgets -->
<!-- $$$requestProjectSettingsAtMonitorIndex[overload1]$$$requestProjectSettingsAtMonitorIndexconstint -->
<h3 class="fn" id="requestProjectSettingsAtMonitorIndex"><a name="requestProjectSettingsAtMonitorIndex"></a><code>[slot] </code><span class="type">bool</span> ScreenPlayManager::<span class="name">requestProjectSettingsAtMonitorIndex</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>
<!-- @@@requestProjectSettingsAtMonitorIndex -->
<!-- $$$setAllWallpaperValue[overload1]$$$setAllWallpaperValueconstQString&constQString& -->
<h3 class="fn" id="setAllWallpaperValue"><a name="setAllWallpaperValue"></a><code>[slot] </code><span class="type">bool</span> ScreenPlayManager::<span class="name">setAllWallpaperValue</span>(const <span class="type">QString</span> &amp;<i>key</i>, const <span class="type">QString</span> &amp;<i>value</i>)</h3>
<p>Convenient function to set a <i>value</i> at a given <i>index</i> and <i>key</i> for all wallaper. For exmaple used to mute all wallpaper.</p>
<!-- @@@setAllWallpaperValue -->
<!-- $$$setWallpaperValue[overload1]$$$setWallpaperValueconstQString&constQString&constQString& -->
<h3 class="fn" id="setWallpaperValue"><a name="setWallpaperValue"></a><code>[slot] </code><span class="type">bool</span> ScreenPlayManager::<span class="name">setWallpaperValue</span>(const <span class="type">QString</span> &amp;<i>appID</i>, const <span class="type">QString</span> &amp;<i>key</i>, const <span class="type">QString</span> &amp;<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>
<!-- @@@setWallpaperValue -->
<!-- $$$setWallpaperValueAtMonitorIndex[overload1]$$$setWallpaperValueAtMonitorIndexconstintconstQString&constQString& -->
<h3 class="fn" id="setWallpaperValueAtMonitorIndex"><a name="setWallpaperValueAtMonitorIndex"></a><code>[slot] </code><span class="type">bool</span> ScreenPlayManager::<span class="name">setWallpaperValueAtMonitorIndex</span>(const <span class="type">int</span> <i>index</i>, const <span class="type">QString</span> &amp;<i>key</i>, const <span class="type">QString</span> &amp;<i>value</i>)</h3>
<p>Set a wallpaper <i>value</i> at a given <i>index</i> and <i>key</i>.</p>
<!-- @@@setWallpaperValueAtMonitorIndex -->
<!-- $$$init[overload1]$$$initconststd::shared_ptr<GlobalVariables>&conststd::shared_ptr<MonitorListModel>&conststd::shared_ptr<Settings>& -->
<h3 class="fn" id="init"><a name="init"></a><span class="type">void</span> ScreenPlayManager::<span class="name">init</span>(const <span class="type">std::shared_ptr</span>&lt;<span class="type"><a href="screenplay-globalvariables.html">GlobalVariables</a></span>&gt; &amp;<i>globalVariables</i>, const <span class="type">std::shared_ptr</span>&lt;<span class="type"><a href="screenplay-monitorlistmodel.html">MonitorListModel</a></span>&gt; &amp;<i>mlm</i>, const <span class="type">std::shared_ptr</span>&lt;<span class="type"><a href="screenplay-settings.html">Settings</a></span>&gt; &amp;<i>settings</i>)</h3>
<p>Inits this class instead of init in the constructor. This is because we need to check first if another <a href="screenplay-module.html">ScreenPlay</a> instance is running. If it is not the case we call this function.</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/bootstrap.bundle.min.js"></script> <script src="../js/mermaid.min.js"></script> <script>var config = {startOnLoad:true,flowchart:{useMaxWidth:true,htmlLabels:true}};mermaid.initialize(config);</script></body>
</html>
