-
Notifications
You must be signed in to change notification settings - Fork 0
/
autosaver_8h_source.html
187 lines (185 loc) · 20.4 KB
/
autosaver_8h_source.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Endorphin: src/autosaver.h Source File</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>
<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="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Endorphin
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></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">autosaver.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="autosaver_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Copyright 2020 Aaron Dewes <[email protected]></span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * it under the terms of the GNU General Public License as published by</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * (at your option) any later version.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * GNU General Public License for more details.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Boston, MA 02110-1301 USA</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/****************************************************************************</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">**</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved.</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">**</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">** This file is part of the demonstration applications of the Qt Toolkit.</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">**</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">** This file may be used under the terms of the GNU General Public</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">** License versions 2.0 or 3.0 as published by the Free Software</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">** included in the packaging of this file. Alternatively you may (at</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">** your option) use any later version of the GNU General Public</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">** License if such license has been publicly approved by Trolltech ASA</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">** (or its successors, if any) and the KDE Free Qt Foundation. In</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">** addition, as a special exception, Trolltech gives you certain</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">** additional rights. These rights are described in the Trolltech GPL</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">** Exception version 1.2, which can be found at</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">** http://www.trolltech.com/products/qt/gplexception/ and in the file</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">** GPL_EXCEPTION.txt in this package.</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">**</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">** Please review the following information to ensure GNU General</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">** Public Licensing requirements will be met:</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">** http://trolltech.com/products/qt/licenses/licensing/opensource/. If</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">** you are unsure which license is appropriate for your use, please</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">** review the following information:</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">** http://trolltech.com/products/qt/licenses/licensing/licensingoverview</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">** or contact the sales department at [email protected].</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">**</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">** In addition, as a special exception, Trolltech, as the sole</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">** copyright holder for Qt Designer, grants users of the Qt/Eclipse</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">** Integration plug-in the right for the Qt/Eclipse Integration to</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">** link to functionality provided by Qt Designer and its related</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">** libraries.</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">**</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">** granted herein.</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">**</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">**</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">****************************************************************************/</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#ifndef AUTOSAVER_H</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#define AUTOSAVER_H</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include <qobject.h></span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include <qbasictimer.h></span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include <QElapsedTimer></span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  </div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> This class will call the save() slot on the parent object when the parent changes.</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> It will wait several seconds after changed() to combining multiple changes and</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> prevent continuous writing to disk.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classAutoSaver.html"> 75</a></span> <span class="keyword">class </span><a class="code" href="classAutoSaver.html">AutoSaver</a> : <span class="keyword">public</span> <a class="code" href="classQObject.html">QObject</a></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> {</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  </div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  Q_OBJECT</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">public</span>:</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="classAutoSaver.html#a951202e4af2283d41cc128b6b8173adf">AutoSaver</a>(<a class="code" href="classQObject.html">QObject</a> *parent);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="classAutoSaver.html#a42bf52c620f063df7a0133e3f5047bf2">~AutoSaver</a>();</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordtype">void</span> <a class="code" href="classAutoSaver.html#a57d342ffc35a8ce99e772debd12c11d2">saveIfNeccessary</a>();</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  </div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">public</span> slots:</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordtype">void</span> <a class="code" href="classAutoSaver.html#ab6c0e8dce2fcad77801d292f343c58ef">changeOccurred</a>();</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordtype">void</span> <a class="code" href="classAutoSaver.html#ade136417c31f9773cfcbd7112aebf01c">timerEvent</a>(QTimerEvent *event);</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">private</span>:</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  QBasicTimer <a class="code" href="classAutoSaver.html#aab0e3f644dc4f75fadd728a5cba5ea2f">m_timer</a>;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  QElapsedTimer <a class="code" href="classAutoSaver.html#a0a29b51eee436197b91177b082da81c7">m_firstChange</a>;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  </div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> };</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  </div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#endif // AUTOSAVER_H</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  </div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassQObject_html"><div class="ttname"><a href="classQObject.html">QObject</a></div></div>
<div class="ttc" id="aclassAutoSaver_html"><div class="ttname"><a href="classAutoSaver.html">AutoSaver</a></div><div class="ttdef"><b>Definition:</b> <a href="autosaver_8h_source.html#l00075">autosaver.h:76</a></div></div>
<div class="ttc" id="aclassAutoSaver_html_ade136417c31f9773cfcbd7112aebf01c"><div class="ttname"><a href="classAutoSaver.html#ade136417c31f9773cfcbd7112aebf01c">AutoSaver::timerEvent</a></div><div class="ttdeci">void timerEvent(QTimerEvent *event)</div><div class="ttdef"><b>Definition:</b> <a href="autosaver_8cpp_source.html#l00100">autosaver.cpp:100</a></div></div>
<div class="ttc" id="aclassAutoSaver_html_aab0e3f644dc4f75fadd728a5cba5ea2f"><div class="ttname"><a href="classAutoSaver.html#aab0e3f644dc4f75fadd728a5cba5ea2f">AutoSaver::m_timer</a></div><div class="ttdeci">QBasicTimer m_timer</div><div class="ttdef"><b>Definition:</b> <a href="autosaver_8h_source.html#l00133">autosaver.h:133</a></div></div>
<div class="ttc" id="aclassAutoSaver_html_a57d342ffc35a8ce99e772debd12c11d2"><div class="ttname"><a href="classAutoSaver.html#a57d342ffc35a8ce99e772debd12c11d2">AutoSaver::saveIfNeccessary</a></div><div class="ttdeci">void saveIfNeccessary()</div><div class="ttdef"><b>Definition:</b> <a href="autosaver_8cpp_source.html#l00109">autosaver.cpp:109</a></div></div>
<div class="ttc" id="aclassAutoSaver_html_a951202e4af2283d41cc128b6b8173adf"><div class="ttname"><a href="classAutoSaver.html#a951202e4af2283d41cc128b6b8173adf">AutoSaver::AutoSaver</a></div><div class="ttdeci">AutoSaver(QObject *parent)</div><div class="ttdef"><b>Definition:</b> <a href="autosaver_8cpp_source.html#l00074">autosaver.cpp:74</a></div></div>
<div class="ttc" id="aclassAutoSaver_html_a0a29b51eee436197b91177b082da81c7"><div class="ttname"><a href="classAutoSaver.html#a0a29b51eee436197b91177b082da81c7">AutoSaver::m_firstChange</a></div><div class="ttdeci">QElapsedTimer m_firstChange</div><div class="ttdef"><b>Definition:</b> <a href="autosaver_8h_source.html#l00134">autosaver.h:134</a></div></div>
<div class="ttc" id="aclassAutoSaver_html_ab6c0e8dce2fcad77801d292f343c58ef"><div class="ttname"><a href="classAutoSaver.html#ab6c0e8dce2fcad77801d292f343c58ef">AutoSaver::changeOccurred</a></div><div class="ttdeci">void changeOccurred()</div><div class="ttdef"><b>Definition:</b> <a href="autosaver_8cpp_source.html#l00088">autosaver.cpp:88</a></div></div>
<div class="ttc" id="aclassAutoSaver_html_a42bf52c620f063df7a0133e3f5047bf2"><div class="ttname"><a href="classAutoSaver.html#a42bf52c620f063df7a0133e3f5047bf2">AutoSaver::~AutoSaver</a></div><div class="ttdeci">~AutoSaver()</div><div class="ttdef"><b>Definition:</b> <a href="autosaver_8cpp_source.html#l00079">autosaver.cpp:79</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.18
</small></address>
</body>
</html>