Add documentation

This commit is contained in:
Alex Spataru 2016-07-08 15:34:58 -06:00
parent aaf10aa1d6
commit 68025d4333
94 changed files with 8359 additions and 0 deletions

2478
doc/config/doxyfile Normal file

File diff suppressed because it is too large Load Diff

BIN
doc/config/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

66
doc/config/startpage.md Normal file
View File

@ -0,0 +1,66 @@
# Introduction
QSimpleUpdater is an implementation of an auto-updating system to be used with Qt projects. It allows you to easily check for updates, download them and install them. Additionally, the QSimpleUpdater allows you to check for updates for different "modules" of your application. Check the WTFs for more information.
## Integrating QSimpleUpdater with your projects
1. Copy the QSimpleUpdater folder in your "3rd-party" folder.
2. Include the QSimpleUpdater project include (*pri*) file using the include() function.
3. That's all! Check the tutorial project as a reference for your project.
## WTFs Section
### 1. How does the QSimpleUpdater check for updates?
The QSimpleUpdater downloads an update definition file stored in JSON format. This file specifies the latest version, the download links and changelogs for each platform (you can also register your own platform easily if needed).
After downloading this file, the library analyzes the local version and the remote version. If the remote version is greater than the local version, then the library infers that there is an update available and notifies the user.
### 2. Can I customize the update notifications shown to the user?
Yes! You can "toggle" which notifications to show using the library's functions or re-implement by yourself the notifications by "reacting" to the signals emitted by the QSimpleUpdater.
```
QString url = "https://MyBadassApplication.com/updates.json";
QSimpleUpdater::getInstance()->setNotifyOnUpdate (url, true);
QSimpleUpdater::getInstance()->setNotifyOnFinish (url, false);
QSimpleUpdater::getInstance()->checkForUpdates (url);
```
### 3. Is the application able to download the updates directly?
Yes. If there is an update available, the library will prompt the user if he/she wants to download the update. You can enable or disable the integrated downloader with the following code:
```
QString url = "https://MyBadassApplication.com/updates.json";
QSimpleUpdater::getInstance()->setDownloaderEnabled (url, true);
```
### 4. Why do I need to specify an URL for each function of the library?
The QSimpleUpdater allows you to use different updater instances, which can be accessed with the URL of the update definitions.
While it is not obligatory to use multiple updater instances, this can be useful for applications that make use of plugins or different modules.
Say that you are developing a game, in this case, you could use the following code:
```
// Update the game textures
QString textures_url = "https://MyBadassGame.com/textures.json"
QSimpleUpdater::getInstance()->setModuleName (textures_url, "textures");
QSimpleUpdater::getInstance()->setModuleVersion (textures_url, "0.4");
QSimpleUpdater::getInstance()->checkForUpdates (textures_url);
// Update the game sounds
QString sounds_url = "https://MyBadassGame.com/sounds.json"
QSimpleUpdater::getInstance()->setModuleName (sounds_url, "sounds");
QSimpleUpdater::getInstance()->setModuleVersion (sounds_url, "0.6");
QSimpleUpdater::getInstance()->checkForUpdates (sounds_url);
// Update the client (name & versions are already stored in qApp)
QString client_url = "https://MyBadassGame.com/client.json"
QSimpleUpdater::getInstance()->checkForUpdates (client_url);
```
## License
QSimpleUpdater is free and open-source software, it is released under the Don't Be A Dick License.

9
doc/documentation.html Normal file
View File

@ -0,0 +1,9 @@
<html>
<head>
<meta http-equiv="refresh" content="0; url=output/html/index.html"/>
</head>
<body>
<h2>You are being redirected...</h2>
<p>If this piece of crap does not work, please click <a href="output/html/index.html">here</a>.</p>
</body>
</html>

View File

@ -0,0 +1,105 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>QSimpleUpdater: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">QSimpleUpdater
</div>
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/dc0/class_downloader.html" target="_self">Downloader</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/d1d/class_updater.html" target="_self">Updater</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

BIN
doc/output/html/bc_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

BIN
doc/output/html/bdwn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

View File

@ -0,0 +1,109 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>QSimpleUpdater: Class Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">QSimpleUpdater
</div>
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li class="current"><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
<table class="classindex">
<tr><td rowspan="2" valign="bottom"><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;D&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;U&#160;&#160;</div></td></tr></table>
</td><td></td></tr>
<tr><td></td></tr>
<tr><td valign="top"><a class="el" href="de/dc0/class_downloader.html">Downloader</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d1d/class_updater.html">Updater</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>

BIN
doc/output/html/closed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,691 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>QSimpleUpdater: Updater Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="../../icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">QSimpleUpdater
</div>
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
<li><a href="../../files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-slots">Public Slots</a> &#124;
<a href="#signals">Signals</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="../../d4/d44/class_updater-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Updater Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../dd/d30/_updater_8h_source.html">Updater.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Updater:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d3/d1d/class_updater.png" usemap="#Updater_map" alt=""/>
<map id="Updater_map" name="Updater_map">
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-slots"></a>
Public Slots</h2></td></tr>
<tr class="memitem:a4af41658f974f72c71a9463be7bba1b5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates</a> ()</td></tr>
<tr class="separator:a4af41658f974f72c71a9463be7bba1b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1219e9bb1c1fb0a68d757fbc0d9b76aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">setUrl</a> (const QString &amp;<a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a>)</td></tr>
<tr class="separator:a1219e9bb1c1fb0a68d757fbc0d9b76aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad88b597bf4ae11a65a9c87171239ed00"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">setNotifyOnUpdate</a> (const bool &amp;notify)</td></tr>
<tr class="separator:ad88b597bf4ae11a65a9c87171239ed00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a949e507fd72ec4b2565bb49ebe98a2dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc">setNotifyOnFinish</a> (const bool &amp;notify)</td></tr>
<tr class="separator:a949e507fd72ec4b2565bb49ebe98a2dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ac7e1a2bd65353a5fdec22689f1adf3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3">setModuleName</a> (const QString &amp;name)</td></tr>
<tr class="separator:a5ac7e1a2bd65353a5fdec22689f1adf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8da70f39cc193b94c64769fc6f40dc2c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion</a> (const QString &amp;version)</td></tr>
<tr class="separator:a8da70f39cc193b94c64769fc6f40dc2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46d6db0d853ed8400a1725df436812ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee">setDownloaderEnabled</a> (const bool &amp;enabled)</td></tr>
<tr class="separator:a46d6db0d853ed8400a1725df436812ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a840a6b061590901eae3255ba74ff7ad8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8">setPlatformKey</a> (const QString &amp;<a class="el" href="../../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey</a>)</td></tr>
<tr class="separator:a840a6b061590901eae3255ba74ff7ad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3f35326fb62b9cf8a2421d91651ad60"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">setUseCustomInstallProcedures</a> (const bool &amp;custom)</td></tr>
<tr class="separator:ac3f35326fb62b9cf8a2421d91651ad60"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a>
Signals</h2></td></tr>
<tr class="memitem:a82debd6b1ad627d6d40c0f2a9996e0c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a82debd6b1ad627d6d40c0f2a9996e0c1">checkingFinished</a> (const QString &amp;<a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a>)</td></tr>
<tr class="separator:a82debd6b1ad627d6d40c0f2a9996e0c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a274a08240ad2bbea8cda6c52787510d3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3">downloadFinished</a> (const QString &amp;<a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a>, const QString &amp;filepath)</td></tr>
<tr class="separator:a274a08240ad2bbea8cda6c52787510d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a7ebf698a86619ebaadd2eb6e772f2a3d"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a> () const </td></tr>
<tr class="separator:a7ebf698a86619ebaadd2eb6e772f2a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6d8a5d7b8fd9bdfde738d72c50f8bee"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey</a> () const </td></tr>
<tr class="separator:ad6d8a5d7b8fd9bdfde738d72c50f8bee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abefc7aae1333458ab03d50aec9b58581"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581">notifyOnUpdate</a> () const </td></tr>
<tr class="separator:abefc7aae1333458ab03d50aec9b58581"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9fd2c8c3782c04289a76b1bf0b23ca0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">notifyOnFinish</a> () const </td></tr>
<tr class="separator:ad9fd2c8c3782c04289a76b1bf0b23ca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec889d582692cb41875ea803db3feb35"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35">updateAvailable</a> () const </td></tr>
<tr class="separator:aec889d582692cb41875ea803db3feb35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f526325b92c344244303b877d990cd3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">downloaderEnabled</a> () const </td></tr>
<tr class="separator:a4f526325b92c344244303b877d990cd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6a266ddbf0b855bcee1e9f77dfe9efb"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">changelog</a> () const </td></tr>
<tr class="separator:af6a266ddbf0b855bcee1e9f77dfe9efb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5690e5ab3dde19098caf77c22f8bf075"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">downloadUrl</a> () const </td></tr>
<tr class="separator:a5690e5ab3dde19098caf77c22f8bf075"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25e7f289753c6d7b4439ee3728866a48"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">latestVersion</a> () const </td></tr>
<tr class="separator:a25e7f289753c6d7b4439ee3728866a48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d8369115126e41cdefd30004cefc46d"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">moduleName</a> () const </td></tr>
<tr class="separator:a7d8369115126e41cdefd30004cefc46d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af32daac9bff9cb3e79798fc9a825648e"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e">moduleVersion</a> () const </td></tr>
<tr class="separator:af32daac9bff9cb3e79798fc9a825648e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7860e1643f426dc4d62cec2cdf207cd5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">useCustomInstallProcedures</a> () const </td></tr>
<tr class="separator:a7860e1643f426dc4d62cec2cdf207cd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The <a class="el" href="../../d3/d1d/class_updater.html">Updater</a> class is in charge of downloading and analyzing the appcast and "reacting" based on the options given by the user/developer/application. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="af6a266ddbf0b855bcee1e9f77dfe9efb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString Updater::changelog </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the latest changelog </p>
</div>
</div>
<a class="anchor" id="a4af41658f974f72c71a9463be7bba1b5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Updater::checkForUpdates </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Downloads the update definitions file and analyzes it to determine the latest version and the download links </p>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url()</a>.</p>
</div>
</div>
<a class="anchor" id="a82debd6b1ad627d6d40c0f2a9996e0c1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Updater::checkingFinished </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">signal</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Emitted when the download definitions have been downloaded and analyzed. </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p>
</div>
</div>
<a class="anchor" id="a4f526325b92c344244303b877d990cd3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Updater::downloaderEnabled </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns <code>if</code> the updater allows the integrated downloader to download and install the update (if aplicable). </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p>
</div>
</div>
<a class="anchor" id="a274a08240ad2bbea8cda6c52787510d3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Updater::downloadFinished </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>filepath</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">signal</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Emitted when the download has finished. You can use this to implement your own procedures to install the downloaded updates. </p>
</div>
</div>
<a class="anchor" id="a5690e5ab3dde19098caf77c22f8bf075"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString Updater::downloadUrl </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the URL from where we can download the update </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p>
</div>
</div>
<a class="anchor" id="a25e7f289753c6d7b4439ee3728866a48"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString Updater::latestVersion </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the latest version online </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p>
</div>
</div>
<a class="anchor" id="a7d8369115126e41cdefd30004cefc46d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString Updater::moduleName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the application name, which can be set manually or automatically using the <code>qApp-&gt;applicationName()</code> function. </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p>
</div>
</div>
<a class="anchor" id="af32daac9bff9cb3e79798fc9a825648e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString Updater::moduleVersion </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the application version, which can be set manually or automatically using the <code>qApp-&gt;applicationVersion()</code> function. </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p>
</div>
</div>
<a class="anchor" id="ad9fd2c8c3782c04289a76b1bf0b23ca0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Updater::notifyOnFinish </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns <code>true</code> if the class is set to notify the user when it finishes checking for updates (even if there are no updates available). By default this value is set to <code>false</code>. </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p>
</div>
</div>
<a class="anchor" id="abefc7aae1333458ab03d50aec9b58581"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Updater::notifyOnUpdate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns <code>true</code> if the class is set to notify the user when an update is found online. By default this value is set to <code>true</code>. </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p>
</div>
</div>
<a class="anchor" id="ad6d8a5d7b8fd9bdfde738d72c50f8bee"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString Updater::platformKey </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the current platform key, which is used to differentiate the different download links (and download versions) based on the current operating system.</p>
<p>You can modify this value with the <code><a class="el" href="../../d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8">setPlatformKey()</a></code> function </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8">setPlatformKey()</a>.</p>
</div>
</div>
<a class="anchor" id="a46d6db0d853ed8400a1725df436812ee"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Updater::setDownloaderEnabled </td>
<td>(</td>
<td class="paramtype">const bool &amp;&#160;</td>
<td class="paramname"><em>enabled</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If <em>enabled</em> is set to true, then the user will be able to download and install updates directly from the application, without the need of opening the download URL from a browser and manually installing the update. </p>
</div>
</div>
<a class="anchor" id="a5ac7e1a2bd65353a5fdec22689f1adf3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Updater::setModuleName </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Changes the name of the module, this can be useful in large applications that only need to update certain components of them (e.g. plugins). </p>
</div>
</div>
<a class="anchor" id="a8da70f39cc193b94c64769fc6f40dc2c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Updater::setModuleVersion </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>version</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Changes the version of the module, this can be useful in large applications that only need to update certain components of them (e.g. plugins). </p>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a82debd6b1ad627d6d40c0f2a9996e0c1">checkingFinished()</a>, <a class="el" href="../../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">downloaderEnabled()</a>, <a class="el" href="../../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">downloadUrl()</a>, <a class="el" href="../../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">latestVersion()</a>, <a class="el" href="../../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">moduleName()</a>, <a class="el" href="../../d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e">moduleVersion()</a>, <a class="el" href="../../d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">notifyOnFinish()</a>, <a class="el" href="../../d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581">notifyOnUpdate()</a>, <a class="el" href="../../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey()</a>, <a class="el" href="../../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">Downloader::startDownload()</a>, <a class="el" href="../../d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35">updateAvailable()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url()</a>.</p>
</div>
</div>
<a class="anchor" id="a949e507fd72ec4b2565bb49ebe98a2dc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Updater::setNotifyOnFinish </td>
<td>(</td>
<td class="paramtype">const bool &amp;&#160;</td>
<td class="paramname"><em>notify</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If set to <code>true</code>, the updater will notify the user when it finishes checking for updates (even where there are no updates available).</p>
<p>If set to <code>false</code> (default), the updater will only notify the user when there is an update available (if <a class="el" href="../../d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">setNotifyOnUpdate()</a> is <code>true</code>). </p>
</div>
</div>
<a class="anchor" id="ad88b597bf4ae11a65a9c87171239ed00"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Updater::setNotifyOnUpdate </td>
<td>(</td>
<td class="paramtype">const bool &amp;&#160;</td>
<td class="paramname"><em>notify</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If <code>notify</code> is set to true, the <code>QSimpleUpdater</code> will notify the user when an update is available.</p>
<p>If <code>notify</code> is set to false, the <code>QSimpleUpdater</code> will not notify the user when an update is available. </p>
</div>
</div>
<a class="anchor" id="a840a6b061590901eae3255ba74ff7ad8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Updater::setPlatformKey </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>platformKey</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Changes the platform key/id. This can be useful if the update depends on more than the underlying operating system on which the application runs. </p>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey()</a>.</p>
</div>
</div>
<a class="anchor" id="a1219e9bb1c1fb0a68d757fbc0d9b76aa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Updater::setUrl </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Changes the <em>url</em> from where we download the update definitions </p>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url()</a>.</p>
</div>
</div>
<a class="anchor" id="ac3f35326fb62b9cf8a2421d91651ad60"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Updater::setUseCustomInstallProcedures </td>
<td>(</td>
<td class="paramtype">const bool &amp;&#160;</td>
<td class="paramname"><em>custom</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If <code>custom</code> is set to true, then the <a class="el" href="../../de/dc0/class_downloader.html">Downloader</a> will not attempt to open or install the downloaded updates. This can be useful if you want to implement your own install procedures using the <code><a class="el" href="../../d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3">downloadFinished()</a></code> signal. </p>
<p>References <a class="el" href="../../de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285">Downloader::setUseCustomInstallProcedures()</a>.</p>
</div>
</div>
<a class="anchor" id="aec889d582692cb41875ea803db3feb35"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Updater::updateAvailable </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns <code>true</code> if the updater found an updated version of the application/module online. </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p>
</div>
</div>
<a class="anchor" id="a7ebf698a86619ebaadd2eb6e772f2a3d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString Updater::url </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the AppCast URL (from which we extract the update definitions) </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates()</a>, <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">setUrl()</a>.</p>
</div>
</div>
<a class="anchor" id="a7860e1643f426dc4d62cec2cdf207cd5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Updater::useCustomInstallProcedures </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns <code>true</code> if the downloader will not attempt to install the downloaded file.</p>
<p>This can be useful if you want to use the <code><a class="el" href="../../d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3">downloadFinished()</a></code> signal to implement your own install procedures. </p>
<p>References <a class="el" href="../../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">Downloader::useCustomInstallProcedures()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="../../dd/d30/_updater_8h_source.html">Updater.h</a></li>
<li>Updater.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 B

View File

@ -0,0 +1,127 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>QSimpleUpdater: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="../../icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">QSimpleUpdater
</div>
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
<li><a href="../../files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Updater Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d3/d1d/class_updater.html">Updater</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">changelog</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates</a>()</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a82debd6b1ad627d6d40c0f2a9996e0c1">checkingFinished</a>(const QString &amp;url)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">downloaderEnabled</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3">downloadFinished</a>(const QString &amp;url, const QString &amp;filepath)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">downloadUrl</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">latestVersion</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">moduleName</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e">moduleVersion</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">notifyOnFinish</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581">notifyOnUpdate</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee">setDownloaderEnabled</a>(const bool &amp;enabled)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3">setModuleName</a>(const QString &amp;name)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion</a>(const QString &amp;version)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc">setNotifyOnFinish</a>(const bool &amp;notify)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">setNotifyOnUpdate</a>(const bool &amp;notify)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8">setPlatformKey</a>(const QString &amp;platformKey)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">setUrl</a>(const QString &amp;url)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">setUseCustomInstallProcedures</a>(const bool &amp;custom)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35">updateAvailable</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Updater</b>() (defined in <a class="el" href="../../d3/d1d/class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">useCustomInstallProcedures</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Updater</b>() (defined in <a class="el" href="../../d3/d1d/class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>

View File

@ -0,0 +1,108 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>QSimpleUpdater: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="../../icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">QSimpleUpdater
</div>
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
<li><a href="../../files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Downloader Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../de/dc0/class_downloader.html">Downloader</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Downloader</b>(QWidget *parent=0) (defined in <a class="el" href="../../de/dc0/class_downloader.html">Downloader</a>)</td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a">downloadFinished</a>(const QString &amp;url, const QString &amp;filepath)</td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285">setUseCustomInstallProcedures</a>(const bool &amp;custom)</td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">startDownload</a>(const QUrl &amp;url)</td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">useCustomInstallProcedures</a>() const </td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~Downloader</b>() (defined in <a class="el" href="../../de/dc0/class_downloader.html">Downloader</a>)</td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,250 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>QSimpleUpdater: Downloader Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="../../icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">QSimpleUpdater
</div>
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
<li><a href="../../files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-slots">Public Slots</a> &#124;
<a href="#signals">Signals</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="../../d5/d7d/class_downloader-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Downloader Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for Downloader:</div>
<div class="dyncontent">
<div class="center">
<img src="../../de/dc0/class_downloader.png" usemap="#Downloader_map" alt=""/>
<map id="Downloader_map" name="Downloader_map">
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-slots"></a>
Public Slots</h2></td></tr>
<tr class="memitem:a7f81027436d44ca52168b30a6eb0d379"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">startDownload</a> (const QUrl &amp;url)</td></tr>
<tr class="separator:a7f81027436d44ca52168b30a6eb0d379"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26a4f889029c63c11f679284397a3285"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285">setUseCustomInstallProcedures</a> (const bool &amp;custom)</td></tr>
<tr class="separator:a26a4f889029c63c11f679284397a3285"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a>
Signals</h2></td></tr>
<tr class="memitem:a7374214627efe871ac19af293f702f9a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a">downloadFinished</a> (const QString &amp;url, const QString &amp;filepath)</td></tr>
<tr class="separator:a7374214627efe871ac19af293f702f9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a4c89702786810ca23a9816dd3c762283"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c89702786810ca23a9816dd3c762283"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Downloader</b> (QWidget *parent=0)</td></tr>
<tr class="separator:a4c89702786810ca23a9816dd3c762283"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e7a91a3cdfa68e3bc59db0af1377f9c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">useCustomInstallProcedures</a> () const </td></tr>
<tr class="separator:a3e7a91a3cdfa68e3bc59db0af1377f9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a7374214627efe871ac19af293f702f9a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Downloader::downloadFinished </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>filepath</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">signal</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Emitted when the download has finished. You can use this to implement your own procedures to install the downloaded updates. </p>
<p>Referenced by <a class="el" href="../../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">startDownload()</a>.</p>
</div>
</div>
<a class="anchor" id="a26a4f889029c63c11f679284397a3285"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Downloader::setUseCustomInstallProcedures </td>
<td>(</td>
<td class="paramtype">const bool &amp;&#160;</td>
<td class="paramname"><em>custom</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If <code>custom</code> is set to true, then the <a class="el" href="../../de/dc0/class_downloader.html">Downloader</a> will not attempt to open or install the downloaded updates. This can be useful if you want to implement your own install procedures using the <code><a class="el" href="../../de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a">downloadFinished()</a></code> signal. </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">Updater::setUseCustomInstallProcedures()</a>.</p>
</div>
</div>
<a class="anchor" id="a7f81027436d44ca52168b30a6eb0d379"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Downloader::startDownload </td>
<td>(</td>
<td class="paramtype">const QUrl &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Begins downloading the update </p>
<p>References <a class="el" href="../../de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a">downloadFinished()</a>, and <a class="el" href="../../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">useCustomInstallProcedures()</a>.</p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">Updater::setModuleVersion()</a>.</p>
</div>
</div>
<a class="anchor" id="a3e7a91a3cdfa68e3bc59db0af1377f9c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Downloader::useCustomInstallProcedures </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns <code>true</code> if the downloader will not attempt to install the downloaded file.</p>
<p>This can be useful if you want to use the <code><a class="el" href="../../de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a">downloadFinished()</a></code> signal to implement your own install procedures. </p>
<p>Referenced by <a class="el" href="../../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">startDownload()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">Updater::useCustomInstallProcedures()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="../../d1/d88/_downloader_8h_source.html">Downloader.h</a></li>
<li>Downloader.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

View File

@ -0,0 +1,104 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>QSimpleUpdater: src Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">QSimpleUpdater
</div>
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">src Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>

BIN
doc/output/html/doc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

1475
doc/output/html/doxygen.css Normal file

File diff suppressed because it is too large Load Diff

BIN
doc/output/html/doxygen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -0,0 +1,97 @@
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
}
function toggleLevel(level)
{
$('table.directory tr').each(function() {
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);
// all rows after the clicked row
var rows = currentRow.nextAll("tr");
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}

102
doc/output/html/files.html Normal file
View File

@ -0,0 +1,102 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>QSimpleUpdater: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">QSimpleUpdater
</div>
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">File List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="d1/d88/_downloader_8h_source.html"><span class="icondoc"></span></a><b>Downloader.h</b></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="dd/d30/_updater_8h_source.html"><span class="icondoc"></span></a><b>Updater.h</b></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

View File

@ -0,0 +1,178 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>QSimpleUpdater: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">QSimpleUpdater
</div>
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li class="current"><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_func.html"><span>Functions</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul>
<li>changelog()
: <a class="el" href="d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">Updater</a>
</li>
<li>checkForUpdates()
: <a class="el" href="d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">Updater</a>
</li>
<li>checkingFinished()
: <a class="el" href="d3/d1d/class_updater.html#a82debd6b1ad627d6d40c0f2a9996e0c1">Updater</a>
</li>
<li>downloaderEnabled()
: <a class="el" href="d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">Updater</a>
</li>
<li>downloadFinished()
: <a class="el" href="de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a">Downloader</a>
, <a class="el" href="d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3">Updater</a>
</li>
<li>downloadUrl()
: <a class="el" href="d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">Updater</a>
</li>
<li>latestVersion()
: <a class="el" href="d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">Updater</a>
</li>
<li>moduleName()
: <a class="el" href="d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">Updater</a>
</li>
<li>moduleVersion()
: <a class="el" href="d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e">Updater</a>
</li>
<li>notifyOnFinish()
: <a class="el" href="d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">Updater</a>
</li>
<li>notifyOnUpdate()
: <a class="el" href="d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581">Updater</a>
</li>
<li>platformKey()
: <a class="el" href="d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">Updater</a>
</li>
<li>setDownloaderEnabled()
: <a class="el" href="d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee">Updater</a>
</li>
<li>setModuleName()
: <a class="el" href="d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3">Updater</a>
</li>
<li>setModuleVersion()
: <a class="el" href="d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">Updater</a>
</li>
<li>setNotifyOnFinish()
: <a class="el" href="d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc">Updater</a>
</li>
<li>setNotifyOnUpdate()
: <a class="el" href="d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">Updater</a>
</li>
<li>setPlatformKey()
: <a class="el" href="d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8">Updater</a>
</li>
<li>setUrl()
: <a class="el" href="d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">Updater</a>
</li>
<li>setUseCustomInstallProcedures()
: <a class="el" href="de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285">Downloader</a>
, <a class="el" href="d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">Updater</a>
</li>
<li>startDownload()
: <a class="el" href="de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">Downloader</a>
</li>
<li>updateAvailable()
: <a class="el" href="d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35">Updater</a>
</li>
<li>url()
: <a class="el" href="d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">Updater</a>
</li>
<li>useCustomInstallProcedures()
: <a class="el" href="de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">Downloader</a>
, <a class="el" href="d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">Updater</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>

View File

@ -0,0 +1,178 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>QSimpleUpdater: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">QSimpleUpdater
</div>
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="functions.html"><span>All</span></a></li>
<li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;<ul>
<li>changelog()
: <a class="el" href="d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">Updater</a>
</li>
<li>checkForUpdates()
: <a class="el" href="d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">Updater</a>
</li>
<li>checkingFinished()
: <a class="el" href="d3/d1d/class_updater.html#a82debd6b1ad627d6d40c0f2a9996e0c1">Updater</a>
</li>
<li>downloaderEnabled()
: <a class="el" href="d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">Updater</a>
</li>
<li>downloadFinished()
: <a class="el" href="de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a">Downloader</a>
, <a class="el" href="d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3">Updater</a>
</li>
<li>downloadUrl()
: <a class="el" href="d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">Updater</a>
</li>
<li>latestVersion()
: <a class="el" href="d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">Updater</a>
</li>
<li>moduleName()
: <a class="el" href="d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">Updater</a>
</li>
<li>moduleVersion()
: <a class="el" href="d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e">Updater</a>
</li>
<li>notifyOnFinish()
: <a class="el" href="d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">Updater</a>
</li>
<li>notifyOnUpdate()
: <a class="el" href="d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581">Updater</a>
</li>
<li>platformKey()
: <a class="el" href="d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">Updater</a>
</li>
<li>setDownloaderEnabled()
: <a class="el" href="d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee">Updater</a>
</li>
<li>setModuleName()
: <a class="el" href="d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3">Updater</a>
</li>
<li>setModuleVersion()
: <a class="el" href="d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">Updater</a>
</li>
<li>setNotifyOnFinish()
: <a class="el" href="d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc">Updater</a>
</li>
<li>setNotifyOnUpdate()
: <a class="el" href="d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">Updater</a>
</li>
<li>setPlatformKey()
: <a class="el" href="d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8">Updater</a>
</li>
<li>setUrl()
: <a class="el" href="d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">Updater</a>
</li>
<li>setUseCustomInstallProcedures()
: <a class="el" href="de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285">Downloader</a>
, <a class="el" href="d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">Updater</a>
</li>
<li>startDownload()
: <a class="el" href="de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">Downloader</a>
</li>
<li>updateAvailable()
: <a class="el" href="d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35">Updater</a>
</li>
<li>url()
: <a class="el" href="d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">Updater</a>
</li>
<li>useCustomInstallProcedures()
: <a class="el" href="de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">Downloader</a>
, <a class="el" href="d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">Updater</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>

View File

@ -0,0 +1,107 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>QSimpleUpdater: Class Hierarchy</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">QSimpleUpdater
</div>
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li class="current"><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class Hierarchy</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>QObject</b></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/d1d/class_updater.html" target="_self">Updater</a></td><td class="desc"></td></tr>
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>QWidget</b></td><td class="desc"></td></tr>
<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/dc0/class_downloader.html" target="_self">Downloader</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>

BIN
doc/output/html/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

111
doc/output/html/index.html Normal file
View File

@ -0,0 +1,111 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>QSimpleUpdater: Introduction</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">QSimpleUpdater
</div>
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Introduction </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>QSimpleUpdater is an implementation of an auto-updating system to be used with Qt projects. It allows you to easily check for updates, download them and install them. Additionally, the QSimpleUpdater allows you to check for updates for different "modules" of your application. Check the WTFs for more information.</p>
<h2>Integrating QSimpleUpdater with your projects</h2>
<ol type="1">
<li>Copy the QSimpleUpdater folder in your "3rd-party" folder.</li>
<li>Include the QSimpleUpdater project include (<em>pri</em>) file using the include() function.</li>
<li>That's all! Check the tutorial project as a reference for your project.</li>
</ol>
<h2>WTFs Section</h2>
<h3>1. How does the QSimpleUpdater check for updates?</h3>
<p>The QSimpleUpdater downloads an update definition file stored in JSON format. This file specifies the latest version, the download links and changelogs for each platform (you can also register your own platform easily if needed).</p>
<p>After downloading this file, the library analyzes the local version and the remote version. If the remote version is greater than the local version, then the library infers that there is an update available and notifies the user.</p>
<h3>2. Can I customize the update notifications shown to the user?</h3>
<p>Yes! You can "toggle" which notifications to show using the library's functions or re-implement by yourself the notifications by "reacting" to the signals emitted by the QSimpleUpdater.</p>
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;QString url = &quot;https://MyBadassApplication.com/updates.json&quot;;</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;QSimpleUpdater::getInstance()-&gt;setNotifyOnUpdate (url, true);</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;QSimpleUpdater::getInstance()-&gt;setNotifyOnFinish (url, false);</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;QSimpleUpdater::getInstance()-&gt;checkForUpdates (url);</div></div><!-- fragment --><h3>3. Is the application able to download the updates directly?</h3>
<p>Yes. If there is an update available, the library will prompt the user if he/she wants to download the update. You can enable or disable the integrated downloader with the following code:</p>
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;QString url = &quot;https://MyBadassApplication.com/updates.json&quot;;</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;QSimpleUpdater::getInstance()-&gt;setDownloaderEnabled (url, true);</div></div><!-- fragment --><h3>4. Why do I need to specify an URL for each function of the library?</h3>
<p>The QSimpleUpdater allows you to use different updater instances, which can be accessed with the URL of the update definitions. While it is not obligatory to use multiple updater instances, this can be useful for applications that make use of plugins or different modules.</p>
<p>Say that you are developing a game, in this case, you could use the following code:</p>
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;// Update the game textures</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;QString textures_url = &quot;https://MyBadassGame.com/textures.json&quot;</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;QSimpleUpdater::getInstance()-&gt;setModuleName (textures_url, &quot;textures&quot;);</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;QSimpleUpdater::getInstance()-&gt;setModuleVersion (textures_url, &quot;0.4&quot;);</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;QSimpleUpdater::getInstance()-&gt;checkForUpdates (textures_url);</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;// Update the game sounds</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;QString sounds_url = &quot;https://MyBadassGame.com/sounds.json&quot;</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;QSimpleUpdater::getInstance()-&gt;setModuleName (sounds_url, &quot;sounds&quot;);</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;QSimpleUpdater::getInstance()-&gt;setModuleVersion (sounds_url, &quot;0.6&quot;);</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;QSimpleUpdater::getInstance()-&gt;checkForUpdates (sounds_url);</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;// Update the client (name &amp; versions are already stored in qApp)</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;QString client_url = &quot;https://MyBadassGame.com/client.json&quot;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;QSimpleUpdater::getInstance()-&gt;checkForUpdates (client_url);</div></div><!-- fragment --><h2>License</h2>
<p>QSimpleUpdater is free and open-source software, it is released under the Don't Be A Dick License. </p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>

68
doc/output/html/jquery.js vendored Normal file

File diff suppressed because one or more lines are too long

BIN
doc/output/html/nav_f.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

BIN
doc/output/html/nav_g.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

BIN
doc/output/html/nav_h.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

BIN
doc/output/html/open.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,6 @@
var searchData=
[
['changelog',['changelog',['../d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb',1,'Updater']]],
['checkforupdates',['checkForUpdates',['../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5',1,'Updater']]],
['checkingfinished',['checkingFinished',['../d3/d1d/class_updater.html#a82debd6b1ad627d6d40c0f2a9996e0c1',1,'Updater']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,7 @@
var searchData=
[
['downloader',['Downloader',['../de/dc0/class_downloader.html',1,'']]],
['downloaderenabled',['downloaderEnabled',['../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3',1,'Updater']]],
['downloadfinished',['downloadFinished',['../de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a',1,'Downloader::downloadFinished()'],['../d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3',1,'Updater::downloadFinished()']]],
['downloadurl',['downloadUrl',['../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075',1,'Updater']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_2.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var searchData=
[
['introduction',['Introduction',['../index.html',1,'']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_3.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var searchData=
[
['latestversion',['latestVersion',['../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48',1,'Updater']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_4.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,5 @@
var searchData=
[
['modulename',['moduleName',['../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d',1,'Updater']]],
['moduleversion',['moduleVersion',['../d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e',1,'Updater']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_5.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,5 @@
var searchData=
[
['notifyonfinish',['notifyOnFinish',['../d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0',1,'Updater']]],
['notifyonupdate',['notifyOnUpdate',['../d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581',1,'Updater']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_6.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var searchData=
[
['platformkey',['platformKey',['../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee',1,'Updater']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_7.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,12 @@
var searchData=
[
['setdownloaderenabled',['setDownloaderEnabled',['../d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee',1,'Updater']]],
['setmodulename',['setModuleName',['../d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3',1,'Updater']]],
['setmoduleversion',['setModuleVersion',['../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c',1,'Updater']]],
['setnotifyonfinish',['setNotifyOnFinish',['../d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc',1,'Updater']]],
['setnotifyonupdate',['setNotifyOnUpdate',['../d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00',1,'Updater']]],
['setplatformkey',['setPlatformKey',['../d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8',1,'Updater']]],
['seturl',['setUrl',['../d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa',1,'Updater']]],
['setusecustominstallprocedures',['setUseCustomInstallProcedures',['../de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285',1,'Downloader::setUseCustomInstallProcedures()'],['../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60',1,'Updater::setUseCustomInstallProcedures()']]],
['startdownload',['startDownload',['../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379',1,'Downloader']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_8.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,7 @@
var searchData=
[
['updateavailable',['updateAvailable',['../d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35',1,'Updater']]],
['updater',['Updater',['../d3/d1d/class_updater.html',1,'']]],
['url',['url',['../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d',1,'Updater']]],
['usecustominstallprocedures',['useCustomInstallProcedures',['../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c',1,'Downloader::useCustomInstallProcedures()'],['../d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5',1,'Updater::useCustomInstallProcedures()']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var searchData=
[
['downloader',['Downloader',['../de/dc0/class_downloader.html',1,'']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var searchData=
[
['updater',['Updater',['../d3/d1d/class_updater.html',1,'']]]
];

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,6 @@
var searchData=
[
['changelog',['changelog',['../d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb',1,'Updater']]],
['checkforupdates',['checkForUpdates',['../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5',1,'Updater']]],
['checkingfinished',['checkingFinished',['../d3/d1d/class_updater.html#a82debd6b1ad627d6d40c0f2a9996e0c1',1,'Updater']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,6 @@
var searchData=
[
['downloaderenabled',['downloaderEnabled',['../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3',1,'Updater']]],
['downloadfinished',['downloadFinished',['../de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a',1,'Downloader::downloadFinished()'],['../d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3',1,'Updater::downloadFinished()']]],
['downloadurl',['downloadUrl',['../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075',1,'Updater']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_2.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var searchData=
[
['latestversion',['latestVersion',['../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48',1,'Updater']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_3.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,5 @@
var searchData=
[
['modulename',['moduleName',['../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d',1,'Updater']]],
['moduleversion',['moduleVersion',['../d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e',1,'Updater']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_4.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,5 @@
var searchData=
[
['notifyonfinish',['notifyOnFinish',['../d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0',1,'Updater']]],
['notifyonupdate',['notifyOnUpdate',['../d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581',1,'Updater']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_5.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var searchData=
[
['platformkey',['platformKey',['../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee',1,'Updater']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_6.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,12 @@
var searchData=
[
['setdownloaderenabled',['setDownloaderEnabled',['../d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee',1,'Updater']]],
['setmodulename',['setModuleName',['../d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3',1,'Updater']]],
['setmoduleversion',['setModuleVersion',['../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c',1,'Updater']]],
['setnotifyonfinish',['setNotifyOnFinish',['../d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc',1,'Updater']]],
['setnotifyonupdate',['setNotifyOnUpdate',['../d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00',1,'Updater']]],
['setplatformkey',['setPlatformKey',['../d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8',1,'Updater']]],
['seturl',['setUrl',['../d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa',1,'Updater']]],
['setusecustominstallprocedures',['setUseCustomInstallProcedures',['../de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285',1,'Downloader::setUseCustomInstallProcedures()'],['../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60',1,'Updater::setUseCustomInstallProcedures()']]],
['startdownload',['startDownload',['../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379',1,'Downloader']]]
];

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_7.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,6 @@
var searchData=
[
['updateavailable',['updateAvailable',['../d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35',1,'Updater']]],
['url',['url',['../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d',1,'Updater']]],
['usecustominstallprocedures',['useCustomInstallProcedures',['../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c',1,'Downloader::useCustomInstallProcedures()'],['../d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5',1,'Updater::useCustomInstallProcedures()']]]
];

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

View File

@ -0,0 +1,12 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</body>
</html>

View File

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="pages_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var searchData=
[
['introduction',['Introduction',['../index.html',1,'']]]
];

View File

@ -0,0 +1,271 @@
/*---------------- Search Box */
#FSearchBox {
float: left;
}
#MSearchBox {
white-space : nowrap;
position: absolute;
float: none;
display: inline;
margin-top: 8px;
right: 0px;
width: 170px;
z-index: 102;
background-color: white;
}
#MSearchBox .left
{
display:block;
position:absolute;
left:10px;
width:20px;
height:19px;
background:url('search_l.png') no-repeat;
background-position:right;
}
#MSearchSelect {
display:block;
position:absolute;
width:20px;
height:19px;
}
.left #MSearchSelect {
left:4px;
}
.right #MSearchSelect {
right:5px;
}
#MSearchField {
display:block;
position:absolute;
height:19px;
background:url('search_m.png') repeat-x;
border:none;
width:111px;
margin-left:20px;
padding-left:4px;
color: #909090;
outline: none;
font: 9pt Arial, Verdana, sans-serif;
}
#FSearchBox #MSearchField {
margin-left:15px;
}
#MSearchBox .right {
display:block;
position:absolute;
right:10px;
top:0px;
width:20px;
height:19px;
background:url('search_r.png') no-repeat;
background-position:left;
}
#MSearchClose {
display: none;
position: absolute;
top: 4px;
background : none;
border: none;
margin: 0px 4px 0px 0px;
padding: 0px 0px;
outline: none;
}
.left #MSearchClose {
left: 6px;
}
.right #MSearchClose {
right: 2px;
}
.MSearchBoxActive #MSearchField {
color: #000000;
}
/*---------------- Search filter selection */
#MSearchSelectWindow {
display: none;
position: absolute;
left: 0; top: 0;
border: 1px solid #90A5CE;
background-color: #F9FAFC;
z-index: 1;
padding-top: 4px;
padding-bottom: 4px;
-moz-border-radius: 4px;
-webkit-border-top-left-radius: 4px;
-webkit-border-top-right-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
}
.SelectItem {
font: 8pt Arial, Verdana, sans-serif;
padding-left: 2px;
padding-right: 12px;
border: 0px;
}
span.SelectionMark {
margin-right: 4px;
font-family: monospace;
outline-style: none;
text-decoration: none;
}
a.SelectItem {
display: block;
outline-style: none;
color: #000000;
text-decoration: none;
padding-left: 6px;
padding-right: 12px;
}
a.SelectItem:focus,
a.SelectItem:active {
color: #000000;
outline-style: none;
text-decoration: none;
}
a.SelectItem:hover {
color: #FFFFFF;
background-color: #3D578C;
outline-style: none;
text-decoration: none;
cursor: pointer;
display: block;
}
/*---------------- Search results window */
iframe#MSearchResults {
width: 60ex;
height: 15em;
}
#MSearchResultsWindow {
display: none;
position: absolute;
left: 0; top: 0;
border: 1px solid #000;
background-color: #EEF1F7;
}
/* ----------------------------------- */
#SRIndex {
clear:both;
padding-bottom: 15px;
}
.SREntry {
font-size: 10pt;
padding-left: 1ex;
}
.SRPage .SREntry {
font-size: 8pt;
padding: 1px 5px;
}
body.SRPage {
margin: 5px 2px;
}
.SRChildren {
padding-left: 3ex; padding-bottom: .5em
}
.SRPage .SRChildren {
display: none;
}
.SRSymbol {
font-weight: bold;
color: #425E97;
font-family: Arial, Verdana, sans-serif;
text-decoration: none;
outline: none;
}
a.SRScope {
display: block;
color: #425E97;
font-family: Arial, Verdana, sans-serif;
text-decoration: none;
outline: none;
}
a.SRSymbol:focus, a.SRSymbol:active,
a.SRScope:focus, a.SRScope:active {
text-decoration: underline;
}
span.SRScope {
padding-left: 4px;
}
.SRPage .SRStatus {
padding: 2px 5px;
font-size: 8pt;
font-style: italic;
}
.SRResult {
display: none;
}
DIV.searchresults {
margin-left: 10px;
margin-right: 10px;
}
/*---------------- External search page results */
.searchresult {
background-color: #F0F3F8;
}
.pages b {
color: white;
padding: 5px 5px 3px 5px;
background-image: url("../tab_a.png");
background-repeat: repeat-x;
text-shadow: 0 1px 1px #000000;
}
.pages {
line-height: 17px;
margin-left: 4px;
text-decoration: none;
}
.hl {
font-weight: bold;
}
#searchresults {
margin-bottom: 20px;
}
.searchpages {
margin-top: 10px;
}

View File

@ -0,0 +1,791 @@
function convertToId(search)
{
var result = '';
for (i=0;i<search.length;i++)
{
var c = search.charAt(i);
var cn = c.charCodeAt(0);
if (c.match(/[a-z0-9\u0080-\uFFFF]/))
{
result+=c;
}
else if (cn<16)
{
result+="_0"+cn.toString(16);
}
else
{
result+="_"+cn.toString(16);
}
}
return result;
}
function getXPos(item)
{
var x = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
x += item.offsetLeft;
item = item.offsetParent;
}
}
return x;
}
function getYPos(item)
{
var y = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
y += item.offsetTop;
item = item.offsetParent;
}
}
return y;
}
/* A class handling everything associated with the search panel.
Parameters:
name - The name of the global variable that will be
storing this instance. Is needed to be able to set timeouts.
resultPath - path to use for external files
*/
function SearchBox(name, resultsPath, inFrame, label)
{
if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
// ---------- Instance variables
this.name = name;
this.resultsPath = resultsPath;
this.keyTimeout = 0;
this.keyTimeoutLength = 500;
this.closeSelectionTimeout = 300;
this.lastSearchValue = "";
this.lastResultsPage = "";
this.hideTimeout = 0;
this.searchIndex = 0;
this.searchActive = false;
this.insideFrame = inFrame;
this.searchLabel = label;
// ----------- DOM Elements
this.DOMSearchField = function()
{ return document.getElementById("MSearchField"); }
this.DOMSearchSelect = function()
{ return document.getElementById("MSearchSelect"); }
this.DOMSearchSelectWindow = function()
{ return document.getElementById("MSearchSelectWindow"); }
this.DOMPopupSearchResults = function()
{ return document.getElementById("MSearchResults"); }
this.DOMPopupSearchResultsWindow = function()
{ return document.getElementById("MSearchResultsWindow"); }
this.DOMSearchClose = function()
{ return document.getElementById("MSearchClose"); }
this.DOMSearchBox = function()
{ return document.getElementById("MSearchBox"); }
// ------------ Event Handlers
// Called when focus is added or removed from the search field.
this.OnSearchFieldFocus = function(isActive)
{
this.Activate(isActive);
}
this.OnSearchSelectShow = function()
{
var searchSelectWindow = this.DOMSearchSelectWindow();
var searchField = this.DOMSearchSelect();
if (this.insideFrame)
{
var left = getXPos(searchField);
var top = getYPos(searchField);
left += searchField.offsetWidth + 6;
top += searchField.offsetHeight;
// show search selection popup
searchSelectWindow.style.display='block';
left -= searchSelectWindow.offsetWidth;
searchSelectWindow.style.left = left + 'px';
searchSelectWindow.style.top = top + 'px';
}
else
{
var left = getXPos(searchField);
var top = getYPos(searchField);
top += searchField.offsetHeight;
// show search selection popup
searchSelectWindow.style.display='block';
searchSelectWindow.style.left = left + 'px';
searchSelectWindow.style.top = top + 'px';
}
// stop selection hide timer
if (this.hideTimeout)
{
clearTimeout(this.hideTimeout);
this.hideTimeout=0;
}
return false; // to avoid "image drag" default event
}
this.OnSearchSelectHide = function()
{
this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
this.closeSelectionTimeout);
}
// Called when the content of the search field is changed.
this.OnSearchFieldChange = function(evt)
{
if (this.keyTimeout) // kill running timer
{
clearTimeout(this.keyTimeout);
this.keyTimeout = 0;
}
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 || e.keyCode==13)
{
if (e.shiftKey==1)
{
this.OnSearchSelectShow();
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
child.focus();
return;
}
}
return;
}
else if (window.frames.MSearchResults.searchResults)
{
var elem = window.frames.MSearchResults.searchResults.NavNext(0);
if (elem) elem.focus();
}
}
else if (e.keyCode==27) // Escape out of the search field
{
this.DOMSearchField().blur();
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
this.Activate(false);
return;
}
// strip whitespaces
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue != this.lastSearchValue) // search value has changed
{
if (searchValue != "") // non-empty search
{
// set timer for search update
this.keyTimeout = setTimeout(this.name + '.Search()',
this.keyTimeoutLength);
}
else // empty search field
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
}
}
}
this.SelectItemCount = function(id)
{
var count=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
count++;
}
}
return count;
}
this.SelectItemSet = function(id)
{
var i,j=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
var node = child.firstChild;
if (j==id)
{
node.innerHTML='&#8226;';
}
else
{
node.innerHTML='&#160;';
}
j++;
}
}
}
// Called when an search filter selection is made.
// set item with index id as the active item
this.OnSelectItem = function(id)
{
this.searchIndex = id;
this.SelectItemSet(id);
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue!="" && this.searchActive) // something was found -> do a search
{
this.Search();
}
}
this.OnSearchSelectKey = function(evt)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
{
this.searchIndex++;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==38 && this.searchIndex>0) // Up
{
this.searchIndex--;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==13 || e.keyCode==27)
{
this.OnSelectItem(this.searchIndex);
this.CloseSelectionWindow();
this.DOMSearchField().focus();
}
return false;
}
// --------- Actions
// Closes the results window.
this.CloseResultsWindow = function()
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.Activate(false);
}
this.CloseSelectionWindow = function()
{
this.DOMSearchSelectWindow().style.display = 'none';
}
// Performs a search.
this.Search = function()
{
this.keyTimeout = 0;
// strip leading whitespace
var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
var code = searchValue.toLowerCase().charCodeAt(0);
var idxChar = searchValue.substr(0, 1).toLowerCase();
if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
{
idxChar = searchValue.substr(0, 2);
}
var resultsPage;
var resultsPageWithSearch;
var hasResultsPage;
var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
if (idx!=-1)
{
var hexCode=idx.toString(16);
resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
hasResultsPage = true;
}
else // nothing available for this search term
{
resultsPage = this.resultsPath + '/nomatches.html';
resultsPageWithSearch = resultsPage;
hasResultsPage = false;
}
window.frames.MSearchResults.location = resultsPageWithSearch;
var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
if (domPopupSearchResultsWindow.style.display!='block')
{
var domSearchBox = this.DOMSearchBox();
this.DOMSearchClose().style.display = 'inline';
if (this.insideFrame)
{
var domPopupSearchResults = this.DOMPopupSearchResults();
domPopupSearchResultsWindow.style.position = 'relative';
domPopupSearchResultsWindow.style.display = 'block';
var width = document.body.clientWidth - 8; // the -8 is for IE :-(
domPopupSearchResultsWindow.style.width = width + 'px';
domPopupSearchResults.style.width = width + 'px';
}
else
{
var domPopupSearchResults = this.DOMPopupSearchResults();
var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
domPopupSearchResultsWindow.style.display = 'block';
left -= domPopupSearchResults.offsetWidth;
domPopupSearchResultsWindow.style.top = top + 'px';
domPopupSearchResultsWindow.style.left = left + 'px';
}
}
this.lastSearchValue = searchValue;
this.lastResultsPage = resultsPage;
}
// -------- Activation Functions
// Activates or deactivates the search panel, resetting things to
// their default values if necessary.
this.Activate = function(isActive)
{
if (isActive || // open it
this.DOMPopupSearchResultsWindow().style.display == 'block'
)
{
this.DOMSearchBox().className = 'MSearchBoxActive';
var searchField = this.DOMSearchField();
if (searchField.value == this.searchLabel) // clear "Search" term upon entry
{
searchField.value = '';
this.searchActive = true;
}
}
else if (!isActive) // directly remove the panel
{
this.DOMSearchBox().className = 'MSearchBoxInactive';
this.DOMSearchField().value = this.searchLabel;
this.searchActive = false;
this.lastSearchValue = ''
this.lastResultsPage = '';
}
}
}
// -----------------------------------------------------------------------
// The class that handles everything on the search results page.
function SearchResults(name)
{
// The number of matches from the last run of <Search()>.
this.lastMatchCount = 0;
this.lastKey = 0;
this.repeatOn = false;
// Toggles the visibility of the passed element ID.
this.FindChildElement = function(id)
{
var parentElement = document.getElementById(id);
var element = parentElement.firstChild;
while (element && element!=parentElement)
{
if (element.nodeName == 'DIV' && element.className == 'SRChildren')
{
return element;
}
if (element.nodeName == 'DIV' && element.hasChildNodes())
{
element = element.firstChild;
}
else if (element.nextSibling)
{
element = element.nextSibling;
}
else
{
do
{
element = element.parentNode;
}
while (element && element!=parentElement && !element.nextSibling);
if (element && element!=parentElement)
{
element = element.nextSibling;
}
}
}
}
this.Toggle = function(id)
{
var element = this.FindChildElement(id);
if (element)
{
if (element.style.display == 'block')
{
element.style.display = 'none';
}
else
{
element.style.display = 'block';
}
}
}
// Searches for the passed string. If there is no parameter,
// it takes it from the URL query.
//
// Always returns true, since other documents may try to call it
// and that may or may not be possible.
this.Search = function(search)
{
if (!search) // get search word from URL
{
search = window.location.search;
search = search.substring(1); // Remove the leading '?'
search = unescape(search);
}
search = search.replace(/^ +/, ""); // strip leading spaces
search = search.replace(/ +$/, ""); // strip trailing spaces
search = search.toLowerCase();
search = convertToId(search);
var resultRows = document.getElementsByTagName("div");
var matches = 0;
var i = 0;
while (i < resultRows.length)
{
var row = resultRows.item(i);
if (row.className == "SRResult")
{
var rowMatchName = row.id.toLowerCase();
rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
if (search.length<=rowMatchName.length &&
rowMatchName.substr(0, search.length)==search)
{
row.style.display = 'block';
matches++;
}
else
{
row.style.display = 'none';
}
}
i++;
}
document.getElementById("Searching").style.display='none';
if (matches == 0) // no results
{
document.getElementById("NoMatches").style.display='block';
}
else // at least one result
{
document.getElementById("NoMatches").style.display='none';
}
this.lastMatchCount = matches;
return true;
}
// return the first item with index index or higher that is visible
this.NavNext = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index++;
}
return focusItem;
}
this.NavPrev = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index--;
}
return focusItem;
}
this.ProcessKeys = function(e)
{
if (e.type == "keydown")
{
this.repeatOn = false;
this.lastKey = e.keyCode;
}
else if (e.type == "keypress")
{
if (!this.repeatOn)
{
if (this.lastKey) this.repeatOn = true;
return false; // ignore first keypress after keydown
}
}
else if (e.type == "keyup")
{
this.lastKey = 0;
this.repeatOn = false;
}
return this.lastKey!=0;
}
this.Nav = function(evt,itemIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
var newIndex = itemIndex-1;
var focusItem = this.NavPrev(newIndex);
if (focusItem)
{
var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
if (child && child.style.display == 'block') // children visible
{
var n=0;
var tmpElem;
while (1) // search for last child
{
tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
if (tmpElem)
{
focusItem = tmpElem;
}
else // found it!
{
break;
}
n++;
}
}
}
if (focusItem)
{
focusItem.focus();
}
else // return focus to search field
{
parent.document.getElementById("MSearchField").focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = itemIndex+1;
var focusItem;
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem && elem.style.display == 'block') // children visible
{
focusItem = document.getElementById('Item'+itemIndex+'_c0');
}
if (!focusItem) focusItem = this.NavNext(newIndex);
if (focusItem) focusItem.focus();
}
else if (this.lastKey==39) // Right
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'block';
}
else if (this.lastKey==37) // Left
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'none';
}
else if (this.lastKey==27) // Escape
{
parent.searchBox.CloseResultsWindow();
parent.document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
this.NavChild = function(evt,itemIndex,childIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
if (childIndex>0)
{
var newIndex = childIndex-1;
document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
}
else // already at first child, jump to parent
{
document.getElementById('Item'+itemIndex).focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = childIndex+1;
var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
if (!elem) // last child, jump to parent next parent
{
elem = this.NavNext(itemIndex+1);
}
if (elem)
{
elem.focus();
}
}
else if (this.lastKey==27) // Escape
{
parent.searchBox.CloseResultsWindow();
parent.document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
}
function setKeyActions(elem,action)
{
elem.setAttribute('onkeydown',action);
elem.setAttribute('onkeypress',action);
elem.setAttribute('onkeyup',action);
}
function setClassAttr(elem,attr)
{
elem.setAttribute('class',attr);
elem.setAttribute('className',attr);
}
function createResults()
{
var results = document.getElementById("SRResults");
for (var e=0; e<searchData.length; e++)
{
var id = searchData[e][0];
var srResult = document.createElement('div');
srResult.setAttribute('id','SR_'+id);
setClassAttr(srResult,'SRResult');
var srEntry = document.createElement('div');
setClassAttr(srEntry,'SREntry');
var srLink = document.createElement('a');
srLink.setAttribute('id','Item'+e);
setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
setClassAttr(srLink,'SRSymbol');
srLink.innerHTML = searchData[e][1][0];
srEntry.appendChild(srLink);
if (searchData[e][1].length==2) // single result
{
srLink.setAttribute('href',searchData[e][1][1][0]);
if (searchData[e][1][1][1])
{
srLink.setAttribute('target','_parent');
}
var srScope = document.createElement('span');
setClassAttr(srScope,'SRScope');
srScope.innerHTML = searchData[e][1][1][2];
srEntry.appendChild(srScope);
}
else // multiple results
{
srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
var srChildren = document.createElement('div');
setClassAttr(srChildren,'SRChildren');
for (var c=0; c<searchData[e][1].length-1; c++)
{
var srChild = document.createElement('a');
srChild.setAttribute('id','Item'+e+'_c'+c);
setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
setClassAttr(srChild,'SRScope');
srChild.setAttribute('href',searchData[e][1][c+1][0]);
if (searchData[e][1][c+1][1])
{
srChild.setAttribute('target','_parent');
}
srChild.innerHTML = searchData[e][1][c+1][2];
srChildren.appendChild(srChild);
}
srEntry.appendChild(srChildren);
}
srResult.appendChild(srEntry);
results.appendChild(srResult);
}
}
function init_search()
{
var results = document.getElementById("MSearchSelectWindow");
for (var key in indexSectionLabels)
{
var link = document.createElement('a');
link.setAttribute('class','SelectItem');
link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
link.href='javascript:void(0)';
link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
results.appendChild(link);
}
searchBox.OnSelectItem(0);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 B

View File

@ -0,0 +1,24 @@
var indexSectionsWithContent =
{
0: "cdilmnpsu",
1: "du",
2: "cdlmnpsu",
3: "i"
};
var indexSectionNames =
{
0: "all",
1: "classes",
2: "functions",
3: "pages"
};
var indexSectionLabels =
{
0: "All",
1: "Classes",
2: "Functions",
3: "Pages"
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 853 B

BIN
doc/output/html/sync_on.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 845 B

BIN
doc/output/html/tab_a.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

BIN
doc/output/html/tab_b.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

BIN
doc/output/html/tab_h.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 B

BIN
doc/output/html/tab_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

60
doc/output/html/tabs.css Normal file
View File

@ -0,0 +1,60 @@
.tabs, .tabs2, .tabs3 {
background-image: url('tab_b.png');
width: 100%;
z-index: 101;
font-size: 13px;
font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
}
.tabs2 {
font-size: 10px;
}
.tabs3 {
font-size: 9px;
}
.tablist {
margin: 0;
padding: 0;
display: table;
}
.tablist li {
float: left;
display: table-cell;
background-image: url('tab_b.png');
line-height: 36px;
list-style: none;
}
.tablist a {
display: block;
padding: 0 20px;
font-weight: bold;
background-image:url('tab_s.png');
background-repeat:no-repeat;
background-position:right;
color: #283A5D;
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
text-decoration: none;
outline: none;
}
.tabs3 .tablist a {
padding: 0 10px;
}
.tablist a:hover {
background-image: url('tab_h.png');
background-repeat:repeat-x;
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
text-decoration: none;
}
.tablist li.current a {
background-image: url('tab_a.png');
background-repeat:repeat-x;
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
}