<!DOCTYPE html>
<html lang="en">
<head>
  <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"/>
</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>InstalledListModel</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="#reimplemented-public-functions">Reimplemented 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">InstalledListModel Class</h1>
<span class="small-subtitle">class <a href="screenplay-module.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 -->
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include &lt;InstalledListModel&gt;</span>
</td></tr></table></div><ul>
<li><a href="screenplay-installedlistmodel-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-installedlistmodel.html#InstalledListModel">InstalledListModel</a></b>(const std::shared_ptr&lt;GlobalVariables&gt; &amp;<i>globalVariables</i>, QObject *<i>parent</i> = nullptr)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="screenplay-installedlistmodel.html#count-prop">count</a></b>() const</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-installedlistmodel.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-installedlistmodel.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-installedlistmodel.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-installedlistmodel.html#append">append</a></b>(const QJsonObject &amp;<i>obj</i>, const QString &amp;<i>folderName</i>, const QDateTime &amp;<i>lastModified</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="screenplay-installedlistmodel.html#deinstallItemAt">deinstallItemAt</a></b>(const int <i>index</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QVariantMap </td><td class="memItemRight bottomAlign"><b><a href="screenplay-installedlistmodel.html#get">get</a></b>(const QString &amp;<i>folderId</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-installedlistmodel.html#init">init</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-installedlistmodel.html#loadInstalledContent">loadInstalledContent</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-installedlistmodel.html#reset">reset</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-installedlistmodel.html#count-prop">setCount</a></b>(int <i>count</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-installedlistmodel.html#count-prop">countChanged</a></b>(int <i>count</i>)</td></tr>
</table></div>
<a name="details"></a>
<!-- $$$InstalledListModel-description -->
<div class="descr">
<h2 id="details">Detailed Description</h2>
<p>Currently we only support one path for the user content. Via a QFileSystemWatcher we automatically reload the list. Dynamic insert and remove is not yet implemented. Otherwhise it is a regular QAbstractListModel based list model.</p>
</div>
<!-- @@@InstalledListModel -->
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$InstalledListModel[overload1]$$$InstalledListModelconststd::shared_ptr<GlobalVariables>&QObject* -->
<h3 class="fn" id="InstalledListModel"><a name="InstalledListModel"></a>InstalledListModel::<span class="name">InstalledListModel</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>, <span class="type">QObject</span> *<i>parent</i> = nullptr)</h3>
<p>Constructor.</p>
<!-- @@@InstalledListModel -->
<!-- $$$append[overload1]$$$appendconstQJsonObject&constQString&constQDateTime& -->
<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>, const <span class="type">QDateTime</span> &amp;<i>lastModified</i>)</h3>
<p>Append an ProjectFile to the list.</p>
<!-- @@@append -->
<!-- $$$deinstallItemAt[overload1]$$$deinstallItemAtconstint -->
<h3 class="fn" id="deinstallItemAt"><a name="deinstallItemAt"></a><code>[slot] </code><span class="type">bool</span> InstalledListModel::<span class="name">deinstallItemAt</span>(const <span class="type">int</span> <i>index</i>)</h3>
<p>Deleted the item from the local storage and removes it from the installed list.</p>
<!-- @@@deinstallItemAt -->
<!-- $$$get[overload1]$$$getconstQString& -->
<h3 class="fn" id="get"><a name="get"></a><code>[slot] </code><span class="type">QVariantMap</span> InstalledListModel::<span class="name">get</span>(const <span class="type">QString</span> &amp;<i>folderId</i>) const</h3>
<p>.</p>
<!-- @@@get -->
<!-- $$$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 <a href="screenplay-globalvariables.html">GlobalVariables</a> 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>
<p>Loads all installed content. Skips projects.json without a &quot;type&quot; field.</p>
<!-- @@@loadInstalledContent -->
<!-- $$$reset[overload1]$$$reset -->
<h3 class="fn" id="reset"><a name="reset"></a><code>[slot] </code><span class="type">void</span> InstalledListModel::<span class="name">reset</span>()</h3>
<p>.</p>
<!-- @@@reset -->
<!-- $$$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/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>
