Felix 3 年 前
コミット
95374d28c6
100 ファイル変更6339 行追加904 行削除
  1. 3 3
      Doxyfile
  2. 44 28
      docs/html/aaircraftentry_8h_source.html
  3. 152 131
      docs/html/acalc_8h_source.html
  4. 134 0
      docs/html/acurrencyentry_8h_source.html
  5. 188 135
      docs/html/adatabase_8h_source.html
  6. 44 34
      docs/html/adatabasesetup_8h_source.html
  7. 165 0
      docs/html/adatabasetypes_8h_source.html
  8. 143 0
      docs/html/adate_8h_source.html
  9. 140 0
      docs/html/adatetime_8h_source.html
  10. 47 9
      docs/html/adebug_8h_source.html
  11. 8 5
      docs/html/adownload_8h_source.html
  12. 42 44
      docs/html/aentry_8h_source.html
  13. 53 37
      docs/html/aflightentry_8h_source.html
  14. 63 59
      docs/html/aircraftwidget_8h_source.html
  15. 172 0
      docs/html/alog_8h_source.html
  16. 38 37
      docs/html/annotated.html
  17. 17 11
      docs/html/annotated_dup.js
  18. 27 28
      docs/html/apilotentry_8h_source.html
  19. 31 11
      docs/html/areadcsv_8h_source.html
  20. 9 6
      docs/html/arunguard_8h_source.html
  21. 88 15
      docs/html/asettings_8h_source.html
  22. 156 0
      docs/html/astandardpaths_8h_source.html
  23. 21 16
      docs/html/astat_8h_source.html
  24. 165 0
      docs/html/astyle_8h_source.html
  25. 29 31
      docs/html/atailentry_8h_source.html
  26. 272 0
      docs/html/atime_8h_source.html
  27. 11 8
      docs/html/atimer_8h_source.html
  28. 179 0
      docs/html/backupwidget_8h_source.html
  29. 12 7
      docs/html/class_a_data_base_setup-members.html
  30. 22 13
      docs/html/class_a_data_base_setup.html
  31. 143 0
      docs/html/class_a_database-members.html
  32. 582 0
      docs/html/class_a_database.html
  33. 40 0
      docs/html/class_a_database.js
  34. BIN
      docs/html/class_a_database.png
  35. 107 0
      docs/html/class_a_database_error-members.html
  36. 132 0
      docs/html/class_a_database_error.html
  37. 6 0
      docs/html/class_a_database_error.js
  38. BIN
      docs/html/class_a_database_error.png
  39. 108 0
      docs/html/class_a_date-members.html
  40. 173 0
      docs/html/class_a_date.html
  41. 6 3
      docs/html/class_a_download-members.html
  42. 6 3
      docs/html/class_a_download.html
  43. 116 0
      docs/html/class_a_entry-members.html
  44. 174 0
      docs/html/class_a_entry.html
  45. 15 0
      docs/html/class_a_entry.js
  46. BIN
      docs/html/class_a_entry.png
  47. 107 0
      docs/html/class_a_file_standard_item-members.html
  48. 134 0
      docs/html/class_a_file_standard_item.html
  49. 6 0
      docs/html/class_a_file_standard_item.js
  50. BIN
      docs/html/class_a_file_standard_item.png
  51. 125 0
      docs/html/class_a_flight_entry-members.html
  52. 240 0
      docs/html/class_a_flight_entry.html
  53. 16 0
      docs/html/class_a_flight_entry.js
  54. BIN
      docs/html/class_a_flight_entry.png
  55. 6 3
      docs/html/class_a_run_guard-members.html
  56. 6 3
      docs/html/class_a_run_guard.html
  57. 24 5
      docs/html/class_a_settings-members.html
  58. 114 11
      docs/html/class_a_settings.html
  59. 44 0
      docs/html/class_a_settings.js
  60. 113 0
      docs/html/class_a_standard_paths-members.html
  61. 174 0
      docs/html/class_a_standard_paths.html
  62. 9 0
      docs/html/class_a_standard_paths.js
  63. 113 0
      docs/html/class_a_style-members.html
  64. 179 0
      docs/html/class_a_style.html
  65. 6 3
      docs/html/class_a_timer-members.html
  66. 6 3
      docs/html/class_a_timer.html
  67. 9 4
      docs/html/class_aircraft_widget-members.html
  68. 30 7
      docs/html/class_aircraft_widget.html
  69. 3 1
      docs/html/class_aircraft_widget.js
  70. 106 0
      docs/html/class_backup_widget-members.html
  71. 122 0
      docs/html/class_backup_widget.html
  72. 5 0
      docs/html/class_backup_widget.js
  73. BIN
      docs/html/class_backup_widget.png
  74. 6 3
      docs/html/class_debug_widget-members.html
  75. 6 3
      docs/html/class_debug_widget.html
  76. 6 3
      docs/html/class_first_run_dialog-members.html
  77. 6 3
      docs/html/class_first_run_dialog.html
  78. 8 4
      docs/html/class_home_widget-members.html
  79. 13 3
      docs/html/class_home_widget.html
  80. 2 1
      docs/html/class_home_widget.js
  81. 10 6
      docs/html/class_logbook_widget-members.html
  82. 16 9
      docs/html/class_logbook_widget.html
  83. 3 2
      docs/html/class_logbook_widget.js
  84. 6 3
      docs/html/class_new_flight_dialog-members.html
  85. 7 3
      docs/html/class_new_flight_dialog.html
  86. 6 3
      docs/html/class_new_pilot_dialog-members.html
  87. 6 3
      docs/html/class_new_pilot_dialog.html
  88. 6 3
      docs/html/class_new_tail_dialog-members.html
  89. 6 3
      docs/html/class_new_tail_dialog.html
  90. 107 0
      docs/html/class_opl_1_1_a_notification_handler-members.html
  91. 128 0
      docs/html/class_opl_1_1_a_notification_handler.html
  92. 10 5
      docs/html/class_pilots_widget-members.html
  93. 31 7
      docs/html/class_pilots_widget.html
  94. 3 1
      docs/html/class_pilots_widget.js
  95. 13 5
      docs/html/class_settings_widget-members.html
  96. 21 6
      docs/html/class_settings_widget.html
  97. 7 1
      docs/html/class_settings_widget.js
  98. 43 47
      docs/html/classes.html
  99. 77 60
      docs/html/debugwidget_8h_source.html
  100. 6 3
      docs/html/dir_018e9aafb459e6e1a4953404cb0c0b1d.html

+ 3 - 3
Doxyfile

@@ -51,14 +51,14 @@ PROJECT_BRIEF          =
 # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
 # the logo to the output directory.
 
-PROJECT_LOGO           =
+PROJECT_LOGO           = /home/felix/git/openpilotlog/assets/opl-icons/logos/logo_text.png
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
 # into which the generated documentation will be written. If a relative path is
 # entered, it will be relative to the location where doxygen was started. If
 # left blank the current directory will be used.
 
-OUTPUT_DIRECTORY       = /home/kotzaboss/Git/openpilotlog/docs
+OUTPUT_DIRECTORY       = /home/felix/git/openpilotlog/docs
 
 # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
 # directories (in 2 levels) under the output directory of each output format and
@@ -844,7 +844,7 @@ WARN_LOGFILE           =
 # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
 # Note: If this tag is empty the current directory is searched.
 
-INPUT                  = /home/kotzaboss/Git/openpilotlog/src
+INPUT                  = /home/felix/git/openpilotlog/src
 
 # This tag can be used to specify the character encoding of the source files
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses

+ 44 - 28
docs/html/aaircraftentry_8h_source.html

@@ -3,9 +3,9 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>openPilotLog: src/experimental/aaircraftentry.h Source File</title>
+<title>openPilotLog: src/classes/aaircraftentry.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>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -86,36 +87,51 @@ $(document).ready(function(){initNavTree('aaircraftentry_8h_source.html',''); in
 <div class="title">aaircraftentry.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef AAIRCRAFTENTRY_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define AAIRCRAFTENTRY_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160; </div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &quot;src/experimental/aentry.h&quot;</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &quot;src/experimental/decl.h&quot;</span></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;<span class="keyword">namespace </span><a class="code" href="namespaceexperimental.html">experimental</a> {</div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160; </div>
-<div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="structexperimental_1_1_a_aircraft_entry.html">    9</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structexperimental_1_1_a_aircraft_entry.html">AAircraftEntry</a> : <span class="keyword">public</span> <a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a> {</div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="structexperimental_1_1_a_aircraft_entry.html">AAircraftEntry</a>();</div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="structexperimental_1_1_a_aircraft_entry.html">AAircraftEntry</a>(<span class="keyword">const</span> <a class="code" href="structexperimental_1_1_a_aircraft_entry.html">AAircraftEntry</a>&amp; te) = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="structexperimental_1_1_a_aircraft_entry.html">AAircraftEntry</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="structexperimental_1_1_a_aircraft_entry.html">AAircraftEntry</a>&amp; te) = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="structexperimental_1_1_a_aircraft_entry.html">AAircraftEntry</a>(<span class="keywordtype">int</span> row_id);</div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="structexperimental_1_1_a_aircraft_entry.html">AAircraftEntry</a>(TableData table_data);</div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;};</div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160; </div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;} <span class="comment">// namespace experimental</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#endif // AAIRCRAFTENTRY_H</span></div>
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *the Free Software Foundation, either version 3 of the License, or</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *(at your option) any later version.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *This program is distributed in the hope that it will be useful,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *GNU General Public License for more details.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *You should have received a copy of the GNU General Public License</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *along with this program.  If not, see &lt;https://www.gnu.org/licenses/&gt;.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef AAIRCRAFTENTRY_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define AAIRCRAFTENTRY_H</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;src/classes/aentry.h&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;src/database/adatabasetypes.h&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="struct_a_aircraft_entry.html">   24</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_a_aircraft_entry.html">AAircraftEntry</a> : <span class="keyword">public</span> <a class="code" href="class_a_entry.html">AEntry</a> {</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <a class="code" href="struct_a_aircraft_entry.html">AAircraftEntry</a>();</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <a class="code" href="struct_a_aircraft_entry.html">AAircraftEntry</a>(RowId_T row_id);</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <a class="code" href="struct_a_aircraft_entry.html">AAircraftEntry</a>(RowData_T table_data);</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="struct_a_aircraft_entry.html">AAircraftEntry</a>(<span class="keyword">const</span> <a class="code" href="struct_a_aircraft_entry.html">AAircraftEntry</a>&amp; te) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <a class="code" href="struct_a_aircraft_entry.html">AAircraftEntry</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="struct_a_aircraft_entry.html">AAircraftEntry</a>&amp; te) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;};</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#endif // AAIRCRAFTENTRY_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="anamespaceexperimental_html"><div class="ttname"><a href="namespaceexperimental.html">experimental</a></div><div class="ttdoc">Temporary namespace for experimental features. Will be removed in later versions.</div><div class="ttdef"><b>Definition:</b> aaircraftentry.cpp:20</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_entry_html"><div class="ttname"><a href="classexperimental_1_1_a_entry.html">experimental::AEntry</a></div><div class="ttdoc">The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...</div><div class="ttdef"><b>Definition:</b> aentry.h:42</div></div>
-<div class="ttc" id="astructexperimental_1_1_a_aircraft_entry_html"><div class="ttname"><a href="structexperimental_1_1_a_aircraft_entry.html">experimental::AAircraftEntry</a></div><div class="ttdef"><b>Definition:</b> aaircraftentry.h:9</div></div>
+<div class="ttc" id="astruct_a_aircraft_entry_html"><div class="ttname"><a href="struct_a_aircraft_entry.html">AAircraftEntry</a></div><div class="ttdef"><b>Definition:</b> aaircraftentry.h:24</div></div>
+<div class="ttc" id="aclass_a_entry_html"><div class="ttname"><a href="class_a_entry.html">AEntry</a></div><div class="ttdoc">The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...</div><div class="ttdef"><b>Definition:</b> aentry.h:40</div></div>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_4be88786e9e8558ded50c83b495719ca.html">experimental</a></li><li class="navelem"><b>aaircraftentry.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_018e9aafb459e6e1a4953404cb0c0b1d.html">classes</a></li><li class="navelem"><b>aaircraftentry.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 152 - 131
docs/html/acalc_8h_source.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: src/functions/acalc.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -86,147 +87,167 @@ $(document).ready(function(){initNavTree('acalc_8h_source.html',''); initResizab
 <div class="title">acalc.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef ACALC_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define ACALC_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160; </div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &quot;src/database/db.h&quot;</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &quot;src/classes/aircraft.h&quot;</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;src/classes/flight.h&quot;</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &quot;src/classes/asettings.h&quot;</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &lt;QDateTime&gt;</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;cmath&gt;</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &lt;QDebug&gt;</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="namespace_a_calc.html">   17</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_a_calc.html">ACalc</a> {</div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
-<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="namespace_a_calc.html#a861ed796cc18a964b119b38fcd61f348">   25</a></span>&#160;<span class="keyword">inline</span> QTime <a class="code" href="namespace_a_calc.html#a861ed796cc18a964b119b38fcd61f348">blocktime</a>(QTime tofb, QTime tonb)</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;{</div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    QTime blocktime_out(0, 0); <span class="comment">// initialise return value at midnight</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="keywordflow">if</span> (tonb &gt; tofb) { <span class="comment">// landing same day</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        <span class="keywordtype">int</span> blockseconds = tofb.secsTo(tonb);</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        blocktime_out = blocktime_out.addSecs(blockseconds);</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    } <span class="keywordflow">else</span> { <span class="comment">// landing next day</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        QTime midnight(0, 0);</div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="keywordtype">int</span> blockseconds = tofb.secsTo(midnight);</div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        blocktime_out = blocktime_out.addSecs(blockseconds);</div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        blockseconds = midnight.secsTo(tonb);</div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        blocktime_out = blocktime_out.addSecs(blockseconds);</div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    }</div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keywordflow">return</span> blocktime_out;</div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;}</div>
-<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="namespace_a_calc.html#a5998cba97220eee788b6e20515f19ba6">   46</a></span>&#160;<span class="keyword">inline</span> QString <a class="code" href="namespace_a_calc.html#a5998cba97220eee788b6e20515f19ba6">minutesToString</a>(QString block_minutes)</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;{</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keywordtype">int</span> minutes = block_minutes.toInt();</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    QString hour = QString::number(minutes / 60);</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keywordflow">if</span> (hour.size() &lt; 2) {</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        hour.prepend(<span class="stringliteral">&quot;0&quot;</span>);</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    }</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    QString minute = QString::number(minutes % 60);</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordflow">if</span> (minute.size() &lt; 2) {</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        minute.prepend(<span class="stringliteral">&quot;0&quot;</span>);</div>
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *the Free Software Foundation, either version 3 of the License, or</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *(at your option) any later version.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *This program is distributed in the hope that it will be useful,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *GNU General Public License for more details.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *You should have received a copy of the GNU General Public License</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *along with this program.  If not, see &lt;https://www.gnu.org/licenses/&gt;.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef ACALC_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define ACALC_H</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#define _USE_MATH_DEFINES</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;cmath&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;QDateTime&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;QDebug&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;src/functions/alog.h&quot;</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="namespace_a_calc.html">   34</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_a_calc.html">ACalc</a> {</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;QT_DEPRECATED</div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="namespace_a_calc.html#a8ac68999097f2e28a3b4bd2709b5b19f">   43</a></span>&#160;<span class="keyword">inline</span> QTime <a class="code" href="namespace_a_calc.html#a8ac68999097f2e28a3b4bd2709b5b19f">blocktime</a>(QTime tofb, QTime tonb)</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;{</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    QTime blocktime_out(0, 0); <span class="comment">// initialise return value at midnight</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <span class="keywordflow">if</span> (tonb &gt; tofb) { <span class="comment">// landing same day</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <span class="keywordtype">int</span> blockseconds = tofb.secsTo(tonb);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        blocktime_out = blocktime_out.addSecs(blockseconds);</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    } <span class="keywordflow">else</span> { <span class="comment">// landing next day</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        QTime midnight(0, 0);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <span class="keywordtype">int</span> blockseconds = tofb.secsTo(midnight);</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        blocktime_out = blocktime_out.addSecs(blockseconds);</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        blockseconds = midnight.secsTo(tonb);</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        blocktime_out = blocktime_out.addSecs(blockseconds);</div>
 <div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    }</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    QString block_time = hour + <span class="stringliteral">&quot;:&quot;</span> + minute;</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordflow">return</span> block_time;</div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;};</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160; </div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">inline</span> QString <a class="code" href="namespace_a_calc.html#a5998cba97220eee788b6e20515f19ba6">minutesToString</a>(<span class="keywordtype">int</span> block_minutes)</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;{</div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    QString hour = QString::number(block_minutes / 60);</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keywordflow">if</span> (hour.size() &lt; 2) {</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        hour.prepend(<span class="stringliteral">&quot;0&quot;</span>);</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    }</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    QString minute = QString::number(block_minutes % 60);</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keywordflow">if</span> (minute.size() &lt; 2) {</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        minute.prepend(<span class="stringliteral">&quot;0&quot;</span>);</div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    }</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    QString <a class="code" href="namespace_a_calc.html#a861ed796cc18a964b119b38fcd61f348">blocktime</a> = hour + <span class="stringliteral">&quot;:&quot;</span> + minute;</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespace_a_calc.html#a861ed796cc18a964b119b38fcd61f348">blocktime</a>;</div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;};</div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
-<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="namespace_a_calc.html#ab9a4beeaf2f02314adef0dc6c0dc2ccd">   80</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespace_a_calc.html#ab9a4beeaf2f02314adef0dc6c0dc2ccd">QTimeToMinutes</a>(QTime time)</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;{</div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    QString timestring = time.toString(<span class="stringliteral">&quot;hh:mm&quot;</span>);</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keywordtype">int</span> minutes = (timestring.left(2).toInt()) * 60;</div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    minutes += timestring.right(2).toInt();</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordflow">return</span> minutes;</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;}</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
-<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="namespace_a_calc.html#a0354672c538f003b4f7624ad38b6a42b">   93</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespace_a_calc.html#a0354672c538f003b4f7624ad38b6a42b">stringToMinutes</a>(QString timestring)</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;{</div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="keywordtype">int</span> minutes = (timestring.left(2).toInt()) * 60;</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    minutes += timestring.right(2).toInt();</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    timestring = QString::number(minutes);</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="keywordflow">return</span> minutes;</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;}</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
-<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="namespace_a_calc.html#a2a540662e22840e4b58e8e760611b4f2">  106</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="namespace_a_calc.html#a2a540662e22840e4b58e8e760611b4f2">radToDeg</a>(<span class="keywordtype">double</span> rad)</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;{</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keywordtype">double</span> deg = rad * (180 / M_PI);</div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordflow">return</span> deg;</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;}</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
-<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="namespace_a_calc.html#acafe6c0bede38e737937e2062fd93c71">  117</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="namespace_a_calc.html#acafe6c0bede38e737937e2062fd93c71">degToRad</a>(<span class="keywordtype">double</span> deg)</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;{</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keywordtype">double</span> rad = deg * (M_PI / 180);</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keywordflow">return</span> rad;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordflow">return</span> blocktime_out;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;}</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;QT_DEPRECATED</div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="namespace_a_calc.html#ac5e39b538ea3663556c820d237f242a2">   65</a></span>&#160;<span class="keyword">inline</span> QString <a class="code" href="namespace_a_calc.html#ac5e39b538ea3663556c820d237f242a2">minutesToString</a>(QString block_minutes)</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;{</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordtype">int</span> minutes = block_minutes.toInt();</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    QString hour = QString::number(minutes / 60);</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordflow">if</span> (hour.size() &lt; 2) {</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        hour.prepend(<span class="stringliteral">&quot;0&quot;</span>);</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    }</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    QString minute = QString::number(minutes % 60);</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="keywordflow">if</span> (minute.size() &lt; 2) {</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        minute.prepend(<span class="stringliteral">&quot;0&quot;</span>);</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    }</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    QString block_time = hour + <span class="stringliteral">&quot;:&quot;</span> + minute;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keywordflow">return</span> block_time;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;};</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160; </div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;QT_DEPRECATED</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">inline</span> QString <a class="code" href="namespace_a_calc.html#ac5e39b538ea3663556c820d237f242a2">minutesToString</a>(<span class="keywordtype">int</span> block_minutes)</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;{</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    QString hour = QString::number(block_minutes / 60);</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keywordflow">if</span> (hour.size() &lt; 2) {</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        hour.prepend(<span class="stringliteral">&quot;0&quot;</span>);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    }</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    QString minute = QString::number(block_minutes % 60);</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <span class="keywordflow">if</span> (minute.size() &lt; 2) {</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        minute.prepend(<span class="stringliteral">&quot;0&quot;</span>);</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    }</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    QString <a class="code" href="namespace_a_calc.html#a8ac68999097f2e28a3b4bd2709b5b19f">blocktime</a> = hour + <span class="stringliteral">&quot;:&quot;</span> + minute;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespace_a_calc.html#a8ac68999097f2e28a3b4bd2709b5b19f">blocktime</a>;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;};</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;QT_DEPRECATED</div>
+<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="namespace_a_calc.html#a9568b0d72cd6b0f91f686342bc624e1f">  101</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespace_a_calc.html#a9568b0d72cd6b0f91f686342bc624e1f">QTimeToMinutes</a>(QTime time)</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;{</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    QString timestring = time.toString(<span class="stringliteral">&quot;hh:mm&quot;</span>);</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordtype">int</span> minutes = (timestring.left(2).toInt()) * 60;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    minutes += timestring.right(2).toInt();</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keywordflow">return</span> minutes;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;}</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;QT_DEPRECATED</div>
+<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="namespace_a_calc.html#a4c829bf747bcd84bf6b1efb3ab0201d1">  115</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespace_a_calc.html#a4c829bf747bcd84bf6b1efb3ab0201d1">stringToMinutes</a>(QString timestring)</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;{</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keywordtype">int</span> minutes = (timestring.left(2).toInt()) * 60;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    minutes += timestring.right(2).toInt();</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    timestring = QString::number(minutes);</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keywordflow">return</span> minutes;</div>
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;}</div>
 <div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160; </div>
-<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="namespace_a_calc.html#a37c52e8b522b233087b8c4d94f30fca5">  128</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="namespace_a_calc.html#a37c52e8b522b233087b8c4d94f30fca5">radToNauticalMiles</a>(<span class="keywordtype">double</span> rad)</div>
+<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="namespace_a_calc.html#a2a540662e22840e4b58e8e760611b4f2">  128</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="namespace_a_calc.html#a2a540662e22840e4b58e8e760611b4f2">radToDeg</a>(<span class="keywordtype">double</span> rad)</div>
 <div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;{</div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="keywordtype">double</span> nm = rad * 3440.06479482;</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="keywordflow">return</span> nm;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="keywordtype">double</span> deg = rad * (180 / M_PI);</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="keywordflow">return</span> deg;</div>
 <div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;}</div>
 <div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">double</span> <a class="code" href="namespace_a_calc.html#a72c6fca35602a24ff8435f86abdc78d7">greatCircleDistance</a>(<span class="keywordtype">double</span> lat1, <span class="keywordtype">double</span> lon1, <span class="keywordtype">double</span> lat2, <span class="keywordtype">double</span> lon2);</div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160; </div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="keywordtype">double</span> <a class="code" href="namespace_a_calc.html#a2d15bbb67e99d502e2fd730c47854a9f">greatCircleDistanceBetweenAirports</a>(<span class="keyword">const</span> QString &amp;dept, <span class="keyword">const</span> QString &amp;dest);</div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160; </div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;QVector&lt;QVector&lt;double&gt;&gt; <a class="code" href="namespace_a_calc.html#a4a071a5788f00c98834127f9c5721383">intermediatePointsOnGreatCircle</a>(<span class="keywordtype">double</span> lat1,</div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;                                                         <span class="keywordtype">double</span> lon1,</div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;                                                         <span class="keywordtype">double</span> lat2,</div>
-<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;                                                         <span class="keywordtype">double</span> lon2,</div>
-<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;                                                         <span class="keywordtype">int</span> tblk);</div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keywordtype">double</span> <a class="code" href="namespace_a_calc.html#acfa830e821e2f9e20bebffda67d393b1">solarElevation</a>(QDateTime utc_time_point, <span class="keywordtype">double</span> lat, <span class="keywordtype">double</span> lon);</div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160; </div>
-<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keywordtype">int</span> <a class="code" href="namespace_a_calc.html#a55ede99d0f9f6e8a2f3a467859c0f192">calculateNightTime</a>(<span class="keyword">const</span> QString &amp;dept, <span class="keyword">const</span> QString &amp;dest, QDateTime departureTime, <span class="keywordtype">int</span> tblk, <span class="keywordtype">int</span> nightAngle);</div>
-<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160; </div>
-<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keywordtype">bool</span> isNight(<span class="keyword">const</span> QString &amp;icao, QDateTime event_time, <span class="keywordtype">int</span> night_angle);</div>
-<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160; </div>
-<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;QString <a class="code" href="namespace_a_calc.html#a362d1ab22d757e4c14d9cf143afec234">formatTimeInput</a>(QString user_input);</div>
-<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160; </div>
-<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespace_a_calc.html#a3f12e1f72eeb5cc1cfe9b7b6df47391c">updateAutoTimes</a>(<span class="keywordtype">int</span> acft_id);</div>
-<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160; </div>
-<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keywordtype">void</span> autoTimes(<a class="code" href="class_flight.html">Flight</a>, <a class="code" href="class_aircraft.html">Aircraft</a>);</div>
-<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160; </div>
-<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespace_a_calc.html#adb7a8a84011affb4173bb59be4449b9d">updateNightTimes</a>();</div>
-<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;} <span class="comment">// namespace ACalc</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160; </div>
-<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="preprocessor">#endif // ACALC_H</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="namespace_a_calc.html#acafe6c0bede38e737937e2062fd93c71">  139</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="namespace_a_calc.html#acafe6c0bede38e737937e2062fd93c71">degToRad</a>(<span class="keywordtype">double</span> deg)</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;{</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="keywordtype">double</span> rad = deg * (M_PI / 180);</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <span class="keywordflow">return</span> rad;</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;}</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="namespace_a_calc.html#a37c52e8b522b233087b8c4d94f30fca5">  150</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="namespace_a_calc.html#a37c52e8b522b233087b8c4d94f30fca5">radToNauticalMiles</a>(<span class="keywordtype">double</span> rad)</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;{</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="keywordtype">double</span> nm = rad * 3440.06479482;</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <span class="keywordflow">return</span> nm;</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;}</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keywordtype">double</span> <a class="code" href="namespace_a_calc.html#a72c6fca35602a24ff8435f86abdc78d7">greatCircleDistance</a>(<span class="keywordtype">double</span> lat1, <span class="keywordtype">double</span> lon1, <span class="keywordtype">double</span> lat2, <span class="keywordtype">double</span> lon2);</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160; </div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keywordtype">double</span> <a class="code" href="namespace_a_calc.html#a2d15bbb67e99d502e2fd730c47854a9f">greatCircleDistanceBetweenAirports</a>(<span class="keyword">const</span> QString &amp;dept, <span class="keyword">const</span> QString &amp;dest);</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; </div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;QVector&lt;QVector&lt;double&gt;&gt; <a class="code" href="namespace_a_calc.html#a4a071a5788f00c98834127f9c5721383">intermediatePointsOnGreatCircle</a>(<span class="keywordtype">double</span> lat1,</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;                                                         <span class="keywordtype">double</span> lon1,</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;                                                         <span class="keywordtype">double</span> lat2,</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;                                                         <span class="keywordtype">double</span> lon2,</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;                                                         <span class="keywordtype">int</span> tblk);</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="keywordtype">double</span> <a class="code" href="namespace_a_calc.html#acfa830e821e2f9e20bebffda67d393b1">solarElevation</a>(QDateTime utc_time_point, <span class="keywordtype">double</span> lat, <span class="keywordtype">double</span> lon);</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160; </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keywordtype">int</span> <a class="code" href="namespace_a_calc.html#a55ede99d0f9f6e8a2f3a467859c0f192">calculateNightTime</a>(<span class="keyword">const</span> QString &amp;dept, <span class="keyword">const</span> QString &amp;dest, QDateTime departureTime, <span class="keywordtype">int</span> tblk, <span class="keywordtype">int</span> nightAngle);</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160; </div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keywordtype">bool</span> isNight(<span class="keyword">const</span> QString &amp;icao, QDateTime event_time, <span class="keywordtype">int</span> night_angle);</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160; </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;QString <a class="code" href="namespace_a_calc.html#ad088e5dd93d1938ff97f88032dc0adec">formatTimeInput</a>(QString user_input);</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160; </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespace_a_calc.html#a3f12e1f72eeb5cc1cfe9b7b6df47391c">updateAutoTimes</a>(<span class="keywordtype">int</span> acft_id);</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160; </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespace_a_calc.html#adb7a8a84011affb4173bb59be4449b9d">updateNightTimes</a>();</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;} <span class="comment">// namespace ACalc</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160; </div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="preprocessor">#endif // ACALC_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="aclass_flight_html"><div class="ttname"><a href="class_flight.html">Flight</a></div><div class="ttdef"><b>Definition:</b> flight.h:28</div></div>
-<div class="ttc" id="anamespace_a_calc_html_a861ed796cc18a964b119b38fcd61f348"><div class="ttname"><a href="namespace_a_calc.html#a861ed796cc18a964b119b38fcd61f348">ACalc::blocktime</a></div><div class="ttdeci">QTime blocktime(QTime tofb, QTime tonb)</div><div class="ttdoc">ACalc::blocktime Calculates Block Time for a given departure and arrival time.</div><div class="ttdef"><b>Definition:</b> acalc.h:25</div></div>
-<div class="ttc" id="anamespace_a_calc_html_a4a071a5788f00c98834127f9c5721383"><div class="ttname"><a href="namespace_a_calc.html#a4a071a5788f00c98834127f9c5721383">ACalc::intermediatePointsOnGreatCircle</a></div><div class="ttdeci">QVector&lt; QVector&lt; double &gt; &gt; intermediatePointsOnGreatCircle(double lat1, double lon1, double lat2, double lon2, int tblk)</div><div class="ttdoc">Calculates a list of points (lat,lon) along the Great Circle between two points. The points are space...</div><div class="ttdef"><b>Definition:</b> acalc.cpp:114</div></div>
-<div class="ttc" id="anamespace_a_calc_html_a3f12e1f72eeb5cc1cfe9b7b6df47391c"><div class="ttname"><a href="namespace_a_calc.html#a3f12e1f72eeb5cc1cfe9b7b6df47391c">ACalc::updateAutoTimes</a></div><div class="ttdeci">void updateAutoTimes(int acft_id)</div><div class="ttdoc">ACalc::updateAutoTimes When the details of an aircraft are changed, this function recalculates deduct...</div><div class="ttdef"><b>Definition:</b> acalc.cpp:262</div></div>
-<div class="ttc" id="anamespace_a_calc_html_ab9a4beeaf2f02314adef0dc6c0dc2ccd"><div class="ttname"><a href="namespace_a_calc.html#ab9a4beeaf2f02314adef0dc6c0dc2ccd">ACalc::QTimeToMinutes</a></div><div class="ttdeci">int QTimeToMinutes(QTime time)</div><div class="ttdoc">ACalc::time_to_minutes converts QTime to int minutes.</div><div class="ttdef"><b>Definition:</b> acalc.h:80</div></div>
-<div class="ttc" id="anamespace_a_calc_html_a37c52e8b522b233087b8c4d94f30fca5"><div class="ttname"><a href="namespace_a_calc.html#a37c52e8b522b233087b8c4d94f30fca5">ACalc::radToNauticalMiles</a></div><div class="ttdeci">double radToNauticalMiles(double rad)</div><div class="ttdoc">radToNauticalMiles Convert Radians to nautical miles</div><div class="ttdef"><b>Definition:</b> acalc.h:128</div></div>
-<div class="ttc" id="anamespace_a_calc_html_a0354672c538f003b4f7624ad38b6a42b"><div class="ttname"><a href="namespace_a_calc.html#a0354672c538f003b4f7624ad38b6a42b">ACalc::stringToMinutes</a></div><div class="ttdeci">int stringToMinutes(QString timestring)</div><div class="ttdoc">ACalc::string_to_minutes Converts String Time to String Number of Minutes.</div><div class="ttdef"><b>Definition:</b> acalc.h:93</div></div>
-<div class="ttc" id="aclass_aircraft_html"><div class="ttname"><a href="class_aircraft.html">Aircraft</a></div><div class="ttdoc">The aircraft class.</div><div class="ttdef"><b>Definition:</b> aircraft.h:28</div></div>
-<div class="ttc" id="anamespace_a_calc_html"><div class="ttname"><a href="namespace_a_calc.html">ACalc</a></div><div class="ttdoc">The ACalc namespace provides various functions for calculations that are performed outside of the dat...</div><div class="ttdef"><b>Definition:</b> acalc.h:17</div></div>
-<div class="ttc" id="anamespace_a_calc_html_a5998cba97220eee788b6e20515f19ba6"><div class="ttname"><a href="namespace_a_calc.html#a5998cba97220eee788b6e20515f19ba6">ACalc::minutesToString</a></div><div class="ttdeci">QString minutesToString(QString block_minutes)</div><div class="ttdoc">ACalc::minutes_to_string Converts database time to String Time.</div><div class="ttdef"><b>Definition:</b> acalc.h:46</div></div>
-<div class="ttc" id="anamespace_a_calc_html_acafe6c0bede38e737937e2062fd93c71"><div class="ttname"><a href="namespace_a_calc.html#acafe6c0bede38e737937e2062fd93c71">ACalc::degToRad</a></div><div class="ttdeci">double degToRad(double deg)</div><div class="ttdoc">degToRad Converts degrees to radians</div><div class="ttdef"><b>Definition:</b> acalc.h:117</div></div>
-<div class="ttc" id="anamespace_a_calc_html_a2a540662e22840e4b58e8e760611b4f2"><div class="ttname"><a href="namespace_a_calc.html#a2a540662e22840e4b58e8e760611b4f2">ACalc::radToDeg</a></div><div class="ttdeci">double radToDeg(double rad)</div><div class="ttdoc">radToDeg Converts radians to degrees</div><div class="ttdef"><b>Definition:</b> acalc.h:106</div></div>
-<div class="ttc" id="anamespace_a_calc_html_a2d15bbb67e99d502e2fd730c47854a9f"><div class="ttname"><a href="namespace_a_calc.html#a2d15bbb67e99d502e2fd730c47854a9f">ACalc::greatCircleDistanceBetweenAirports</a></div><div class="ttdeci">double greatCircleDistanceBetweenAirports(const QString &amp;dept, const QString &amp;dest)</div><div class="ttdoc">ACalc::greatCircleDistanceBetweenAirports Calculates Great Circle distance between two coordinates,...</div><div class="ttdef"><b>Definition:</b> acalc.cpp:87</div></div>
-<div class="ttc" id="anamespace_a_calc_html_acfa830e821e2f9e20bebffda67d393b1"><div class="ttname"><a href="namespace_a_calc.html#acfa830e821e2f9e20bebffda67d393b1">ACalc::solarElevation</a></div><div class="ttdeci">double solarElevation(QDateTime utc_time_point, double lat, double lon)</div><div class="ttdoc">Calculates solar elevation angle for a given point in time and latitude/longitude coordinates.</div><div class="ttdef"><b>Definition:</b> acalc.cpp:145</div></div>
-<div class="ttc" id="anamespace_a_calc_html_a72c6fca35602a24ff8435f86abdc78d7"><div class="ttname"><a href="namespace_a_calc.html#a72c6fca35602a24ff8435f86abdc78d7">ACalc::greatCircleDistance</a></div><div class="ttdeci">double greatCircleDistance(double lat1, double lon1, double lat2, double lon2)</div><div class="ttdoc">greatCircleDistance Calculates Great Circle distance between two coordinates, return in Radians.</div><div class="ttdef"><b>Definition:</b> acalc.cpp:68</div></div>
-<div class="ttc" id="anamespace_a_calc_html_a362d1ab22d757e4c14d9cf143afec234"><div class="ttname"><a href="namespace_a_calc.html#a362d1ab22d757e4c14d9cf143afec234">ACalc::formatTimeInput</a></div><div class="ttdeci">QString formatTimeInput(QString user_input)</div><div class="ttdoc">ACalc::formatTimeInput verifies user input and formats to hh:mm if the output is not a valid time,...</div><div class="ttdef"><b>Definition:</b> acalc.cpp:15</div></div>
-<div class="ttc" id="anamespace_a_calc_html_adb7a8a84011affb4173bb59be4449b9d"><div class="ttname"><a href="namespace_a_calc.html#adb7a8a84011affb4173bb59be4449b9d">ACalc::updateNightTimes</a></div><div class="ttdeci">void updateNightTimes()</div><div class="ttdoc">ACalc::updateNightTimes updates the night times in the database, used when changing night angle setti...</div><div class="ttdef"><b>Definition:</b> acalc.cpp:308</div></div>
-<div class="ttc" id="anamespace_a_calc_html_a55ede99d0f9f6e8a2f3a467859c0f192"><div class="ttname"><a href="namespace_a_calc.html#a55ede99d0f9f6e8a2f3a467859c0f192">ACalc::calculateNightTime</a></div><div class="ttdeci">int calculateNightTime(const QString &amp;dept, const QString &amp;dest, QDateTime departureTime, int tblk, int nightAngle)</div><div class="ttdoc">Calculates which portion of a flight was conducted in night conditions.</div><div class="ttdef"><b>Definition:</b> acalc.cpp:205</div></div>
+<div class="ttc" id="anamespace_a_calc_html_a4a071a5788f00c98834127f9c5721383"><div class="ttname"><a href="namespace_a_calc.html#a4a071a5788f00c98834127f9c5721383">ACalc::intermediatePointsOnGreatCircle</a></div><div class="ttdeci">QVector&lt; QVector&lt; double &gt; &gt; intermediatePointsOnGreatCircle(double lat1, double lon1, double lat2, double lon2, int tblk)</div><div class="ttdoc">Calculates a list of points (lat,lon) along the Great Circle between two points. The points are space...</div><div class="ttdef"><b>Definition:</b> acalc.cpp:136</div></div>
+<div class="ttc" id="anamespace_a_calc_html_a9568b0d72cd6b0f91f686342bc624e1f"><div class="ttname"><a href="namespace_a_calc.html#a9568b0d72cd6b0f91f686342bc624e1f">ACalc::QTimeToMinutes</a></div><div class="ttdeci">QT_DEPRECATED int QTimeToMinutes(QTime time)</div><div class="ttdoc">ACalc::time_to_minutes converts QTime to int minutes.</div><div class="ttdef"><b>Definition:</b> acalc.h:101</div></div>
+<div class="ttc" id="anamespace_a_calc_html_a3f12e1f72eeb5cc1cfe9b7b6df47391c"><div class="ttname"><a href="namespace_a_calc.html#a3f12e1f72eeb5cc1cfe9b7b6df47391c">ACalc::updateAutoTimes</a></div><div class="ttdeci">void updateAutoTimes(int acft_id)</div><div class="ttdoc">ACalc::updateAutoTimes When the details of an aircraft are changed, this function recalculates deduct...</div><div class="ttdef"><b>Definition:</b> acalc.cpp:288</div></div>
+<div class="ttc" id="anamespace_a_calc_html_ac5e39b538ea3663556c820d237f242a2"><div class="ttname"><a href="namespace_a_calc.html#ac5e39b538ea3663556c820d237f242a2">ACalc::minutesToString</a></div><div class="ttdeci">QT_DEPRECATED QString minutesToString(QString block_minutes)</div><div class="ttdoc">ACalc::minutes_to_string Converts database time to String Time.</div><div class="ttdef"><b>Definition:</b> acalc.h:65</div></div>
+<div class="ttc" id="anamespace_a_calc_html_a37c52e8b522b233087b8c4d94f30fca5"><div class="ttname"><a href="namespace_a_calc.html#a37c52e8b522b233087b8c4d94f30fca5">ACalc::radToNauticalMiles</a></div><div class="ttdeci">double radToNauticalMiles(double rad)</div><div class="ttdoc">radToNauticalMiles Convert Radians to nautical miles</div><div class="ttdef"><b>Definition:</b> acalc.h:150</div></div>
+<div class="ttc" id="anamespace_a_calc_html"><div class="ttname"><a href="namespace_a_calc.html">ACalc</a></div><div class="ttdoc">The ACalc namespace provides various functions for calculations that are performed outside of the dat...</div><div class="ttdef"><b>Definition:</b> acalc.h:34</div></div>
+<div class="ttc" id="anamespace_a_calc_html_a8ac68999097f2e28a3b4bd2709b5b19f"><div class="ttname"><a href="namespace_a_calc.html#a8ac68999097f2e28a3b4bd2709b5b19f">ACalc::blocktime</a></div><div class="ttdeci">QT_DEPRECATED QTime blocktime(QTime tofb, QTime tonb)</div><div class="ttdoc">ACalc::blocktime Calculates Block Time for a given departure and arrival time.</div><div class="ttdef"><b>Definition:</b> acalc.h:43</div></div>
+<div class="ttc" id="anamespace_a_calc_html_ad088e5dd93d1938ff97f88032dc0adec"><div class="ttname"><a href="namespace_a_calc.html#ad088e5dd93d1938ff97f88032dc0adec">ACalc::formatTimeInput</a></div><div class="ttdeci">QString formatTimeInput(QString user_input)</div><div class="ttdoc">ACalc::formatTimeInput verifies user input and formats to hh:mm if the output is not a valid time,...</div><div class="ttdef"><b>Definition:</b> acalc.cpp:34</div></div>
+<div class="ttc" id="anamespace_a_calc_html_acafe6c0bede38e737937e2062fd93c71"><div class="ttname"><a href="namespace_a_calc.html#acafe6c0bede38e737937e2062fd93c71">ACalc::degToRad</a></div><div class="ttdeci">double degToRad(double deg)</div><div class="ttdoc">degToRad Converts degrees to radians</div><div class="ttdef"><b>Definition:</b> acalc.h:139</div></div>
+<div class="ttc" id="anamespace_a_calc_html_a2a540662e22840e4b58e8e760611b4f2"><div class="ttname"><a href="namespace_a_calc.html#a2a540662e22840e4b58e8e760611b4f2">ACalc::radToDeg</a></div><div class="ttdeci">double radToDeg(double rad)</div><div class="ttdoc">radToDeg Converts radians to degrees</div><div class="ttdef"><b>Definition:</b> acalc.h:128</div></div>
+<div class="ttc" id="anamespace_a_calc_html_a2d15bbb67e99d502e2fd730c47854a9f"><div class="ttname"><a href="namespace_a_calc.html#a2d15bbb67e99d502e2fd730c47854a9f">ACalc::greatCircleDistanceBetweenAirports</a></div><div class="ttdeci">double greatCircleDistanceBetweenAirports(const QString &amp;dept, const QString &amp;dest)</div><div class="ttdoc">ACalc::greatCircleDistanceBetweenAirports Calculates Great Circle distance between two coordinates,...</div><div class="ttdef"><b>Definition:</b> acalc.cpp:106</div></div>
+<div class="ttc" id="anamespace_a_calc_html_acfa830e821e2f9e20bebffda67d393b1"><div class="ttname"><a href="namespace_a_calc.html#acfa830e821e2f9e20bebffda67d393b1">ACalc::solarElevation</a></div><div class="ttdeci">double solarElevation(QDateTime utc_time_point, double lat, double lon)</div><div class="ttdoc">Calculates solar elevation angle for a given point in time and latitude/longitude coordinates.</div><div class="ttdef"><b>Definition:</b> acalc.cpp:167</div></div>
+<div class="ttc" id="anamespace_a_calc_html_a4c829bf747bcd84bf6b1efb3ab0201d1"><div class="ttname"><a href="namespace_a_calc.html#a4c829bf747bcd84bf6b1efb3ab0201d1">ACalc::stringToMinutes</a></div><div class="ttdeci">QT_DEPRECATED int stringToMinutes(QString timestring)</div><div class="ttdoc">ACalc::string_to_minutes Converts String Time to String Number of Minutes.</div><div class="ttdef"><b>Definition:</b> acalc.h:115</div></div>
+<div class="ttc" id="anamespace_a_calc_html_a72c6fca35602a24ff8435f86abdc78d7"><div class="ttname"><a href="namespace_a_calc.html#a72c6fca35602a24ff8435f86abdc78d7">ACalc::greatCircleDistance</a></div><div class="ttdeci">double greatCircleDistance(double lat1, double lon1, double lat2, double lon2)</div><div class="ttdoc">greatCircleDistance Calculates Great Circle distance between two coordinates, return in Radians.</div><div class="ttdef"><b>Definition:</b> acalc.cpp:87</div></div>
+<div class="ttc" id="anamespace_a_calc_html_adb7a8a84011affb4173bb59be4449b9d"><div class="ttname"><a href="namespace_a_calc.html#adb7a8a84011affb4173bb59be4449b9d">ACalc::updateNightTimes</a></div><div class="ttdeci">void updateNightTimes()</div><div class="ttdoc">ACalc::updateNightTimes updates the night times in the database, used when changing night angle setti...</div><div class="ttdef"><b>Definition:</b> acalc.cpp:331</div></div>
+<div class="ttc" id="anamespace_a_calc_html_a55ede99d0f9f6e8a2f3a467859c0f192"><div class="ttname"><a href="namespace_a_calc.html#a55ede99d0f9f6e8a2f3a467859c0f192">ACalc::calculateNightTime</a></div><div class="ttdeci">int calculateNightTime(const QString &amp;dept, const QString &amp;dest, QDateTime departureTime, int tblk, int nightAngle)</div><div class="ttdoc">Calculates which portion of a flight was conducted in night conditions.</div><div class="ttdef"><b>Definition:</b> acalc.cpp:227</div></div>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e823141bb13a34caac0c96ccd0d33fcf.html">functions</a></li><li class="navelem"><b>acalc.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 134 - 0
docs/html/acurrencyentry_8h_source.html

@@ -0,0 +1,134 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: src/classes/acurrencyentry.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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('acurrencyentry_8h_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">acurrencyentry.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef ACURRENCYENTRY_H</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define ACURRENCYENTRY_H</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &quot;src/classes/aentry.h&quot;</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &quot;src/database/adatabasetypes.h&quot;</span></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"><a class="line" href="struct_a_currency_entry.html">    7</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_a_currency_entry.html">ACurrencyEntry</a> : <span class="keyword">public</span> <a class="code" href="class_a_entry.html">AEntry</a></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;{</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="keyword">enum class</span> CurrencyName {</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        Licence     = 1,</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        TypeRating  = 2,</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;        LineCheck   = 3,</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;        Medical     = 4,</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        Custom1     = 5,</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;        Custom2     = 6</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    };</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <a class="code" href="struct_a_currency_entry.html">ACurrencyEntry</a>() = <span class="keyword">delete</span>;</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <a class="code" href="struct_a_currency_entry.html">ACurrencyEntry</a>(CurrencyName name);</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <a class="code" href="struct_a_currency_entry.html">ACurrencyEntry</a>(CurrencyName name, QDate expiration_date);</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <a class="code" href="struct_a_currency_entry.html">ACurrencyEntry</a>(<span class="keyword">const</span> <a class="code" href="struct_a_currency_entry.html">ACurrencyEntry</a>&amp; te) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <a class="code" href="struct_a_currency_entry.html">ACurrencyEntry</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="struct_a_currency_entry.html">ACurrencyEntry</a>&amp; te) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="struct_a_currency_entry.html#a17202e44445755d9136335201758a8d4">isValid</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;};</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#endif // ACURRENCYENTRY_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="astruct_a_currency_entry_html_a17202e44445755d9136335201758a8d4"><div class="ttname"><a href="struct_a_currency_entry.html#a17202e44445755d9136335201758a8d4">ACurrencyEntry::isValid</a></div><div class="ttdeci">bool isValid() const</div><div class="ttdoc">ACurrencyEntry::isValid returns true if the object holds a valid expiration date.</div><div class="ttdef"><b>Definition:</b> acurrencyentry.cpp:34</div></div>
+<div class="ttc" id="astruct_a_currency_entry_html"><div class="ttname"><a href="struct_a_currency_entry.html">ACurrencyEntry</a></div><div class="ttdef"><b>Definition:</b> acurrencyentry.h:7</div></div>
+<div class="ttc" id="aclass_a_entry_html"><div class="ttname"><a href="class_a_entry.html">AEntry</a></div><div class="ttdoc">The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...</div><div class="ttdef"><b>Definition:</b> aentry.h:40</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_018e9aafb459e6e1a4953404cb0c0b1d.html">classes</a></li><li class="navelem"><b>acurrencyentry.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 188 - 135
docs/html/adatabase_8h_source.html

@@ -3,9 +3,9 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>openPilotLog: src/experimental/adatabase.h Source File</title>
+<title>openPilotLog: src/database/adatabase.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>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -87,8 +88,8 @@ $(document).ready(function(){initNavTree('adatabase_8h_source.html',''); initRes
 </div><!--header-->
 <div class="contents">
 <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilot Log - A FOSS Pilot Logbook Application</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020  Felix Turowsky</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
 <div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
 <div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
 <div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
@@ -103,154 +104,206 @@ $(document).ready(function(){initNavTree('adatabase_8h_source.html',''); initRes
 <div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *You should have received a copy of the GNU General Public License</span></div>
 <div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *along with this program.  If not, see &lt;https://www.gnu.org/licenses/&gt;.</span></div>
 <div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef __DB_H__</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define __DB_H__</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef ADATABASE_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define ADATABASE_H</span></div>
 <div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
 <div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;QPair&gt;</span></div>
 <div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;QMap&gt;</span></div>
 <div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;QString&gt;</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;QSqlQuery&gt;</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;QSqlError&gt;</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;QSqlTableModel&gt;</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;src/database/dbinfo.h&quot;</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;src/testing/adebug.h&quot;</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;aentry.h&quot;</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;apilotentry.h&quot;</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;atailentry.h&quot;</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;aaircraftentry.h&quot;</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;aflightentry.h&quot;</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceexperimental.html">experimental</a> {</div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160; </div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">// [G]: Suspicious documentation -,O</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="namespaceexperimental.html#a4ae0b93d398c270c979a8eec17545b8a">   44</a></span>&#160;<span class="comment"></span><span class="keyword">enum class</span> <a class="code" href="namespaceexperimental.html#a4ae0b93d398c270c979a8eec17545b8a">ADatabaseTarget</a></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;{</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    airport_identifier_icao,</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    airport_identifier_iata,</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    airport_identifier_all,</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    airport_names,</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    pilots,</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    registrations,</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    aircraft,</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    companies,</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    tails</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;};</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; </div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">// [G]: This is how we should handle custom &quot;events&quot; in the program.</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">// In this case a custom error doesnt need to be built from scratch.</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">// Find the type of error you want and extend it with a few tweaks.</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classexperimental_1_1_a_database_error.html">   64</a></span>&#160;<span class="comment"></span><span class="keyword">class </span><a class="code" href="classexperimental_1_1_a_database_error.html">ADatabaseError</a> : <span class="keyword">public</span> QSqlError {</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <a class="code" href="classexperimental_1_1_a_database_error.html">ADatabaseError</a>() = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <a class="code" href="classexperimental_1_1_a_database_error.html">ADatabaseError</a>(QString msg);</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  QString text() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;QDir&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;QSqlDatabase&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;QSqlDriver&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;QSqlQuery&gt;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;QSqlError&gt;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;QSqlTableModel&gt;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;QSqlQuery&gt;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;QSqlRecord&gt;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;QSqlField&gt;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;src/database/adatabasetypes.h&quot;</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;src/classes/aentry.h&quot;</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;src/classes/apilotentry.h&quot;</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;src/classes/atailentry.h&quot;</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;src/classes/aaircraftentry.h&quot;</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &quot;src/classes/aflightentry.h&quot;</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;src/classes/astandardpaths.h&quot;</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &quot;src/classes/acurrencyentry.h&quot;</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#define SQLITE_DRIVER QStringLiteral(&quot;QSQLITE&quot;)</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define aDB ADatabase::instance()</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">enum class</span> ADatabaseTarget</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;{</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    aircraft,</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    airport_identifier_icao,</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    airport_identifier_iata,</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    airport_identifier_all,</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    airport_names,</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    pilots,</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    registrations,</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    companies,</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    tails</div>
 <div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;};</div>
 <div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
-<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classexperimental_1_1_a_database.html">   75</a></span>&#160;<span class="keyword">class </span><a class="code" href="classexperimental_1_1_a_database.html">ADatabase</a> : <span class="keyword">public</span> QObject {</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    Q_OBJECT</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">private</span>:</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    TableNames tableNames;</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    TableColumns tableColumns;</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keyword">static</span> <a class="code" href="classexperimental_1_1_a_database.html">ADatabase</a>* instance;</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <a class="code" href="classexperimental_1_1_a_database.html">ADatabase</a>() = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="comment">// Ensure DB is not copiable or assignable</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <a class="code" href="classexperimental_1_1_a_database.html">ADatabase</a>(<span class="keyword">const</span> <a class="code" href="classexperimental_1_1_a_database.html">ADatabase</a>&amp;) = <span class="keyword">delete</span>;</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> <a class="code" href="classexperimental_1_1_a_database.html">ADatabase</a>&amp;) = <span class="keyword">delete</span>;</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keyword">static</span> <a class="code" href="classexperimental_1_1_a_database.html">ADatabase</a>* getInstance();</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <a class="code" href="classexperimental_1_1_a_database_error.html">ADatabaseError</a> lastError;</div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; </div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classexperimental_1_1_a_database.html#aa45ad744482ae94d8f639e5837c9c221">connect</a>();</div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; </div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classexperimental_1_1_a_database.html#a5e331e329bc21980d3e2f63c7ca01559">disconnect</a>();</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keyword">static</span> QSqlDatabase <a class="code" href="classexperimental_1_1_a_database.html#a5a1d594fadb083e97aa8d50f736ab0ea">database</a>();</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160; </div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    QVector&lt;QString&gt; <a class="code" href="classexperimental_1_1_a_database.html#ae536aeb620c52f873f1f0943cfeb9db0">customQuery</a>(QString statement, <span class="keywordtype">int</span> return_values);</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classexperimental_1_1_a_database.html#ad3fc7756ef3f032d252b02ed6867e0a5">exists</a>(<a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a> entry);</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classexperimental_1_1_a_database.html#ad3fc7756ef3f032d252b02ed6867e0a5">exists</a>(<a class="code" href="structexperimental_1_1_data_position.html">DataPosition</a> data_position);</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; </div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classexperimental_1_1_a_database.html#a041619c4931943406dff1be52eb77434">commit</a>(<a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a> entry);</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; </div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classexperimental_1_1_a_database.html#a328fb63a110c9ada4af7ff2e4b240dfe">insert</a>(<a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a> new_entry);</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160; </div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classexperimental_1_1_a_database.html#ada25b4b94ab41b5ec78925a0a52b14ca">update</a>(<a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a> updated_entry);</div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classexperimental_1_1_a_database.html#aeeb82d8057f36436fd793a242627668e">remove</a>(<a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a> entry);</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">enum class</span> ADatabaseSummaryKey {</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    total_flights,</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    total_tails,</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    total_pilots,</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    max_doft,</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    total_time,</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;};</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160; </div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">// [G]: This is how we should handle custom &quot;events&quot; in the program.</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">// In this case a custom error doesnt need to be built from scratch.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">// Find the type of error you want and extend it with a few tweaks.</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="class_a_database_error.html">   89</a></span>&#160;<span class="comment"></span><span class="keyword">class </span><a class="code" href="class_a_database_error.html">ADatabaseError</a> : <span class="keyword">public</span> QSqlError {</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <a class="code" href="class_a_database_error.html">ADatabaseError</a>() = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <a class="code" href="class_a_database_error.html">ADatabaseError</a>(QString msg);</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  QString text() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;};</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="class_a_database.html">  100</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_a_database.html">ADatabase</a> : <span class="keyword">public</span> QObject {</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    Q_OBJECT</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keyword">static</span> <a class="code" href="class_a_database.html">ADatabase</a>* <span class="keyword">self</span>;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    TableNames_T tableNames;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    TableColumns_T tableColumns;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="keywordtype">int</span> databaseVersion;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; </div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <a class="code" href="class_a_database.html">ADatabase</a>();</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordtype">int</span> checkDbVersion() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <a class="code" href="class_a_database_error.html">ADatabaseError</a> lastError;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="comment">//const QDir databaseDir;</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keyword">const</span> QFileInfo databaseFile;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <span class="comment">// Ensure DB is not copiable or assignable</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <a class="code" href="class_a_database.html">ADatabase</a>(<span class="keyword">const</span> <a class="code" href="class_a_database.html">ADatabase</a>&amp;) = <span class="keyword">delete</span>;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> <a class="code" href="class_a_database.html">ADatabase</a>&amp;) = <span class="keyword">delete</span>;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keyword">static</span> <a class="code" href="class_a_database.html">ADatabase</a>* instance();</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keywordtype">int</span> dbVersion() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160; </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    TableNames_T <a class="code" href="class_a_database.html#a4f0df6cc04e6d9b563db874a989ebc61">getTableNames</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; </div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    ColumnNames_T <a class="code" href="class_a_database.html#ad977866124a3c7f7184e165c02a68931">getTableColumns</a>(TableName_T table_name) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_a_database.html#a3c0fdc84000ad397d61f0efabd032194">updateLayout</a>();</div>
 <div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160; </div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classexperimental_1_1_a_database.html#ab4fe26545b5fd05fa6b63486f2d234e3">removeMany</a>(QList&lt;DataPosition&gt;);</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="keyword">const</span> QString <a class="code" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0">sqliteVersion</a>() <span class="keyword">const</span>;</div>
 <div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    TableData <a class="code" href="classexperimental_1_1_a_database.html#ae71340a7dc2668e9ae6e65117b16d1bd">getEntryData</a>(<a class="code" href="structexperimental_1_1_data_position.html">DataPosition</a> data_position);</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_a_database.html#aa6080200aa3f229251480bc416755fed">connect</a>();</div>
 <div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160; </div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a> <a class="code" href="classexperimental_1_1_a_database.html#ad273efb62d7829e5cef4440d78b53161">getEntry</a>(<a class="code" href="structexperimental_1_1_data_position.html">DataPosition</a> data_position);</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_a_database.html#abc461aaa66304ca638e546f67a694935">disconnect</a>();</div>
 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; </div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <a class="code" href="structexperimental_1_1_a_pilot_entry.html">APilotEntry</a> <a class="code" href="classexperimental_1_1_a_database.html#ae8fac5f877e2ab11eab07781ebcab4b1">getPilotEntry</a>(RowId row_id);</div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160; </div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    <a class="code" href="structexperimental_1_1_a_tail_entry.html">ATailEntry</a> <a class="code" href="classexperimental_1_1_a_database.html#ad05071058f2706dddd9c681d6946ef6d">getTailEntry</a>(RowId row_id);</div>
-<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; </div>
-<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    <a class="code" href="structexperimental_1_1_a_aircraft_entry.html">AAircraftEntry</a> <a class="code" href="classexperimental_1_1_a_database.html#aee75f906918935027d95b3e5d8e1ff75">getAircraftEntry</a>(RowId row_id);</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <span class="keyword">static</span> QSqlDatabase <a class="code" href="class_a_database.html#a2379c9da900da8e96add932e4024389a">database</a>();</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160; </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    QVector&lt;QVariant&gt; <a class="code" href="class_a_database.html#a2a43936d3ae28993f9f7eda0fdf4664d">customQuery</a>(QString statement, <span class="keywordtype">int</span> return_values);</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160; </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_a_database.html#a24f938e4c8d20afddb5e5651e041a7a6">exists</a>(<a class="code" href="class_a_entry.html">AEntry</a> entry);</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_a_database.html#a24f938e4c8d20afddb5e5651e041a7a6">exists</a>(<a class="code" href="struct_data_position.html">DataPosition</a> data_position);</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160; </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_a_database.html#a652472c747c0ce68940b17c9c23666dd">commit</a>(<a class="code" href="class_a_entry.html">AEntry</a> entry);</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160; </div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_a_database.html#a4ecb6d0c9b3813c90b3165c993e69ad5">insert</a>(<a class="code" href="class_a_entry.html">AEntry</a> new_entry);</div>
 <div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160; </div>
-<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <a class="code" href="classexperimental_1_1_a_flight_entry.html">AFlightEntry</a> <a class="code" href="classexperimental_1_1_a_database.html#ac613f3dd83524ef30dd6351e3b8a50f3">getFlightEntry</a>(RowId row_id);</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_a_database.html#a910bc0c1717e9301911343c082aa1aaa">update</a>(<a class="code" href="class_a_entry.html">AEntry</a> updated_entry);</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160; </div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_a_database.html#a4903909a28daed708e1a335d3be4f57b">remove</a>(<a class="code" href="class_a_entry.html">AEntry</a> entry);</div>
 <div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160; </div>
-<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keyword">const</span> QStringList <a class="code" href="classexperimental_1_1_a_database.html#a1e3fa80e9472325fa41f227319592b26">getCompletionList</a>(<a class="code" href="namespaceexperimental.html#a4ae0b93d398c270c979a8eec17545b8a">ADatabaseTarget</a>);</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_a_database.html#a863d30e9e3a7c14adfe72787363618c8">removeMany</a>(QList&lt;DataPosition&gt;);</div>
 <div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160; </div>
-<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <span class="keyword">const</span> QMap&lt;QString, int&gt; <a class="code" href="classexperimental_1_1_a_database.html#a74280b96dbf58580ed9b1485b5cdc200">getIdMap</a>(<a class="code" href="namespaceexperimental.html#a4ae0b93d398c270c979a8eec17545b8a">ADatabaseTarget</a>);</div>
-<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160; </div>
-<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classexperimental_1_1_a_database.html#a391a945bf0bf3160045690319833edce">getLastEntry</a>(<a class="code" href="namespaceexperimental.html#a4ae0b93d398c270c979a8eec17545b8a">ADatabaseTarget</a>);</div>
-<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160; </div>
-<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    QList&lt;int&gt; <a class="code" href="classexperimental_1_1_a_database.html#aaa6d9017e72693dd26a0ebd311dcef91">getForeignKeyConstraints</a>(<span class="keywordtype">int</span> foreign_row_id, <a class="code" href="namespaceexperimental.html#a4ae0b93d398c270c979a8eec17545b8a">ADatabaseTarget</a> target);</div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160; </div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;signals:</div>
-<div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="classexperimental_1_1_a_database.html#a202981d0d39b5b3dbc88af65e17ed42a">  225</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classexperimental_1_1_a_database.html#a202981d0d39b5b3dbc88af65e17ed42a">dataBaseUpdated</a>();</div>
-<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;};</div>
-<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160; </div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<a class="code" href="classexperimental_1_1_a_database.html">ADatabase</a>* <a class="code" href="namespaceexperimental.html#a3f601400554a3aab738cab39bfa5cc7e">aDB</a>();</div>
-<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160; </div>
-<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;}  <span class="comment">// namespace experimental</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160; </div>
-<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    RowData_T <a class="code" href="class_a_database.html#afc39f6136fc822e0649964fa22b84bf9">getEntryData</a>(<a class="code" href="struct_data_position.html">DataPosition</a> data_position);</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160; </div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    <a class="code" href="class_a_entry.html">AEntry</a> <a class="code" href="class_a_database.html#a8959b406b97d9520981890d92850b1ba">getEntry</a>(<a class="code" href="struct_data_position.html">DataPosition</a> data_position);</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160; </div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    <a class="code" href="struct_a_pilot_entry.html">APilotEntry</a> <a class="code" href="class_a_database.html#a426026d641a594863995ec5db8312259">getPilotEntry</a>(RowId_T row_id);</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160; </div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <a class="code" href="struct_a_tail_entry.html">ATailEntry</a> <a class="code" href="class_a_database.html#a356df159542705635dc3898d90682039">getTailEntry</a>(RowId_T row_id);</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160; </div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <a class="code" href="struct_a_aircraft_entry.html">AAircraftEntry</a> <a class="code" href="class_a_database.html#ae0a3c9273431195df6295b9da24b3a3a">getAircraftEntry</a>(RowId_T row_id);</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160; </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    <a class="code" href="class_a_flight_entry.html">AFlightEntry</a> <a class="code" href="class_a_database.html#a7bb44738362582e4f54f68e3aa30d40a">getFlightEntry</a>(RowId_T row_id);</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160; </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <a class="code" href="struct_a_currency_entry.html">ACurrencyEntry</a> <a class="code" href="class_a_database.html#a5abdf1f35468f788609252c7a3be7bc4">getCurrencyEntry</a>(ACurrencyEntry::CurrencyName currency_name);</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160; </div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <span class="keyword">const</span> QStringList <a class="code" href="class_a_database.html#a89de409c1828125363f46f384df47359">getCompletionList</a>(ADatabaseTarget target);</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160; </div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    <span class="keyword">const</span> QMap&lt;QString, RowId_T&gt; <a class="code" href="class_a_database.html#a5dba46567089112b28b16aaf985af0ba">getIdMap</a>(ADatabaseTarget target);</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160; </div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_a_database.html#a264fea56cd3fbc31463c587f196ce576">getLastEntry</a>(ADatabaseTarget target);</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160; </div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    QList&lt;RowId_T&gt; <a class="code" href="class_a_database.html#a6006c47c82b2c72f7ab6b5cc319c5fbf">getForeignKeyConstraints</a>(RowId_T foreign_row_id, ADatabaseTarget target);</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160; </div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <a class="code" href="struct_a_pilot_entry.html">APilotEntry</a> <a class="code" href="class_a_database.html#a4640a4348dad468a0ff65bad05b07227">resolveForeignPilot</a>(RowId_T foreign_key);</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160; </div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    <a class="code" href="struct_a_tail_entry.html">ATailEntry</a> <a class="code" href="class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d">resolveForeignTail</a>(RowId_T foreign_key);</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160; </div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    QMap&lt;ADatabaseSummaryKey, QString&gt; <a class="code" href="class_a_database.html#a56baf4eaf25922030f3cfa6906963f7c">databaseSummary</a>(<span class="keyword">const</span> QString&amp; db_path);</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160; </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164">restoreBackup</a>(<span class="keyword">const</span> QString&amp; backup_file);</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99">createBackup</a>(<span class="keyword">const</span> QString&amp; dest_file);</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160; </div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160; </div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;signals:</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_a_database.html#a5ed8c010ccc022687ce903cfde8ae911">dataBaseUpdated</a>();</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_a_database.html#a0f0bffbb6cdd79975b7b5ca6c0db31a7">connectionReset</a>();</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;};</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160; </div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="preprocessor">#endif // ADATABASE_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="anamespaceexperimental_html"><div class="ttname"><a href="namespaceexperimental.html">experimental</a></div><div class="ttdoc">Temporary namespace for experimental features. Will be removed in later versions.</div><div class="ttdef"><b>Definition:</b> aaircraftentry.cpp:20</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_a202981d0d39b5b3dbc88af65e17ed42a"><div class="ttname"><a href="classexperimental_1_1_a_database.html#a202981d0d39b5b3dbc88af65e17ed42a">experimental::ADatabase::dataBaseUpdated</a></div><div class="ttdeci">void dataBaseUpdated()</div><div class="ttdoc">updated is emitted whenever the database contents have been updated. This can be either a commit,...</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_a5e331e329bc21980d3e2f63c7ca01559"><div class="ttname"><a href="classexperimental_1_1_a_database.html#a5e331e329bc21980d3e2f63c7ca01559">experimental::ADatabase::disconnect</a></div><div class="ttdeci">void disconnect()</div><div class="ttdoc">closes the database connection.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:75</div></div>
-<div class="ttc" id="astructexperimental_1_1_data_position_html"><div class="ttname"><a href="structexperimental_1_1_data_position.html">experimental::DataPosition</a></div><div class="ttdef"><b>Definition:</b> decl.h:45</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_entry_html"><div class="ttname"><a href="classexperimental_1_1_a_entry.html">experimental::AEntry</a></div><div class="ttdoc">The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...</div><div class="ttdef"><b>Definition:</b> aentry.h:42</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_a041619c4931943406dff1be52eb77434"><div class="ttname"><a href="classexperimental_1_1_a_database.html#a041619c4931943406dff1be52eb77434">experimental::ADatabase::commit</a></div><div class="ttdeci">bool commit(AEntry entry)</div><div class="ttdoc">commits an entry to the database, calls either insert or update, based on position data</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:88</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_a74280b96dbf58580ed9b1485b5cdc200"><div class="ttname"><a href="classexperimental_1_1_a_database.html#a74280b96dbf58580ed9b1485b5cdc200">experimental::ADatabase::getIdMap</a></div><div class="ttdeci">const QMap&lt; QString, int &gt; getIdMap(ADatabaseTarget)</div><div class="ttdoc">returns a QMap&lt;QString, int&gt; of a human-readable database value and its row id. Used in the Dialogs t...</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:452</div></div>
-<div class="ttc" id="anamespaceexperimental_html_a4ae0b93d398c270c979a8eec17545b8a"><div class="ttname"><a href="namespaceexperimental.html#a4ae0b93d398c270c979a8eec17545b8a">experimental::ADatabaseTarget</a></div><div class="ttdeci">ADatabaseTarget</div><div class="ttdoc">The DBTarget enum provides the items for which QCompleter completion lists are provided from the data...</div><div class="ttdef"><b>Definition:</b> adatabase.h:45</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_ada25b4b94ab41b5ec78925a0a52b14ca"><div class="ttname"><a href="classexperimental_1_1_a_database.html#ada25b4b94ab41b5ec78925a0a52b14ca">experimental::ADatabase::update</a></div><div class="ttdeci">bool update(AEntry updated_entry)</div><div class="ttdoc">Updates entry in database from existing entry tweaked by the user.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:230</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_aee75f906918935027d95b3e5d8e1ff75"><div class="ttname"><a href="classexperimental_1_1_a_database.html#aee75f906918935027d95b3e5d8e1ff75">experimental::ADatabase::getAircraftEntry</a></div><div class="ttdeci">AAircraftEntry getAircraftEntry(RowId row_id)</div><div class="ttdoc">retreives a TailEntry from the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:390</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_ae8fac5f877e2ab11eab07781ebcab4b1"><div class="ttname"><a href="classexperimental_1_1_a_database.html#ae8fac5f877e2ab11eab07781ebcab4b1">experimental::ADatabase::getPilotEntry</a></div><div class="ttdeci">APilotEntry getPilotEntry(RowId row_id)</div><div class="ttdoc">retreives a PilotEntry from the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:376</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_flight_entry_html"><div class="ttname"><a href="classexperimental_1_1_a_flight_entry.html">experimental::AFlightEntry</a></div><div class="ttdef"><b>Definition:</b> aflightentry.h:9</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_ae536aeb620c52f873f1f0943cfeb9db0"><div class="ttname"><a href="classexperimental_1_1_a_database.html#ae536aeb620c52f873f1f0943cfeb9db0">experimental::ADatabase::customQuery</a></div><div class="ttdeci">QVector&lt; QString &gt; customQuery(QString statement, int return_values)</div><div class="ttdoc">Can be used to send a complex query to the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:564</div></div>
-<div class="ttc" id="astructexperimental_1_1_a_tail_entry_html"><div class="ttname"><a href="structexperimental_1_1_a_tail_entry.html">experimental::ATailEntry</a></div><div class="ttdef"><b>Definition:</b> atailentry.h:27</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_ab4fe26545b5fd05fa6b63486f2d234e3"><div class="ttname"><a href="classexperimental_1_1_a_database.html#ab4fe26545b5fd05fa6b63486f2d234e3">experimental::ADatabase::removeMany</a></div><div class="ttdeci">bool removeMany(QList&lt; DataPosition &gt;)</div><div class="ttdoc">deletes a list of entries from the database. Optimised for speed when deleting many entries.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:128</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_ad05071058f2706dddd9c681d6946ef6d"><div class="ttname"><a href="classexperimental_1_1_a_database.html#ad05071058f2706dddd9c681d6946ef6d">experimental::ADatabase::getTailEntry</a></div><div class="ttdeci">ATailEntry getTailEntry(RowId row_id)</div><div class="ttdoc">retreives a TailEntry from the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:383</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_a328fb63a110c9ada4af7ff2e4b240dfe"><div class="ttname"><a href="classexperimental_1_1_a_database.html#a328fb63a110c9ada4af7ff2e4b240dfe">experimental::ADatabase::insert</a></div><div class="ttdeci">bool insert(AEntry new_entry)</div><div class="ttdoc">Create new entry in the databse based on UserInput.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:266</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_a5a1d594fadb083e97aa8d50f736ab0ea"><div class="ttname"><a href="classexperimental_1_1_a_database.html#a5a1d594fadb083e97aa8d50f736ab0ea">experimental::ADatabase::database</a></div><div class="ttdeci">static QSqlDatabase database()</div><div class="ttdoc">Can be used to access the database connection.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:83</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_error_html"><div class="ttname"><a href="classexperimental_1_1_a_database_error.html">experimental::ADatabaseError</a></div><div class="ttdoc">Custom Database Error derived from QSqlError. Extends text() adding &quot;Database Error: &quot; before the tex...</div><div class="ttdef"><b>Definition:</b> adatabase.h:64</div></div>
-<div class="ttc" id="astructexperimental_1_1_a_aircraft_entry_html"><div class="ttname"><a href="structexperimental_1_1_a_aircraft_entry.html">experimental::AAircraftEntry</a></div><div class="ttdef"><b>Definition:</b> aaircraftentry.h:9</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_aaa6d9017e72693dd26a0ebd311dcef91"><div class="ttname"><a href="classexperimental_1_1_a_database.html#aaa6d9017e72693dd26a0ebd311dcef91">experimental::ADatabase::getForeignKeyConstraints</a></div><div class="ttdeci">QList&lt; int &gt; getForeignKeyConstraints(int foreign_row_id, ADatabaseTarget target)</div><div class="ttdoc">returns a list of ROWID's in the flights table for which foreign key constraints exist.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:527</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html"><div class="ttname"><a href="classexperimental_1_1_a_database.html">experimental::ADatabase</a></div><div class="ttdoc">The DB class encapsulates the SQL database by providing fast access to hot database data.</div><div class="ttdef"><b>Definition:</b> adatabase.h:75</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_ad3fc7756ef3f032d252b02ed6867e0a5"><div class="ttname"><a href="classexperimental_1_1_a_database.html#ad3fc7756ef3f032d252b02ed6867e0a5">experimental::ADatabase::exists</a></div><div class="ttdeci">bool exists(AEntry entry)</div><div class="ttdoc">Checks if an entry exists in the database, based on position data.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:170</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_ac613f3dd83524ef30dd6351e3b8a50f3"><div class="ttname"><a href="classexperimental_1_1_a_database.html#ac613f3dd83524ef30dd6351e3b8a50f3">experimental::ADatabase::getFlightEntry</a></div><div class="ttdeci">AFlightEntry getFlightEntry(RowId row_id)</div><div class="ttdoc">retreives a flight entry from the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:397</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_aa45ad744482ae94d8f639e5837c9c221"><div class="ttname"><a href="classexperimental_1_1_a_database.html#aa45ad744482ae94d8f639e5837c9c221">experimental::ADatabase::connect</a></div><div class="ttdeci">bool connect()</div><div class="ttdoc">Connect to the database and populate database information.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:41</div></div>
-<div class="ttc" id="astructexperimental_1_1_a_pilot_entry_html"><div class="ttname"><a href="structexperimental_1_1_a_pilot_entry.html">experimental::APilotEntry</a></div><div class="ttdef"><b>Definition:</b> apilotentry.h:26</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_a391a945bf0bf3160045690319833edce"><div class="ttname"><a href="classexperimental_1_1_a_database.html#a391a945bf0bf3160045690319833edce">experimental::ADatabase::getLastEntry</a></div><div class="ttdeci">int getLastEntry(ADatabaseTarget)</div><div class="ttdoc">returns the ROWID for the newest entry in the respective database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:499</div></div>
-<div class="ttc" id="anamespaceexperimental_html_a3f601400554a3aab738cab39bfa5cc7e"><div class="ttname"><a href="namespaceexperimental.html#a3f601400554a3aab738cab39bfa5cc7e">experimental::aDB</a></div><div class="ttdeci">ADatabase * aDB()</div><div class="ttdoc">Convinience function that returns instance of DataBase. Instead of this: DataBase::getInstance()....</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:590</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_ae71340a7dc2668e9ae6e65117b16d1bd"><div class="ttname"><a href="classexperimental_1_1_a_database.html#ae71340a7dc2668e9ae6e65117b16d1bd">experimental::ADatabase::getEntryData</a></div><div class="ttdeci">TableData getEntryData(DataPosition data_position)</div><div class="ttdoc">retreive entry data from the database to create an entry object</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:312</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_ad273efb62d7829e5cef4440d78b53161"><div class="ttname"><a href="classexperimental_1_1_a_database.html#ad273efb62d7829e5cef4440d78b53161">experimental::ADatabase::getEntry</a></div><div class="ttdeci">AEntry getEntry(DataPosition data_position)</div><div class="ttdoc">retreive an Entry from the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:369</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_a1e3fa80e9472325fa41f227319592b26"><div class="ttname"><a href="classexperimental_1_1_a_database.html#a1e3fa80e9472325fa41f227319592b26">experimental::ADatabase::getCompletionList</a></div><div class="ttdeci">const QStringList getCompletionList(ADatabaseTarget)</div><div class="ttdoc">getCompletionList returns a QStringList of values for a QCompleter based on database values</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:404</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_database_html_aeeb82d8057f36436fd793a242627668e"><div class="ttname"><a href="classexperimental_1_1_a_database.html#aeeb82d8057f36436fd793a242627668e">experimental::ADatabase::remove</a></div><div class="ttdeci">bool remove(AEntry entry)</div><div class="ttdoc">deletes an entry from the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:97</div></div>
+<div class="ttc" id="aclass_a_database_html_a24f938e4c8d20afddb5e5651e041a7a6"><div class="ttname"><a href="class_a_database.html#a24f938e4c8d20afddb5e5651e041a7a6">ADatabase::exists</a></div><div class="ttdeci">bool exists(AEntry entry)</div><div class="ttdoc">Checks if an entry exists in the database, based on position data.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:220</div></div>
+<div class="ttc" id="aclass_a_database_html_a0bda52064f005f1463e56b60cd23b164"><div class="ttname"><a href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164">ADatabase::restoreBackup</a></div><div class="ttdeci">bool restoreBackup(const QString &amp;backup_file)</div><div class="ttdoc">ADatabase::restoreBackup restores the database from a given backup file and replaces the currently ac...</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:752</div></div>
+<div class="ttc" id="aclass_a_database_html_a3c0fdc84000ad397d61f0efabd032194"><div class="ttname"><a href="class_a_database.html#a3c0fdc84000ad397d61f0efabd032194">ADatabase::updateLayout</a></div><div class="ttdeci">void updateLayout()</div><div class="ttdoc">Updates the member variables tableNames and tableColumns with up-to-date layout information if the da...</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:65</div></div>
+<div class="ttc" id="aclass_a_database_html_a4640a4348dad468a0ff65bad05b07227"><div class="ttname"><a href="class_a_database.html#a4640a4348dad468a0ff65bad05b07227">ADatabase::resolveForeignPilot</a></div><div class="ttdeci">APilotEntry resolveForeignPilot(RowId_T foreign_key)</div><div class="ttdoc">Resolves the foreign key in a flight entry.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:623</div></div>
+<div class="ttc" id="aclass_a_database_html_a89de409c1828125363f46f384df47359"><div class="ttname"><a href="class_a_database.html#a89de409c1828125363f46f384df47359">ADatabase::getCompletionList</a></div><div class="ttdeci">const QStringList getCompletionList(ADatabaseTarget target)</div><div class="ttdoc">getCompletionList returns a QStringList of values for a QCompleter based on database values</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:461</div></div>
+<div class="ttc" id="aclass_a_database_html_abc461aaa66304ca638e546f67a694935"><div class="ttname"><a href="class_a_database.html#abc461aaa66304ca638e546f67a694935">ADatabase::disconnect</a></div><div class="ttdeci">void disconnect()</div><div class="ttdoc">closes the database connection.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:122</div></div>
+<div class="ttc" id="aclass_a_flight_entry_html"><div class="ttname"><a href="class_a_flight_entry.html">AFlightEntry</a></div><div class="ttdef"><b>Definition:</b> aflightentry.h:23</div></div>
+<div class="ttc" id="aclass_a_database_html_a426026d641a594863995ec5db8312259"><div class="ttname"><a href="class_a_database.html#a426026d641a594863995ec5db8312259">ADatabase::getPilotEntry</a></div><div class="ttdeci">APilotEntry getPilotEntry(RowId_T row_id)</div><div class="ttdoc">retreives a PilotEntry from the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:426</div></div>
+<div class="ttc" id="aclass_a_database_error_html"><div class="ttname"><a href="class_a_database_error.html">ADatabaseError</a></div><div class="ttdoc">Custom Database Error derived from QSqlError. Extends text() adding &quot;Database Error: &quot; before the tex...</div><div class="ttdef"><b>Definition:</b> adatabase.h:89</div></div>
+<div class="ttc" id="astruct_a_pilot_entry_html"><div class="ttname"><a href="struct_a_pilot_entry.html">APilotEntry</a></div><div class="ttdef"><b>Definition:</b> apilotentry.h:24</div></div>
+<div class="ttc" id="aclass_a_database_html_aa6080200aa3f229251480bc416755fed"><div class="ttname"><a href="class_a_database.html#aa6080200aa3f229251480bc416755fed">ADatabase::connect</a></div><div class="ttdeci">bool connect()</div><div class="ttdoc">Connect to the database and populate database information.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:103</div></div>
+<div class="ttc" id="aclass_a_database_html_a5ab838a62a83974f9e40c62f66adfa99"><div class="ttname"><a href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99">ADatabase::createBackup</a></div><div class="ttdeci">bool createBackup(const QString &amp;dest_file)</div><div class="ttdoc">ADatabase::createBackup copies the currently used database to an external backup location provided by...</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:724</div></div>
+<div class="ttc" id="aclass_a_database_html_a0f0bffbb6cdd79975b7b5ca6c0db31a7"><div class="ttname"><a href="class_a_database.html#a0f0bffbb6cdd79975b7b5ca6c0db31a7">ADatabase::connectionReset</a></div><div class="ttdeci">void connectionReset()</div><div class="ttdoc">connectionReset is emitted whenever the database connection is reset, for example when creating or re...</div></div>
+<div class="ttc" id="aclass_a_database_html_a491415273a771dd7ea41452c331a34b0"><div class="ttname"><a href="class_a_database.html#a491415273a771dd7ea41452c331a34b0">ADatabase::sqliteVersion</a></div><div class="ttdeci">const QString sqliteVersion() const</div><div class="ttdoc">ADatabase::sqliteVersion returns database sqlite version.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:94</div></div>
+<div class="ttc" id="aclass_a_database_html_a5ed8c010ccc022687ce903cfde8ae911"><div class="ttname"><a href="class_a_database.html#a5ed8c010ccc022687ce903cfde8ae911">ADatabase::dataBaseUpdated</a></div><div class="ttdeci">void dataBaseUpdated()</div><div class="ttdoc">updated is emitted whenever the database contents have been updated. This can be either a commit,...</div></div>
+<div class="ttc" id="aclass_a_database_html_a2a43936d3ae28993f9f7eda0fdf4664d"><div class="ttname"><a href="class_a_database.html#a2a43936d3ae28993f9f7eda0fdf4664d">ADatabase::customQuery</a></div><div class="ttdeci">QVector&lt; QVariant &gt; customQuery(QString statement, int return_values)</div><div class="ttdoc">Can be used to send a complex query to the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:633</div></div>
+<div class="ttc" id="aclass_a_database_html_a56baf4eaf25922030f3cfa6906963f7c"><div class="ttname"><a href="class_a_database.html#a56baf4eaf25922030f3cfa6906963f7c">ADatabase::databaseSummary</a></div><div class="ttdeci">QMap&lt; ADatabaseSummaryKey, QString &gt; databaseSummary(const QString &amp;db_path)</div><div class="ttdoc">Return the summary of the DB_PATH as a stringlist.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:658</div></div>
+<div class="ttc" id="aclass_a_database_html_a8959b406b97d9520981890d92850b1ba"><div class="ttname"><a href="class_a_database.html#a8959b406b97d9520981890d92850b1ba">ADatabase::getEntry</a></div><div class="ttdeci">AEntry getEntry(DataPosition data_position)</div><div class="ttdoc">retreive an Entry from the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:419</div></div>
+<div class="ttc" id="aclass_a_database_html_a356df159542705635dc3898d90682039"><div class="ttname"><a href="class_a_database.html#a356df159542705635dc3898d90682039">ADatabase::getTailEntry</a></div><div class="ttdeci">ATailEntry getTailEntry(RowId_T row_id)</div><div class="ttdoc">retreives a TailEntry from the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:433</div></div>
+<div class="ttc" id="aclass_a_database_html_a7bb44738362582e4f54f68e3aa30d40a"><div class="ttname"><a href="class_a_database.html#a7bb44738362582e4f54f68e3aa30d40a">ADatabase::getFlightEntry</a></div><div class="ttdeci">AFlightEntry getFlightEntry(RowId_T row_id)</div><div class="ttdoc">retreives a flight entry from the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:447</div></div>
+<div class="ttc" id="aclass_a_database_html_a6006c47c82b2c72f7ab6b5cc319c5fbf"><div class="ttname"><a href="class_a_database.html#a6006c47c82b2c72f7ab6b5cc319c5fbf">ADatabase::getForeignKeyConstraints</a></div><div class="ttdeci">QList&lt; RowId_T &gt; getForeignKeyConstraints(RowId_T foreign_row_id, ADatabaseTarget target)</div><div class="ttdoc">returns a list of ROWID's in the flights table for which foreign key constraints exist.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:586</div></div>
+<div class="ttc" id="aclass_a_database_html_ae0a3c9273431195df6295b9da24b3a3a"><div class="ttname"><a href="class_a_database.html#ae0a3c9273431195df6295b9da24b3a3a">ADatabase::getAircraftEntry</a></div><div class="ttdeci">AAircraftEntry getAircraftEntry(RowId_T row_id)</div><div class="ttdoc">retreives a TailEntry from the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:440</div></div>
+<div class="ttc" id="astruct_data_position_html"><div class="ttname"><a href="struct_data_position.html">DataPosition</a></div><div class="ttdef"><b>Definition:</b> adatabasetypes.h:44</div></div>
+<div class="ttc" id="astruct_a_tail_entry_html"><div class="ttname"><a href="struct_a_tail_entry.html">ATailEntry</a></div><div class="ttdef"><b>Definition:</b> atailentry.h:24</div></div>
+<div class="ttc" id="aclass_a_database_html_a2379c9da900da8e96add932e4024389a"><div class="ttname"><a href="class_a_database.html#a2379c9da900da8e96add932e4024389a">ADatabase::database</a></div><div class="ttdeci">static QSqlDatabase database()</div><div class="ttdoc">Can be used to access the database connection.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:129</div></div>
+<div class="ttc" id="aclass_a_database_html"><div class="ttname"><a href="class_a_database.html">ADatabase</a></div><div class="ttdoc">The DB class encapsulates the SQL database by providing fast access to hot database data.</div><div class="ttdef"><b>Definition:</b> adatabase.h:100</div></div>
+<div class="ttc" id="aclass_a_database_html_a4903909a28daed708e1a335d3be4f57b"><div class="ttname"><a href="class_a_database.html#a4903909a28daed708e1a335d3be4f57b">ADatabase::remove</a></div><div class="ttdeci">bool remove(AEntry entry)</div><div class="ttdoc">deletes an entry from the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:143</div></div>
+<div class="ttc" id="aclass_a_database_html_a264fea56cd3fbc31463c587f196ce576"><div class="ttname"><a href="class_a_database.html#a264fea56cd3fbc31463c587f196ce576">ADatabase::getLastEntry</a></div><div class="ttdeci">int getLastEntry(ADatabaseTarget target)</div><div class="ttdoc">returns the ROWID for the newest entry in the respective database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:558</div></div>
+<div class="ttc" id="aclass_a_database_html_a4f0df6cc04e6d9b563db874a989ebc61"><div class="ttname"><a href="class_a_database.html#a4f0df6cc04e6d9b563db874a989ebc61">ADatabase::getTableNames</a></div><div class="ttdeci">TableNames_T getTableNames() const</div><div class="ttdoc">Return the names of all tables in the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:60</div></div>
+<div class="ttc" id="aclass_a_database_html_afc39f6136fc822e0649964fa22b84bf9"><div class="ttname"><a href="class_a_database.html#afc39f6136fc822e0649964fa22b84bf9">ADatabase::getEntryData</a></div><div class="ttdeci">RowData_T getEntryData(DataPosition data_position)</div><div class="ttdoc">retreive entry data from the database to create an entry object</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:362</div></div>
+<div class="ttc" id="aclass_a_database_html_a863d30e9e3a7c14adfe72787363618c8"><div class="ttname"><a href="class_a_database.html#a863d30e9e3a7c14adfe72787363618c8">ADatabase::removeMany</a></div><div class="ttdeci">bool removeMany(QList&lt; DataPosition &gt;)</div><div class="ttdoc">deletes a list of entries from the database. Optimised for speed when deleting many entries.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:174</div></div>
+<div class="ttc" id="aclass_a_database_html_a5abdf1f35468f788609252c7a3be7bc4"><div class="ttname"><a href="class_a_database.html#a5abdf1f35468f788609252c7a3be7bc4">ADatabase::getCurrencyEntry</a></div><div class="ttdeci">ACurrencyEntry getCurrencyEntry(ACurrencyEntry::CurrencyName currency_name)</div><div class="ttdoc">Retreives a currency entry from the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:454</div></div>
+<div class="ttc" id="astruct_a_aircraft_entry_html"><div class="ttname"><a href="struct_a_aircraft_entry.html">AAircraftEntry</a></div><div class="ttdef"><b>Definition:</b> aaircraftentry.h:24</div></div>
+<div class="ttc" id="astruct_a_currency_entry_html"><div class="ttname"><a href="struct_a_currency_entry.html">ACurrencyEntry</a></div><div class="ttdef"><b>Definition:</b> acurrencyentry.h:7</div></div>
+<div class="ttc" id="aclass_a_database_html_a5878bcd4bc19e4c3fc5275ca7252860d"><div class="ttname"><a href="class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d">ADatabase::resolveForeignTail</a></div><div class="ttdeci">ATailEntry resolveForeignTail(RowId_T foreign_key)</div><div class="ttdoc">Resolves the foreign key in a flight entry.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:628</div></div>
+<div class="ttc" id="aclass_a_database_html_a5dba46567089112b28b16aaf985af0ba"><div class="ttname"><a href="class_a_database.html#a5dba46567089112b28b16aaf985af0ba">ADatabase::getIdMap</a></div><div class="ttdeci">const QMap&lt; QString, RowId_T &gt; getIdMap(ADatabaseTarget target)</div><div class="ttdoc">returns a QMap&lt;QString, RowId_t&gt; of a human-readable database value and its row id....</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:510</div></div>
+<div class="ttc" id="aclass_a_database_html_a652472c747c0ce68940b17c9c23666dd"><div class="ttname"><a href="class_a_database.html#a652472c747c0ce68940b17c9c23666dd">ADatabase::commit</a></div><div class="ttdeci">bool commit(AEntry entry)</div><div class="ttdoc">commits an entry to the database, calls either insert or update, based on position data</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:134</div></div>
+<div class="ttc" id="aclass_a_entry_html"><div class="ttname"><a href="class_a_entry.html">AEntry</a></div><div class="ttdoc">The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...</div><div class="ttdef"><b>Definition:</b> aentry.h:40</div></div>
+<div class="ttc" id="aclass_a_database_html_a4ecb6d0c9b3813c90b3165c993e69ad5"><div class="ttname"><a href="class_a_database.html#a4ecb6d0c9b3813c90b3165c993e69ad5">ADatabase::insert</a></div><div class="ttdeci">bool insert(AEntry new_entry)</div><div class="ttdoc">Create new entry in the databse based on UserInput.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:316</div></div>
+<div class="ttc" id="aclass_a_database_html_ad977866124a3c7f7184e165c02a68931"><div class="ttname"><a href="class_a_database.html#ad977866124a3c7f7184e165c02a68931">ADatabase::getTableColumns</a></div><div class="ttdeci">ColumnNames_T getTableColumns(TableName_T table_name) const</div><div class="ttdoc">Return the names of a given table in the database.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:55</div></div>
+<div class="ttc" id="aclass_a_database_html_a910bc0c1717e9301911343c082aa1aaa"><div class="ttname"><a href="class_a_database.html#a910bc0c1717e9301911343c082aa1aaa">ADatabase::update</a></div><div class="ttdeci">bool update(AEntry updated_entry)</div><div class="ttdoc">Updates entry in database from existing entry tweaked by the user.</div><div class="ttdef"><b>Definition:</b> adatabase.cpp:280</div></div>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_4be88786e9e8558ded50c83b495719ca.html">experimental</a></li><li class="navelem"><b>adatabase.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_803ee67260c130b45d29089798491ab2.html">database</a></li><li class="navelem"><b>adatabase.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 44 - 34
docs/html/adatabasesetup_8h_source.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: src/database/adatabasesetup.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -87,8 +88,8 @@ $(document).ready(function(){initNavTree('adatabasesetup_8h_source.html',''); in
 </div><!--header-->
 <div class="contents">
 <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilot Log - A FOSS Pilot Logbook Application</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020  Felix Turowsky</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
 <div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
 <div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
 <div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
@@ -107,44 +108,53 @@ $(document).ready(function(){initNavTree('adatabasesetup_8h_source.html',''); in
 <div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define DBSETUP_H</span></div>
 <div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
 <div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;QCoreApplication&gt;</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;src/database/db.h&quot;</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;src/database/dbinfo.h&quot;</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;src/functions/areadcsv.h&quot;</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
-<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="class_a_data_base_setup.html">   32</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_a_data_base_setup.html">ADataBaseSetup</a></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_a_data_base_setup.html#ac9c061c0d18777537dcf6273683c5468">debug</a>();</div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> createDatabase();</div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> fillTemplates();</div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160; </div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> importDefaultData();</div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_a_data_base_setup.html#a89fee11dbb1510262a783ee97d946ab7">resetToDefault</a>();</div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_a_data_base_setup.html#aa05e875621bd9c01319b545746dd4936">commitData</a>(QVector&lt;QStringList&gt; fromCSV, <span class="keyword">const</span> QString &amp;tableName);</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">private</span>:</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; </div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> createSchemata(<span class="keyword">const</span> QStringList &amp;statements);</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;QStringBuilder&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;QEventLoop&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#define DATABASE_REVISION 17</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">const</span> <span class="keyword">auto</span> TEMPLATE_URL = QStringLiteral(<span class="stringliteral">&quot;https://raw.githubusercontent.com/fiffty-50/openpilotlog/develop/assets/database/templates/&quot;</span>);</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="class_a_data_base_setup.html">   35</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_a_data_base_setup.html">ADataBaseSetup</a></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;{</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_a_data_base_setup.html#ac9c061c0d18777537dcf6273683c5468">debug</a>();</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> createDatabase();</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> downloadTemplates();</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160; </div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> backupOldData();</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> fillTemplates();</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> importDefaultData(<span class="keywordtype">bool</span> use_local_data);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160; </div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_a_data_base_setup.html#a89fee11dbb1510262a783ee97d946ab7">resetToDefault</a>();</div>
 <div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;};</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_a_data_base_setup.html#a7108c7f8fd28ff33df095062c5ab40c3">commitData</a>(QVector&lt;QStringList&gt; from_csv, <span class="keyword">const</span> QString &amp;table_name);</div>
 <div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#endif // DBSETUP_H</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> createSchemata(<span class="keyword">const</span> QStringList &amp;statements);</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;};</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160; </div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif // DBSETUP_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="aclass_a_data_base_setup_html_aa05e875621bd9c01319b545746dd4936"><div class="ttname"><a href="class_a_data_base_setup.html#aa05e875621bd9c01319b545746dd4936">ADataBaseSetup::commitData</a></div><div class="ttdeci">static bool commitData(QVector&lt; QStringList &gt; fromCSV, const QString &amp;tableName)</div><div class="ttdoc">DbSetup::commitData inserts the data parsed from a csv file into the database. The first line of the ...</div><div class="ttdef"><b>Definition:</b> adatabasesetup.cpp:379</div></div>
-<div class="ttc" id="aclass_a_data_base_setup_html_a89fee11dbb1510262a783ee97d946ab7"><div class="ttname"><a href="class_a_data_base_setup.html#a89fee11dbb1510262a783ee97d946ab7">ADataBaseSetup::resetToDefault</a></div><div class="ttdeci">static bool resetToDefault()</div><div class="ttdoc">DbSetup::resetToDefault Empties all user-generated content in the database.</div><div class="ttdef"><b>Definition:</b> adatabasesetup.cpp:306</div></div>
-<div class="ttc" id="aclass_a_data_base_setup_html_ac9c061c0d18777537dcf6273683c5468"><div class="ttname"><a href="class_a_data_base_setup.html#ac9c061c0d18777537dcf6273683c5468">ADataBaseSetup::debug</a></div><div class="ttdeci">static void debug()</div><div class="ttdoc">dbSetup::debug prints Database Layout</div><div class="ttdef"><b>Definition:</b> adatabasesetup.cpp:323</div></div>
-<div class="ttc" id="aclass_a_data_base_setup_html"><div class="ttname"><a href="class_a_data_base_setup.html">ADataBaseSetup</a></div><div class="ttdoc">The ADataBaseSetup class is responsible for the inital setup of the database when the application is ...</div><div class="ttdef"><b>Definition:</b> adatabasesetup.h:33</div></div>
+<div class="ttc" id="aclass_a_data_base_setup_html_a7108c7f8fd28ff33df095062c5ab40c3"><div class="ttname"><a href="class_a_data_base_setup.html#a7108c7f8fd28ff33df095062c5ab40c3">ADataBaseSetup::commitData</a></div><div class="ttdeci">static bool commitData(QVector&lt; QStringList &gt; from_csv, const QString &amp;table_name)</div><div class="ttdoc">DbSetup::commitData inserts the data parsed from a csv file into the database. The first line of the ...</div><div class="ttdef"><b>Definition:</b> adatabasesetup.cpp:452</div></div>
+<div class="ttc" id="aclass_a_data_base_setup_html_a89fee11dbb1510262a783ee97d946ab7"><div class="ttname"><a href="class_a_data_base_setup.html#a89fee11dbb1510262a783ee97d946ab7">ADataBaseSetup::resetToDefault</a></div><div class="ttdeci">static bool resetToDefault()</div><div class="ttdoc">DbSetup::resetToDefault Empties all user-generated content in the database.</div><div class="ttdef"><b>Definition:</b> adatabasesetup.cpp:379</div></div>
+<div class="ttc" id="aclass_a_data_base_setup_html_ac9c061c0d18777537dcf6273683c5468"><div class="ttname"><a href="class_a_data_base_setup.html#ac9c061c0d18777537dcf6273683c5468">ADataBaseSetup::debug</a></div><div class="ttdeci">static void debug()</div><div class="ttdoc">dbSetup::debug prints Database Layout</div><div class="ttdef"><b>Definition:</b> adatabasesetup.cpp:396</div></div>
+<div class="ttc" id="aclass_a_data_base_setup_html"><div class="ttname"><a href="class_a_data_base_setup.html">ADataBaseSetup</a></div><div class="ttdoc">The ADataBaseSetup class is responsible for the inital setup of the database when the application is ...</div><div class="ttdef"><b>Definition:</b> adatabasesetup.h:35</div></div>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_803ee67260c130b45d29089798491ab2.html">database</a></li><li class="navelem"><b>adatabasesetup.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 165 - 0
docs/html/adatabasetypes_8h_source.html

@@ -0,0 +1,165 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: src/database/adatabasetypes.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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('adatabasetypes_8h_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">adatabasetypes.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *the Free Software Foundation, either version 3 of the License, or</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *(at your option) any later version.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *This program is distributed in the hope that it will be useful,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *GNU General Public License for more details.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *You should have received a copy of the GNU General Public License</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *along with this program.  If not, see &lt;https://www.gnu.org/licenses/&gt;.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef DECLARATIONS_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define DECLARATIONS_H</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;QtCore&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;src/functions/alog.h&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">using</span> RowId_T = int;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">using</span> PilotName_T = QString;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">using</span> PilotRowId_T = RowId_T;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">using</span> TailRegistration_T = QString;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">using</span> TailId_T = RowId_T;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keyword">using</span> AirportICAO_T = QString;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">using</span> AirportIATA_T = QString;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">using</span> AirportName_T = QString;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">using</span> AirportId_T = RowId_T;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">using</span> ColName_T = QString;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">using</span> ColData_T = QVariant;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">using</span> TableName_T = QString;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160; </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">using</span> TableNames_T = QStringList;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">using</span> RowData_T = QMap&lt;ColName_T, ColData_T&gt;;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">using</span> ColumnData_T = QPair&lt;ColName_T, ColData_T&gt;;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">using</span> ColumnNames_T = QStringList;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">using</span> TableColumns_T = QMap&lt;TableName_T, ColumnNames_T&gt;;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160; </div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="struct_data_position.html">   44</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_data_position.html">DataPosition</a> {</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    TableName_T tableName;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    RowId_T rowId;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <a class="code" href="struct_data_position.html">DataPosition</a>()</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        : tableName(TableName_T())</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    {};</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <a class="code" href="struct_data_position.html">DataPosition</a>(TableName_T table_name, RowId_T row_id)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        : tableName(table_name), rowId(row_id)</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    {};</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <a class="code" href="struct_data_position.html">DataPosition</a>(<span class="keyword">const</span> <a class="code" href="struct_data_position.html">DataPosition</a>&amp; other) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <a class="code" href="struct_data_position.html">DataPosition</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="struct_data_position.html">DataPosition</a>&amp; other) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; </div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    REPR(<a class="code" href="struct_data_position.html">DataPosition</a>,</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;         <span class="stringliteral">&quot;tableName=&quot;</span> + <span class="keywordtype">object</span>.tableName</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;         + <span class="stringliteral">&quot;, rowId=&quot;</span> + QString::number(<span class="keywordtype">object</span>.rowId)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;         )</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;};</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160; </div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#endif // DECLARATIONS_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="astruct_data_position_html"><div class="ttname"><a href="struct_data_position.html">DataPosition</a></div><div class="ttdef"><b>Definition:</b> adatabasetypes.h:44</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_803ee67260c130b45d29089798491ab2.html">database</a></li><li class="navelem"><b>adatabasetypes.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 143 - 0
docs/html/adate_8h_source.html

@@ -0,0 +1,143 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: src/functions/adate.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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('adate_8h_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">adate.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef ADATE_H</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define ADATE_H</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor">#include &quot;src/opl.h&quot;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">auto</span> ISO = QStringLiteral(<span class="stringliteral">&quot;yyyy-MM-dd&quot;</span>);</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">auto</span> DE = QStringLiteral(<span class="stringliteral">&quot;dd.MM.yyyy&quot;</span>);</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">auto</span> EN = QStringLiteral(<span class="stringliteral">&quot;MM/dd/yyyy&quot;</span>);</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160; </div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="keyword">const</span> <span class="keyword">static</span> QMap&lt;Opl::Date::ADateFormat, QString&gt; ADATEFORMATSMAP = {</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    {Opl::Date::ADateFormat::ISODate, ISO},</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    {Opl::Date::ADateFormat::DE,      DE },</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    {Opl::Date::ADateFormat::EN,      EN },</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160; </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;};</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160; </div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="keyword">const</span> <span class="keyword">static</span> QStringList DISPLAY_NAMES = {</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    QStringLiteral(<span class="stringliteral">&quot;ISO 8601: yyyy-MM-dd&quot;</span>),</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    QStringLiteral(<span class="stringliteral">&quot;DE: dd.MM.yyyy&quot;</span>),</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    QStringLiteral(<span class="stringliteral">&quot;EN: MM/dd/yyyy&quot;</span>)</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;};</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
+<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="class_a_date.html">   26</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_a_date.html">ADate</a></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;{</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="keyword">static</span> QDate <a class="code" href="class_a_date.html#aa1c79d62d44ab503ccbc984f6f681a2d">formatInput</a>(QString user_input, Opl::Date::ADateFormat format);</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="class_a_date.html#ae8a544f48462c8159748f98fe4684a56">   38</a></span>&#160;    <span class="keyword">inline</span> <span class="keyword">static</span> QString <a class="code" href="class_a_date.html#ae8a544f48462c8159748f98fe4684a56">toString</a>(<span class="keyword">const</span> QDate &amp;date, Opl::Date::ADateFormat format = Opl::Date::ADateFormat::ISODate)</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    {</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <span class="keywordflow">return</span> date.toString(ADATEFORMATSMAP.value(format));</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    };</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> QStringList&amp; getDisplayNames();</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> QString getFormatString(Opl::Date::ADateFormat format);</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;};</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; </div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#endif // ADATE_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="aclass_a_date_html_ae8a544f48462c8159748f98fe4684a56"><div class="ttname"><a href="class_a_date.html#ae8a544f48462c8159748f98fe4684a56">ADate::toString</a></div><div class="ttdeci">static QString toString(const QDate &amp;date, Opl::Date::ADateFormat format=Opl::Date::ADateFormat::ISODate)</div><div class="ttdoc">Reimplements QDate::toString to accept Opl::Date::ADateFormat enums.</div><div class="ttdef"><b>Definition:</b> adate.h:38</div></div>
+<div class="ttc" id="aclass_a_date_html_aa1c79d62d44ab503ccbc984f6f681a2d"><div class="ttname"><a href="class_a_date.html#aa1c79d62d44ab503ccbc984f6f681a2d">ADate::formatInput</a></div><div class="ttdeci">static QDate formatInput(QString user_input, Opl::Date::ADateFormat format)</div><div class="ttdoc">formatInput takes a user-provided input and tries to convert it to a QDate.</div><div class="ttdef"><b>Definition:</b> adate.cpp:3</div></div>
+<div class="ttc" id="aclass_a_date_html"><div class="ttname"><a href="class_a_date.html">ADate</a></div><div class="ttdoc">The ADate class is responsible for input/output of Dates and handling the different Date Formats.</div><div class="ttdef"><b>Definition:</b> adate.h:26</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e823141bb13a34caac0c96ccd0d33fcf.html">functions</a></li><li class="navelem"><b>adate.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 140 - 0
docs/html/adatetime_8h_source.html

@@ -0,0 +1,140 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: src/functions/adatetime.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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('adatetime_8h_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">adatetime.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *the Free Software Foundation, either version 3 of the License, or</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *(at your option) any later version.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *This program is distributed in the hope that it will be useful,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *GNU General Public License for more details.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *You should have received a copy of the GNU General Public License</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *along with this program.  If not, see &lt;https://www.gnu.org/licenses/&gt;.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef ADATETIME_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define ADATETIME_H</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;QtCore&gt;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;src/opl.h&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">namespace </span>ADateTime {</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> QString toString (<span class="keyword">const</span> QDateTime date_time, Opl::Datetime::DateTimeFormat format) {</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <span class="keywordflow">switch</span> (format) {</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <span class="keywordflow">case</span> Opl::Datetime::Default:</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        <span class="keywordflow">return</span> date_time.toString(Qt::ISODate);</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="keywordflow">case</span> Opl::Datetime::Backup:</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="keywordflow">return</span> date_time.toString(QStringLiteral(<span class="stringliteral">&quot;yyyy_MM_dd_T_hh_mm&quot;</span>));</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keywordflow">return</span> QString();</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    }</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;}</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;}</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#endif // ADATETIME_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e823141bb13a34caac0c96ccd0d33fcf.html">functions</a></li><li class="navelem"><b>adatetime.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 47 - 9
docs/html/adebug_8h_source.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: src/testing/adebug.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -89,19 +90,56 @@ $(document).ready(function(){initNavTree('adebug_8h_source.html',''); initResiza
 <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef ADEBUG_H</span></div>
 <div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define ADEBUG_H</span></div>
 <div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160; </div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &lt;QDebug&gt;</span></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;<span class="preprocessor">#define DEB(expr) \</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">    qDebug() &lt;&lt; __PRETTY_FUNCTION__ &lt;&lt; &quot;\t&quot; &lt;&lt; expr</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160; </div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">#include &lt;QDebug&gt;</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">#if defined(__GNUC__) || defined(__clang__)</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">    #define FUNC_IDENT __PRETTY_FUNCTION__</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">#elif defined(_MSC_VER)</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">    #define FUNC_IDENT __FUNCSIG__</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">#else</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">    #define FUNC_IDENT __func__</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">#endif</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// CAUTION: qDebug() doesnt print for non-DEBUG builds</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">#define DEB qDebug() &lt;&lt; FUNC_IDENT &lt;&lt; &quot;\n\t&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">#define DEB_SRC DEB</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">#define DEB_RAW qDebug() &lt;&lt; &#39;\t&#39;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">// [G]: TODO study cross platform terminal coloring</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">// might be silly but coloring specific words does increase</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">// ease of reading debug output. We dont have to go overboard</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">// start with the header.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">// DRAFT:</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// info -&gt; white</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">// warning -&gt; yellow</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">// critical -&gt; red</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">// there is also fatal which even kills the program and could be purple.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">#define INFO qInfo() &lt;&lt; &quot;info:&quot;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">#define WARN qWarning() &lt;&lt; &quot;warning:&quot;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">#define CRIT qCritical() &lt;&lt; &quot;critical:&quot;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">//#define NOT_IMPLEMENTED qCritical() &lt;&lt; FUNC_IDENT &lt;&lt; &quot;\n\t&quot; &lt;&lt; &quot;~~ NOT IMPLEMENTED ~~&quot;;</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">#define NOT_IMPLEMENTED(msg) qCritical() &lt;&lt; FUNC_IDENT &lt;&lt; &quot;\n\tNOT IMPLEMENTED:&quot; &lt;&lt; msg</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">*/</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define REPR(cls, str) \</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">friend \</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">QDebug operator&lt;&lt;(QDebug qdb, const cls&amp; object) \</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">{ \</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">    qdb &lt;&lt; QString(#cls) + &#39;(&#39; + str + &#39;)&#39;; \</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">    return qdb; \</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">}</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160; </div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#endif</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_3513c77e68d0de165c8b48f945306dcb.html">testing</a></li><li class="navelem"><b>adebug.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 8 - 5
docs/html/adownload_8h_source.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: src/classes/adownload.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -87,8 +88,8 @@ $(document).ready(function(){initNavTree('adownload_8h_source.html',''); initRes
 </div><!--header-->
 <div class="contents">
 <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilot Log - A FOSS Pilot Logbook Application</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020  Felix Turowsky</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
 <div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
 <div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
 <div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
@@ -150,7 +151,9 @@ $(document).ready(function(){initNavTree('adownload_8h_source.html',''); initRes
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_018e9aafb459e6e1a4953404cb0c0b1d.html">classes</a></li><li class="navelem"><b>adownload.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 42 - 44
docs/html/aentry_8h_source.html

@@ -3,9 +3,9 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>openPilotLog: src/experimental/aentry.h Source File</title>
+<title>openPilotLog: src/classes/aentry.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>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -87,8 +88,8 @@ $(document).ready(function(){initNavTree('aentry_8h_source.html',''); initResiza
 </div><!--header-->
 <div class="contents">
 <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilot Log - A FOSS Pilot Logbook Application</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020  Felix Turowsky</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
 <div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
 <div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
 <div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
@@ -103,8 +104,8 @@ $(document).ready(function(){initNavTree('aentry_8h_source.html',''); initResiza
 <div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *You should have received a copy of the GNU General Public License</span></div>
 <div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *along with this program.  If not, see &lt;https://www.gnu.org/licenses/&gt;.</span></div>
 <div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef ENTRY_H</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define ENTRY_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef AENTRY_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define AENTRY_H</span></div>
 <div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
 <div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;QString&gt;</span></div>
 <div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;QStringList&gt;</span></div>
@@ -112,51 +113,48 @@ $(document).ready(function(){initNavTree('aentry_8h_source.html',''); initResiza
 <div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;QPair&gt;</span></div>
 <div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;QVariant&gt;</span></div>
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;decl.h&quot;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;src/database/adatabasetypes.h&quot;</span></div>
 <div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceexperimental.html">experimental</a> {</div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">// [G]: Define what data is public and what not. For objects such as</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// DataPosition which are consumable its no biggy. Are entries the same?</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">// If so we could avoid getters and setters</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">// [F]: In the way we are using the entries atm, we do access and edit the</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">// TableData quite frequently. Maybe the data could be public, but the</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">// position private? Except for creating a new entry, the position should</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">// never really be changed.</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classexperimental_1_1_a_entry.html">   42</a></span>&#160;<span class="comment"></span><span class="keyword">class </span><a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a> {</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">protected</span>:</div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <a class="code" href="structexperimental_1_1_data_position.html">DataPosition</a> position;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">// [G]: Define what data is public and what not. For objects such as</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">// DataPosition which are consumable its no biggy. Are entries the same?</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">// If so we could avoid getters and setters</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// [F]: In the way we are using the entries atm, we do access and edit the</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">// TableData quite frequently. Maybe the data could be public, but the</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">// position private? Except for creating a new entry, the position should</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">// never really be changed.</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="class_a_entry.html">   40</a></span>&#160;<span class="comment"></span><span class="keyword">class </span><a class="code" href="class_a_entry.html">AEntry</a> {</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <a class="code" href="struct_data_position.html">DataPosition</a> position;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    RowData_T tableData;</div>
 <div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    TableData tableData;</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a>() = <span class="keyword">delete</span>; <span class="comment">// Demand specificity from default constructor</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a>(<span class="keyword">const</span> <a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a>&amp;) = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a>&amp;) = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a>(<a class="code" href="structexperimental_1_1_data_position.html">DataPosition</a> position_);</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a>(TableData table_data);</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a>(<a class="code" href="structexperimental_1_1_data_position.html">DataPosition</a> position_, TableData table_data);</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keywordtype">void</span> setData(TableData table_data);</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordtype">void</span> setPosition(<a class="code" href="structexperimental_1_1_data_position.html">DataPosition</a> position_);</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keyword">const</span> <a class="code" href="structexperimental_1_1_data_position.html">DataPosition</a>&amp; getPosition();</div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keyword">const</span> TableData&amp; getData();</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <a class="code" href="class_a_entry.html">AEntry</a>() = <span class="keyword">delete</span>; <span class="comment">// Demand specificity from default constructor</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <a class="code" href="class_a_entry.html">AEntry</a>(<span class="keyword">const</span> <a class="code" href="class_a_entry.html">AEntry</a>&amp;) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <a class="code" href="class_a_entry.html">AEntry</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="class_a_entry.html">AEntry</a>&amp;) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <a class="code" href="class_a_entry.html">AEntry</a>(<a class="code" href="struct_data_position.html">DataPosition</a> position_);</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <a class="code" href="class_a_entry.html">AEntry</a>(RowData_T table_data);</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <a class="code" href="class_a_entry.html">AEntry</a>(<a class="code" href="struct_data_position.html">DataPosition</a> position_, RowData_T table_data);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordtype">void</span> setData(RowData_T table_data);</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordtype">void</span> setPosition(<a class="code" href="struct_data_position.html">DataPosition</a> position_);</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keyword">const</span> <a class="code" href="struct_data_position.html">DataPosition</a>&amp; getPosition();</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keyword">const</span> RowData_T&amp; getData();</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;};</div>
 <div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160; </div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;};</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160; </div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;}</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif // ENTRY_H</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif // AENTRY_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="anamespaceexperimental_html"><div class="ttname"><a href="namespaceexperimental.html">experimental</a></div><div class="ttdoc">Temporary namespace for experimental features. Will be removed in later versions.</div><div class="ttdef"><b>Definition:</b> aaircraftentry.cpp:20</div></div>
-<div class="ttc" id="astructexperimental_1_1_data_position_html"><div class="ttname"><a href="structexperimental_1_1_data_position.html">experimental::DataPosition</a></div><div class="ttdef"><b>Definition:</b> decl.h:45</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_entry_html"><div class="ttname"><a href="classexperimental_1_1_a_entry.html">experimental::AEntry</a></div><div class="ttdoc">The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...</div><div class="ttdef"><b>Definition:</b> aentry.h:42</div></div>
+<div class="ttc" id="astruct_data_position_html"><div class="ttname"><a href="struct_data_position.html">DataPosition</a></div><div class="ttdef"><b>Definition:</b> adatabasetypes.h:44</div></div>
+<div class="ttc" id="aclass_a_entry_html"><div class="ttname"><a href="class_a_entry.html">AEntry</a></div><div class="ttdoc">The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...</div><div class="ttdef"><b>Definition:</b> aentry.h:40</div></div>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_4be88786e9e8558ded50c83b495719ca.html">experimental</a></li><li class="navelem"><b>aentry.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_018e9aafb459e6e1a4953404cb0c0b1d.html">classes</a></li><li class="navelem"><b>aentry.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 53 - 37
docs/html/aflightentry_8h_source.html

@@ -3,9 +3,9 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>openPilotLog: src/experimental/aflightentry.h Source File</title>
+<title>openPilotLog: src/classes/aflightentry.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>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -86,45 +87,60 @@ $(document).ready(function(){initNavTree('aflightentry_8h_source.html',''); init
 <div class="title">aflightentry.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef AFLIGHTENTRY_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define AFLIGHTENTRY_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160; </div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &quot;src/experimental/aentry.h&quot;</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &quot;src/functions/acalc.h&quot;</span></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;<span class="keyword">namespace </span><a class="code" href="namespaceexperimental.html">experimental</a> {</div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160; </div>
-<div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="classexperimental_1_1_a_flight_entry.html">    9</a></span>&#160;<span class="keyword">class </span><a class="code" href="classexperimental_1_1_a_flight_entry.html">AFlightEntry</a> : <span class="keyword">public</span> <a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a> {</div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classexperimental_1_1_a_flight_entry.html">AFlightEntry</a>();</div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="classexperimental_1_1_a_flight_entry.html">AFlightEntry</a>(<span class="keyword">const</span> <a class="code" href="classexperimental_1_1_a_flight_entry.html">AFlightEntry</a>&amp; pe) = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="classexperimental_1_1_a_flight_entry.html">AFlightEntry</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classexperimental_1_1_a_flight_entry.html">AFlightEntry</a>&amp; pe) = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="classexperimental_1_1_a_flight_entry.html">AFlightEntry</a>(<span class="keywordtype">int</span> row_id);</div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="classexperimental_1_1_a_flight_entry.html">AFlightEntry</a>(TableData table_data);</div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160; </div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keyword">enum</span> pilot { pic, sic, thirdPilot };</div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="keyword">const</span> QString <a class="code" href="classexperimental_1_1_a_flight_entry.html#a8ea56a97aa4a51cfffc13773eb8627bd">summary</a>();</div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="keyword">const</span> QString <a class="code" href="classexperimental_1_1_a_flight_entry.html#a4b40c29cd8edc2fb85f1a97600060cb7">getRegistration</a>();</div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="keyword">const</span> QString <a class="code" href="classexperimental_1_1_a_flight_entry.html#a974f1abdf5e5a4e001fdc5614f782d9d">getPilotName</a>(pilot);</div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;};</div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;} <span class="comment">// namespace experimental</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#endif // AFLIGHTENTRY_H</span></div>
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *the Free Software Foundation, either version 3 of the License, or</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *(at your option) any later version.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *This program is distributed in the hope that it will be useful,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *GNU General Public License for more details.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *You should have received a copy of the GNU General Public License</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *along with this program.  If not, see &lt;https://www.gnu.org/licenses/&gt;.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef AFLIGHTENTRY_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define AFLIGHTENTRY_H</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;src/classes/aentry.h&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="class_a_flight_entry.html">   23</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_a_flight_entry.html">AFlightEntry</a> : <span class="keyword">public</span> <a class="code" href="class_a_entry.html">AEntry</a> {</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <a class="code" href="class_a_flight_entry.html">AFlightEntry</a>();</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <a class="code" href="class_a_flight_entry.html">AFlightEntry</a>(RowId_T row_id);</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <a class="code" href="class_a_flight_entry.html">AFlightEntry</a>(RowData_T table_data);</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <a class="code" href="class_a_flight_entry.html">AFlightEntry</a>(<span class="keyword">const</span> <a class="code" href="class_a_flight_entry.html">AFlightEntry</a>&amp; pe) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="class_a_flight_entry.html">AFlightEntry</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="class_a_flight_entry.html">AFlightEntry</a>&amp; pe) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="keyword">enum class</span> pilotPosition { pic, secondPilot, thirdPilot };</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keyword">const</span> QString <a class="code" href="class_a_flight_entry.html#a83b4a71633e5f3cd44e266d44f117412">summary</a>();</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keyword">const</span> QString <a class="code" href="class_a_flight_entry.html#a603aa9ca029e7d3ecbe77d40e02b8b1c">getRegistration</a>();</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keyword">const</span> QString <a class="code" href="class_a_flight_entry.html#a24e526b17cedbe7fdf5af3a1ebe58648">getPilotName</a>(pilotPosition);</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;};</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#endif // AFLIGHTENTRY_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="anamespaceexperimental_html"><div class="ttname"><a href="namespaceexperimental.html">experimental</a></div><div class="ttdoc">Temporary namespace for experimental features. Will be removed in later versions.</div><div class="ttdef"><b>Definition:</b> aaircraftentry.cpp:20</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_entry_html"><div class="ttname"><a href="classexperimental_1_1_a_entry.html">experimental::AEntry</a></div><div class="ttdoc">The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...</div><div class="ttdef"><b>Definition:</b> aentry.h:42</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_flight_entry_html"><div class="ttname"><a href="classexperimental_1_1_a_flight_entry.html">experimental::AFlightEntry</a></div><div class="ttdef"><b>Definition:</b> aflightentry.h:9</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_flight_entry_html_a8ea56a97aa4a51cfffc13773eb8627bd"><div class="ttname"><a href="classexperimental_1_1_a_flight_entry.html#a8ea56a97aa4a51cfffc13773eb8627bd">experimental::AFlightEntry::summary</a></div><div class="ttdeci">const QString summary()</div><div class="ttdoc">Returs a summary of the flight data, if struct holds data.</div><div class="ttdef"><b>Definition:</b> aflightentry.cpp:18</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_flight_entry_html_a4b40c29cd8edc2fb85f1a97600060cb7"><div class="ttname"><a href="classexperimental_1_1_a_flight_entry.html#a4b40c29cd8edc2fb85f1a97600060cb7">experimental::AFlightEntry::getRegistration</a></div><div class="ttdeci">const QString getRegistration()</div><div class="ttdoc">Returns the tails' registration from the database.</div><div class="ttdef"><b>Definition:</b> aflightentry.cpp:33</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_flight_entry_html_a974f1abdf5e5a4e001fdc5614f782d9d"><div class="ttname"><a href="classexperimental_1_1_a_flight_entry.html#a974f1abdf5e5a4e001fdc5614f782d9d">experimental::AFlightEntry::getPilotName</a></div><div class="ttdeci">const QString getPilotName(pilot)</div><div class="ttdoc">Returns the pilots name from the Database.</div><div class="ttdef"><b>Definition:</b> aflightentry.cpp:52</div></div>
+<div class="ttc" id="aclass_a_flight_entry_html_a83b4a71633e5f3cd44e266d44f117412"><div class="ttname"><a href="class_a_flight_entry.html#a83b4a71633e5f3cd44e266d44f117412">AFlightEntry::summary</a></div><div class="ttdeci">const QString summary()</div><div class="ttdoc">Returs a summary of the flight data, if struct holds data.</div><div class="ttdef"><b>Definition:</b> aflightentry.cpp:36</div></div>
+<div class="ttc" id="aclass_a_flight_entry_html_a603aa9ca029e7d3ecbe77d40e02b8b1c"><div class="ttname"><a href="class_a_flight_entry.html#a603aa9ca029e7d3ecbe77d40e02b8b1c">AFlightEntry::getRegistration</a></div><div class="ttdeci">const QString getRegistration()</div><div class="ttdoc">Returns the tails' registration from the database.</div><div class="ttdef"><b>Definition:</b> aflightentry.cpp:54</div></div>
+<div class="ttc" id="aclass_a_flight_entry_html"><div class="ttname"><a href="class_a_flight_entry.html">AFlightEntry</a></div><div class="ttdef"><b>Definition:</b> aflightentry.h:23</div></div>
+<div class="ttc" id="aclass_a_flight_entry_html_a24e526b17cedbe7fdf5af3a1ebe58648"><div class="ttname"><a href="class_a_flight_entry.html#a24e526b17cedbe7fdf5af3a1ebe58648">AFlightEntry::getPilotName</a></div><div class="ttdeci">const QString getPilotName(pilotPosition)</div><div class="ttdoc">Returns the pilots name from the Database.</div><div class="ttdef"><b>Definition:</b> aflightentry.cpp:60</div></div>
+<div class="ttc" id="aclass_a_entry_html"><div class="ttname"><a href="class_a_entry.html">AEntry</a></div><div class="ttdoc">The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...</div><div class="ttdef"><b>Definition:</b> aentry.h:40</div></div>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_4be88786e9e8558ded50c83b495719ca.html">experimental</a></li><li class="navelem"><b>aflightentry.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_018e9aafb459e6e1a4953404cb0c0b1d.html">classes</a></li><li class="navelem"><b>aflightentry.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 63 - 59
docs/html/aircraftwidget_8h_source.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: src/gui/widgets/aircraftwidget.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -87,8 +88,8 @@ $(document).ready(function(){initNavTree('aircraftwidget_8h_source.html',''); in
 </div><!--header-->
 <div class="contents">
 <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilot Log - A FOSS Pilot Logbook Application</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020  Felix Turowsky</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
 <div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
 <div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
 <div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
@@ -109,73 +110,76 @@ $(document).ready(function(){initNavTree('aircraftwidget_8h_source.html',''); in
 <div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;QWidget&gt;</span></div>
 <div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;QItemSelection&gt;</span></div>
 <div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;QSqlTableModel&gt;</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;QDebug&gt;</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;QTableView&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;QTableView&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;src/gui/widgets/settingswidget.h&quot;</span></div>
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;src/classes/asettings.h&quot;</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;src/gui/dialogues/newtaildialog.h&quot;</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">//#include &quot;src/classes/aircraft.h&quot;</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">//#include &quot;src/database/db.h&quot;</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;src/experimental/adatabase.h&quot;</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;src/experimental/atailentry.h&quot;</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;src/experimental/aflightentry.h&quot;</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace </span>Ui {</div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">class </span><a class="code" href="class_aircraft_widget.html">AircraftWidget</a>;</div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;}</div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
-<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="class_aircraft_widget.html">   40</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_aircraft_widget.html">AircraftWidget</a> : <span class="keyword">public</span> QWidget</div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;{</div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    Q_OBJECT</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160; </div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keyword">explicit</span> <a class="code" href="class_aircraft_widget.html">AircraftWidget</a>(QWidget *parent = <span class="keyword">nullptr</span>);</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    ~<a class="code" href="class_aircraft_widget.html">AircraftWidget</a>();</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">private</span> slots:</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keywordtype">void</span> tableView_selectionChanged();</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keywordtype">void</span> tableView_headerClicked(<span class="keywordtype">int</span> column);</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordtype">void</span> on_deleteButton_clicked();</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keywordtype">void</span> on_newAircraftButton_clicked();</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; </div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordtype">void</span> acft_editing_finished();</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">namespace </span>Ui {</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">class </span><a class="code" href="class_aircraft_widget.html">AircraftWidget</a>;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="class_aircraft_widget.html">   48</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_aircraft_widget.html">AircraftWidget</a> : <span class="keyword">public</span> QWidget</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;{</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    Q_OBJECT</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keyword">explicit</span> <a class="code" href="class_aircraft_widget.html">AircraftWidget</a>(QWidget *parent = <span class="keyword">nullptr</span>);</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    ~<a class="code" href="class_aircraft_widget.html">AircraftWidget</a>();</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">private</span> slots:</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordtype">void</span> tableView_selectionChanged();</div>
 <div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keywordtype">void</span> on_aircraftSearchLineEdit_textChanged(<span class="keyword">const</span> QString &amp;arg1);</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keywordtype">void</span> tableView_headerClicked(<span class="keywordtype">int</span> column);</div>
 <div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160; </div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">public</span> slots:</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keywordtype">void</span> onDisplayModel_dataBaseUpdated();</div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">private</span>:</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    Ui::AircraftWidget *ui;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordtype">void</span> on_deleteAircraftButton_clicked();</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160; </div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordtype">void</span> on_newAircraftButton_clicked();</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keywordtype">void</span> onNewTailDialog_editingFinished();</div>
 <div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; </div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    QSqlTableModel *model;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordtype">void</span> on_aircraftSearchLineEdit_textChanged(<span class="keyword">const</span> QString &amp;arg1);</div>
 <div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; </div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    QTableView *view;</div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    QItemSelectionModel* selection;</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160; </div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    qint32 sortColumn;</div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    QVector&lt;qint32&gt; selectedTails;</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keywordtype">void</span> setupModelAndView();</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">public</span> slots:</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_aircraft_widget.html#a8e78830530971eeb4a3913b1d8356498">onAircraftWidget_settingChanged</a>(<a class="code" href="class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4">SettingsWidget::SettingSignal</a> signal);</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_aircraft_widget.html#ac5a5e720c80e49796930f8715b0a51e0">onAircraftWidget_dataBaseUpdated</a>();</div>
 <div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="keywordtype">void</span> onDeleteUnsuccessful();</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;};</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160; </div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor">#endif // AIRCRAFTWIDGET_H</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_aircraft_widget.html#a1b1faca35af681e28472d0b84ad52c4f">repopulateModel</a>();</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    Ui::AircraftWidget *ui;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; </div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    QSqlTableModel *model;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    QTableView *view;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160; </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    QItemSelectionModel* selection;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    qint32 sortColumn;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    QVector&lt;qint32&gt; selectedTails;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keywordtype">void</span> setupModelAndView();</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160; </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="keywordtype">void</span> connectSignalsAndSlots();</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordtype">void</span> onDeleteUnsuccessful();</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> refreshView(){model-&gt;select();}</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;};</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; </div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">#endif // AIRCRAFTWIDGET_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="aclass_aircraft_widget_html"><div class="ttname"><a href="class_aircraft_widget.html">AircraftWidget</a></div><div class="ttdef"><b>Definition:</b> aircraftwidget.h:41</div></div>
+<div class="ttc" id="aclass_aircraft_widget_html_ac5a5e720c80e49796930f8715b0a51e0"><div class="ttname"><a href="class_aircraft_widget.html#ac5a5e720c80e49796930f8715b0a51e0">AircraftWidget::onAircraftWidget_dataBaseUpdated</a></div><div class="ttdeci">void onAircraftWidget_dataBaseUpdated()</div><div class="ttdoc">Refreshes the view if the Database has been altered from outside the AircraftWidget.</div><div class="ttdef"><b>Definition:</b> aircraftwidget.cpp:93</div></div>
+<div class="ttc" id="aclass_settings_widget_html_af15eec9fd55841ec02041a1114da54d4"><div class="ttname"><a href="class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4">SettingsWidget::SettingSignal</a></div><div class="ttdeci">SettingSignal</div><div class="ttdoc">Widgets that need to receive a signal when a setting is updated.</div><div class="ttdef"><b>Definition:</b> settingswidget.h:44</div></div>
+<div class="ttc" id="aclass_aircraft_widget_html"><div class="ttname"><a href="class_aircraft_widget.html">AircraftWidget</a></div><div class="ttdoc">The AircraftWidget is used to view, edit, delete or add new tails.</div><div class="ttdef"><b>Definition:</b> aircraftwidget.h:48</div></div>
+<div class="ttc" id="aclass_aircraft_widget_html_a8e78830530971eeb4a3913b1d8356498"><div class="ttname"><a href="class_aircraft_widget.html#a8e78830530971eeb4a3913b1d8356498">AircraftWidget::onAircraftWidget_settingChanged</a></div><div class="ttdeci">void onAircraftWidget_settingChanged(SettingsWidget::SettingSignal signal)</div><div class="ttdoc">invokes setupModelAndView() to account for changes the user has made in the SettingsWidget</div><div class="ttdef"><b>Definition:</b> aircraftwidget.cpp:85</div></div>
+<div class="ttc" id="aclass_aircraft_widget_html_a1b1faca35af681e28472d0b84ad52c4f"><div class="ttname"><a href="class_aircraft_widget.html#a1b1faca35af681e28472d0b84ad52c4f">AircraftWidget::repopulateModel</a></div><div class="ttdeci">void repopulateModel()</div><div class="ttdoc">AircraftWidget::repopulateModel (public slot) - re-populates the model to cater for a change to the d...</div><div class="ttdef"><b>Definition:</b> aircraftwidget.cpp:247</div></div>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_99d0482cf009f9d97a0877749b817f19.html">gui</a></li><li class="navelem"><a class="el" href="dir_cc657b4ce13702a9d007a200bde234e1.html">widgets</a></li><li class="navelem"><b>aircraftwidget.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 172 - 0
docs/html/alog_8h_source.html

@@ -0,0 +1,172 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: src/functions/alog.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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('alog_8h_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">alog.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *the Free Software Foundation, either version 3 of the License, or</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *(at your option) any later version.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *This program is distributed in the hope that it will be useful,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *GNU General Public License for more details.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *You should have received a copy of the GNU General Public License</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *along with this program.  If not, see &lt;https://www.gnu.org/licenses/&gt;.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef ALOG_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define ALOG_H</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;QTime&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;QFile&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;QFileInfo&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;QDebug&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;QDir&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;QFileInfoList&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;QDebug&gt;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;src/classes/astandardpaths.h&quot;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_a_log.html">ALog</a></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;{</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keyword">static</span> QDir logFolder;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keyword">static</span> QString logFileName;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keyword">const</span> <span class="keyword">static</span> <span class="keywordtype">int</span> numberOfLogs = 10; <span class="comment">// max number of log files to keep</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keyword">const</span> <span class="keyword">static</span> <span class="keywordtype">int</span> sizeOfLogs = 1024 * 100; <span class="comment">// max log size in bytes, = 100kB</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; </div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">auto</span> DEB_HEADER  = QLatin1String(<span class="stringliteral">&quot; [DEBG]:\t&quot;</span>);</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">auto</span> INFO_HEADER = QLatin1String(<span class="stringliteral">&quot; [INFO]:\t&quot;</span>);</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">auto</span> WARN_HEADER = QLatin1String(<span class="stringliteral">&quot; [WARN]:\t&quot;</span>);</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">auto</span> CRIT_HEADER = QLatin1String(<span class="stringliteral">&quot; [CRIT]:\t&quot;</span>);</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">auto</span> DEB_HEADER_CONSOLE  = QLatin1String(<span class="stringliteral">&quot;\u001b[38;5;75m[DEBG]:\t&quot;</span>);</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">auto</span> INFO_HEADER_CONSOLE = QLatin1String(<span class="stringliteral">&quot;\033[32m[INFO]:\t\033[m&quot;</span>);</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">auto</span> WARN_HEADER_CONSOLE = QLatin1String(<span class="stringliteral">&quot;\033[33m[WARN]:\t\033[m&quot;</span>);</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">auto</span> CRIT_HEADER_CONSOLE = QLatin1String(<span class="stringliteral">&quot;\033[35m[CRIT]:\t\033[m&quot;</span>);</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">auto</span> SPACER = QLatin1String(<span class="stringliteral">&quot;\t\t&quot;</span>);</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">auto</span> D_SPACER = QLatin1String(<span class="stringliteral">&quot;\t\t\t\t&quot;</span>);</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; </div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="namespace_a_log.html#ac797ea9883ac75b58c2b08a64bcc26d7">init</a>(<span class="keywordtype">bool</span> log_debug = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="namespace_a_log.html#a1eeade2b758f2d452e40426f8d37c41a">setLogFileName</a>();</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="namespace_a_log.html#ae110fbae5b42a1dd106a9c53be104b13">deleteOldLogs</a>();</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="namespace_a_log.html#a421bd504f26d924e0557d6359d853f69">aMessageHandler</a>(QtMsgType type, <span class="keyword">const</span> QMessageLogContext &amp;context, <span class="keyword">const</span> QString&amp; msg);</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keyword">const</span> QString timeNow(){<span class="keywordflow">return</span> QTime::currentTime().toString(Qt::ISODate);}</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160; </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;} <span class="comment">// namespace ALog</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160; </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor">#define REPR(cls, str) \</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="preprocessor">friend \</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">QDebug operator&lt;&lt;(QDebug qdb, const cls&amp; object) \</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">{ \</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">    qdb &lt;&lt; QString(#cls) + &#39;(&#39; + str + &#39;)&#39;; \</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">    return qdb; \</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">}</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif // ALOG_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="anamespace_a_log_html"><div class="ttname"><a href="namespace_a_log.html">ALog</a></div><div class="ttdoc">The ALog namespace encapsulates constants and functions used to provide logging to files and logging ...</div><div class="ttdef"><b>Definition:</b> alog.cpp:21</div></div>
+<div class="ttc" id="anamespace_a_log_html_a421bd504f26d924e0557d6359d853f69"><div class="ttname"><a href="namespace_a_log.html#a421bd504f26d924e0557d6359d853f69">ALog::aMessageHandler</a></div><div class="ttdeci">void aMessageHandler(QtMsgType type, const QMessageLogContext &amp;context, const QString &amp;msg)</div><div class="ttdoc">aMessageHandler Intercepts Messages and prints to console and log file</div><div class="ttdef"><b>Definition:</b> alog.cpp:84</div></div>
+<div class="ttc" id="anamespace_a_log_html_a1eeade2b758f2d452e40426f8d37c41a"><div class="ttname"><a href="namespace_a_log.html#a1eeade2b758f2d452e40426f8d37c41a">ALog::setLogFileName</a></div><div class="ttdeci">void setLogFileName()</div><div class="ttdoc">setLogFileName sets a log file name (&quot;Log_&lt;Date&gt;_&lt;Time&gt;.txt&quot;)</div><div class="ttdef"><b>Definition:</b> alog.cpp:28</div></div>
+<div class="ttc" id="anamespace_a_log_html_ae110fbae5b42a1dd106a9c53be104b13"><div class="ttname"><a href="namespace_a_log.html#ae110fbae5b42a1dd106a9c53be104b13">ALog::deleteOldLogs</a></div><div class="ttdeci">void deleteOldLogs()</div><div class="ttdoc">Cleans up old logs and initializes logging by preparing and installing a QMessageHandler.</div><div class="ttdef"><b>Definition:</b> alog.cpp:39</div></div>
+<div class="ttc" id="anamespace_a_log_html_ac797ea9883ac75b58c2b08a64bcc26d7"><div class="ttname"><a href="namespace_a_log.html#ac797ea9883ac75b58c2b08a64bcc26d7">ALog::init</a></div><div class="ttdeci">bool init(bool log_debug)</div><div class="ttdoc">initialise logging, clean up logfiles and install a QMessageHandler. To enable logging of debug messa...</div><div class="ttdef"><b>Definition:</b> alog.cpp:59</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e823141bb13a34caac0c96ccd0d33fcf.html">functions</a></li><li class="navelem"><b>alog.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 38 - 37
docs/html/annotated.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Class List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -88,40 +89,38 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
 <div class="contents">
 <div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</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">N</span></span><a class="el" href="namespaceexperimental.html" target="_self">experimental</a></td><td class="desc">Temporary namespace for experimental features. Will be removed in later versions </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="structexperimental_1_1_a_aircraft_entry.html" target="_self">AAircraftEntry</a></td><td class="desc"></td></tr>
-<tr id="row_0_1_" class="even"><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="classexperimental_1_1_a_database.html" target="_self">ADatabase</a></td><td class="desc">The DB class encapsulates the SQL database by providing fast access to hot database data </td></tr>
-<tr id="row_0_2_"><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="classexperimental_1_1_a_database_error.html" target="_self">ADatabaseError</a></td><td class="desc">Custom Database Error derived from QSqlError. Extends text() adding "Database Error: " before the text </td></tr>
-<tr id="row_0_3_" class="even"><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="classexperimental_1_1_a_entry.html" target="_self">AEntry</a></td><td class="desc">The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries in the database to operate on </td></tr>
-<tr id="row_0_4_"><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="classexperimental_1_1_a_flight_entry.html" target="_self">AFlightEntry</a></td><td class="desc"></td></tr>
-<tr id="row_0_5_" class="even"><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="structexperimental_1_1_a_pilot_entry.html" target="_self">APilotEntry</a></td><td class="desc"></td></tr>
-<tr id="row_0_6_"><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="structexperimental_1_1_a_tail_entry.html" target="_self">ATailEntry</a></td><td class="desc"></td></tr>
-<tr id="row_0_7_" class="even"><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="structexperimental_1_1_data_position.html" target="_self">DataPosition</a></td><td class="desc"></td></tr>
-<tr id="row_0_8_"><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="classexperimental_1_1_user_input.html" target="_self">UserInput</a></td><td class="desc">The EntryData struct. Contains ALL possible data. However depending on who is constructing it, different types are initialised. FUTURE: Would it be necessary to able to change data? George: I would say no because we dont want to fuck around with the entry. Collect data from user -&gt; Pack it up in the entry -&gt; Consume it </td></tr>
-<tr id="row_1_" 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="class_a_benchmark.html" target="_self">ABenchmark</a></td><td class="desc">Quick access to benchmarking two functions for the purpose of performance testing </td></tr>
-<tr id="row_2_"><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="class_a_data_base_setup.html" target="_self">ADataBaseSetup</a></td><td class="desc">Responsible for the inital setup of the database when the application is first launched. It creates the database in the specified default location and creates all required tables and views. It can also be used to reset the database currently used </td></tr>
-<tr id="row_3_" 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="class_a_download.html" target="_self">ADownload</a></td><td class="desc"></td></tr>
-<tr id="row_4_"><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="class_aircraft.html" target="_self">Aircraft</a></td><td class="desc">The aircraft class </td></tr>
-<tr id="row_5_" 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="class_aircraft_widget.html" target="_self">AircraftWidget</a></td><td class="desc"></td></tr>
-<tr id="row_6_"><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="class_a_run_guard.html" target="_self">ARunGuard</a></td><td class="desc">The RunGuard class ensures only a single instance of the application is running simultaneously </td></tr>
-<tr id="row_7_" 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="class_a_settings.html" target="_self">ASettings</a></td><td class="desc">The Settings class is a thin wrapper for the QSettings class, simplifying reading and writing of settings </td></tr>
-<tr id="row_8_"><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="class_a_strict_rx_validator.html" target="_self">AStrictRxValidator</a></td><td class="desc">Only returns Invalid or Acceptable </td></tr>
-<tr id="row_9_" 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="class_a_timer.html" target="_self">ATimer</a></td><td class="desc">Easy to use performance timer </td></tr>
-<tr id="row_10_"><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="class_db.html" target="_self">Db</a></td><td class="desc">Basic API for accessing the database programatically. It is used to set up the initial connection and various basic queries can be executed using a set of static functions. When interfacing with the database for the purpose of adding, deleting or updating entries, the use of the entry class and its subclasses is recommended. This clas is not supposed to be instantiated, if you need a database object, use QSqlDatabase::database("qt_sql_default_connection"); </td></tr>
-<tr id="row_11_" 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="class_db_info.html" target="_self">DbInfo</a></td><td class="desc"></td></tr>
-<tr id="row_12_"><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="class_debug_widget.html" target="_self">DebugWidget</a></td><td class="desc"></td></tr>
-<tr id="row_13_" 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="class_entry__deprecated.html" target="_self">Entry_deprecated</a></td><td class="desc">The Entry class is the base class for database entries. It can be seen as a row in a table within the database </td></tr>
-<tr id="row_14_"><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="class_first_run_dialog.html" target="_self">FirstRunDialog</a></td><td class="desc"></td></tr>
-<tr id="row_15_" 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="class_flight.html" target="_self">Flight</a></td><td class="desc"></td></tr>
-<tr id="row_16_"><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="class_home_widget.html" target="_self">HomeWidget</a></td><td class="desc"></td></tr>
-<tr id="row_17_" 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="class_logbook_widget.html" target="_self">LogbookWidget</a></td><td class="desc"></td></tr>
-<tr id="row_18_"><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="class_new_flight_dialog.html" target="_self">NewFlightDialog</a></td><td class="desc"></td></tr>
-<tr id="row_19_" 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="class_new_pilot_dialog.html" target="_self">NewPilotDialog</a></td><td class="desc"></td></tr>
-<tr id="row_20_"><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="class_new_tail_dialog.html" target="_self">NewTailDialog</a></td><td class="desc">The NewTail class is a dialog for adding a new tail to the database or editing an existing one </td></tr>
-<tr id="row_21_" 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="class_pilot.html" target="_self">Pilot</a></td><td class="desc"></td></tr>
-<tr id="row_22_"><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="class_pilots_widget.html" target="_self">PilotsWidget</a></td><td class="desc"></td></tr>
-<tr id="row_23_" 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="class_settings_widget.html" target="_self">SettingsWidget</a></td><td class="desc"></td></tr>
-<tr id="row_24_"><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="class_totals_widget.html" target="_self">TotalsWidget</a></td><td class="desc"></td></tr>
+<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">N</span></span><a class="el" href="namespace_opl.html" target="_self">Opl</a></td><td class="desc">A namespace to collect constants and enums used throughout the application </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="class_opl_1_1_a_notification_handler.html" target="_self">ANotificationHandler</a></td><td class="desc">Handles displaying of user-directed messages. It displays information to the user and forwards the displayed message to <a class="el" href="namespace_a_log.html" title="The ALog namespace encapsulates constants and functions used to provide logging to files and logging ...">ALog</a> so it is written to the console and log files. The INFO, WARN and CRIT makros provide convenient access </td></tr>
+<tr id="row_1_" 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="struct_a_aircraft_entry.html" target="_self">AAircraftEntry</a></td><td class="desc"></td></tr>
+<tr id="row_2_"><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="struct_a_currency_entry.html" target="_self">ACurrencyEntry</a></td><td class="desc"></td></tr>
+<tr id="row_3_" 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="class_a_database.html" target="_self">ADatabase</a></td><td class="desc">The DB class encapsulates the SQL database by providing fast access to hot database data </td></tr>
+<tr id="row_4_"><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="class_a_database_error.html" target="_self">ADatabaseError</a></td><td class="desc">Custom Database Error derived from QSqlError. Extends text() adding "Database Error: " before the text </td></tr>
+<tr id="row_5_" 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="class_a_data_base_setup.html" target="_self">ADataBaseSetup</a></td><td class="desc">Responsible for the inital setup of the database when the application is first launched. It creates the database in the specified default location and creates all required tables and views. It can also be used to reset the database currently used </td></tr>
+<tr id="row_6_"><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="class_a_date.html" target="_self">ADate</a></td><td class="desc">Responsible for input/output of Dates and handling the different Date Formats </td></tr>
+<tr id="row_7_" 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="class_a_download.html" target="_self">ADownload</a></td><td class="desc"></td></tr>
+<tr id="row_8_"><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="class_a_entry.html" target="_self">AEntry</a></td><td class="desc">The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries in the database to operate on </td></tr>
+<tr id="row_9_" 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="class_a_file_standard_item.html" target="_self">AFileStandardItem</a></td><td class="desc">Simple QStandardItem subclass to encapsulate necessary file info. Using only a QStandardItem would mean that the full path should be inputted as data and of course displayed by default. However this way we create the absolute path in the fileInfo attribute for further use while displaying only the base name </td></tr>
+<tr id="row_10_"><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="class_a_flight_entry.html" target="_self">AFlightEntry</a></td><td class="desc"></td></tr>
+<tr id="row_11_" 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="class_aircraft_widget.html" target="_self">AircraftWidget</a></td><td class="desc">The <a class="el" href="class_aircraft_widget.html" title="The AircraftWidget is used to view, edit, delete or add new tails.">AircraftWidget</a> is used to view, edit, delete or add new tails </td></tr>
+<tr id="row_12_"><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="struct_a_pilot_entry.html" target="_self">APilotEntry</a></td><td class="desc"></td></tr>
+<tr id="row_13_" 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="class_a_run_guard.html" target="_self">ARunGuard</a></td><td class="desc">The RunGuard class ensures only a single instance of the application is running simultaneously </td></tr>
+<tr id="row_14_"><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="class_a_settings.html" target="_self">ASettings</a></td><td class="desc">Thin wrapper for the QSettings class, simplifying reading and writing of settings </td></tr>
+<tr id="row_15_" 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="class_a_standard_paths.html" target="_self">AStandardPaths</a></td><td class="desc">The AStandardAppPaths class encapsulates a static QMap holding the standard paths of the application </td></tr>
+<tr id="row_16_"><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="class_a_style.html" target="_self">AStyle</a></td><td class="desc">Encapsulates style and stylesheet logic </td></tr>
+<tr id="row_17_" 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="struct_a_tail_entry.html" target="_self">ATailEntry</a></td><td class="desc"></td></tr>
+<tr id="row_18_"><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="class_a_timer.html" target="_self">ATimer</a></td><td class="desc">Easy to use performance timer </td></tr>
+<tr id="row_19_" 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="class_backup_widget.html" target="_self">BackupWidget</a></td><td class="desc"></td></tr>
+<tr id="row_20_"><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="struct_data_position.html" target="_self">DataPosition</a></td><td class="desc"></td></tr>
+<tr id="row_21_" 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="class_debug_widget.html" target="_self">DebugWidget</a></td><td class="desc"></td></tr>
+<tr id="row_22_"><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="class_first_run_dialog.html" target="_self">FirstRunDialog</a></td><td class="desc"></td></tr>
+<tr id="row_23_" 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="class_home_widget.html" target="_self">HomeWidget</a></td><td class="desc"></td></tr>
+<tr id="row_24_"><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="class_logbook_widget.html" target="_self">LogbookWidget</a></td><td class="desc"></td></tr>
+<tr id="row_25_" 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="class_new_flight_dialog.html" target="_self">NewFlightDialog</a></td><td class="desc"></td></tr>
+<tr id="row_26_"><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="class_new_pilot_dialog.html" target="_self">NewPilotDialog</a></td><td class="desc"></td></tr>
+<tr id="row_27_" 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="class_new_tail_dialog.html" target="_self">NewTailDialog</a></td><td class="desc">The NewTail class is a dialog for adding a new tail to the database or editing an existing one </td></tr>
+<tr id="row_28_"><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="class_pilots_widget.html" target="_self">PilotsWidget</a></td><td class="desc">The <a class="el" href="class_pilots_widget.html" title="The PilotsWidget is used to view, edit, delete or add new pilots.">PilotsWidget</a> is used to view, edit, delete or add new pilots </td></tr>
+<tr id="row_29_" 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="class_settings_widget.html" target="_self">SettingsWidget</a></td><td class="desc"></td></tr>
+<tr id="row_30_"><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="struct_style_sheet.html" target="_self">StyleSheet</a></td><td class="desc">The <a class="el" href="struct_style_sheet.html" title="The StyleSheet struct holds the Display Name and File Name (in the resource system) for the available...">StyleSheet</a> struct holds the Display Name and File Name (in the resource system) for the available stylesheets </td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
@@ -129,7 +128,9 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 17 - 11
docs/html/annotated_dup.js

@@ -1,28 +1,34 @@
 var annotated_dup =
 [
-    [ "experimental", "namespaceexperimental.html", "namespaceexperimental" ],
-    [ "ABenchmark", "class_a_benchmark.html", "class_a_benchmark" ],
+    [ "Opl", "namespace_opl.html", "namespace_opl" ],
+    [ "AAircraftEntry", "struct_a_aircraft_entry.html", "struct_a_aircraft_entry" ],
+    [ "ACurrencyEntry", "struct_a_currency_entry.html", "struct_a_currency_entry" ],
+    [ "ADatabase", "class_a_database.html", "class_a_database" ],
+    [ "ADatabaseError", "class_a_database_error.html", "class_a_database_error" ],
     [ "ADataBaseSetup", "class_a_data_base_setup.html", null ],
+    [ "ADate", "class_a_date.html", null ],
     [ "ADownload", "class_a_download.html", "class_a_download" ],
-    [ "Aircraft", "class_aircraft.html", "class_aircraft" ],
+    [ "AEntry", "class_a_entry.html", "class_a_entry" ],
+    [ "AFileStandardItem", "class_a_file_standard_item.html", "class_a_file_standard_item" ],
+    [ "AFlightEntry", "class_a_flight_entry.html", "class_a_flight_entry" ],
     [ "AircraftWidget", "class_aircraft_widget.html", "class_aircraft_widget" ],
+    [ "APilotEntry", "struct_a_pilot_entry.html", "struct_a_pilot_entry" ],
     [ "ARunGuard", "class_a_run_guard.html", "class_a_run_guard" ],
-    [ "ASettings", "class_a_settings.html", null ],
-    [ "AStrictRxValidator", "class_a_strict_rx_validator.html", "class_a_strict_rx_validator" ],
+    [ "ASettings", "class_a_settings.html", "class_a_settings" ],
+    [ "AStandardPaths", "class_a_standard_paths.html", "class_a_standard_paths" ],
+    [ "AStyle", "class_a_style.html", null ],
+    [ "ATailEntry", "struct_a_tail_entry.html", "struct_a_tail_entry" ],
     [ "ATimer", "class_a_timer.html", "class_a_timer" ],
-    [ "Db", "class_db.html", "class_db" ],
-    [ "DbInfo", "class_db_info.html", "class_db_info" ],
+    [ "BackupWidget", "class_backup_widget.html", "class_backup_widget" ],
+    [ "DataPosition", "struct_data_position.html", "struct_data_position" ],
     [ "DebugWidget", "class_debug_widget.html", "class_debug_widget" ],
-    [ "Entry_deprecated", "class_entry__deprecated.html", "class_entry__deprecated" ],
     [ "FirstRunDialog", "class_first_run_dialog.html", "class_first_run_dialog" ],
-    [ "Flight", "class_flight.html", "class_flight" ],
     [ "HomeWidget", "class_home_widget.html", "class_home_widget" ],
     [ "LogbookWidget", "class_logbook_widget.html", "class_logbook_widget" ],
     [ "NewFlightDialog", "class_new_flight_dialog.html", "class_new_flight_dialog" ],
     [ "NewPilotDialog", "class_new_pilot_dialog.html", "class_new_pilot_dialog" ],
     [ "NewTailDialog", "class_new_tail_dialog.html", "class_new_tail_dialog" ],
-    [ "Pilot", "class_pilot.html", "class_pilot" ],
     [ "PilotsWidget", "class_pilots_widget.html", "class_pilots_widget" ],
     [ "SettingsWidget", "class_settings_widget.html", "class_settings_widget" ],
-    [ "TotalsWidget", "class_totals_widget.html", "class_totals_widget" ]
+    [ "StyleSheet", "struct_style_sheet.html", "struct_style_sheet" ]
 ];

+ 27 - 28
docs/html/apilotentry_8h_source.html

@@ -3,9 +3,9 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>openPilotLog: src/experimental/apilotentry.h Source File</title>
+<title>openPilotLog: src/classes/apilotentry.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>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -87,8 +88,8 @@ $(document).ready(function(){initNavTree('apilotentry_8h_source.html',''); initR
 </div><!--header-->
 <div class="contents">
 <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilot Log - A FOSS Pilot Logbook Application</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020  Felix Turowsky</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
 <div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
 <div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
 <div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
@@ -106,35 +107,33 @@ $(document).ready(function(){initNavTree('apilotentry_8h_source.html',''); initR
 <div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef APILOTENTRY_H</span></div>
 <div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define APILOTENTRY_H</span></div>
 <div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;src/experimental/aentry.h&quot;</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;src/experimental/decl.h&quot;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;src/classes/aentry.h&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;src/database/adatabasetypes.h&quot;</span></div>
 <div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceexperimental.html">experimental</a> {</div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
-<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="structexperimental_1_1_a_pilot_entry.html">   26</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structexperimental_1_1_a_pilot_entry.html">APilotEntry</a> : <span class="keyword">public</span> <a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a> {</div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <a class="code" href="structexperimental_1_1_a_pilot_entry.html">APilotEntry</a>();</div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <a class="code" href="structexperimental_1_1_a_pilot_entry.html">APilotEntry</a>(<span class="keyword">const</span> <a class="code" href="structexperimental_1_1_a_pilot_entry.html">APilotEntry</a>&amp; pe) = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="structexperimental_1_1_a_pilot_entry.html">APilotEntry</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="structexperimental_1_1_a_pilot_entry.html">APilotEntry</a>&amp; pe) = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <a class="code" href="structexperimental_1_1_a_pilot_entry.html">APilotEntry</a>(<span class="keywordtype">int</span> row_id);</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <a class="code" href="structexperimental_1_1_a_pilot_entry.html">APilotEntry</a>(TableData table_data);</div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="keyword">const</span> QString name();</div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;};</div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;} <span class="comment">// namespace experimental</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#endif // APILOTENTRY_H</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="struct_a_pilot_entry.html">   24</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_a_pilot_entry.html">APilotEntry</a> : <span class="keyword">public</span> <a class="code" href="class_a_entry.html">AEntry</a> {</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <a class="code" href="struct_a_pilot_entry.html">APilotEntry</a>();</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <a class="code" href="struct_a_pilot_entry.html">APilotEntry</a>(RowId_T row_id);</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <a class="code" href="struct_a_pilot_entry.html">APilotEntry</a>(RowData_T table_data);</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="struct_a_pilot_entry.html">APilotEntry</a>(<span class="keyword">const</span> <a class="code" href="struct_a_pilot_entry.html">APilotEntry</a>&amp; pe) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <a class="code" href="struct_a_pilot_entry.html">APilotEntry</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="struct_a_pilot_entry.html">APilotEntry</a>&amp; pe) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="keyword">const</span> QString name();</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;};</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#endif // APILOTENTRY_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="anamespaceexperimental_html"><div class="ttname"><a href="namespaceexperimental.html">experimental</a></div><div class="ttdoc">Temporary namespace for experimental features. Will be removed in later versions.</div><div class="ttdef"><b>Definition:</b> aaircraftentry.cpp:20</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_entry_html"><div class="ttname"><a href="classexperimental_1_1_a_entry.html">experimental::AEntry</a></div><div class="ttdoc">The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...</div><div class="ttdef"><b>Definition:</b> aentry.h:42</div></div>
-<div class="ttc" id="astructexperimental_1_1_a_pilot_entry_html"><div class="ttname"><a href="structexperimental_1_1_a_pilot_entry.html">experimental::APilotEntry</a></div><div class="ttdef"><b>Definition:</b> apilotentry.h:26</div></div>
+<div class="ttc" id="astruct_a_pilot_entry_html"><div class="ttname"><a href="struct_a_pilot_entry.html">APilotEntry</a></div><div class="ttdef"><b>Definition:</b> apilotentry.h:24</div></div>
+<div class="ttc" id="aclass_a_entry_html"><div class="ttname"><a href="class_a_entry.html">AEntry</a></div><div class="ttdoc">The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...</div><div class="ttdef"><b>Definition:</b> aentry.h:40</div></div>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_4be88786e9e8558ded50c83b495719ca.html">experimental</a></li><li class="navelem"><b>apilotentry.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_018e9aafb459e6e1a4953404cb0c0b1d.html">classes</a></li><li class="navelem"><b>apilotentry.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 31 - 11
docs/html/areadcsv_8h_source.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: src/functions/areadcsv.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -86,21 +87,40 @@ $(document).ready(function(){initNavTree('areadcsv_8h_source.html',''); initResi
 <div class="title">areadcsv.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef AREADCSV_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define AREADCSV_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160; </div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include&lt;QtCore&gt;</span></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;QVector&lt;QStringList&gt; aReadCsv(QString filename);</div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160; </div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#endif // AREADCSV_H</span></div>
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *the Free Software Foundation, either version 3 of the License, or</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *(at your option) any later version.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *This program is distributed in the hope that it will be useful,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *GNU General Public License for more details.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *You should have received a copy of the GNU General Public License</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *along with this program.  If not, see &lt;https://www.gnu.org/licenses/&gt;.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef AREADCSV_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define AREADCSV_H</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include&lt;QtCore&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;QVector&lt;QStringList&gt; aReadCsv(QString filename);</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#endif // AREADCSV_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e823141bb13a34caac0c96ccd0d33fcf.html">functions</a></li><li class="navelem"><b>areadcsv.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 9 - 6
docs/html/arunguard_8h_source.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: src/classes/arunguard.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -87,8 +88,8 @@ $(document).ready(function(){initNavTree('arunguard_8h_source.html',''); initRes
 </div><!--header-->
 <div class="contents">
 <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilot Log - A FOSS Pilot Logbook Application</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020  Felix Turowsky</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
 <div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
 <div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
 <div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
@@ -136,12 +137,14 @@ $(document).ready(function(){initNavTree('arunguard_8h_source.html',''); initRes
 <div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#endif // ARUNGUARD_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="aclass_a_run_guard_html"><div class="ttname"><a href="class_a_run_guard.html">ARunGuard</a></div><div class="ttdoc">The RunGuard class ensures only a single instance of the application is running simultaneously.</div><div class="ttdef"><b>Definition:</b> arunguard.h:30</div></div>
+<div class="ttc" id="aclass_a_run_guard_html"><div class="ttname"><a href="class_a_run_guard.html">ARunGuard</a></div><div class="ttdoc">The RunGuard class ensures only a single instance of the application is running simultaneously.</div><div class="ttdef"><b>Definition:</b> arunguard.h:29</div></div>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_018e9aafb459e6e1a4953404cb0c0b1d.html">classes</a></li><li class="navelem"><b>arunguard.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 88 - 15
docs/html/asettings_8h_source.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: src/classes/asettings.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -87,8 +88,8 @@ $(document).ready(function(){initNavTree('asettings_8h_source.html',''); initRes
 </div><!--header-->
 <div class="contents">
 <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilot Log - A FOSS Pilot Logbook Application</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020  Felix Turowsky</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
 <div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
 <div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
 <div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
@@ -108,23 +109,95 @@ $(document).ready(function(){initNavTree('asettings_8h_source.html',''); initRes
 <div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;QtCore&gt;</span></div>
 <div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;QSettings&gt;</span></div>
 <div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
-<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="class_a_settings.html">   27</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_a_settings.html">ASettings</a></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;{</div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <span class="keyword">static</span> QVariant read(<span class="keyword">const</span> QString &amp;key);</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> write(<span class="keyword">const</span> QString &amp;key, <span class="keyword">const</span> QVariant &amp;val);</div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;};</div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#endif // ASETTINGS_H</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="class_a_settings.html">   27</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_a_settings.html">ASettings</a> {</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="keyword">enum class</span> Main {</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        SetupComplete,</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        Style,</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        Font,</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        FontSize,</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        UseSystemFont,</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        LogbookView,</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        DateFormat,</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    };</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keyword">enum class</span> UserData {</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        DisplaySelfAs,</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        TailSortColumn,</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        PilotSortColumn,</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        AcftAllowIncomplete,</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        FtlWarningThreshold,</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        CurrWarningEnabled,</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        CurrWarningThreshold,</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        ShowToLgdCurrency,</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        ShowLicCurrency,</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        ShowTrCurrency,</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        ShowLckCurrency,</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        ShowMedCurrency,</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        ShowCustom1Currency,</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        ShowCustom2Currency,</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        Custom1CurrencyName,</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        Custom2CurrencyName,</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    };</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keyword">enum class</span> FlightLogging {</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        Function,</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        Approach,</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        NightLoggingEnabled,</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        LogIFR,</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        FlightNumberPrefix,</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        NumberTakeoffs,</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        NumberLandings,</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        PilotFlying,</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        NightAngle,</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        Rules,</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        FlightTimeFormat,</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        FunctionComboBox,</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    };</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160; </div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_a_settings.html#a383ea9d59ea8878ca873465eb19bbe85">setup</a>();</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_a_settings.html#a2dbc2e3510363c09e45223f4bbdc5e59">resetToDefaults</a>();</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="keyword">static</span> QVariant read(<span class="keyword">const</span> Main key);</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> write(<span class="keyword">const</span> Main key, <span class="keyword">const</span> QVariant &amp;val);</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160; </div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <span class="keyword">static</span> QVariant read(<span class="keyword">const</span> FlightLogging key);</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> write(<span class="keyword">const</span> UserData key, <span class="keyword">const</span> QVariant &amp;val);</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160; </div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keyword">static</span> QVariant read(<span class="keyword">const</span> UserData key);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> write(<span class="keyword">const</span> FlightLogging key, <span class="keyword">const</span> QVariant &amp;val);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keyword">static</span> QString <a class="code" href="class_a_settings.html#a6fc09922de0182271c6c1ff001792da1">groupOfKey</a>(<span class="keyword">const</span> Main key);</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keyword">static</span> QString <a class="code" href="class_a_settings.html#a6fc09922de0182271c6c1ff001792da1">groupOfKey</a>(<span class="keyword">const</span> FlightLogging key);</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keyword">static</span> QString <a class="code" href="class_a_settings.html#a6fc09922de0182271c6c1ff001792da1">groupOfKey</a>(<span class="keyword">const</span> UserData key);</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="keyword">static</span> QString <a class="code" href="class_a_settings.html#af88194014c7599e8c9fe488c5b1ebf99">stringOfKey</a>(<span class="keyword">const</span> Main key);</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="keyword">static</span> QString <a class="code" href="class_a_settings.html#af88194014c7599e8c9fe488c5b1ebf99">stringOfKey</a>(<span class="keyword">const</span> FlightLogging key);</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keyword">static</span> QString <a class="code" href="class_a_settings.html#af88194014c7599e8c9fe488c5b1ebf99">stringOfKey</a>(<span class="keyword">const</span> UserData key);</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160; </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="keyword">static</span> QSettings settings();</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="keyword">static</span> QMap&lt;Main, QString&gt; mainMap;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keyword">static</span> QMap&lt;UserData, QString&gt; userDataMap;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="keyword">static</span> QMap&lt;FlightLogging, QString&gt; flightLoggingMap;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;};</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#endif // ASETTINGS_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="aclass_a_settings_html"><div class="ttname"><a href="class_a_settings.html">ASettings</a></div><div class="ttdoc">The Settings class is a thin wrapper for the QSettings class, simplifying reading and writing of sett...</div><div class="ttdef"><b>Definition:</b> asettings.h:28</div></div>
+<div class="ttc" id="aclass_a_settings_html_a2dbc2e3510363c09e45223f4bbdc5e59"><div class="ttname"><a href="class_a_settings.html#a2dbc2e3510363c09e45223f4bbdc5e59">ASettings::resetToDefaults</a></div><div class="ttdeci">static void resetToDefaults()</div><div class="ttdoc">ASettings::resetToDefaults (Re-)sets all settings to the default value.</div><div class="ttdef"><b>Definition:</b> asettings.cpp:75</div></div>
+<div class="ttc" id="aclass_a_settings_html_a383ea9d59ea8878ca873465eb19bbe85"><div class="ttname"><a href="class_a_settings.html#a383ea9d59ea8878ca873465eb19bbe85">ASettings::setup</a></div><div class="ttdeci">static void setup()</div><div class="ttdoc">Should be called after QCoreApplication::set...Name have been called.</div><div class="ttdef"><b>Definition:</b> asettings.cpp:66</div></div>
+<div class="ttc" id="aclass_a_settings_html"><div class="ttname"><a href="class_a_settings.html">ASettings</a></div><div class="ttdoc">Thin wrapper for the QSettings class, simplifying reading and writing of settings.</div><div class="ttdef"><b>Definition:</b> asettings.h:27</div></div>
+<div class="ttc" id="aclass_a_settings_html_af88194014c7599e8c9fe488c5b1ebf99"><div class="ttname"><a href="class_a_settings.html#af88194014c7599e8c9fe488c5b1ebf99">ASettings::stringOfKey</a></div><div class="ttdeci">static QString stringOfKey(const Main key)</div><div class="ttdoc">Return string representation of key.</div><div class="ttdef"><b>Definition:</b> asettings.cpp:140</div></div>
+<div class="ttc" id="aclass_a_settings_html_a6fc09922de0182271c6c1ff001792da1"><div class="ttname"><a href="class_a_settings.html#a6fc09922de0182271c6c1ff001792da1">ASettings::groupOfKey</a></div><div class="ttdeci">static QString groupOfKey(const Main key)</div><div class="ttdoc">Return string representation of group of key: &quot;ini_header/key&quot;.</div><div class="ttdef"><b>Definition:</b> asettings.cpp:128</div></div>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_018e9aafb459e6e1a4953404cb0c0b1d.html">classes</a></li><li class="navelem"><b>asettings.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 156 - 0
docs/html/astandardpaths_8h_source.html

@@ -0,0 +1,156 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: src/classes/astandardpaths.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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('astandardpaths_8h_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">astandardpaths.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *the Free Software Foundation, either version 3 of the License, or</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *(at your option) any later version.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *This program is distributed in the hope that it will be useful,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *GNU General Public License for more details.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *You should have received a copy of the GNU General Public License</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *along with this program.  If not, see &lt;https://www.gnu.org/licenses/&gt;.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef ASTANDARDPATHS_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define ASTANDARDPATHS_H</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;QStandardPaths&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;QString&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;QMap&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;QDir&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="class_a_standard_paths.html">   30</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_a_standard_paths.html">AStandardPaths</a>{</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <span class="keyword">enum</span> Directories {</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        Database,</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        Templates,</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        Backup,</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        Log</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    };</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keyword">static</span> QMap&lt;Directories, QDir&gt; directories;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160; </div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> scan_directories();</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_a_standard_paths.html#a233dfe0411b294e64da674ff9c898c62">setup</a>();</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> QDir &amp;<a class="code" href="class_a_standard_paths.html#a0df7e02331fdf09a81951657d52e0ebe">directory</a>(Directories location);</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> QString <a class="code" href="class_a_standard_paths.html#a43937baa78a53e1427e23f533024221b">asChildOfDir</a>(Directories location, <span class="keyword">const</span> QString&amp; filename);</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> QMap&lt;Directories, QDir&gt; &amp;<a class="code" href="class_a_standard_paths.html#a775a7f2d7d99e8b7d29cc91c33c08ba8">allDirectories</a>();</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;};</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#endif // ASTANDARDPATHS_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="aclass_a_standard_paths_html_a0df7e02331fdf09a81951657d52e0ebe"><div class="ttname"><a href="class_a_standard_paths.html#a0df7e02331fdf09a81951657d52e0ebe">AStandardPaths::directory</a></div><div class="ttdeci">static const QDir &amp; directory(Directories location)</div><div class="ttdoc">Returns the QDir for the standard directory referenced by the Directories enum 'loc'.</div><div class="ttdef"><b>Definition:</b> astandardpaths.cpp:41</div></div>
+<div class="ttc" id="aclass_a_standard_paths_html_a233dfe0411b294e64da674ff9c898c62"><div class="ttname"><a href="class_a_standard_paths.html#a233dfe0411b294e64da674ff9c898c62">AStandardPaths::setup</a></div><div class="ttdeci">static bool setup()</div><div class="ttdoc">Creates and verifies a static map of the standard paths used in the app.</div><div class="ttdef"><b>Definition:</b> astandardpaths.cpp:23</div></div>
+<div class="ttc" id="aclass_a_standard_paths_html_a775a7f2d7d99e8b7d29cc91c33c08ba8"><div class="ttname"><a href="class_a_standard_paths.html#a775a7f2d7d99e8b7d29cc91c33c08ba8">AStandardPaths::allDirectories</a></div><div class="ttdeci">static const QMap&lt; Directories, QDir &gt; &amp; allDirectories()</div><div class="ttdoc">returns the static map of all standard directories</div><div class="ttdef"><b>Definition:</b> astandardpaths.cpp:51</div></div>
+<div class="ttc" id="aclass_a_standard_paths_html_a43937baa78a53e1427e23f533024221b"><div class="ttname"><a href="class_a_standard_paths.html#a43937baa78a53e1427e23f533024221b">AStandardPaths::asChildOfDir</a></div><div class="ttdeci">static const QString asChildOfDir(Directories location, const QString &amp;filename)</div><div class="ttdoc">Returns a string of the absolute path to directory location concatenated with filename.</div><div class="ttdef"><b>Definition:</b> astandardpaths.cpp:46</div></div>
+<div class="ttc" id="aclass_a_standard_paths_html"><div class="ttname"><a href="class_a_standard_paths.html">AStandardPaths</a></div><div class="ttdoc">The AStandardAppPaths class encapsulates a static QMap holding the standard paths of the application.</div><div class="ttdef"><b>Definition:</b> astandardpaths.h:30</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_018e9aafb459e6e1a4953404cb0c0b1d.html">classes</a></li><li class="navelem"><b>astandardpaths.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 21 - 16
docs/html/astat_8h_source.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: src/functions/astat.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -87,8 +88,8 @@ $(document).ready(function(){initNavTree('astat_8h_source.html',''); initResizab
 </div><!--header-->
 <div class="contents">
 <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilot Log - A FOSS Pilot Logbook Application</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020  Felix Turowsky</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
 <div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
 <div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
 <div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
@@ -108,29 +109,33 @@ $(document).ready(function(){initNavTree('astat_8h_source.html',''); initResizab
 <div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;QtCore&gt;</span></div>
 <div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;QSqlQuery&gt;</span></div>
 <div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;QSqlError&gt;</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;src/experimental/adatabase.h&quot;</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">namespace </span>AStat {</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keyword">enum</span> yearType {allYears, calendarYear, rollingYear};</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">namespace </span>AStat {</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="keyword">enum class</span> TimeFrame {AllTime, CalendarYear, Rolling12Months, Rolling28Days};</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keyword">enum class</span> ToLdg {Takeoff, Landing};</div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    QString totalTime(yearType);</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="keywordtype">int</span> totalTime(TimeFrame time_frame);</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    QVector&lt;QString&gt; currencyTakeOffLanding(<span class="keywordtype">int</span> days);</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    QVector&lt;QVariant&gt; countTakeOffLanding(<span class="keywordtype">int</span> days = 90);</div>
 <div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160; </div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    QVector&lt;QPair&lt;QString, QString&gt;&gt; totals();</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    QDate currencyTakeOffLandingExpiry(<span class="keywordtype">int</span> expiration_days = 90);</div>
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;} <span class="comment">// namespace AStat</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    QVector&lt;QPair&lt;QString, QString&gt;&gt; totals();</div>
 <div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#endif // ASTAT_H</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;} <span class="comment">// namespace AStat</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#endif // ASTAT_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e823141bb13a34caac0c96ccd0d33fcf.html">functions</a></li><li class="navelem"><b>astat.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 165 - 0
docs/html/astyle_8h_source.html

@@ -0,0 +1,165 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: src/classes/astyle.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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('astyle_8h_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">astyle.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *the Free Software Foundation, either version 3 of the License, or</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *(at your option) any later version.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *This program is distributed in the hope that it will be useful,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *GNU General Public License for more details.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *You should have received a copy of the GNU General Public License</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *along with this program.  If not, see &lt;https://www.gnu.org/licenses/&gt;.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef ASTYLE_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define ASTYLE_H</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;QString&gt;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;QFileInfo&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;QMap&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;QTextStream&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="struct_style_sheet.html">   29</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_style_sheet.html">StyleSheet</a></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;{</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <a class="code" href="struct_style_sheet.html">StyleSheet</a>(QLatin1String style_sheet_name, QLatin1String file_name)</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        : styleSheetName(style_sheet_name), fileName(file_name)</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    {}</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    QLatin1String styleSheetName;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    QLatin1String fileName;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;};</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160; </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> QString read_stylesheet(<span class="keyword">const</span> QString &amp;stylesheet)</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;{</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    QFile file(stylesheet);</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    file.open(QFile::ReadOnly | QFile::Text);</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    QTextStream stream(&amp;file);</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keywordflow">return</span> stream.readAll();</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;}</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="class_a_style.html">   49</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_a_style.html">AStyle</a></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;{</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keyword">static</span> QString currentStyle;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> resetStyle();</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> QStringList styles;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> QString defaultStyle;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> QList&lt;StyleSheet&gt; styleSheets;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_a_style.html#ad061bf79f3e22640e78f8bb65ef0867c">setup</a>();</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> setStyle(<span class="keyword">const</span> QString &amp;style_key);</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> setStyle(<span class="keyword">const</span> <a class="code" href="struct_style_sheet.html">StyleSheet</a> &amp;style_sheet);</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> setStyle(<span class="keyword">const</span> QPalette &amp;palette);</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keyword">static</span> QPalette darkPalette();</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> QString&amp; style();</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;};</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; </div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#endif // ASTYLE_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="astruct_style_sheet_html"><div class="ttname"><a href="struct_style_sheet.html">StyleSheet</a></div><div class="ttdoc">The StyleSheet struct holds the Display Name and File Name (in the resource system) for the available...</div><div class="ttdef"><b>Definition:</b> astyle.h:29</div></div>
+<div class="ttc" id="aclass_a_style_html_ad061bf79f3e22640e78f8bb65ef0867c"><div class="ttname"><a href="class_a_style.html#ad061bf79f3e22640e78f8bb65ef0867c">AStyle::setup</a></div><div class="ttdeci">static void setup()</div><div class="ttdoc">Setup Application style by reading from openPilotLog.ini.</div><div class="ttdef"><b>Definition:</b> astyle.cpp:47</div></div>
+<div class="ttc" id="aclass_a_style_html"><div class="ttname"><a href="class_a_style.html">AStyle</a></div><div class="ttdoc">The AStyle class encapsulates style and stylesheet logic.</div><div class="ttdef"><b>Definition:</b> astyle.h:49</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_018e9aafb459e6e1a4953404cb0c0b1d.html">classes</a></li><li class="navelem"><b>astyle.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 29 - 31
docs/html/atailentry_8h_source.html

@@ -3,9 +3,9 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>openPilotLog: src/experimental/atailentry.h Source File</title>
+<title>openPilotLog: src/classes/atailentry.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>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -87,8 +88,8 @@ $(document).ready(function(){initNavTree('atailentry_8h_source.html',''); initRe
 </div><!--header-->
 <div class="contents">
 <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openTail Log - A FOSS Tail Logbook Application</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020  Felix Turowsky</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Tail Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
 <div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
 <div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
 <div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
@@ -106,38 +107,35 @@ $(document).ready(function(){initNavTree('atailentry_8h_source.html',''); initRe
 <div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef ATAILENTRY_H</span></div>
 <div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define ATAILENTRY_H</span></div>
 <div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;src/experimental/aentry.h&quot;</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;src/experimental/decl.h&quot;</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;QVariant&gt;</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceexperimental.html">experimental</a> {</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
-<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="structexperimental_1_1_a_tail_entry.html">   27</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structexperimental_1_1_a_tail_entry.html">ATailEntry</a> : <span class="keyword">public</span> <a class="code" href="classexperimental_1_1_a_entry.html">AEntry</a> {</div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <a class="code" href="structexperimental_1_1_a_tail_entry.html">ATailEntry</a>();</div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="structexperimental_1_1_a_tail_entry.html">ATailEntry</a>(<span class="keyword">const</span> <a class="code" href="structexperimental_1_1_a_tail_entry.html">ATailEntry</a>&amp; te) = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <a class="code" href="structexperimental_1_1_a_tail_entry.html">ATailEntry</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="structexperimental_1_1_a_tail_entry.html">ATailEntry</a>&amp; te) = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <a class="code" href="structexperimental_1_1_a_tail_entry.html">ATailEntry</a>(<span class="keywordtype">int</span> row_id);</div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <a class="code" href="structexperimental_1_1_a_tail_entry.html">ATailEntry</a>(TableData table_data);</div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keyword">const</span> QString registration();</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;src/classes/aentry.h&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;src/database/adatabasetypes.h&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="struct_a_tail_entry.html">   24</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_a_tail_entry.html">ATailEntry</a> : <span class="keyword">public</span> <a class="code" href="class_a_entry.html">AEntry</a> {</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <a class="code" href="struct_a_tail_entry.html">ATailEntry</a>();</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <a class="code" href="struct_a_tail_entry.html">ATailEntry</a>(<span class="keyword">const</span> <a class="code" href="struct_a_tail_entry.html">ATailEntry</a>&amp; te) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <a class="code" href="struct_a_tail_entry.html">ATailEntry</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="struct_a_tail_entry.html">ATailEntry</a>&amp; te) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <a class="code" href="struct_a_tail_entry.html">ATailEntry</a>(RowId_T row_id);</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="struct_a_tail_entry.html">ATailEntry</a>(RowData_T table_data);</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <span class="keyword">const</span> QString registration();</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="keyword">const</span> QString type();</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;};</div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="keyword">const</span> QString type();</div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;};</div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <span class="comment">// namespace experimental</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#endif // ATAILENTRY_H</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160; </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif // ATAILENTRY_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="anamespaceexperimental_html"><div class="ttname"><a href="namespaceexperimental.html">experimental</a></div><div class="ttdoc">Temporary namespace for experimental features. Will be removed in later versions.</div><div class="ttdef"><b>Definition:</b> aaircraftentry.cpp:20</div></div>
-<div class="ttc" id="aclassexperimental_1_1_a_entry_html"><div class="ttname"><a href="classexperimental_1_1_a_entry.html">experimental::AEntry</a></div><div class="ttdoc">The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...</div><div class="ttdef"><b>Definition:</b> aentry.h:42</div></div>
-<div class="ttc" id="astructexperimental_1_1_a_tail_entry_html"><div class="ttname"><a href="structexperimental_1_1_a_tail_entry.html">experimental::ATailEntry</a></div><div class="ttdef"><b>Definition:</b> atailentry.h:27</div></div>
+<div class="ttc" id="astruct_a_tail_entry_html"><div class="ttname"><a href="struct_a_tail_entry.html">ATailEntry</a></div><div class="ttdef"><b>Definition:</b> atailentry.h:24</div></div>
+<div class="ttc" id="aclass_a_entry_html"><div class="ttname"><a href="class_a_entry.html">AEntry</a></div><div class="ttdoc">The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...</div><div class="ttdef"><b>Definition:</b> aentry.h:40</div></div>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_4be88786e9e8558ded50c83b495719ca.html">experimental</a></li><li class="navelem"><b>atailentry.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_018e9aafb459e6e1a4953404cb0c0b1d.html">classes</a></li><li class="navelem"><b>atailentry.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 272 - 0
docs/html/atime_8h_source.html

@@ -0,0 +1,272 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: src/functions/atime.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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('atime_8h_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">atime.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *the Free Software Foundation, either version 3 of the License, or</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *(at your option) any later version.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *This program is distributed in the hope that it will be useful,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *GNU General Public License for more details.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *You should have received a copy of the GNU General Public License</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *along with this program.  If not, see &lt;https://www.gnu.org/licenses/&gt;.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef ATIME_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define ATIME_H</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;QtCore&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;QTime&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;src/opl.h&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;src/functions/alog.h&quot;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">namespace </span>ATime {</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> QString toString(<span class="keyword">const</span> QTime &amp;time, Opl::Time::FlightTimeFormat format = Opl::Time::Default)</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;{</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="keywordflow">switch</span> (format) {</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="keywordflow">case</span> Opl::Time::Default:</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keywordflow">return</span> time.toString(QStringLiteral(<span class="stringliteral">&quot;hh:mm&quot;</span>));</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="keywordflow">case</span> Opl::Time::Decimal:</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="keywordflow">return</span> QString::number(((time.hour() * 60 + time.minute() )/60.0), <span class="charliteral">&#39;f&#39;</span>, 2);</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        <span class="keywordflow">return</span> QString();</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    }</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;}</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> QString toString(<span class="keywordtype">int</span> minutes_in, Opl::Time::FlightTimeFormat format = Opl::Time::Default)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;{</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keywordflow">switch</span> (format) {</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keywordflow">case</span> Opl::Time::Default:</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    {</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        QString hour = QString::number(minutes_in / 60);</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <span class="keywordflow">if</span> (hour.size() &lt; 2) {</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;            hour.prepend(QStringLiteral(<span class="stringliteral">&quot;0&quot;</span>));</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        }</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        QString minute = QString::number(minutes_in % 60);</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <span class="keywordflow">if</span> (minute.size() &lt; 2) {</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;            minute.prepend(QStringLiteral(<span class="stringliteral">&quot;0&quot;</span>));</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        }</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keywordflow">return</span> hour + <span class="charliteral">&#39;:&#39;</span> + minute;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    }</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordflow">case</span> Opl::Time::Decimal:</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    {</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        <span class="keywordtype">int</span> hour = minutes_in / 60;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        <span class="keywordtype">double</span> minute = (minutes_in % 60) / 60.0;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <span class="keywordflow">return</span> QString::number((hour + minute), <span class="charliteral">&#39;f&#39;</span>, 2);</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    }</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        <span class="keywordflow">return</span> QString();</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    }</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160; </div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;}</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">double</span> toDecimalHours(<span class="keyword">const</span> QTime &amp;time){</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keywordflow">return</span> (time.hour() * 60 + time.minute()) / 60.0;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;}</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> toMinutes(<span class="keyword">const</span> QTime &amp;time) {<span class="keywordflow">return</span> time.hour() * 60 + time.minute();}</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">inline</span> QTime fromMinutes(<span class="keywordtype">int</span> total_minutes)</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;{</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keywordtype">int</span> minute = total_minutes % 60;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keywordtype">int</span> hour = total_minutes / 60;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keywordflow">return</span> QTime(hour, minute, 0);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;}</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> QTime fromString(QString time_string, Opl::Time::FlightTimeFormat format = Opl::Time::Default)</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;{</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keywordflow">switch</span> (format) {</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordflow">case</span> Opl::Time::Default:</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        <span class="keywordflow">return</span> QTime::fromString(time_string, QStringLiteral(<span class="stringliteral">&quot;hh:mm&quot;</span>));</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="keywordflow">case</span> Opl::Time::Decimal:</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    {</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        <span class="keywordtype">double</span> decimal_time = time_string.toDouble();</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        <span class="keywordtype">int</span> hour = decimal_time;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        <span class="keywordtype">int</span> minute = round((decimal_time - hour) * 60);</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        <span class="keywordflow">return</span> QTime(hour, minute, 0);</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    }</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        <span class="keywordflow">return</span> QTime();</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    }</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;}</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> QTime fromString(<span class="keyword">const</span> <span class="keywordtype">char</span>* time_string, Opl::Time::FlightTimeFormat format = Opl::Time::Default)</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;{</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordflow">switch</span> (format) {</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keywordflow">case</span> Opl::Time::Default:</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        <span class="keywordflow">return</span> QTime::fromString(time_string, QStringLiteral(<span class="stringliteral">&quot;hh:mm&quot;</span>));</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keywordflow">case</span> Opl::Time::Decimal:</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    {</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        <span class="keywordtype">double</span> decimal_time = QString(time_string).toDouble();</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        <span class="keywordtype">int</span> hour = decimal_time;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <span class="keywordtype">int</span> minute = round((decimal_time - hour) * 60);</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keywordflow">return</span> QTime(hour, minute, 0);</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    }</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keywordflow">return</span> QTime();</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    }</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;}</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="keyword">inline</span> QTime <a class="code" href="namespace_a_calc.html#a8ac68999097f2e28a3b4bd2709b5b19f">blocktime</a>(<span class="keyword">const</span> QTime &amp;tofb, <span class="keyword">const</span> QTime &amp;tonb)</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;{</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    QTime blocktime_out(0, 0); <span class="comment">// initialise return value at midnight</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160; </div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="keywordflow">if</span> (tonb &gt; tofb) { <span class="comment">// landing same day</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        <span class="keywordtype">int</span> block_seconds = tofb.secsTo(tonb);</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        blocktime_out = blocktime_out.addSecs(block_seconds);</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    } <span class="keywordflow">else</span> { <span class="comment">// landing next day</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        QTime midnight(0, 0);</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        <span class="keywordtype">int</span> seconds = tofb.secsTo(midnight);</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        blocktime_out = blocktime_out.addSecs(seconds);</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        seconds = midnight.secsTo(tonb);</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        blocktime_out = blocktime_out.addSecs(seconds);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    }</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="keywordflow">return</span> blocktime_out;</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;}</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160; </div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> QString <a class="code" href="namespace_a_calc.html#ad088e5dd93d1938ff97f88032dc0adec">formatTimeInput</a>(QString user_input)</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;{</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    QTime temp_time; <span class="comment">//empty time object is invalid by default</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keywordtype">bool</span> contains_seperator = user_input.contains(<span class="charliteral">&#39;:&#39;</span>);</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keywordflow">if</span> (user_input.length() == 4 &amp;&amp; !contains_seperator) {</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        temp_time = QTime::fromString(user_input, QStringLiteral(<span class="stringliteral">&quot;hhmm&quot;</span>));</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (user_input.length() == 3 &amp;&amp; !contains_seperator) {</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        <span class="keywordflow">if</span> (user_input.toInt() &lt; 240) { <span class="comment">//Qtime is invalid if time is between 000 and 240 for this case</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;            QString tempstring = user_input.prepend(QStringLiteral(<span class="stringliteral">&quot;0&quot;</span>));</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;            temp_time = QTime::fromString(tempstring, QStringLiteral(<span class="stringliteral">&quot;hhmm&quot;</span>));</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;            temp_time = QTime::fromString(user_input, QStringLiteral(<span class="stringliteral">&quot;Hmm&quot;</span>));</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        }</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (user_input.length() == 4 &amp;&amp; contains_seperator) {</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        temp_time = QTime::fromString(user_input, QStringLiteral(<span class="stringliteral">&quot;h:mm&quot;</span>));</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (user_input.length() == 5 &amp;&amp; contains_seperator) {</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        temp_time = QTime::fromString(user_input, QStringLiteral(<span class="stringliteral">&quot;hh:mm&quot;</span>));</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    }</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160; </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keyword">auto</span> output = temp_time.toString(QStringLiteral(<span class="stringliteral">&quot;hh:mm&quot;</span>));</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160; </div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    <span class="keywordflow">if</span> (output.isEmpty()) {</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        DEB &lt;&lt; <span class="stringliteral">&quot;Time input is invalid.&quot;</span>;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    }</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    <span class="keywordflow">return</span> output;</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;}</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; </div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;} <span class="comment">// namespace ATime</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160; </div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="preprocessor">#endif // ATIME_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="anamespace_a_calc_html_a8ac68999097f2e28a3b4bd2709b5b19f"><div class="ttname"><a href="namespace_a_calc.html#a8ac68999097f2e28a3b4bd2709b5b19f">ACalc::blocktime</a></div><div class="ttdeci">QT_DEPRECATED QTime blocktime(QTime tofb, QTime tonb)</div><div class="ttdoc">ACalc::blocktime Calculates Block Time for a given departure and arrival time.</div><div class="ttdef"><b>Definition:</b> acalc.h:43</div></div>
+<div class="ttc" id="anamespace_a_calc_html_ad088e5dd93d1938ff97f88032dc0adec"><div class="ttname"><a href="namespace_a_calc.html#ad088e5dd93d1938ff97f88032dc0adec">ACalc::formatTimeInput</a></div><div class="ttdeci">QString formatTimeInput(QString user_input)</div><div class="ttdoc">ACalc::formatTimeInput verifies user input and formats to hh:mm if the output is not a valid time,...</div><div class="ttdef"><b>Definition:</b> acalc.cpp:34</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e823141bb13a34caac0c96ccd0d33fcf.html">functions</a></li><li class="navelem"><b>atime.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 11 - 8
docs/html/atimer_8h_source.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: src/testing/atimer.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -87,8 +88,8 @@ $(document).ready(function(){initNavTree('atimer_8h_source.html',''); initResiza
 </div><!--header-->
 <div class="contents">
 <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilot Log - A FOSS Pilot Logbook Application</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020  Felix Turowsky</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
 <div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
 <div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
 <div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
@@ -109,7 +110,7 @@ $(document).ready(function(){initNavTree('atimer_8h_source.html',''); initResiza
 <div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;QObject&gt;</span></div>
 <div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;chrono&gt;</span></div>
 <div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;QDebug&gt;</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;src/testing/adebug.h&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;src/functions/alog.h&quot;</span></div>
 <div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
 <div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="class_a_timer.html">   35</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_a_timer.html">ATimer</a> : <span class="keyword">public</span> QObject</div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;{</div>
@@ -135,13 +136,15 @@ $(document).ready(function(){initNavTree('atimer_8h_source.html',''); initResiza
 <div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#endif // ATIMER_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="aclass_a_timer_html_af7ac842765bee55a3b1b266e3e4c97ba"><div class="ttname"><a href="class_a_timer.html#af7ac842765bee55a3b1b266e3e4c97ba">ATimer::timeNow</a></div><div class="ttdeci">long timeNow()</div><div class="ttdoc">timeNow takes an intermediate timing and returns miliseconds elapsed.</div><div class="ttdef"><b>Definition:</b> atimer.cpp:46</div></div>
-<div class="ttc" id="aclass_a_timer_html"><div class="ttname"><a href="class_a_timer.html">ATimer</a></div><div class="ttdoc">The ATimer class provides an easy to use performance timer.</div><div class="ttdef"><b>Definition:</b> atimer.h:36</div></div>
+<div class="ttc" id="aclass_a_timer_html_af7ac842765bee55a3b1b266e3e4c97ba"><div class="ttname"><a href="class_a_timer.html#af7ac842765bee55a3b1b266e3e4c97ba">ATimer::timeNow</a></div><div class="ttdeci">long timeNow()</div><div class="ttdoc">timeNow takes an intermediate timing and returns miliseconds elapsed.</div><div class="ttdef"><b>Definition:</b> atimer.cpp:47</div></div>
+<div class="ttc" id="aclass_a_timer_html"><div class="ttname"><a href="class_a_timer.html">ATimer</a></div><div class="ttdoc">The ATimer class provides an easy to use performance timer.</div><div class="ttdef"><b>Definition:</b> atimer.h:35</div></div>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_3513c77e68d0de165c8b48f945306dcb.html">testing</a></li><li class="navelem"><b>atimer.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 179 - 0
docs/html/backupwidget_8h_source.html

@@ -0,0 +1,179 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: src/gui/widgets/backupwidget.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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('backupwidget_8h_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">backupwidget.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef BACKUPWIDGET_H</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define BACKUPWIDGET_H</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &quot;src/classes/astandardpaths.h&quot;</span></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;<span class="preprocessor">#include &lt;QWidget&gt;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &lt;QStandardItemModel&gt;</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &lt;QFileSystemModel&gt;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;QFileSystemWatcher&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &lt;QTableView&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="keyword">namespace </span>Ui {</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="keyword">class </span><a class="code" href="class_backup_widget.html">BackupWidget</a>;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;}</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160; </div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="class_a_file_standard_item.html">   23</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_a_file_standard_item.html">AFileStandardItem</a> : <span class="keyword">public</span> QStandardItem {</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    QFileInfo fileInfo;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <a class="code" href="class_a_file_standard_item.html">AFileStandardItem</a>(<span class="keyword">const</span> QIcon&amp; icon, <span class="keyword">const</span> QString&amp; filename, <span class="keyword">const</span> AStandardPaths::Directories dir)</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;        : QStandardItem(icon, filename),</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;          fileInfo(QFileInfo(<a class="code" href="class_a_standard_paths.html#a43937baa78a53e1427e23f533024221b">AStandardPaths::asChildOfDir</a>(dir, filename)))</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    {}</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <a class="code" href="class_a_file_standard_item.html">AFileStandardItem</a>(<span class="keyword">const</span> QIcon&amp; icon, <span class="keyword">const</span> QFileInfo file_info)</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        : QStandardItem(icon, file_info.baseName()),</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;          fileInfo(QFileInfo(file_info))</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    {}</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="keyword">const</span> QFileInfo&amp; info()<span class="keyword"> const</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">    </span>{</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keywordflow">return</span> fileInfo;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    }</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;};</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="class_backup_widget.html">   43</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_backup_widget.html">BackupWidget</a> : <span class="keyword">public</span> QWidget</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;{</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    Q_OBJECT</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keyword">explicit</span> <a class="code" href="class_backup_widget.html">BackupWidget</a>(QWidget *parent = <span class="keyword">nullptr</span>);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    ~<a class="code" href="class_backup_widget.html">BackupWidget</a>();</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">private</span> slots:</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordtype">void</span> on_tableView_clicked(<span class="keyword">const</span> QModelIndex &amp;index);</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordtype">void</span> on_createLocalPushButton_clicked();</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordtype">void</span> on_restoreLocalPushButton_clicked();</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordtype">void</span> on_deleteSelectedPushButton_clicked();</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160; </div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keywordtype">void</span> on_createExternalPushButton_clicked();</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160; </div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keywordtype">void</span> on_restoreExternalPushButton_clicked();</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keywordtype">void</span> on_aboutPushButton_clicked();</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    Ui::BackupWidget *ui;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; </div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    QStandardItemModel *model;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    QTableView *view;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <a class="code" href="class_a_file_standard_item.html">AFileStandardItem</a> *selectedFileInfo = <span class="keyword">nullptr</span>;  <span class="comment">// Only the first column is necessary for</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;                                                    <span class="comment">// any operation and it is encapsulated in the</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                                                    <span class="comment">// AFileStandardItem class</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="keywordtype">void</span> refresh();</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160; </div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="keyword">const</span> QString backupName();</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keyword">const</span> QString absoluteBackupPath();</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;};</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; </div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#endif // BACKUPWIDGET_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="aclass_a_file_standard_item_html"><div class="ttname"><a href="class_a_file_standard_item.html">AFileStandardItem</a></div><div class="ttdoc">Simple QStandardItem subclass to encapsulate necessary file info. Using only a QStandardItem would me...</div><div class="ttdef"><b>Definition:</b> backupwidget.h:23</div></div>
+<div class="ttc" id="aclass_backup_widget_html"><div class="ttname"><a href="class_backup_widget.html">BackupWidget</a></div><div class="ttdef"><b>Definition:</b> backupwidget.h:43</div></div>
+<div class="ttc" id="aclass_a_standard_paths_html_a43937baa78a53e1427e23f533024221b"><div class="ttname"><a href="class_a_standard_paths.html#a43937baa78a53e1427e23f533024221b">AStandardPaths::asChildOfDir</a></div><div class="ttdeci">static const QString asChildOfDir(Directories location, const QString &amp;filename)</div><div class="ttdoc">Returns a string of the absolute path to directory location concatenated with filename.</div><div class="ttdef"><b>Definition:</b> astandardpaths.cpp:46</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_99d0482cf009f9d97a0877749b817f19.html">gui</a></li><li class="navelem"><a class="el" href="dir_cc657b4ce13702a9d007a200bde234e1.html">widgets</a></li><li class="navelem"><b>backupwidget.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 12 - 7
docs/html/class_a_data_base_setup-members.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -89,18 +90,22 @@ $(document).ready(function(){initNavTree('class_a_data_base_setup.html',''); ini
 
 <p>This is the complete list of members for <a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a>, including all inherited members.</p>
 <table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="class_a_data_base_setup.html#aa05e875621bd9c01319b545746dd4936">commitData</a>(QVector&lt; QStringList &gt; fromCSV, const QString &amp;tableName)</td><td class="entry"><a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>createDatabase</b>() (defined in <a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a>)</td><td class="entry"><a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="class_a_data_base_setup.html#ac9c061c0d18777537dcf6273683c5468">debug</a>()</td><td class="entry"><a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>backupOldData</b>() (defined in <a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a>)</td><td class="entry"><a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_data_base_setup.html#a7108c7f8fd28ff33df095062c5ab40c3">commitData</a>(QVector&lt; QStringList &gt; from_csv, const QString &amp;table_name)</td><td class="entry"><a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>createDatabase</b>() (defined in <a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a>)</td><td class="entry"><a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_data_base_setup.html#ac9c061c0d18777537dcf6273683c5468">debug</a>()</td><td class="entry"><a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>downloadTemplates</b>() (defined in <a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a>)</td><td class="entry"><a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
   <tr bgcolor="#f0f0f0"><td class="entry"><b>fillTemplates</b>() (defined in <a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a>)</td><td class="entry"><a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>importDefaultData</b>() (defined in <a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a>)</td><td class="entry"><a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>importDefaultData</b>(bool use_local_data) (defined in <a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a>)</td><td class="entry"><a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
   <tr><td class="entry"><a class="el" href="class_a_data_base_setup.html#a89fee11dbb1510262a783ee97d946ab7">resetToDefault</a>()</td><td class="entry"><a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
 </table></div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 22 - 13
docs/html/class_a_data_base_setup.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: ADataBaseSetup Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -104,24 +105,30 @@ static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hre
 <tr class="memitem:ac91241891205e66592a6fdc37274c858"><td class="memItemLeft" align="right" valign="top"><a id="ac91241891205e66592a6fdc37274c858"></a>
 static bool&#160;</td><td class="memItemRight" valign="bottom"><b>createDatabase</b> ()</td></tr>
 <tr class="separator:ac91241891205e66592a6fdc37274c858"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0b30e5509c629bae7bfc60db55d3df7"><td class="memItemLeft" align="right" valign="top"><a id="ad0b30e5509c629bae7bfc60db55d3df7"></a>
+static bool&#160;</td><td class="memItemRight" valign="bottom"><b>downloadTemplates</b> ()</td></tr>
+<tr class="separator:ad0b30e5509c629bae7bfc60db55d3df7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4dbb78b44e252dfb0868add401adf86"><td class="memItemLeft" align="right" valign="top"><a id="ad4dbb78b44e252dfb0868add401adf86"></a>
+static bool&#160;</td><td class="memItemRight" valign="bottom"><b>backupOldData</b> ()</td></tr>
+<tr class="separator:ad4dbb78b44e252dfb0868add401adf86"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5fa999b8405625660337754ff89ad55a"><td class="memItemLeft" align="right" valign="top"><a id="a5fa999b8405625660337754ff89ad55a"></a>
 static bool&#160;</td><td class="memItemRight" valign="bottom"><b>fillTemplates</b> ()</td></tr>
 <tr class="separator:a5fa999b8405625660337754ff89ad55a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a595ecb2a529399711d20052968a9eae7"><td class="memItemLeft" align="right" valign="top"><a id="a595ecb2a529399711d20052968a9eae7"></a>
-static bool&#160;</td><td class="memItemRight" valign="bottom"><b>importDefaultData</b> ()</td></tr>
-<tr class="separator:a595ecb2a529399711d20052968a9eae7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50f8426952b5cf543b5b8fd469580928"><td class="memItemLeft" align="right" valign="top"><a id="a50f8426952b5cf543b5b8fd469580928"></a>
+static bool&#160;</td><td class="memItemRight" valign="bottom"><b>importDefaultData</b> (bool use_local_data)</td></tr>
+<tr class="separator:a50f8426952b5cf543b5b8fd469580928"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a89fee11dbb1510262a783ee97d946ab7"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_data_base_setup.html#a89fee11dbb1510262a783ee97d946ab7">resetToDefault</a> ()</td></tr>
 <tr class="memdesc:a89fee11dbb1510262a783ee97d946ab7"><td class="mdescLeft">&#160;</td><td class="mdescRight">DbSetup::resetToDefault Empties all user-generated content in the database.  <a href="class_a_data_base_setup.html#a89fee11dbb1510262a783ee97d946ab7">More...</a><br /></td></tr>
 <tr class="separator:a89fee11dbb1510262a783ee97d946ab7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa05e875621bd9c01319b545746dd4936"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_data_base_setup.html#aa05e875621bd9c01319b545746dd4936">commitData</a> (QVector&lt; QStringList &gt; fromCSV, const QString &amp;tableName)</td></tr>
-<tr class="memdesc:aa05e875621bd9c01319b545746dd4936"><td class="mdescLeft">&#160;</td><td class="mdescRight">DbSetup::commitData inserts the data parsed from a csv file into the database. The first line of the csv file has to contain the column names of the corresponding table in the database.  <a href="class_a_data_base_setup.html#aa05e875621bd9c01319b545746dd4936">More...</a><br /></td></tr>
-<tr class="separator:aa05e875621bd9c01319b545746dd4936"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7108c7f8fd28ff33df095062c5ab40c3"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_data_base_setup.html#a7108c7f8fd28ff33df095062c5ab40c3">commitData</a> (QVector&lt; QStringList &gt; from_csv, const QString &amp;table_name)</td></tr>
+<tr class="memdesc:a7108c7f8fd28ff33df095062c5ab40c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">DbSetup::commitData inserts the data parsed from a csv file into the database. The first line of the csv file has to contain the column names of the corresponding table in the database.  <a href="class_a_data_base_setup.html#a7108c7f8fd28ff33df095062c5ab40c3">More...</a><br /></td></tr>
+<tr class="separator:a7108c7f8fd28ff33df095062c5ab40c3"><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="class_a_data_base_setup.html" title="The ADataBaseSetup class is responsible for the inital setup of the database when the application is ...">ADataBaseSetup</a> class is responsible for the inital setup of the database when the application is first launched. It creates the database in the specified default location and creates all required tables and views. It can also be used to reset the database currently used. </p>
 </div><h2 class="groupheader">Member Function Documentation</h2>
-<a id="aa05e875621bd9c01319b545746dd4936"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa05e875621bd9c01319b545746dd4936">&#9670;&nbsp;</a></span>commitData()</h2>
+<a id="a7108c7f8fd28ff33df095062c5ab40c3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7108c7f8fd28ff33df095062c5ab40c3">&#9670;&nbsp;</a></span>commitData()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -133,13 +140,13 @@ static bool&#160;</td><td class="memItemRight" valign="bottom"><b>importDefaultD
           <td class="memname">bool ADataBaseSetup::commitData </td>
           <td>(</td>
           <td class="paramtype">QVector&lt; QStringList &gt;&#160;</td>
-          <td class="paramname"><em>fromCSV</em>, </td>
+          <td class="paramname"><em>from_csv</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">const QString &amp;&#160;</td>
-          <td class="paramname"><em>tableName</em>&#160;</td>
+          <td class="paramname"><em>table_name</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
@@ -204,7 +211,9 @@ static bool&#160;</td><td class="memItemRight" valign="bottom"><b>importDefaultD
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 143 - 0
docs/html/class_a_database-members.html

@@ -0,0 +1,143 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_database.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">ADatabase Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_a_database.html">ADatabase</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ADatabase</b>(const ADatabase &amp;)=delete (defined in <a class="el" href="class_a_database.html">ADatabase</a>)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#a652472c747c0ce68940b17c9c23666dd">commit</a>(AEntry entry)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#aa6080200aa3f229251480bc416755fed">connect</a>()</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#a0f0bffbb6cdd79975b7b5ca6c0db31a7">connectionReset</a>()</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99">createBackup</a>(const QString &amp;dest_file)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#a2a43936d3ae28993f9f7eda0fdf4664d">customQuery</a>(QString statement, int return_values)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#a2379c9da900da8e96add932e4024389a">database</a>()</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>databaseFile</b> (defined in <a class="el" href="class_a_database.html">ADatabase</a>)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#a56baf4eaf25922030f3cfa6906963f7c">databaseSummary</a>(const QString &amp;db_path)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#a5ed8c010ccc022687ce903cfde8ae911">dataBaseUpdated</a>()</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dbVersion</b>() const (defined in <a class="el" href="class_a_database.html">ADatabase</a>)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#abc461aaa66304ca638e546f67a694935">disconnect</a>()</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#a24f938e4c8d20afddb5e5651e041a7a6">exists</a>(AEntry entry)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>exists</b>(DataPosition data_position) (defined in <a class="el" href="class_a_database.html">ADatabase</a>)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#ae0a3c9273431195df6295b9da24b3a3a">getAircraftEntry</a>(RowId_T row_id)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#a89de409c1828125363f46f384df47359">getCompletionList</a>(ADatabaseTarget target)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#a5abdf1f35468f788609252c7a3be7bc4">getCurrencyEntry</a>(ACurrencyEntry::CurrencyName currency_name)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#a8959b406b97d9520981890d92850b1ba">getEntry</a>(DataPosition data_position)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#afc39f6136fc822e0649964fa22b84bf9">getEntryData</a>(DataPosition data_position)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#a7bb44738362582e4f54f68e3aa30d40a">getFlightEntry</a>(RowId_T row_id)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#a6006c47c82b2c72f7ab6b5cc319c5fbf">getForeignKeyConstraints</a>(RowId_T foreign_row_id, ADatabaseTarget target)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#a5dba46567089112b28b16aaf985af0ba">getIdMap</a>(ADatabaseTarget target)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#a264fea56cd3fbc31463c587f196ce576">getLastEntry</a>(ADatabaseTarget target)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#a426026d641a594863995ec5db8312259">getPilotEntry</a>(RowId_T row_id)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#ad977866124a3c7f7184e165c02a68931">getTableColumns</a>(TableName_T table_name) const</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#a4f0df6cc04e6d9b563db874a989ebc61">getTableNames</a>() const</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#a356df159542705635dc3898d90682039">getTailEntry</a>(RowId_T row_id)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#a4ecb6d0c9b3813c90b3165c993e69ad5">insert</a>(AEntry new_entry)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>instance</b>() (defined in <a class="el" href="class_a_database.html">ADatabase</a>)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>lastError</b> (defined in <a class="el" href="class_a_database.html">ADatabase</a>)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const ADatabase &amp;)=delete (defined in <a class="el" href="class_a_database.html">ADatabase</a>)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#a4903909a28daed708e1a335d3be4f57b">remove</a>(AEntry entry)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#a863d30e9e3a7c14adfe72787363618c8">removeMany</a>(QList&lt; DataPosition &gt;)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#a4640a4348dad468a0ff65bad05b07227">resolveForeignPilot</a>(RowId_T foreign_key)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d">resolveForeignTail</a>(RowId_T foreign_key)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164">restoreBackup</a>(const QString &amp;backup_file)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0">sqliteVersion</a>() const</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_database.html#a910bc0c1717e9301911343c082aa1aaa">update</a>(AEntry updated_entry)</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_database.html#a3c0fdc84000ad397d61f0efabd032194">updateLayout</a>()</td><td class="entry"><a class="el" href="class_a_database.html">ADatabase</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 582 - 0
docs/html/class_a_database.html

@@ -0,0 +1,582 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: ADatabase 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_database.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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="summary">
+<a href="#signals">Signals</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="class_a_database-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">ADatabase Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The DB class encapsulates the SQL database by providing fast access to hot database data.  
+ <a href="class_a_database.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="adatabase_8h_source.html">adatabase.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for ADatabase:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="class_a_database.png" alt=""/>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a>
+Signals</h2></td></tr>
+<tr class="memitem:a5ed8c010ccc022687ce903cfde8ae911"><td class="memItemLeft" align="right" valign="top"><a id="a5ed8c010ccc022687ce903cfde8ae911"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5ed8c010ccc022687ce903cfde8ae911">dataBaseUpdated</a> ()</td></tr>
+<tr class="memdesc:a5ed8c010ccc022687ce903cfde8ae911"><td class="mdescLeft">&#160;</td><td class="mdescRight">updated is emitted whenever the database contents have been updated. This can be either a commit, update or remove. This signal should be used to trigger an update to the models of the views displaying database contents in the user interface so that a user is always presented with up-to-date information. <br /></td></tr>
+<tr class="separator:a5ed8c010ccc022687ce903cfde8ae911"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f0bffbb6cdd79975b7b5ca6c0db31a7"><td class="memItemLeft" align="right" valign="top"><a id="a0f0bffbb6cdd79975b7b5ca6c0db31a7"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a0f0bffbb6cdd79975b7b5ca6c0db31a7">connectionReset</a> ()</td></tr>
+<tr class="memdesc:a0f0bffbb6cdd79975b7b5ca6c0db31a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">connectionReset is emitted whenever the database connection is reset, for example when creating or restoring a backup. <br /></td></tr>
+<tr class="separator:a0f0bffbb6cdd79975b7b5ca6c0db31a7"><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:aad08b473425d508107bc6c872cb53334"><td class="memItemLeft" align="right" valign="top"><a id="aad08b473425d508107bc6c872cb53334"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>ADatabase</b> (const <a class="el" href="class_a_database.html">ADatabase</a> &amp;)=delete</td></tr>
+<tr class="separator:aad08b473425d508107bc6c872cb53334"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c3e1c6b74a9e92f26f7118a6a130a64"><td class="memItemLeft" align="right" valign="top"><a id="a3c3e1c6b74a9e92f26f7118a6a130a64"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="class_a_database.html">ADatabase</a> &amp;)=delete</td></tr>
+<tr class="separator:a3c3e1c6b74a9e92f26f7118a6a130a64"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af26b4f4d0dbf13aff8beea15fb7d9d00"><td class="memItemLeft" align="right" valign="top"><a id="af26b4f4d0dbf13aff8beea15fb7d9d00"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>dbVersion</b> () const</td></tr>
+<tr class="separator:af26b4f4d0dbf13aff8beea15fb7d9d00"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4f0df6cc04e6d9b563db874a989ebc61"><td class="memItemLeft" align="right" valign="top"><a id="a4f0df6cc04e6d9b563db874a989ebc61"></a>
+TableNames_T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a4f0df6cc04e6d9b563db874a989ebc61">getTableNames</a> () const</td></tr>
+<tr class="memdesc:a4f0df6cc04e6d9b563db874a989ebc61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the names of all tables in the database. <br /></td></tr>
+<tr class="separator:a4f0df6cc04e6d9b563db874a989ebc61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad977866124a3c7f7184e165c02a68931"><td class="memItemLeft" align="right" valign="top"><a id="ad977866124a3c7f7184e165c02a68931"></a>
+ColumnNames_T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#ad977866124a3c7f7184e165c02a68931">getTableColumns</a> (TableName_T table_name) const</td></tr>
+<tr class="memdesc:ad977866124a3c7f7184e165c02a68931"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the names of a given table in the database. <br /></td></tr>
+<tr class="separator:ad977866124a3c7f7184e165c02a68931"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c0fdc84000ad397d61f0efabd032194"><td class="memItemLeft" align="right" valign="top"><a id="a3c0fdc84000ad397d61f0efabd032194"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a3c0fdc84000ad397d61f0efabd032194">updateLayout</a> ()</td></tr>
+<tr class="memdesc:a3c0fdc84000ad397d61f0efabd032194"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the member variables tableNames and tableColumns with up-to-date layout information if the database has been altered. This function is normally only required during database setup or maintenance. <br /></td></tr>
+<tr class="separator:a3c0fdc84000ad397d61f0efabd032194"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a491415273a771dd7ea41452c331a34b0"><td class="memItemLeft" align="right" valign="top">const QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0">sqliteVersion</a> () const</td></tr>
+<tr class="memdesc:a491415273a771dd7ea41452c331a34b0"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0" title="ADatabase::sqliteVersion returns database sqlite version.">ADatabase::sqliteVersion</a> returns database sqlite version.  <a href="class_a_database.html#a491415273a771dd7ea41452c331a34b0">More...</a><br /></td></tr>
+<tr class="separator:a491415273a771dd7ea41452c331a34b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa6080200aa3f229251480bc416755fed"><td class="memItemLeft" align="right" valign="top"><a id="aa6080200aa3f229251480bc416755fed"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#aa6080200aa3f229251480bc416755fed">connect</a> ()</td></tr>
+<tr class="memdesc:aa6080200aa3f229251480bc416755fed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to the database and populate database information. <br /></td></tr>
+<tr class="separator:aa6080200aa3f229251480bc416755fed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc461aaa66304ca638e546f67a694935"><td class="memItemLeft" align="right" valign="top"><a id="abc461aaa66304ca638e546f67a694935"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#abc461aaa66304ca638e546f67a694935">disconnect</a> ()</td></tr>
+<tr class="memdesc:abc461aaa66304ca638e546f67a694935"><td class="mdescLeft">&#160;</td><td class="mdescRight">closes the database connection. <br /></td></tr>
+<tr class="separator:abc461aaa66304ca638e546f67a694935"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2a43936d3ae28993f9f7eda0fdf4664d"><td class="memItemLeft" align="right" valign="top">QVector&lt; QVariant &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a2a43936d3ae28993f9f7eda0fdf4664d">customQuery</a> (QString statement, int return_values)</td></tr>
+<tr class="memdesc:a2a43936d3ae28993f9f7eda0fdf4664d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Can be used to send a complex query to the database.  <a href="class_a_database.html#a2a43936d3ae28993f9f7eda0fdf4664d">More...</a><br /></td></tr>
+<tr class="separator:a2a43936d3ae28993f9f7eda0fdf4664d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24f938e4c8d20afddb5e5651e041a7a6"><td class="memItemLeft" align="right" valign="top"><a id="a24f938e4c8d20afddb5e5651e041a7a6"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a24f938e4c8d20afddb5e5651e041a7a6">exists</a> (<a class="el" href="class_a_entry.html">AEntry</a> entry)</td></tr>
+<tr class="memdesc:a24f938e4c8d20afddb5e5651e041a7a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if an entry exists in the database, based on position data. <br /></td></tr>
+<tr class="separator:a24f938e4c8d20afddb5e5651e041a7a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a22ce31ddea49c144d85c05658f49fec5"><td class="memItemLeft" align="right" valign="top"><a id="a22ce31ddea49c144d85c05658f49fec5"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>exists</b> (<a class="el" href="struct_data_position.html">DataPosition</a> data_position)</td></tr>
+<tr class="separator:a22ce31ddea49c144d85c05658f49fec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a652472c747c0ce68940b17c9c23666dd"><td class="memItemLeft" align="right" valign="top"><a id="a652472c747c0ce68940b17c9c23666dd"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a652472c747c0ce68940b17c9c23666dd">commit</a> (<a class="el" href="class_a_entry.html">AEntry</a> entry)</td></tr>
+<tr class="memdesc:a652472c747c0ce68940b17c9c23666dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">commits an entry to the database, calls either insert or update, based on position data <br /></td></tr>
+<tr class="separator:a652472c747c0ce68940b17c9c23666dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ecb6d0c9b3813c90b3165c993e69ad5"><td class="memItemLeft" align="right" valign="top"><a id="a4ecb6d0c9b3813c90b3165c993e69ad5"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a4ecb6d0c9b3813c90b3165c993e69ad5">insert</a> (<a class="el" href="class_a_entry.html">AEntry</a> new_entry)</td></tr>
+<tr class="memdesc:a4ecb6d0c9b3813c90b3165c993e69ad5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new entry in the databse based on UserInput. <br /></td></tr>
+<tr class="separator:a4ecb6d0c9b3813c90b3165c993e69ad5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a910bc0c1717e9301911343c082aa1aaa"><td class="memItemLeft" align="right" valign="top"><a id="a910bc0c1717e9301911343c082aa1aaa"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a910bc0c1717e9301911343c082aa1aaa">update</a> (<a class="el" href="class_a_entry.html">AEntry</a> updated_entry)</td></tr>
+<tr class="memdesc:a910bc0c1717e9301911343c082aa1aaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates entry in database from existing entry tweaked by the user. <br /></td></tr>
+<tr class="separator:a910bc0c1717e9301911343c082aa1aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4903909a28daed708e1a335d3be4f57b"><td class="memItemLeft" align="right" valign="top"><a id="a4903909a28daed708e1a335d3be4f57b"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a4903909a28daed708e1a335d3be4f57b">remove</a> (<a class="el" href="class_a_entry.html">AEntry</a> entry)</td></tr>
+<tr class="memdesc:a4903909a28daed708e1a335d3be4f57b"><td class="mdescLeft">&#160;</td><td class="mdescRight">deletes an entry from the database. <br /></td></tr>
+<tr class="separator:a4903909a28daed708e1a335d3be4f57b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a863d30e9e3a7c14adfe72787363618c8"><td class="memItemLeft" align="right" valign="top"><a id="a863d30e9e3a7c14adfe72787363618c8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a863d30e9e3a7c14adfe72787363618c8">removeMany</a> (QList&lt; <a class="el" href="struct_data_position.html">DataPosition</a> &gt;)</td></tr>
+<tr class="memdesc:a863d30e9e3a7c14adfe72787363618c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">deletes a list of entries from the database. Optimised for speed when deleting many entries. <br /></td></tr>
+<tr class="separator:a863d30e9e3a7c14adfe72787363618c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc39f6136fc822e0649964fa22b84bf9"><td class="memItemLeft" align="right" valign="top"><a id="afc39f6136fc822e0649964fa22b84bf9"></a>
+RowData_T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#afc39f6136fc822e0649964fa22b84bf9">getEntryData</a> (<a class="el" href="struct_data_position.html">DataPosition</a> data_position)</td></tr>
+<tr class="memdesc:afc39f6136fc822e0649964fa22b84bf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreive entry data from the database to create an entry object <br /></td></tr>
+<tr class="separator:afc39f6136fc822e0649964fa22b84bf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8959b406b97d9520981890d92850b1ba"><td class="memItemLeft" align="right" valign="top"><a id="a8959b406b97d9520981890d92850b1ba"></a>
+<a class="el" href="class_a_entry.html">AEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a8959b406b97d9520981890d92850b1ba">getEntry</a> (<a class="el" href="struct_data_position.html">DataPosition</a> data_position)</td></tr>
+<tr class="memdesc:a8959b406b97d9520981890d92850b1ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreive an Entry from the database. <br /></td></tr>
+<tr class="separator:a8959b406b97d9520981890d92850b1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426026d641a594863995ec5db8312259"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a426026d641a594863995ec5db8312259">getPilotEntry</a> (RowId_T row_id)</td></tr>
+<tr class="memdesc:a426026d641a594863995ec5db8312259"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreives a PilotEntry from the database.  <a href="class_a_database.html#a426026d641a594863995ec5db8312259">More...</a><br /></td></tr>
+<tr class="separator:a426026d641a594863995ec5db8312259"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a356df159542705635dc3898d90682039"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a356df159542705635dc3898d90682039">getTailEntry</a> (RowId_T row_id)</td></tr>
+<tr class="memdesc:a356df159542705635dc3898d90682039"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreives a TailEntry from the database.  <a href="class_a_database.html#a356df159542705635dc3898d90682039">More...</a><br /></td></tr>
+<tr class="separator:a356df159542705635dc3898d90682039"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0a3c9273431195df6295b9da24b3a3a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_aircraft_entry.html">AAircraftEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#ae0a3c9273431195df6295b9da24b3a3a">getAircraftEntry</a> (RowId_T row_id)</td></tr>
+<tr class="memdesc:ae0a3c9273431195df6295b9da24b3a3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreives a TailEntry from the database.  <a href="class_a_database.html#ae0a3c9273431195df6295b9da24b3a3a">More...</a><br /></td></tr>
+<tr class="separator:ae0a3c9273431195df6295b9da24b3a3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7bb44738362582e4f54f68e3aa30d40a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a7bb44738362582e4f54f68e3aa30d40a">getFlightEntry</a> (RowId_T row_id)</td></tr>
+<tr class="memdesc:a7bb44738362582e4f54f68e3aa30d40a"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreives a flight entry from the database.  <a href="class_a_database.html#a7bb44738362582e4f54f68e3aa30d40a">More...</a><br /></td></tr>
+<tr class="separator:a7bb44738362582e4f54f68e3aa30d40a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5abdf1f35468f788609252c7a3be7bc4"><td class="memItemLeft" align="right" valign="top"><a id="a5abdf1f35468f788609252c7a3be7bc4"></a>
+<a class="el" href="struct_a_currency_entry.html">ACurrencyEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5abdf1f35468f788609252c7a3be7bc4">getCurrencyEntry</a> (ACurrencyEntry::CurrencyName currency_name)</td></tr>
+<tr class="memdesc:a5abdf1f35468f788609252c7a3be7bc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retreives a currency entry from the database. <br /></td></tr>
+<tr class="separator:a5abdf1f35468f788609252c7a3be7bc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89de409c1828125363f46f384df47359"><td class="memItemLeft" align="right" valign="top"><a id="a89de409c1828125363f46f384df47359"></a>
+const QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a89de409c1828125363f46f384df47359">getCompletionList</a> (ADatabaseTarget target)</td></tr>
+<tr class="memdesc:a89de409c1828125363f46f384df47359"><td class="mdescLeft">&#160;</td><td class="mdescRight">getCompletionList returns a QStringList of values for a QCompleter based on database values <br /></td></tr>
+<tr class="separator:a89de409c1828125363f46f384df47359"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5dba46567089112b28b16aaf985af0ba"><td class="memItemLeft" align="right" valign="top">const QMap&lt; QString, RowId_T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5dba46567089112b28b16aaf985af0ba">getIdMap</a> (ADatabaseTarget target)</td></tr>
+<tr class="memdesc:a5dba46567089112b28b16aaf985af0ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns a QMap&lt;QString, RowId_t&gt; of a human-readable database value and its row id. Used in the Dialogs to map user input to unique database entries.  <a href="class_a_database.html#a5dba46567089112b28b16aaf985af0ba">More...</a><br /></td></tr>
+<tr class="separator:a5dba46567089112b28b16aaf985af0ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a264fea56cd3fbc31463c587f196ce576"><td class="memItemLeft" align="right" valign="top"><a id="a264fea56cd3fbc31463c587f196ce576"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a264fea56cd3fbc31463c587f196ce576">getLastEntry</a> (ADatabaseTarget target)</td></tr>
+<tr class="memdesc:a264fea56cd3fbc31463c587f196ce576"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the ROWID for the newest entry in the respective database. <br /></td></tr>
+<tr class="separator:a264fea56cd3fbc31463c587f196ce576"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6006c47c82b2c72f7ab6b5cc319c5fbf"><td class="memItemLeft" align="right" valign="top"><a id="a6006c47c82b2c72f7ab6b5cc319c5fbf"></a>
+QList&lt; RowId_T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a6006c47c82b2c72f7ab6b5cc319c5fbf">getForeignKeyConstraints</a> (RowId_T foreign_row_id, ADatabaseTarget target)</td></tr>
+<tr class="memdesc:a6006c47c82b2c72f7ab6b5cc319c5fbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns a list of ROWID's in the flights table for which foreign key constraints exist. <br /></td></tr>
+<tr class="separator:a6006c47c82b2c72f7ab6b5cc319c5fbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4640a4348dad468a0ff65bad05b07227"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a4640a4348dad468a0ff65bad05b07227">resolveForeignPilot</a> (RowId_T foreign_key)</td></tr>
+<tr class="memdesc:a4640a4348dad468a0ff65bad05b07227"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolves the foreign key in a flight entry.  <a href="class_a_database.html#a4640a4348dad468a0ff65bad05b07227">More...</a><br /></td></tr>
+<tr class="separator:a4640a4348dad468a0ff65bad05b07227"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5878bcd4bc19e4c3fc5275ca7252860d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d">resolveForeignTail</a> (RowId_T foreign_key)</td></tr>
+<tr class="memdesc:a5878bcd4bc19e4c3fc5275ca7252860d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolves the foreign key in a flight entry.  <a href="class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d">More...</a><br /></td></tr>
+<tr class="separator:a5878bcd4bc19e4c3fc5275ca7252860d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56baf4eaf25922030f3cfa6906963f7c"><td class="memItemLeft" align="right" valign="top">QMap&lt; ADatabaseSummaryKey, QString &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a56baf4eaf25922030f3cfa6906963f7c">databaseSummary</a> (const QString &amp;db_path)</td></tr>
+<tr class="memdesc:a56baf4eaf25922030f3cfa6906963f7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the summary of the DB_PATH as a stringlist.  <a href="class_a_database.html#a56baf4eaf25922030f3cfa6906963f7c">More...</a><br /></td></tr>
+<tr class="separator:a56baf4eaf25922030f3cfa6906963f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0bda52064f005f1463e56b60cd23b164"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164">restoreBackup</a> (const QString &amp;backup_file)</td></tr>
+<tr class="memdesc:a0bda52064f005f1463e56b60cd23b164"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164" title="ADatabase::restoreBackup restores the database from a given backup file and replaces the currently ac...">ADatabase::restoreBackup</a> restores the database from a given backup file and replaces the currently active database.  <a href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164">More...</a><br /></td></tr>
+<tr class="separator:a0bda52064f005f1463e56b60cd23b164"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ab838a62a83974f9e40c62f66adfa99"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99">createBackup</a> (const QString &amp;dest_file)</td></tr>
+<tr class="memdesc:a5ab838a62a83974f9e40c62f66adfa99"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99" title="ADatabase::createBackup copies the currently used database to an external backup location provided by...">ADatabase::createBackup</a> copies the currently used database to an external backup location provided by the user.  <a href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99">More...</a><br /></td></tr>
+<tr class="separator:a5ab838a62a83974f9e40c62f66adfa99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:ad4f5ba05c99e7eb5eec75ba913f1fc00"><td class="memItemLeft" align="right" valign="top"><a id="ad4f5ba05c99e7eb5eec75ba913f1fc00"></a>
+static <a class="el" href="class_a_database.html">ADatabase</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>instance</b> ()</td></tr>
+<tr class="separator:ad4f5ba05c99e7eb5eec75ba913f1fc00"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2379c9da900da8e96add932e4024389a"><td class="memItemLeft" align="right" valign="top">static QSqlDatabase&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a2379c9da900da8e96add932e4024389a">database</a> ()</td></tr>
+<tr class="memdesc:a2379c9da900da8e96add932e4024389a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Can be used to access the database connection.  <a href="class_a_database.html#a2379c9da900da8e96add932e4024389a">More...</a><br /></td></tr>
+<tr class="separator:a2379c9da900da8e96add932e4024389a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a95d05441d87fa291acb96e37b029409e"><td class="memItemLeft" align="right" valign="top"><a id="a95d05441d87fa291acb96e37b029409e"></a>
+<a class="el" href="class_a_database_error.html">ADatabaseError</a>&#160;</td><td class="memItemRight" valign="bottom"><b>lastError</b></td></tr>
+<tr class="separator:a95d05441d87fa291acb96e37b029409e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1da0311f588fd269dec80389aea8644"><td class="memItemLeft" align="right" valign="top"><a id="ae1da0311f588fd269dec80389aea8644"></a>
+const QFileInfo&#160;</td><td class="memItemRight" valign="bottom"><b>databaseFile</b></td></tr>
+<tr class="separator:ae1da0311f588fd269dec80389aea8644"><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 DB class encapsulates the SQL database by providing fast access to hot database data. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a5ab838a62a83974f9e40c62f66adfa99"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5ab838a62a83974f9e40c62f66adfa99">&#9670;&nbsp;</a></span>createBackup()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool ADatabase::createBackup </td>
+          <td>(</td>
+          <td class="paramtype">const QString &amp;&#160;</td>
+          <td class="paramname"><em>dest_file</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p><a class="el" href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99" title="ADatabase::createBackup copies the currently used database to an external backup location provided by...">ADatabase::createBackup</a> copies the currently used database to an external backup location provided by the user. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">dest_file</td><td>This is the full path and filename of where the backup will be created, e.g. 'home/Sully/myBackups/backupFromOpl.db' </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a2a43936d3ae28993f9f7eda0fdf4664d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2a43936d3ae28993f9f7eda0fdf4664d">&#9670;&nbsp;</a></span>customQuery()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">QVector&lt; QVariant &gt; ADatabase::customQuery </td>
+          <td>(</td>
+          <td class="paramtype">QString&#160;</td>
+          <td class="paramname"><em>statement</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>return_values</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Can be used to send a complex query to the database. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">query</td><td>- the full sql query statement </td></tr>
+    <tr><td class="paramname">returnValues</td><td>- the number of return values </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a2379c9da900da8e96add932e4024389a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2379c9da900da8e96add932e4024389a">&#9670;&nbsp;</a></span>database()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">QSqlDatabase ADatabase::database </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Can be used to access the database connection. </p>
+<dl class="section return"><dt>Returns</dt><dd>The QSqlDatabase object pertaining to the connection. </dd></dl>
+
+</div>
+</div>
+<a id="a56baf4eaf25922030f3cfa6906963f7c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a56baf4eaf25922030f3cfa6906963f7c">&#9670;&nbsp;</a></span>databaseSummary()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">QMap&lt; ADatabaseSummaryKey, QString &gt; ADatabase::databaseSummary </td>
+          <td>(</td>
+          <td class="paramtype">const QString &amp;&#160;</td>
+          <td class="paramname"><em>db_path</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Return the summary of the DB_PATH as a stringlist. </p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>Contemplate whether it should be a more generic function that may be used for different elements to summarize. and ADD DOCUMENTATION, theres some specific sql stuff going on. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="ae0a3c9273431195df6295b9da24b3a3a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae0a3c9273431195df6295b9da24b3a3a">&#9670;&nbsp;</a></span>getAircraftEntry()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="struct_a_aircraft_entry.html">AAircraftEntry</a> ADatabase::getAircraftEntry </td>
+          <td>(</td>
+          <td class="paramtype">RowId_T&#160;</td>
+          <td class="paramname"><em>row_id</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>retreives a TailEntry from the database. </p>
+<p>This function is a wrapper for DataBase::getEntry(DataPosition), where the table is already set and which returns an <a class="el" href="struct_a_aircraft_entry.html">AAircraftEntry</a> instead of an <a class="el" href="class_a_entry.html" title="The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...">AEntry</a>. It allows for easy access to an aircraft entry with only the RowId required as input. </p>
+
+</div>
+</div>
+<a id="a7bb44738362582e4f54f68e3aa30d40a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7bb44738362582e4f54f68e3aa30d40a">&#9670;&nbsp;</a></span>getFlightEntry()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a> ADatabase::getFlightEntry </td>
+          <td>(</td>
+          <td class="paramtype">RowId_T&#160;</td>
+          <td class="paramname"><em>row_id</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>retreives a flight entry from the database. </p>
+<p>This function is a wrapper for DataBase::getEntry(DataPosition), where the table is already set and which returns an <a class="el" href="class_a_flight_entry.html">AFlightEntry</a> instead of an <a class="el" href="class_a_entry.html" title="The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...">AEntry</a>. It allows for easy access to a flight entry with only the RowId required as input. </p>
+
+</div>
+</div>
+<a id="a5dba46567089112b28b16aaf985af0ba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5dba46567089112b28b16aaf985af0ba">&#9670;&nbsp;</a></span>getIdMap()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const QMap&lt; QString, RowId_T &gt; ADatabase::getIdMap </td>
+          <td>(</td>
+          <td class="paramtype">ADatabaseTarget&#160;</td>
+          <td class="paramname"><em>target</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>returns a QMap&lt;QString, RowId_t&gt; of a human-readable database value and its row id. Used in the Dialogs to map user input to unique database entries. </p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>What is this QString semantically? As i understand its a "QueryResult" QVariant cast to QString </dd></dl>
+
+</div>
+</div>
+<a id="a426026d641a594863995ec5db8312259"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a426026d641a594863995ec5db8312259">&#9670;&nbsp;</a></span>getPilotEntry()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a> ADatabase::getPilotEntry </td>
+          <td>(</td>
+          <td class="paramtype">RowId_T&#160;</td>
+          <td class="paramname"><em>row_id</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>retreives a PilotEntry from the database. </p>
+<p>This function is a wrapper for DataBase::getEntry(DataPosition), where the table is already set and which returns a PilotEntry instead of an Entry. It allows for easy access to a pilot entry with only the RowId required as input. </p>
+
+</div>
+</div>
+<a id="a356df159542705635dc3898d90682039"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a356df159542705635dc3898d90682039">&#9670;&nbsp;</a></span>getTailEntry()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a> ADatabase::getTailEntry </td>
+          <td>(</td>
+          <td class="paramtype">RowId_T&#160;</td>
+          <td class="paramname"><em>row_id</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>retreives a TailEntry from the database. </p>
+<p>This function is a wrapper for DataBase::getEntry(DataPosition), where the table is already set and which returns a TailEntry instead of an Entry. It allows for easy access to a tail entry with only the RowId required as input. </p>
+
+</div>
+</div>
+<a id="a4640a4348dad468a0ff65bad05b07227"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4640a4348dad468a0ff65bad05b07227">&#9670;&nbsp;</a></span>resolveForeignPilot()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a> ADatabase::resolveForeignPilot </td>
+          <td>(</td>
+          <td class="paramtype">RowId_T&#160;</td>
+          <td class="paramname"><em>foreign_key</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Resolves the foreign key in a flight entry. </p>
+<dl class="section return"><dt>Returns</dt><dd>The Pilot Entry referencted by the foreign key. </dd></dl>
+
+</div>
+</div>
+<a id="a5878bcd4bc19e4c3fc5275ca7252860d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5878bcd4bc19e4c3fc5275ca7252860d">&#9670;&nbsp;</a></span>resolveForeignTail()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a> ADatabase::resolveForeignTail </td>
+          <td>(</td>
+          <td class="paramtype">RowId_T&#160;</td>
+          <td class="paramname"><em>foreign_key</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Resolves the foreign key in a flight entry. </p>
+<dl class="section return"><dt>Returns</dt><dd>The Tail Entry referencted by the foreign key. </dd></dl>
+
+</div>
+</div>
+<a id="a0bda52064f005f1463e56b60cd23b164"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0bda52064f005f1463e56b60cd23b164">&#9670;&nbsp;</a></span>restoreBackup()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool ADatabase::restoreBackup </td>
+          <td>(</td>
+          <td class="paramtype">const QString &amp;&#160;</td>
+          <td class="paramname"><em>backup_file</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p><a class="el" href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164" title="ADatabase::restoreBackup restores the database from a given backup file and replaces the currently ac...">ADatabase::restoreBackup</a> restores the database from a given backup file and replaces the currently active database. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">backup_file</td><td>This is the full path and filename of the backup, e.g. 'home/Sully/myBackups/backupFromOpl.db' </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="a491415273a771dd7ea41452c331a34b0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a491415273a771dd7ea41452c331a34b0">&#9670;&nbsp;</a></span>sqliteVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const QString ADatabase::sqliteVersion </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p><a class="el" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0" title="ADatabase::sqliteVersion returns database sqlite version.">ADatabase::sqliteVersion</a> returns database sqlite version. </p>
+<dl class="section return"><dt>Returns</dt><dd>sqlite version string </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>src/database/<a class="el" href="adatabase_8h_source.html">adatabase.h</a></li>
+<li>src/database/adatabase.cpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="class_a_database.html">ADatabase</a></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 40 - 0
docs/html/class_a_database.js

@@ -0,0 +1,40 @@
+var class_a_database =
+[
+    [ "ADatabase", "class_a_database.html#aad08b473425d508107bc6c872cb53334", null ],
+    [ "commit", "class_a_database.html#a652472c747c0ce68940b17c9c23666dd", null ],
+    [ "connect", "class_a_database.html#aa6080200aa3f229251480bc416755fed", null ],
+    [ "connectionReset", "class_a_database.html#a0f0bffbb6cdd79975b7b5ca6c0db31a7", null ],
+    [ "createBackup", "class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99", null ],
+    [ "customQuery", "class_a_database.html#a2a43936d3ae28993f9f7eda0fdf4664d", null ],
+    [ "databaseSummary", "class_a_database.html#a56baf4eaf25922030f3cfa6906963f7c", null ],
+    [ "dataBaseUpdated", "class_a_database.html#a5ed8c010ccc022687ce903cfde8ae911", null ],
+    [ "dbVersion", "class_a_database.html#af26b4f4d0dbf13aff8beea15fb7d9d00", null ],
+    [ "disconnect", "class_a_database.html#abc461aaa66304ca638e546f67a694935", null ],
+    [ "exists", "class_a_database.html#a24f938e4c8d20afddb5e5651e041a7a6", null ],
+    [ "exists", "class_a_database.html#a22ce31ddea49c144d85c05658f49fec5", null ],
+    [ "getAircraftEntry", "class_a_database.html#ae0a3c9273431195df6295b9da24b3a3a", null ],
+    [ "getCompletionList", "class_a_database.html#a89de409c1828125363f46f384df47359", null ],
+    [ "getCurrencyEntry", "class_a_database.html#a5abdf1f35468f788609252c7a3be7bc4", null ],
+    [ "getEntry", "class_a_database.html#a8959b406b97d9520981890d92850b1ba", null ],
+    [ "getEntryData", "class_a_database.html#afc39f6136fc822e0649964fa22b84bf9", null ],
+    [ "getFlightEntry", "class_a_database.html#a7bb44738362582e4f54f68e3aa30d40a", null ],
+    [ "getForeignKeyConstraints", "class_a_database.html#a6006c47c82b2c72f7ab6b5cc319c5fbf", null ],
+    [ "getIdMap", "class_a_database.html#a5dba46567089112b28b16aaf985af0ba", null ],
+    [ "getLastEntry", "class_a_database.html#a264fea56cd3fbc31463c587f196ce576", null ],
+    [ "getPilotEntry", "class_a_database.html#a426026d641a594863995ec5db8312259", null ],
+    [ "getTableColumns", "class_a_database.html#ad977866124a3c7f7184e165c02a68931", null ],
+    [ "getTableNames", "class_a_database.html#a4f0df6cc04e6d9b563db874a989ebc61", null ],
+    [ "getTailEntry", "class_a_database.html#a356df159542705635dc3898d90682039", null ],
+    [ "insert", "class_a_database.html#a4ecb6d0c9b3813c90b3165c993e69ad5", null ],
+    [ "operator=", "class_a_database.html#a3c3e1c6b74a9e92f26f7118a6a130a64", null ],
+    [ "remove", "class_a_database.html#a4903909a28daed708e1a335d3be4f57b", null ],
+    [ "removeMany", "class_a_database.html#a863d30e9e3a7c14adfe72787363618c8", null ],
+    [ "resolveForeignPilot", "class_a_database.html#a4640a4348dad468a0ff65bad05b07227", null ],
+    [ "resolveForeignTail", "class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d", null ],
+    [ "restoreBackup", "class_a_database.html#a0bda52064f005f1463e56b60cd23b164", null ],
+    [ "sqliteVersion", "class_a_database.html#a491415273a771dd7ea41452c331a34b0", null ],
+    [ "update", "class_a_database.html#a910bc0c1717e9301911343c082aa1aaa", null ],
+    [ "updateLayout", "class_a_database.html#a3c0fdc84000ad397d61f0efabd032194", null ],
+    [ "databaseFile", "class_a_database.html#ae1da0311f588fd269dec80389aea8644", null ],
+    [ "lastError", "class_a_database.html#a95d05441d87fa291acb96e37b029409e", null ]
+];

BIN
docs/html/class_a_database.png


+ 107 - 0
docs/html/class_a_database_error-members.html

@@ -0,0 +1,107 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_database_error.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">ADatabaseError Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_a_database_error.html">ADatabaseError</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ADatabaseError</b>()=default (defined in <a class="el" href="class_a_database_error.html">ADatabaseError</a>)</td><td class="entry"><a class="el" href="class_a_database_error.html">ADatabaseError</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ADatabaseError</b>(QString msg) (defined in <a class="el" href="class_a_database_error.html">ADatabaseError</a>)</td><td class="entry"><a class="el" href="class_a_database_error.html">ADatabaseError</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>text</b>() const (defined in <a class="el" href="class_a_database_error.html">ADatabaseError</a>)</td><td class="entry"><a class="el" href="class_a_database_error.html">ADatabaseError</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 132 - 0
docs/html/class_a_database_error.html

@@ -0,0 +1,132 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: ADatabaseError 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_database_error.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="class_a_database_error-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">ADatabaseError Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Custom Database Error derived from QSqlError. Extends text() adding "Database Error: " before the text.  
+ <a href="class_a_database_error.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="adatabase_8h_source.html">adatabase.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for ADatabaseError:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="class_a_database_error.png" alt=""/>
+ </div></div>
+<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:ac2f7c2d5208396c00e355ec564e56a8e"><td class="memItemLeft" align="right" valign="top"><a id="ac2f7c2d5208396c00e355ec564e56a8e"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>ADatabaseError</b> (QString msg)</td></tr>
+<tr class="separator:ac2f7c2d5208396c00e355ec564e56a8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0fbc2036f577ba78e79ab0b0eef6fdf0"><td class="memItemLeft" align="right" valign="top"><a id="a0fbc2036f577ba78e79ab0b0eef6fdf0"></a>
+QString&#160;</td><td class="memItemRight" valign="bottom"><b>text</b> () const</td></tr>
+<tr class="separator:a0fbc2036f577ba78e79ab0b0eef6fdf0"><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>Custom Database Error derived from QSqlError. Extends text() adding "Database Error: " before the text. </p>
+</div><hr/>The documentation for this class was generated from the following files:<ul>
+<li>src/database/<a class="el" href="adatabase_8h_source.html">adatabase.h</a></li>
+<li>src/database/adatabase.cpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="class_a_database_error.html">ADatabaseError</a></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 6 - 0
docs/html/class_a_database_error.js

@@ -0,0 +1,6 @@
+var class_a_database_error =
+[
+    [ "ADatabaseError", "class_a_database_error.html#aa84486e444cef30446070907c6c09604", null ],
+    [ "ADatabaseError", "class_a_database_error.html#ac2f7c2d5208396c00e355ec564e56a8e", null ],
+    [ "text", "class_a_database_error.html#a0fbc2036f577ba78e79ab0b0eef6fdf0", null ]
+];

BIN
docs/html/class_a_database_error.png


+ 108 - 0
docs/html/class_a_date-members.html

@@ -0,0 +1,108 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_date.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">ADate Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_a_date.html">ADate</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="class_a_date.html#aa1c79d62d44ab503ccbc984f6f681a2d">formatInput</a>(QString user_input, Opl::Date::ADateFormat format)</td><td class="entry"><a class="el" href="class_a_date.html">ADate</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>getDisplayNames</b>() (defined in <a class="el" href="class_a_date.html">ADate</a>)</td><td class="entry"><a class="el" href="class_a_date.html">ADate</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getFormatString</b>(Opl::Date::ADateFormat format) (defined in <a class="el" href="class_a_date.html">ADate</a>)</td><td class="entry"><a class="el" href="class_a_date.html">ADate</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_date.html#ae8a544f48462c8159748f98fe4684a56">toString</a>(const QDate &amp;date, Opl::Date::ADateFormat format=Opl::Date::ADateFormat::ISODate)</td><td class="entry"><a class="el" href="class_a_date.html">ADate</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 173 - 0
docs/html/class_a_date.html

@@ -0,0 +1,173 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: ADate 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_date.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="class_a_date-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">ADate Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The <a class="el" href="class_a_date.html" title="The ADate class is responsible for input/output of Dates and handling the different Date Formats.">ADate</a> class is responsible for input/output of Dates and handling the different Date Formats.  
+ <a href="class_a_date.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="adate_8h_source.html">adate.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:aa1c79d62d44ab503ccbc984f6f681a2d"><td class="memItemLeft" align="right" valign="top">static QDate&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_date.html#aa1c79d62d44ab503ccbc984f6f681a2d">formatInput</a> (QString user_input, Opl::Date::ADateFormat format)</td></tr>
+<tr class="memdesc:aa1c79d62d44ab503ccbc984f6f681a2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">formatInput takes a user-provided input and tries to convert it to a QDate.  <a href="class_a_date.html#aa1c79d62d44ab503ccbc984f6f681a2d">More...</a><br /></td></tr>
+<tr class="separator:aa1c79d62d44ab503ccbc984f6f681a2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8a544f48462c8159748f98fe4684a56"><td class="memItemLeft" align="right" valign="top"><a id="ae8a544f48462c8159748f98fe4684a56"></a>
+static QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_date.html#ae8a544f48462c8159748f98fe4684a56">toString</a> (const QDate &amp;date, Opl::Date::ADateFormat format=Opl::Date::ADateFormat::ISODate)</td></tr>
+<tr class="memdesc:ae8a544f48462c8159748f98fe4684a56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reimplements QDate::toString to accept Opl::Date::ADateFormat enums. <br /></td></tr>
+<tr class="separator:ae8a544f48462c8159748f98fe4684a56"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa796e1c6b429ff2324d7392c6267d125"><td class="memItemLeft" align="right" valign="top"><a id="aa796e1c6b429ff2324d7392c6267d125"></a>
+static const QStringList &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>getDisplayNames</b> ()</td></tr>
+<tr class="separator:aa796e1c6b429ff2324d7392c6267d125"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a06dc3bd7d9d59a56a1d867bb05d0ecce"><td class="memItemLeft" align="right" valign="top"><a id="a06dc3bd7d9d59a56a1d867bb05d0ecce"></a>
+static const QString&#160;</td><td class="memItemRight" valign="bottom"><b>getFormatString</b> (Opl::Date::ADateFormat format)</td></tr>
+<tr class="separator:a06dc3bd7d9d59a56a1d867bb05d0ecce"><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="class_a_date.html" title="The ADate class is responsible for input/output of Dates and handling the different Date Formats.">ADate</a> class is responsible for input/output of Dates and handling the different Date Formats. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="aa1c79d62d44ab503ccbc984f6f681a2d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa1c79d62d44ab503ccbc984f6f681a2d">&#9670;&nbsp;</a></span>formatInput()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">QDate ADate::formatInput </td>
+          <td>(</td>
+          <td class="paramtype">QString&#160;</td>
+          <td class="paramname"><em>user_input</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Opl::Date::ADateFormat&#160;</td>
+          <td class="paramname"><em>format</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">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>formatInput takes a user-provided input and tries to convert it to a QDate. </p>
+<dl class="section return"><dt>Returns</dt><dd>QDate (invalid if input not recognized) </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>src/functions/<a class="el" href="adate_8h_source.html">adate.h</a></li>
+<li>src/functions/adate.cpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="class_a_date.html">ADate</a></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 6 - 3
docs/html/class_a_download-members.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -102,7 +103,9 @@ $(document).ready(function(){initNavTree('class_a_download.html',''); initResiza
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 6 - 3
docs/html/class_a_download.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: ADownload Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -135,7 +136,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>download</b> ()</td><
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_a_download.html">ADownload</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 116 - 0
docs/html/class_a_entry-members.html

@@ -0,0 +1,116 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_entry.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">AEntry Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_a_entry.html">AEntry</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AEntry</b>()=delete (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AEntry</b>(const AEntry &amp;)=default (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AEntry</b>(DataPosition position_) (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AEntry</b>(RowData_T table_data) (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AEntry</b>(DataPosition position_, RowData_T table_data) (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>getData</b>() (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getPosition</b>() (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const AEntry &amp;)=default (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>position</b> (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>setData</b>(RowData_T table_data) (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setPosition</b>(DataPosition position_) (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>tableData</b> (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 174 - 0
docs/html/class_a_entry.html

@@ -0,0 +1,174 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: AEntry 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_entry.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="class_a_entry-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">AEntry Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries in the database to operate on.  
+ <a href="class_a_entry.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="aentry_8h_source.html">aentry.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for AEntry:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="class_a_entry.png" usemap="#AEntry_map" alt=""/>
+  <map id="AEntry_map" name="AEntry_map">
+<area href="struct_a_aircraft_entry.html" alt="AAircraftEntry" shape="rect" coords="0,56,105,80"/>
+<area href="struct_a_currency_entry.html" alt="ACurrencyEntry" shape="rect" coords="115,56,220,80"/>
+<area href="class_a_flight_entry.html" alt="AFlightEntry" shape="rect" coords="230,56,335,80"/>
+<area href="struct_a_pilot_entry.html" alt="APilotEntry" shape="rect" coords="345,56,450,80"/>
+<area href="struct_a_tail_entry.html" alt="ATailEntry" shape="rect" coords="460,56,565,80"/>
+  </map>
+</div></div>
+<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:a9cfbd701bff476e89b0b38146c208fab"><td class="memItemLeft" align="right" valign="top"><a id="a9cfbd701bff476e89b0b38146c208fab"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AEntry</b> (const <a class="el" href="class_a_entry.html">AEntry</a> &amp;)=default</td></tr>
+<tr class="separator:a9cfbd701bff476e89b0b38146c208fab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9984a85a351159926705f037e01bc3f6"><td class="memItemLeft" align="right" valign="top"><a id="a9984a85a351159926705f037e01bc3f6"></a>
+<a class="el" href="class_a_entry.html">AEntry</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="class_a_entry.html">AEntry</a> &amp;)=default</td></tr>
+<tr class="separator:a9984a85a351159926705f037e01bc3f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a557d4774ac036b8090ac1227c15e2434"><td class="memItemLeft" align="right" valign="top"><a id="a557d4774ac036b8090ac1227c15e2434"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AEntry</b> (<a class="el" href="struct_data_position.html">DataPosition</a> position_)</td></tr>
+<tr class="separator:a557d4774ac036b8090ac1227c15e2434"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae7a2533f99b4d7dfe9e0ce091df47572"><td class="memItemLeft" align="right" valign="top"><a id="ae7a2533f99b4d7dfe9e0ce091df47572"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AEntry</b> (RowData_T table_data)</td></tr>
+<tr class="separator:ae7a2533f99b4d7dfe9e0ce091df47572"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2fed07f6ee63ea4a51cb3512cf44398c"><td class="memItemLeft" align="right" valign="top"><a id="a2fed07f6ee63ea4a51cb3512cf44398c"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AEntry</b> (<a class="el" href="struct_data_position.html">DataPosition</a> position_, RowData_T table_data)</td></tr>
+<tr class="separator:a2fed07f6ee63ea4a51cb3512cf44398c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71173e7faa3019c6f18e8bdf3eb39fe0"><td class="memItemLeft" align="right" valign="top"><a id="a71173e7faa3019c6f18e8bdf3eb39fe0"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>setData</b> (RowData_T table_data)</td></tr>
+<tr class="separator:a71173e7faa3019c6f18e8bdf3eb39fe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad04dccba8fee0af4cc56883e4d67956"><td class="memItemLeft" align="right" valign="top"><a id="aad04dccba8fee0af4cc56883e4d67956"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>setPosition</b> (<a class="el" href="struct_data_position.html">DataPosition</a> position_)</td></tr>
+<tr class="separator:aad04dccba8fee0af4cc56883e4d67956"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae48f6751acfa43d9cef79ce1d8eea4be"><td class="memItemLeft" align="right" valign="top"><a id="ae48f6751acfa43d9cef79ce1d8eea4be"></a>
+const <a class="el" href="struct_data_position.html">DataPosition</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>getPosition</b> ()</td></tr>
+<tr class="separator:ae48f6751acfa43d9cef79ce1d8eea4be"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a317b37d278b23a1bbe31761146afa3ae"><td class="memItemLeft" align="right" valign="top"><a id="a317b37d278b23a1bbe31761146afa3ae"></a>
+const RowData_T &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>getData</b> ()</td></tr>
+<tr class="separator:a317b37d278b23a1bbe31761146afa3ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a35a366f9a495e2d0e27756cb1bca0580"><td class="memItemLeft" align="right" valign="top"><a id="a35a366f9a495e2d0e27756cb1bca0580"></a>
+RowData_T&#160;</td><td class="memItemRight" valign="bottom"><b>tableData</b></td></tr>
+<tr class="separator:a35a366f9a495e2d0e27756cb1bca0580"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:ab7083c4d348581aff4b485f3c2e91171"><td class="memItemLeft" align="right" valign="top"><a id="ab7083c4d348581aff4b485f3c2e91171"></a>
+<a class="el" href="struct_data_position.html">DataPosition</a>&#160;</td><td class="memItemRight" valign="bottom"><b>position</b></td></tr>
+<tr class="separator:ab7083c4d348581aff4b485f3c2e91171"><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 Entry class encapsulates table metadata(table name, row id) and data for new and existing entries in the database to operate on. </p>
+</div><hr/>The documentation for this class was generated from the following files:<ul>
+<li>src/classes/<a class="el" href="aentry_8h_source.html">aentry.h</a></li>
+<li>src/classes/aentry.cpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="class_a_entry.html">AEntry</a></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 15 - 0
docs/html/class_a_entry.js

@@ -0,0 +1,15 @@
+var class_a_entry =
+[
+    [ "AEntry", "class_a_entry.html#a830e864a8cde4a88d489c1bb4f796ab0", null ],
+    [ "AEntry", "class_a_entry.html#a9cfbd701bff476e89b0b38146c208fab", null ],
+    [ "AEntry", "class_a_entry.html#a557d4774ac036b8090ac1227c15e2434", null ],
+    [ "AEntry", "class_a_entry.html#ae7a2533f99b4d7dfe9e0ce091df47572", null ],
+    [ "AEntry", "class_a_entry.html#a2fed07f6ee63ea4a51cb3512cf44398c", null ],
+    [ "getData", "class_a_entry.html#a317b37d278b23a1bbe31761146afa3ae", null ],
+    [ "getPosition", "class_a_entry.html#ae48f6751acfa43d9cef79ce1d8eea4be", null ],
+    [ "operator=", "class_a_entry.html#a9984a85a351159926705f037e01bc3f6", null ],
+    [ "setData", "class_a_entry.html#a71173e7faa3019c6f18e8bdf3eb39fe0", null ],
+    [ "setPosition", "class_a_entry.html#aad04dccba8fee0af4cc56883e4d67956", null ],
+    [ "position", "class_a_entry.html#ab7083c4d348581aff4b485f3c2e91171", null ],
+    [ "tableData", "class_a_entry.html#a35a366f9a495e2d0e27756cb1bca0580", null ]
+];

BIN
docs/html/class_a_entry.png


+ 107 - 0
docs/html/class_a_file_standard_item-members.html

@@ -0,0 +1,107 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_file_standard_item.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">AFileStandardItem Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_a_file_standard_item.html">AFileStandardItem</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AFileStandardItem</b>(const QIcon &amp;icon, const QString &amp;filename, const AStandardPaths::Directories dir) (defined in <a class="el" href="class_a_file_standard_item.html">AFileStandardItem</a>)</td><td class="entry"><a class="el" href="class_a_file_standard_item.html">AFileStandardItem</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AFileStandardItem</b>(const QIcon &amp;icon, const QFileInfo file_info) (defined in <a class="el" href="class_a_file_standard_item.html">AFileStandardItem</a>)</td><td class="entry"><a class="el" href="class_a_file_standard_item.html">AFileStandardItem</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>info</b>() const (defined in <a class="el" href="class_a_file_standard_item.html">AFileStandardItem</a>)</td><td class="entry"><a class="el" href="class_a_file_standard_item.html">AFileStandardItem</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 134 - 0
docs/html/class_a_file_standard_item.html

@@ -0,0 +1,134 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: AFileStandardItem 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_file_standard_item.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="class_a_file_standard_item-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">AFileStandardItem Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Simple QStandardItem subclass to encapsulate necessary file info. Using only a QStandardItem would mean that the full path should be inputted as data and of course displayed by default. However this way we create the absolute path in the fileInfo attribute for further use while displaying only the base name.  
+ <a href="class_a_file_standard_item.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="backupwidget_8h_source.html">backupwidget.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for AFileStandardItem:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="class_a_file_standard_item.png" alt=""/>
+ </div></div>
+<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:a9064fbe575f413eeecf0ebd23edb1896"><td class="memItemLeft" align="right" valign="top"><a id="a9064fbe575f413eeecf0ebd23edb1896"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AFileStandardItem</b> (const QIcon &amp;icon, const QString &amp;filename, const AStandardPaths::Directories dir)</td></tr>
+<tr class="separator:a9064fbe575f413eeecf0ebd23edb1896"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e042e3eb3287808acd79ce667fbb54d"><td class="memItemLeft" align="right" valign="top"><a id="a2e042e3eb3287808acd79ce667fbb54d"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AFileStandardItem</b> (const QIcon &amp;icon, const QFileInfo file_info)</td></tr>
+<tr class="separator:a2e042e3eb3287808acd79ce667fbb54d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3b75645f4b9546ac015c1af0321aa11"><td class="memItemLeft" align="right" valign="top"><a id="af3b75645f4b9546ac015c1af0321aa11"></a>
+const QFileInfo &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>info</b> () const</td></tr>
+<tr class="separator:af3b75645f4b9546ac015c1af0321aa11"><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>Simple QStandardItem subclass to encapsulate necessary file info. Using only a QStandardItem would mean that the full path should be inputted as data and of course displayed by default. However this way we create the absolute path in the fileInfo attribute for further use while displaying only the base name. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/gui/widgets/<a class="el" href="backupwidget_8h_source.html">backupwidget.h</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="class_a_file_standard_item.html">AFileStandardItem</a></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 6 - 0
docs/html/class_a_file_standard_item.js

@@ -0,0 +1,6 @@
+var class_a_file_standard_item =
+[
+    [ "AFileStandardItem", "class_a_file_standard_item.html#a9064fbe575f413eeecf0ebd23edb1896", null ],
+    [ "AFileStandardItem", "class_a_file_standard_item.html#a2e042e3eb3287808acd79ce667fbb54d", null ],
+    [ "info", "class_a_file_standard_item.html#af3b75645f4b9546ac015c1af0321aa11", null ]
+];

BIN
docs/html/class_a_file_standard_item.png


+ 125 - 0
docs/html/class_a_flight_entry-members.html

@@ -0,0 +1,125 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_flight_entry.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">AFlightEntry Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_a_flight_entry.html">AFlightEntry</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AEntry</b>()=delete (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AEntry</b>(const AEntry &amp;)=default (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AEntry</b>(DataPosition position_) (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AEntry</b>(RowData_T table_data) (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AEntry</b>(DataPosition position_, RowData_T table_data) (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AFlightEntry</b>() (defined in <a class="el" href="class_a_flight_entry.html">AFlightEntry</a>)</td><td class="entry"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AFlightEntry</b>(RowId_T row_id) (defined in <a class="el" href="class_a_flight_entry.html">AFlightEntry</a>)</td><td class="entry"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>AFlightEntry</b>(RowData_T table_data) (defined in <a class="el" href="class_a_flight_entry.html">AFlightEntry</a>)</td><td class="entry"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AFlightEntry</b>(const AFlightEntry &amp;pe)=default (defined in <a class="el" href="class_a_flight_entry.html">AFlightEntry</a>)</td><td class="entry"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>getData</b>() (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_flight_entry.html#a24e526b17cedbe7fdf5af3a1ebe58648">getPilotName</a>(pilotPosition)</td><td class="entry"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>getPosition</b>() (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_flight_entry.html#a603aa9ca029e7d3ecbe77d40e02b8b1c">getRegistration</a>()</td><td class="entry"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const AFlightEntry &amp;pe)=default (defined in <a class="el" href="class_a_flight_entry.html">AFlightEntry</a>)</td><td class="entry"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const AEntry &amp;)=default (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pilotPosition</b> enum name (defined in <a class="el" href="class_a_flight_entry.html">AFlightEntry</a>)</td><td class="entry"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>position</b> (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>setData</b>(RowData_T table_data) (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setPosition</b>(DataPosition position_) (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_flight_entry.html#a83b4a71633e5f3cd44e266d44f117412">summary</a>()</td><td class="entry"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>tableData</b> (defined in <a class="el" href="class_a_entry.html">AEntry</a>)</td><td class="entry"><a class="el" href="class_a_entry.html">AEntry</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 240 - 0
docs/html/class_a_flight_entry.html

@@ -0,0 +1,240 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: AFlightEntry 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_flight_entry.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="class_a_flight_entry-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">AFlightEntry Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for AFlightEntry:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="class_a_flight_entry.png" usemap="#AFlightEntry_map" alt=""/>
+  <map id="AFlightEntry_map" name="AFlightEntry_map">
+<area href="class_a_entry.html" title="The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries..." alt="AEntry" shape="rect" coords="0,0,82,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ad5f2dac8ecce6f6c045d957185c890e3"><td class="memItemLeft" align="right" valign="top"><a id="ad5f2dac8ecce6f6c045d957185c890e3"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>pilotPosition</b> { <b>pic</b>, 
+<b>secondPilot</b>, 
+<b>thirdPilot</b>
+ }</td></tr>
+<tr class="separator:ad5f2dac8ecce6f6c045d957185c890e3"><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:ae9a33006e70a0e0231090275975bc484"><td class="memItemLeft" align="right" valign="top"><a id="ae9a33006e70a0e0231090275975bc484"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AFlightEntry</b> (RowId_T row_id)</td></tr>
+<tr class="separator:ae9a33006e70a0e0231090275975bc484"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac0c8d5ed1b1db3e84b697336779dbe2a"><td class="memItemLeft" align="right" valign="top"><a id="ac0c8d5ed1b1db3e84b697336779dbe2a"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AFlightEntry</b> (RowData_T table_data)</td></tr>
+<tr class="separator:ac0c8d5ed1b1db3e84b697336779dbe2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3bb4c3ea5c6f2adb7f3a882848456845"><td class="memItemLeft" align="right" valign="top"><a id="a3bb4c3ea5c6f2adb7f3a882848456845"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AFlightEntry</b> (const <a class="el" href="class_a_flight_entry.html">AFlightEntry</a> &amp;pe)=default</td></tr>
+<tr class="separator:a3bb4c3ea5c6f2adb7f3a882848456845"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a04a3cf000d35681f933c672166aacc86"><td class="memItemLeft" align="right" valign="top"><a id="a04a3cf000d35681f933c672166aacc86"></a>
+<a class="el" href="class_a_flight_entry.html">AFlightEntry</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="class_a_flight_entry.html">AFlightEntry</a> &amp;pe)=default</td></tr>
+<tr class="separator:a04a3cf000d35681f933c672166aacc86"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83b4a71633e5f3cd44e266d44f117412"><td class="memItemLeft" align="right" valign="top">const QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_flight_entry.html#a83b4a71633e5f3cd44e266d44f117412">summary</a> ()</td></tr>
+<tr class="memdesc:a83b4a71633e5f3cd44e266d44f117412"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returs a summary of the flight data, if struct holds data.  <a href="class_a_flight_entry.html#a83b4a71633e5f3cd44e266d44f117412">More...</a><br /></td></tr>
+<tr class="separator:a83b4a71633e5f3cd44e266d44f117412"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a603aa9ca029e7d3ecbe77d40e02b8b1c"><td class="memItemLeft" align="right" valign="top"><a id="a603aa9ca029e7d3ecbe77d40e02b8b1c"></a>
+const QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_flight_entry.html#a603aa9ca029e7d3ecbe77d40e02b8b1c">getRegistration</a> ()</td></tr>
+<tr class="memdesc:a603aa9ca029e7d3ecbe77d40e02b8b1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the tails' registration from the database. <br /></td></tr>
+<tr class="separator:a603aa9ca029e7d3ecbe77d40e02b8b1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24e526b17cedbe7fdf5af3a1ebe58648"><td class="memItemLeft" align="right" valign="top">const QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_flight_entry.html#a24e526b17cedbe7fdf5af3a1ebe58648">getPilotName</a> (pilotPosition)</td></tr>
+<tr class="memdesc:a24e526b17cedbe7fdf5af3a1ebe58648"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the pilots name from the Database.  <a href="class_a_flight_entry.html#a24e526b17cedbe7fdf5af3a1ebe58648">More...</a><br /></td></tr>
+<tr class="separator:a24e526b17cedbe7fdf5af3a1ebe58648"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_class_a_entry"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_a_entry')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_a_entry.html">AEntry</a></td></tr>
+<tr class="memitem:a9cfbd701bff476e89b0b38146c208fab inherit pub_methods_class_a_entry"><td class="memItemLeft" align="right" valign="top"><a id="a9cfbd701bff476e89b0b38146c208fab"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AEntry</b> (const <a class="el" href="class_a_entry.html">AEntry</a> &amp;)=default</td></tr>
+<tr class="separator:a9cfbd701bff476e89b0b38146c208fab inherit pub_methods_class_a_entry"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9984a85a351159926705f037e01bc3f6 inherit pub_methods_class_a_entry"><td class="memItemLeft" align="right" valign="top"><a id="a9984a85a351159926705f037e01bc3f6"></a>
+<a class="el" href="class_a_entry.html">AEntry</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="class_a_entry.html">AEntry</a> &amp;)=default</td></tr>
+<tr class="separator:a9984a85a351159926705f037e01bc3f6 inherit pub_methods_class_a_entry"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a557d4774ac036b8090ac1227c15e2434 inherit pub_methods_class_a_entry"><td class="memItemLeft" align="right" valign="top"><a id="a557d4774ac036b8090ac1227c15e2434"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AEntry</b> (<a class="el" href="struct_data_position.html">DataPosition</a> position_)</td></tr>
+<tr class="separator:a557d4774ac036b8090ac1227c15e2434 inherit pub_methods_class_a_entry"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae7a2533f99b4d7dfe9e0ce091df47572 inherit pub_methods_class_a_entry"><td class="memItemLeft" align="right" valign="top"><a id="ae7a2533f99b4d7dfe9e0ce091df47572"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AEntry</b> (RowData_T table_data)</td></tr>
+<tr class="separator:ae7a2533f99b4d7dfe9e0ce091df47572 inherit pub_methods_class_a_entry"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2fed07f6ee63ea4a51cb3512cf44398c inherit pub_methods_class_a_entry"><td class="memItemLeft" align="right" valign="top"><a id="a2fed07f6ee63ea4a51cb3512cf44398c"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AEntry</b> (<a class="el" href="struct_data_position.html">DataPosition</a> position_, RowData_T table_data)</td></tr>
+<tr class="separator:a2fed07f6ee63ea4a51cb3512cf44398c inherit pub_methods_class_a_entry"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71173e7faa3019c6f18e8bdf3eb39fe0 inherit pub_methods_class_a_entry"><td class="memItemLeft" align="right" valign="top"><a id="a71173e7faa3019c6f18e8bdf3eb39fe0"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>setData</b> (RowData_T table_data)</td></tr>
+<tr class="separator:a71173e7faa3019c6f18e8bdf3eb39fe0 inherit pub_methods_class_a_entry"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad04dccba8fee0af4cc56883e4d67956 inherit pub_methods_class_a_entry"><td class="memItemLeft" align="right" valign="top"><a id="aad04dccba8fee0af4cc56883e4d67956"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>setPosition</b> (<a class="el" href="struct_data_position.html">DataPosition</a> position_)</td></tr>
+<tr class="separator:aad04dccba8fee0af4cc56883e4d67956 inherit pub_methods_class_a_entry"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae48f6751acfa43d9cef79ce1d8eea4be inherit pub_methods_class_a_entry"><td class="memItemLeft" align="right" valign="top"><a id="ae48f6751acfa43d9cef79ce1d8eea4be"></a>
+const <a class="el" href="struct_data_position.html">DataPosition</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>getPosition</b> ()</td></tr>
+<tr class="separator:ae48f6751acfa43d9cef79ce1d8eea4be inherit pub_methods_class_a_entry"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a317b37d278b23a1bbe31761146afa3ae inherit pub_methods_class_a_entry"><td class="memItemLeft" align="right" valign="top"><a id="a317b37d278b23a1bbe31761146afa3ae"></a>
+const RowData_T &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>getData</b> ()</td></tr>
+<tr class="separator:a317b37d278b23a1bbe31761146afa3ae inherit pub_methods_class_a_entry"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_attribs_class_a_entry"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_class_a_entry')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="class_a_entry.html">AEntry</a></td></tr>
+<tr class="memitem:a35a366f9a495e2d0e27756cb1bca0580 inherit pub_attribs_class_a_entry"><td class="memItemLeft" align="right" valign="top"><a id="a35a366f9a495e2d0e27756cb1bca0580"></a>
+RowData_T&#160;</td><td class="memItemRight" valign="bottom"><b>tableData</b></td></tr>
+<tr class="separator:a35a366f9a495e2d0e27756cb1bca0580 inherit pub_attribs_class_a_entry"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_class_a_entry"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_a_entry')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_a_entry.html">AEntry</a></td></tr>
+<tr class="memitem:ab7083c4d348581aff4b485f3c2e91171 inherit pro_attribs_class_a_entry"><td class="memItemLeft" align="right" valign="top"><a id="ab7083c4d348581aff4b485f3c2e91171"></a>
+<a class="el" href="struct_data_position.html">DataPosition</a>&#160;</td><td class="memItemRight" valign="bottom"><b>position</b></td></tr>
+<tr class="separator:ab7083c4d348581aff4b485f3c2e91171 inherit pro_attribs_class_a_entry"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a24e526b17cedbe7fdf5af3a1ebe58648"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a24e526b17cedbe7fdf5af3a1ebe58648">&#9670;&nbsp;</a></span>getPilotName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const QString AFlightEntry::getPilotName </td>
+          <td>(</td>
+          <td class="paramtype">pilotPosition&#160;</td>
+          <td class="paramname"><em>pilot_</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns the pilots name from the Database. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">pilot_number</td><td>- 1=pic, 2=second Pilot, 3 = third Pilot </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>"Lastname, Firstname" </dd></dl>
+
+</div>
+</div>
+<a id="a83b4a71633e5f3cd44e266d44f117412"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a83b4a71633e5f3cd44e266d44f117412">&#9670;&nbsp;</a></span>summary()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const QString AFlightEntry::summary </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returs a summary of the flight data, if struct holds data. </p>
+<dl class="section return"><dt>Returns</dt><dd>"doft, dept, tofb, dest, tonb" </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>src/classes/<a class="el" href="aflightentry_8h_source.html">aflightentry.h</a></li>
+<li>src/classes/aflightentry.cpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 16 - 0
docs/html/class_a_flight_entry.js

@@ -0,0 +1,16 @@
+var class_a_flight_entry =
+[
+    [ "pilotPosition", "class_a_flight_entry.html#ad5f2dac8ecce6f6c045d957185c890e3", [
+      [ "pic", "class_a_flight_entry.html#ad5f2dac8ecce6f6c045d957185c890e3aed09636a6ea24a292460866afdd7a89a", null ],
+      [ "secondPilot", "class_a_flight_entry.html#ad5f2dac8ecce6f6c045d957185c890e3a1781ae69e70371bd61558d6061f2066b", null ],
+      [ "thirdPilot", "class_a_flight_entry.html#ad5f2dac8ecce6f6c045d957185c890e3a34d38c9271918e6c7fc914e9175f0fb4", null ]
+    ] ],
+    [ "AFlightEntry", "class_a_flight_entry.html#a31f353ba65e9dfa1375c854078d61121", null ],
+    [ "AFlightEntry", "class_a_flight_entry.html#ae9a33006e70a0e0231090275975bc484", null ],
+    [ "AFlightEntry", "class_a_flight_entry.html#ac0c8d5ed1b1db3e84b697336779dbe2a", null ],
+    [ "AFlightEntry", "class_a_flight_entry.html#a3bb4c3ea5c6f2adb7f3a882848456845", null ],
+    [ "getPilotName", "class_a_flight_entry.html#a24e526b17cedbe7fdf5af3a1ebe58648", null ],
+    [ "getRegistration", "class_a_flight_entry.html#a603aa9ca029e7d3ecbe77d40e02b8b1c", null ],
+    [ "operator=", "class_a_flight_entry.html#a04a3cf000d35681f933c672166aacc86", null ],
+    [ "summary", "class_a_flight_entry.html#a83b4a71633e5f3cd44e266d44f117412", null ]
+];

BIN
docs/html/class_a_flight_entry.png


+ 6 - 3
docs/html/class_a_run_guard-members.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -99,7 +100,9 @@ $(document).ready(function(){initNavTree('class_a_run_guard.html',''); initResiz
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 6 - 3
docs/html/class_a_run_guard.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: ARunGuard Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -122,7 +123,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>release</b> ()</td></
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_a_run_guard.html">ARunGuard</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 24 - 5
docs/html/class_a_settings-members.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -89,14 +90,32 @@ $(document).ready(function(){initNavTree('class_a_settings.html',''); initResiza
 
 <p>This is the complete list of members for <a class="el" href="class_a_settings.html">ASettings</a>, including all inherited members.</p>
 <table class="directory">
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read</b>(const QString &amp;key) (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>write</b>(const QString &amp;key, const QVariant &amp;val) (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>FlightLogging</b> enum name (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_settings.html#a6fc09922de0182271c6c1ff001792da1">groupOfKey</a>(const Main key)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>groupOfKey</b>(const FlightLogging key) (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>groupOfKey</b>(const UserData key) (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Main</b> enum name (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>read</b>(const Main key) (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read</b>(const FlightLogging key) (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>read</b>(const UserData key) (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_settings.html#a2dbc2e3510363c09e45223f4bbdc5e59">resetToDefaults</a>()</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>settings</b>() (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_a_settings.html#a383ea9d59ea8878ca873465eb19bbe85">setup</a>()</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_settings.html#af88194014c7599e8c9fe488c5b1ebf99">stringOfKey</a>(const Main key)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>stringOfKey</b>(const FlightLogging key) (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>stringOfKey</b>(const UserData key) (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UserData</b> enum name (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>write</b>(const Main key, const QVariant &amp;val) (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write</b>(const UserData key, const QVariant &amp;val) (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>write</b>(const FlightLogging key, const QVariant &amp;val) (defined in <a class="el" href="class_a_settings.html">ASettings</a>)</td><td class="entry"><a class="el" href="class_a_settings.html">ASettings</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
 </table></div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 114 - 11
docs/html/class_a_settings.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: ASettings Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -83,6 +84,7 @@ $(document).ready(function(){initNavTree('class_a_settings.html',''); initResiza
 
 <div class="header">
   <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
 <a href="#pub-static-methods">Static Public Member Functions</a> &#124;
 <a href="class_a_settings-members.html">List of all members</a>  </div>
   <div class="headertitle">
@@ -90,22 +92,121 @@ $(document).ready(function(){initNavTree('class_a_settings.html',''); initResiza
 </div><!--header-->
 <div class="contents">
 
-<p>The Settings class is a thin wrapper for the QSettings class, simplifying reading and writing of settings.  
+<p>Thin wrapper for the QSettings class, simplifying reading and writing of settings.  
  <a href="class_a_settings.html#details">More...</a></p>
 
 <p><code>#include &lt;<a class="el" href="asettings_8h_source.html">asettings.h</a>&gt;</code></p>
 <table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aba5614e128b0474ef4830842e5054c5c"><td class="memItemLeft" align="right" valign="top"><a id="aba5614e128b0474ef4830842e5054c5c"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Main</b> { <br />
+&#160;&#160;<b>SetupComplete</b>, 
+<b>Style</b>, 
+<b>Font</b>, 
+<b>FontSize</b>, 
+<br />
+&#160;&#160;<b>UseSystemFont</b>, 
+<b>LogbookView</b>, 
+<b>DateFormat</b>
+<br />
+ }</td></tr>
+<tr class="separator:aba5614e128b0474ef4830842e5054c5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5929c2e477b65d82afd89afa7c8af48"><td class="memItemLeft" align="right" valign="top"><a id="ad5929c2e477b65d82afd89afa7c8af48"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>UserData</b> { <br />
+&#160;&#160;<b>DisplaySelfAs</b>, 
+<b>TailSortColumn</b>, 
+<b>PilotSortColumn</b>, 
+<b>AcftAllowIncomplete</b>, 
+<br />
+&#160;&#160;<b>FtlWarningThreshold</b>, 
+<b>CurrWarningEnabled</b>, 
+<b>CurrWarningThreshold</b>, 
+<b>ShowToLgdCurrency</b>, 
+<br />
+&#160;&#160;<b>ShowLicCurrency</b>, 
+<b>ShowTrCurrency</b>, 
+<b>ShowLckCurrency</b>, 
+<b>ShowMedCurrency</b>, 
+<br />
+&#160;&#160;<b>ShowCustom1Currency</b>, 
+<b>ShowCustom2Currency</b>, 
+<b>Custom1CurrencyName</b>, 
+<b>Custom2CurrencyName</b>
+<br />
+ }</td></tr>
+<tr class="separator:ad5929c2e477b65d82afd89afa7c8af48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14b8b4d54cec3c1474f7a4402223a59a"><td class="memItemLeft" align="right" valign="top"><a id="a14b8b4d54cec3c1474f7a4402223a59a"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>FlightLogging</b> { <br />
+&#160;&#160;<b>Function</b>, 
+<b>Approach</b>, 
+<b>NightLoggingEnabled</b>, 
+<b>LogIFR</b>, 
+<br />
+&#160;&#160;<b>FlightNumberPrefix</b>, 
+<b>NumberTakeoffs</b>, 
+<b>NumberLandings</b>, 
+<b>PilotFlying</b>, 
+<br />
+&#160;&#160;<b>NightAngle</b>, 
+<b>Rules</b>, 
+<b>FlightTimeFormat</b>, 
+<b>FunctionComboBox</b>
+<br />
+ }</td></tr>
+<tr class="separator:a14b8b4d54cec3c1474f7a4402223a59a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
 Static Public Member Functions</h2></td></tr>
-<tr class="memitem:aa3c779da0d262c665a56151c023d0196"><td class="memItemLeft" align="right" valign="top"><a id="aa3c779da0d262c665a56151c023d0196"></a>
-static QVariant&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (const QString &amp;key)</td></tr>
-<tr class="separator:aa3c779da0d262c665a56151c023d0196"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad1d672931817f011b01b3a5cd6ff681d"><td class="memItemLeft" align="right" valign="top"><a id="ad1d672931817f011b01b3a5cd6ff681d"></a>
-static void&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (const QString &amp;key, const QVariant &amp;val)</td></tr>
-<tr class="separator:ad1d672931817f011b01b3a5cd6ff681d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a383ea9d59ea8878ca873465eb19bbe85"><td class="memItemLeft" align="right" valign="top"><a id="a383ea9d59ea8878ca873465eb19bbe85"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_settings.html#a383ea9d59ea8878ca873465eb19bbe85">setup</a> ()</td></tr>
+<tr class="memdesc:a383ea9d59ea8878ca873465eb19bbe85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Should be called after QCoreApplication::set...Name have been called. <br /></td></tr>
+<tr class="separator:a383ea9d59ea8878ca873465eb19bbe85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2dbc2e3510363c09e45223f4bbdc5e59"><td class="memItemLeft" align="right" valign="top"><a id="a2dbc2e3510363c09e45223f4bbdc5e59"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_settings.html#a2dbc2e3510363c09e45223f4bbdc5e59">resetToDefaults</a> ()</td></tr>
+<tr class="memdesc:a2dbc2e3510363c09e45223f4bbdc5e59"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_a_settings.html#a2dbc2e3510363c09e45223f4bbdc5e59" title="ASettings::resetToDefaults (Re-)sets all settings to the default value.">ASettings::resetToDefaults</a> (Re-)sets all settings to the default value. <br /></td></tr>
+<tr class="separator:a2dbc2e3510363c09e45223f4bbdc5e59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5cfc5a86610f8cf8567189adbfa0128"><td class="memItemLeft" align="right" valign="top"><a id="ab5cfc5a86610f8cf8567189adbfa0128"></a>
+static QVariant&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (const Main key)</td></tr>
+<tr class="separator:ab5cfc5a86610f8cf8567189adbfa0128"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef4b7accf9d89792ce44ee6d80bac158"><td class="memItemLeft" align="right" valign="top"><a id="aef4b7accf9d89792ce44ee6d80bac158"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (const Main key, const QVariant &amp;val)</td></tr>
+<tr class="separator:aef4b7accf9d89792ce44ee6d80bac158"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afea41d25282ca14260b73ffc10680aee"><td class="memItemLeft" align="right" valign="top"><a id="afea41d25282ca14260b73ffc10680aee"></a>
+static QVariant&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (const FlightLogging key)</td></tr>
+<tr class="separator:afea41d25282ca14260b73ffc10680aee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1066e997c99110d47d1575e8a80a972c"><td class="memItemLeft" align="right" valign="top"><a id="a1066e997c99110d47d1575e8a80a972c"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (const UserData key, const QVariant &amp;val)</td></tr>
+<tr class="separator:a1066e997c99110d47d1575e8a80a972c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad39dee6fce95bc95dae6780ef4ace0c3"><td class="memItemLeft" align="right" valign="top"><a id="ad39dee6fce95bc95dae6780ef4ace0c3"></a>
+static QVariant&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (const UserData key)</td></tr>
+<tr class="separator:ad39dee6fce95bc95dae6780ef4ace0c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae6af53e2e9d86457eb7b6cf511519f8c"><td class="memItemLeft" align="right" valign="top"><a id="ae6af53e2e9d86457eb7b6cf511519f8c"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (const FlightLogging key, const QVariant &amp;val)</td></tr>
+<tr class="separator:ae6af53e2e9d86457eb7b6cf511519f8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fc09922de0182271c6c1ff001792da1"><td class="memItemLeft" align="right" valign="top"><a id="a6fc09922de0182271c6c1ff001792da1"></a>
+static QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_settings.html#a6fc09922de0182271c6c1ff001792da1">groupOfKey</a> (const Main key)</td></tr>
+<tr class="memdesc:a6fc09922de0182271c6c1ff001792da1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return string representation of group of key: "ini_header/key". <br /></td></tr>
+<tr class="separator:a6fc09922de0182271c6c1ff001792da1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0ebfd1eaa72d79d607f1b4f07ec3881"><td class="memItemLeft" align="right" valign="top"><a id="aa0ebfd1eaa72d79d607f1b4f07ec3881"></a>
+static QString&#160;</td><td class="memItemRight" valign="bottom"><b>groupOfKey</b> (const FlightLogging key)</td></tr>
+<tr class="separator:aa0ebfd1eaa72d79d607f1b4f07ec3881"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94f25ca42be1f5ad302ac4093724114b"><td class="memItemLeft" align="right" valign="top"><a id="a94f25ca42be1f5ad302ac4093724114b"></a>
+static QString&#160;</td><td class="memItemRight" valign="bottom"><b>groupOfKey</b> (const UserData key)</td></tr>
+<tr class="separator:a94f25ca42be1f5ad302ac4093724114b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af88194014c7599e8c9fe488c5b1ebf99"><td class="memItemLeft" align="right" valign="top"><a id="af88194014c7599e8c9fe488c5b1ebf99"></a>
+static QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_settings.html#af88194014c7599e8c9fe488c5b1ebf99">stringOfKey</a> (const Main key)</td></tr>
+<tr class="memdesc:af88194014c7599e8c9fe488c5b1ebf99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return string representation of key. <br /></td></tr>
+<tr class="separator:af88194014c7599e8c9fe488c5b1ebf99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3df6522cd6b0151792ba73dd00dd2f65"><td class="memItemLeft" align="right" valign="top"><a id="a3df6522cd6b0151792ba73dd00dd2f65"></a>
+static QString&#160;</td><td class="memItemRight" valign="bottom"><b>stringOfKey</b> (const FlightLogging key)</td></tr>
+<tr class="separator:a3df6522cd6b0151792ba73dd00dd2f65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af23a3c23274e3105572f9b66532daf77"><td class="memItemLeft" align="right" valign="top"><a id="af23a3c23274e3105572f9b66532daf77"></a>
+static QString&#160;</td><td class="memItemRight" valign="bottom"><b>stringOfKey</b> (const UserData key)</td></tr>
+<tr class="separator:af23a3c23274e3105572f9b66532daf77"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab1c6651ff2fd050d7759557f9cfe0054"><td class="memItemLeft" align="right" valign="top"><a id="ab1c6651ff2fd050d7759557f9cfe0054"></a>
+static QSettings&#160;</td><td class="memItemRight" valign="bottom"><b>settings</b> ()</td></tr>
+<tr class="separator:ab1c6651ff2fd050d7759557f9cfe0054"><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 Settings class is a thin wrapper for the QSettings class, simplifying reading and writing of settings. </p>
+<div class="textblock"><p>Thin wrapper for the QSettings class, simplifying reading and writing of settings. </p>
 </div><hr/>The documentation for this class was generated from the following files:<ul>
 <li>src/classes/<a class="el" href="asettings_8h_source.html">asettings.h</a></li>
 <li>src/classes/asettings.cpp</li>
@@ -116,7 +217,9 @@ static void&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (con
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_a_settings.html">ASettings</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 44 - 0
docs/html/class_a_settings.js

@@ -0,0 +1,44 @@
+var class_a_settings =
+[
+    [ "FlightLogging", "class_a_settings.html#a14b8b4d54cec3c1474f7a4402223a59a", [
+      [ "Function", "class_a_settings.html#a14b8b4d54cec3c1474f7a4402223a59aa86408593c34af77fdd90df932f8b5261", null ],
+      [ "Approach", "class_a_settings.html#a14b8b4d54cec3c1474f7a4402223a59aa40a68b5da4b9b224764558bb02ecd028", null ],
+      [ "NightLoggingEnabled", "class_a_settings.html#a14b8b4d54cec3c1474f7a4402223a59aa7bea0d4834668bee4677e83aa843caae", null ],
+      [ "LogIFR", "class_a_settings.html#a14b8b4d54cec3c1474f7a4402223a59aabd796a26bc69f9f4a9b63784a6214872", null ],
+      [ "FlightNumberPrefix", "class_a_settings.html#a14b8b4d54cec3c1474f7a4402223a59aac8420fd63340c2098adc389092ffe66d", null ],
+      [ "NumberTakeoffs", "class_a_settings.html#a14b8b4d54cec3c1474f7a4402223a59aabbff13aa9db52d6bbca5cd556aea1e35", null ],
+      [ "NumberLandings", "class_a_settings.html#a14b8b4d54cec3c1474f7a4402223a59aa24927525727717c0bf5738f79bbcccf3", null ],
+      [ "PilotFlying", "class_a_settings.html#a14b8b4d54cec3c1474f7a4402223a59aae1546c76296d4f9f7c8a98dd909ed399", null ],
+      [ "NightAngle", "class_a_settings.html#a14b8b4d54cec3c1474f7a4402223a59aad841dbf1846b8323fac804ddc11bbc10", null ],
+      [ "Rules", "class_a_settings.html#a14b8b4d54cec3c1474f7a4402223a59aa1f4da964f8eab62e96e8cfe406e44364", null ],
+      [ "FlightTimeFormat", "class_a_settings.html#a14b8b4d54cec3c1474f7a4402223a59aaec382f97ca538721fe75b6b25bb9e1d2", null ],
+      [ "FunctionComboBox", "class_a_settings.html#a14b8b4d54cec3c1474f7a4402223a59aa8d641f4bcc4ff423997041b5b64c50a2", null ]
+    ] ],
+    [ "Main", "class_a_settings.html#aba5614e128b0474ef4830842e5054c5c", [
+      [ "SetupComplete", "class_a_settings.html#aba5614e128b0474ef4830842e5054c5ca465f4940754b9cb1b62232d75053aa80", null ],
+      [ "Style", "class_a_settings.html#aba5614e128b0474ef4830842e5054c5caae284f900f9d6e21ba69144cfc91e41b", null ],
+      [ "Font", "class_a_settings.html#aba5614e128b0474ef4830842e5054c5ca194f5394ae2e9c74dc3c441b92862d1d", null ],
+      [ "FontSize", "class_a_settings.html#aba5614e128b0474ef4830842e5054c5ca24b0296570b11c955538116c4024db2d", null ],
+      [ "UseSystemFont", "class_a_settings.html#aba5614e128b0474ef4830842e5054c5ca3576b0826190e22684818dbab58d65cc", null ],
+      [ "LogbookView", "class_a_settings.html#aba5614e128b0474ef4830842e5054c5ca803021404be32f49d2b8476386f80627", null ],
+      [ "DateFormat", "class_a_settings.html#aba5614e128b0474ef4830842e5054c5ca0f7a619280b317a2785a510e89fe075c", null ]
+    ] ],
+    [ "UserData", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48", [
+      [ "DisplaySelfAs", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48acdfab00be76e8e38f6a73b5c2e894c6d", null ],
+      [ "TailSortColumn", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48aaf504a921bd6cad3add5e2da5655aaf4", null ],
+      [ "PilotSortColumn", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48ac188e1b64598779ccd496fc6a5b620b5", null ],
+      [ "AcftAllowIncomplete", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48ab5d20cbcdb866885f8bd78e2da9c4b57", null ],
+      [ "FtlWarningThreshold", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48a883d0827b94a2cb6812a8cb2f6bc6cda", null ],
+      [ "CurrWarningEnabled", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48a90c757063e8673c23672ee56dda49722", null ],
+      [ "CurrWarningThreshold", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48a1b60d9b99c6105e90ce58c416c9677ae", null ],
+      [ "ShowToLgdCurrency", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48ab51d51de79eb573914075813b9562d2a", null ],
+      [ "ShowLicCurrency", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48abb117d8d2652912e2bd198d9ea538a9c", null ],
+      [ "ShowTrCurrency", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48a8c219f80b6e4de8e2bdb9bb2ecd0ea96", null ],
+      [ "ShowLckCurrency", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48a21cf76cf101d458b6e31ffd418f01657", null ],
+      [ "ShowMedCurrency", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48aceb49828984368f172c6c4b861ae3138", null ],
+      [ "ShowCustom1Currency", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48a02758fa6594de6a081c18c0b4387786a", null ],
+      [ "ShowCustom2Currency", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48ad342fb652a7a87b3f1f0164f9066fc86", null ],
+      [ "Custom1CurrencyName", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48a128ec297c8b8c73d71d08097a3996034", null ],
+      [ "Custom2CurrencyName", "class_a_settings.html#ad5929c2e477b65d82afd89afa7c8af48ace6f4c9c8dbdbbd787e69b16139c3b07", null ]
+    ] ]
+];

+ 113 - 0
docs/html/class_a_standard_paths-members.html

@@ -0,0 +1,113 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_standard_paths.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">AStandardPaths Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_a_standard_paths.html">AStandardPaths</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="class_a_standard_paths.html#a775a7f2d7d99e8b7d29cc91c33c08ba8">allDirectories</a>()</td><td class="entry"><a class="el" href="class_a_standard_paths.html">AStandardPaths</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_standard_paths.html#a43937baa78a53e1427e23f533024221b">asChildOfDir</a>(Directories location, const QString &amp;filename)</td><td class="entry"><a class="el" href="class_a_standard_paths.html">AStandardPaths</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Backup</b> enum value (defined in <a class="el" href="class_a_standard_paths.html">AStandardPaths</a>)</td><td class="entry"><a class="el" href="class_a_standard_paths.html">AStandardPaths</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>Database</b> enum value (defined in <a class="el" href="class_a_standard_paths.html">AStandardPaths</a>)</td><td class="entry"><a class="el" href="class_a_standard_paths.html">AStandardPaths</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Directories</b> enum name (defined in <a class="el" href="class_a_standard_paths.html">AStandardPaths</a>)</td><td class="entry"><a class="el" href="class_a_standard_paths.html">AStandardPaths</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_standard_paths.html#a0df7e02331fdf09a81951657d52e0ebe">directory</a>(Directories location)</td><td class="entry"><a class="el" href="class_a_standard_paths.html">AStandardPaths</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Log</b> enum value (defined in <a class="el" href="class_a_standard_paths.html">AStandardPaths</a>)</td><td class="entry"><a class="el" href="class_a_standard_paths.html">AStandardPaths</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_standard_paths.html#a233dfe0411b294e64da674ff9c898c62">setup</a>()</td><td class="entry"><a class="el" href="class_a_standard_paths.html">AStandardPaths</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Templates</b> enum value (defined in <a class="el" href="class_a_standard_paths.html">AStandardPaths</a>)</td><td class="entry"><a class="el" href="class_a_standard_paths.html">AStandardPaths</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 174 - 0
docs/html/class_a_standard_paths.html

@@ -0,0 +1,174 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: AStandardPaths 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_standard_paths.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="class_a_standard_paths-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">AStandardPaths Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The AStandardAppPaths class encapsulates a static QMap holding the standard paths of the application.  
+ <a href="class_a_standard_paths.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="astandardpaths_8h_source.html">astandardpaths.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ae24b6142fdf46d370f94c03582e37e0e"><td class="memItemLeft" align="right" valign="top"><a id="ae24b6142fdf46d370f94c03582e37e0e"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Directories</b> { <b>Database</b>, 
+<b>Templates</b>, 
+<b>Backup</b>, 
+<b>Log</b>
+ }</td></tr>
+<tr class="separator:ae24b6142fdf46d370f94c03582e37e0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a233dfe0411b294e64da674ff9c898c62"><td class="memItemLeft" align="right" valign="top"><a id="a233dfe0411b294e64da674ff9c898c62"></a>
+static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_standard_paths.html#a233dfe0411b294e64da674ff9c898c62">setup</a> ()</td></tr>
+<tr class="memdesc:a233dfe0411b294e64da674ff9c898c62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates and verifies a static map of the standard paths used in the app. <br /></td></tr>
+<tr class="separator:a233dfe0411b294e64da674ff9c898c62"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0df7e02331fdf09a81951657d52e0ebe"><td class="memItemLeft" align="right" valign="top"><a id="a0df7e02331fdf09a81951657d52e0ebe"></a>
+static const QDir &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_standard_paths.html#a0df7e02331fdf09a81951657d52e0ebe">directory</a> (Directories location)</td></tr>
+<tr class="memdesc:a0df7e02331fdf09a81951657d52e0ebe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the QDir for the standard directory referenced by the Directories enum 'loc'. <br /></td></tr>
+<tr class="separator:a0df7e02331fdf09a81951657d52e0ebe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43937baa78a53e1427e23f533024221b"><td class="memItemLeft" align="right" valign="top"><a id="a43937baa78a53e1427e23f533024221b"></a>
+static const QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_standard_paths.html#a43937baa78a53e1427e23f533024221b">asChildOfDir</a> (Directories location, const QString &amp;filename)</td></tr>
+<tr class="memdesc:a43937baa78a53e1427e23f533024221b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string of the absolute path to directory location concatenated with filename. <br /></td></tr>
+<tr class="separator:a43937baa78a53e1427e23f533024221b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a775a7f2d7d99e8b7d29cc91c33c08ba8"><td class="memItemLeft" align="right" valign="top">static const QMap&lt; Directories, QDir &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_standard_paths.html#a775a7f2d7d99e8b7d29cc91c33c08ba8">allDirectories</a> ()</td></tr>
+<tr class="memdesc:a775a7f2d7d99e8b7d29cc91c33c08ba8"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the static map of all standard directories  <a href="class_a_standard_paths.html#a775a7f2d7d99e8b7d29cc91c33c08ba8">More...</a><br /></td></tr>
+<tr class="separator:a775a7f2d7d99e8b7d29cc91c33c08ba8"><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 AStandardAppPaths class encapsulates a static QMap holding the standard paths of the application. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a775a7f2d7d99e8b7d29cc91c33c08ba8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a775a7f2d7d99e8b7d29cc91c33c08ba8">&#9670;&nbsp;</a></span>allDirectories()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const QMap&lt; AStandardPaths::Directories, QDir &gt; &amp; AStandardPaths::allDirectories </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>returns the static map of all standard directories </p>
+<dl class="section return"><dt>Returns</dt><dd>static const QMap&lt;Directories, QDir&gt; </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>src/classes/<a class="el" href="astandardpaths_8h_source.html">astandardpaths.h</a></li>
+<li>src/classes/astandardpaths.cpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="class_a_standard_paths.html">AStandardPaths</a></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 9 - 0
docs/html/class_a_standard_paths.js

@@ -0,0 +1,9 @@
+var class_a_standard_paths =
+[
+    [ "Directories", "class_a_standard_paths.html#ae24b6142fdf46d370f94c03582e37e0e", [
+      [ "Database", "class_a_standard_paths.html#ae24b6142fdf46d370f94c03582e37e0ea25e467067a144946ff69bcb87f834749", null ],
+      [ "Templates", "class_a_standard_paths.html#ae24b6142fdf46d370f94c03582e37e0ea9091751717a5fc249e67b6c90ed8ecc7", null ],
+      [ "Backup", "class_a_standard_paths.html#ae24b6142fdf46d370f94c03582e37e0ea2352e37161f79f1d41d51a9e9d758709", null ],
+      [ "Log", "class_a_standard_paths.html#ae24b6142fdf46d370f94c03582e37e0eab1a05a6d3c66ca7624903a474eb06782", null ]
+    ] ]
+];

+ 113 - 0
docs/html/class_a_style-members.html

@@ -0,0 +1,113 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_style.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">AStyle Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_a_style.html">AStyle</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>darkPalette</b>() (defined in <a class="el" href="class_a_style.html">AStyle</a>)</td><td class="entry"><a class="el" href="class_a_style.html">AStyle</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>defaultStyle</b> (defined in <a class="el" href="class_a_style.html">AStyle</a>)</td><td class="entry"><a class="el" href="class_a_style.html">AStyle</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setStyle</b>(const QString &amp;style_key) (defined in <a class="el" href="class_a_style.html">AStyle</a>)</td><td class="entry"><a class="el" href="class_a_style.html">AStyle</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>setStyle</b>(const StyleSheet &amp;style_sheet) (defined in <a class="el" href="class_a_style.html">AStyle</a>)</td><td class="entry"><a class="el" href="class_a_style.html">AStyle</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setStyle</b>(const QPalette &amp;palette) (defined in <a class="el" href="class_a_style.html">AStyle</a>)</td><td class="entry"><a class="el" href="class_a_style.html">AStyle</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_a_style.html#ad061bf79f3e22640e78f8bb65ef0867c">setup</a>()</td><td class="entry"><a class="el" href="class_a_style.html">AStyle</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>style</b>() (defined in <a class="el" href="class_a_style.html">AStyle</a>)</td><td class="entry"><a class="el" href="class_a_style.html">AStyle</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>styles</b> (defined in <a class="el" href="class_a_style.html">AStyle</a>)</td><td class="entry"><a class="el" href="class_a_style.html">AStyle</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>styleSheets</b> (defined in <a class="el" href="class_a_style.html">AStyle</a>)</td><td class="entry"><a class="el" href="class_a_style.html">AStyle</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 179 - 0
docs/html/class_a_style.html

@@ -0,0 +1,179 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: AStyle 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_a_style.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
+<a href="class_a_style-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">AStyle Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The <a class="el" href="class_a_style.html" title="The AStyle class encapsulates style and stylesheet logic.">AStyle</a> class encapsulates style and stylesheet logic.  
+ <a href="class_a_style.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="astyle_8h_source.html">astyle.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:ad061bf79f3e22640e78f8bb65ef0867c"><td class="memItemLeft" align="right" valign="top"><a id="ad061bf79f3e22640e78f8bb65ef0867c"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_style.html#ad061bf79f3e22640e78f8bb65ef0867c">setup</a> ()</td></tr>
+<tr class="memdesc:ad061bf79f3e22640e78f8bb65ef0867c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup Application style by reading from openPilotLog.ini. <br /></td></tr>
+<tr class="separator:ad061bf79f3e22640e78f8bb65ef0867c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac85c3fee61119c97b7758008b39f7809"><td class="memItemLeft" align="right" valign="top"><a id="ac85c3fee61119c97b7758008b39f7809"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>setStyle</b> (const QString &amp;style_key)</td></tr>
+<tr class="separator:ac85c3fee61119c97b7758008b39f7809"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a53f35b788936c83b5a176fdcf724a8ad"><td class="memItemLeft" align="right" valign="top"><a id="a53f35b788936c83b5a176fdcf724a8ad"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>setStyle</b> (const <a class="el" href="struct_style_sheet.html">StyleSheet</a> &amp;style_sheet)</td></tr>
+<tr class="separator:a53f35b788936c83b5a176fdcf724a8ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4bf787daa36e8fdcf3bf5b18b2b552a6"><td class="memItemLeft" align="right" valign="top"><a id="a4bf787daa36e8fdcf3bf5b18b2b552a6"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>setStyle</b> (const QPalette &amp;palette)</td></tr>
+<tr class="separator:a4bf787daa36e8fdcf3bf5b18b2b552a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9022801d4c3ecd17adcd7e7dd72ee0b"><td class="memItemLeft" align="right" valign="top"><a id="aa9022801d4c3ecd17adcd7e7dd72ee0b"></a>
+static QPalette&#160;</td><td class="memItemRight" valign="bottom"><b>darkPalette</b> ()</td></tr>
+<tr class="separator:aa9022801d4c3ecd17adcd7e7dd72ee0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade8977d8e80fc995ab593a11d17d640a"><td class="memItemLeft" align="right" valign="top"><a id="ade8977d8e80fc995ab593a11d17d640a"></a>
+static const QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>style</b> ()</td></tr>
+<tr class="separator:ade8977d8e80fc995ab593a11d17d640a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:ad6464483b8194a8a523d76162a9fe98a"><td class="memItemLeft" align="right" valign="top"><a id="ad6464483b8194a8a523d76162a9fe98a"></a>
+static const QStringList&#160;</td><td class="memItemRight" valign="bottom"><b>styles</b> = QStyleFactory::keys()</td></tr>
+<tr class="separator:ad6464483b8194a8a523d76162a9fe98a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8f20049f5ffbc3428c22e141077169d"><td class="memItemLeft" align="right" valign="top"><a id="ad8f20049f5ffbc3428c22e141077169d"></a>
+static const QString&#160;</td><td class="memItemRight" valign="bottom"><b>defaultStyle</b> = QLatin1String(&quot;Fusion&quot;)</td></tr>
+<tr class="separator:ad8f20049f5ffbc3428c22e141077169d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9493581f231f4e99027bbc5d1faaca1e"><td class="memItemLeft" align="right" valign="top">static const QList&lt; <a class="el" href="struct_style_sheet.html">StyleSheet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>styleSheets</b></td></tr>
+<tr class="separator:a9493581f231f4e99027bbc5d1faaca1e"><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="class_a_style.html" title="The AStyle class encapsulates style and stylesheet logic.">AStyle</a> class encapsulates style and stylesheet logic. </p>
+</div><h2 class="groupheader">Member Data Documentation</h2>
+<a id="a9493581f231f4e99027bbc5d1faaca1e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9493581f231f4e99027bbc5d1faaca1e">&#9670;&nbsp;</a></span>styleSheets</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const QList&lt; <a class="el" href="struct_style_sheet.html">StyleSheet</a> &gt; AStyle::styleSheets</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
+<div class="line">    {QLatin1String(<span class="stringliteral">&quot;Breeze&quot;</span>),      QLatin1String(<span class="stringliteral">&quot;:breeze_light.qss&quot;</span>)},</div>
+<div class="line">    {QLatin1String(<span class="stringliteral">&quot;Breeze-Dark&quot;</span>), QLatin1String(<span class="stringliteral">&quot;:breeze_dark.qss&quot;</span>)},</div>
+<div class="line">    {QLatin1String(<span class="stringliteral">&quot;QDarkStyle&quot;</span>),  QLatin1String(<span class="stringliteral">&quot;:qdarkstyle/qdarkstyle.qss&quot;</span>)},</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>src/classes/<a class="el" href="astyle_8h_source.html">astyle.h</a></li>
+<li>src/classes/astyle.cpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="class_a_style.html">AStyle</a></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 6 - 3
docs/html/class_a_timer-members.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -97,7 +98,9 @@ $(document).ready(function(){initNavTree('class_a_timer.html',''); initResizable
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 6 - 3
docs/html/class_a_timer.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: ATimer Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -125,7 +126,9 @@ long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_a_timer.html">ATimer</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 9 - 4
docs/html/class_aircraft_widget-members.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -90,14 +91,18 @@ $(document).ready(function(){initNavTree('class_aircraft_widget.html',''); initR
 <p>This is the complete list of members for <a class="el" href="class_aircraft_widget.html">AircraftWidget</a>, including all inherited members.</p>
 <table class="directory">
   <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AircraftWidget</b>(QWidget *parent=nullptr) (defined in <a class="el" href="class_aircraft_widget.html">AircraftWidget</a>)</td><td class="entry"><a class="el" href="class_aircraft_widget.html">AircraftWidget</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>onDisplayModel_dataBaseUpdated</b>() (defined in <a class="el" href="class_aircraft_widget.html">AircraftWidget</a>)</td><td class="entry"><a class="el" href="class_aircraft_widget.html">AircraftWidget</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_aircraft_widget.html#ac5a5e720c80e49796930f8715b0a51e0">onAircraftWidget_dataBaseUpdated</a>()</td><td class="entry"><a class="el" href="class_aircraft_widget.html">AircraftWidget</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_aircraft_widget.html#a8e78830530971eeb4a3913b1d8356498">onAircraftWidget_settingChanged</a>(SettingsWidget::SettingSignal signal)</td><td class="entry"><a class="el" href="class_aircraft_widget.html">AircraftWidget</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_aircraft_widget.html#a1b1faca35af681e28472d0b84ad52c4f">repopulateModel</a>()</td><td class="entry"><a class="el" href="class_aircraft_widget.html">AircraftWidget</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
   <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~AircraftWidget</b>() (defined in <a class="el" href="class_aircraft_widget.html">AircraftWidget</a>)</td><td class="entry"><a class="el" href="class_aircraft_widget.html">AircraftWidget</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 30 - 7
docs/html/class_aircraft_widget.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: AircraftWidget Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -90,6 +91,11 @@ $(document).ready(function(){initNavTree('class_aircraft_widget.html',''); initR
 <div class="title">AircraftWidget Class Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
+
+<p>The <a class="el" href="class_aircraft_widget.html" title="The AircraftWidget is used to view, edit, delete or add new tails.">AircraftWidget</a> is used to view, edit, delete or add new tails.  
+ <a href="class_aircraft_widget.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="aircraftwidget_8h_source.html">aircraftwidget.h</a>&gt;</code></p>
 <div class="dynheader">
 Inheritance diagram for AircraftWidget:</div>
 <div class="dyncontent">
@@ -99,9 +105,18 @@ Inheritance diagram for AircraftWidget:</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:abe894bc5372e5e4b67edd02aeadbad25"><td class="memItemLeft" align="right" valign="top"><a id="abe894bc5372e5e4b67edd02aeadbad25"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>onDisplayModel_dataBaseUpdated</b> ()</td></tr>
-<tr class="separator:abe894bc5372e5e4b67edd02aeadbad25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8e78830530971eeb4a3913b1d8356498"><td class="memItemLeft" align="right" valign="top"><a id="a8e78830530971eeb4a3913b1d8356498"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_aircraft_widget.html#a8e78830530971eeb4a3913b1d8356498">onAircraftWidget_settingChanged</a> (<a class="el" href="class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4">SettingsWidget::SettingSignal</a> signal)</td></tr>
+<tr class="memdesc:a8e78830530971eeb4a3913b1d8356498"><td class="mdescLeft">&#160;</td><td class="mdescRight">invokes setupModelAndView() to account for changes the user has made in the <a class="el" href="class_settings_widget.html">SettingsWidget</a> <br /></td></tr>
+<tr class="separator:a8e78830530971eeb4a3913b1d8356498"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5a5e720c80e49796930f8715b0a51e0"><td class="memItemLeft" align="right" valign="top"><a id="ac5a5e720c80e49796930f8715b0a51e0"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_aircraft_widget.html#ac5a5e720c80e49796930f8715b0a51e0">onAircraftWidget_dataBaseUpdated</a> ()</td></tr>
+<tr class="memdesc:ac5a5e720c80e49796930f8715b0a51e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Refreshes the view if the Database has been altered from outside the <a class="el" href="class_aircraft_widget.html" title="The AircraftWidget is used to view, edit, delete or add new tails.">AircraftWidget</a>. <br /></td></tr>
+<tr class="separator:ac5a5e720c80e49796930f8715b0a51e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b1faca35af681e28472d0b84ad52c4f"><td class="memItemLeft" align="right" valign="top"><a id="a1b1faca35af681e28472d0b84ad52c4f"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_aircraft_widget.html#a1b1faca35af681e28472d0b84ad52c4f">repopulateModel</a> ()</td></tr>
+<tr class="memdesc:a1b1faca35af681e28472d0b84ad52c4f"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_aircraft_widget.html#a1b1faca35af681e28472d0b84ad52c4f" title="AircraftWidget::repopulateModel (public slot) - re-populates the model to cater for a change to the d...">AircraftWidget::repopulateModel</a> (public slot) - re-populates the model to cater for a change to the database connection (for example, when a backup is created) <br /></td></tr>
+<tr class="separator:a1b1faca35af681e28472d0b84ad52c4f"><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>
@@ -109,7 +124,13 @@ Public Member Functions</h2></td></tr>
 &#160;</td><td class="memItemRight" valign="bottom"><b>AircraftWidget</b> (QWidget *parent=nullptr)</td></tr>
 <tr class="separator:ab7d60be49e640605c7e4e113d69c4525"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
-<hr/>The documentation for this class was generated from the following files:<ul>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="class_aircraft_widget.html" title="The AircraftWidget is used to view, edit, delete or add new tails.">AircraftWidget</a> is used to view, edit, delete or add new tails. </p>
+<p>The widget consists of two main parts, a <em>QTableView</em> on the left side and a <em>QStackedWidget</em> on the right side.</p>
+<p>In the QTableView, a QSqlTableModel is used to access a view from the database, which holds a tails' Registration, Type and Company.</p>
+<p>The welcome page shown on the QStackedWidget on the right side has a QLineEdit that functions as a search box and a QCombobox holding the possible columns that can be used to filter what is displayed. The text of the QLineEdit is used as a filter for the QSqlTableModel, so the view is updated in real time.</p>
+<p>The <em><a class="el" href="class_new_tail_dialog.html" title="The NewTail class is a dialog for adding a new tail to the database or editing an existing one.">NewTailDialog</a></em> is used for creating a new entry as well as for editing an existing entry. If the user selects a row in the QTableView, the NewTailDilog is displayed on the right side of the Widget, inside the QStackedWidget. In order to avoid leaks from any previously made selections, existing Dialogs are deleted before a new one is created. The <a class="el" href="class_new_tail_dialog.html" title="The NewTail class is a dialog for adding a new tail to the database or editing an existing one.">NewTailDialog</a>'s <code>accepted</code> and <code>rejected</code> signals are connected to refresh the view as required. </p>
+</div><hr/>The documentation for this class was generated from the following files:<ul>
 <li>src/gui/widgets/<a class="el" href="aircraftwidget_8h_source.html">aircraftwidget.h</a></li>
 <li>src/gui/widgets/aircraftwidget.cpp</li>
 </ul>
@@ -119,7 +140,9 @@ Public Member Functions</h2></td></tr>
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_aircraft_widget.html">AircraftWidget</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 3 - 1
docs/html/class_aircraft_widget.js

@@ -2,5 +2,7 @@ var class_aircraft_widget =
 [
     [ "AircraftWidget", "class_aircraft_widget.html#ab7d60be49e640605c7e4e113d69c4525", null ],
     [ "~AircraftWidget", "class_aircraft_widget.html#a2dd0b759eab14f22825a141780ee1e07", null ],
-    [ "onDisplayModel_dataBaseUpdated", "class_aircraft_widget.html#abe894bc5372e5e4b67edd02aeadbad25", null ]
+    [ "onAircraftWidget_dataBaseUpdated", "class_aircraft_widget.html#ac5a5e720c80e49796930f8715b0a51e0", null ],
+    [ "onAircraftWidget_settingChanged", "class_aircraft_widget.html#a8e78830530971eeb4a3913b1d8356498", null ],
+    [ "repopulateModel", "class_aircraft_widget.html#a1b1faca35af681e28472d0b84ad52c4f", null ]
 ];

+ 106 - 0
docs/html/class_backup_widget-members.html

@@ -0,0 +1,106 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_backup_widget.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">BackupWidget Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_backup_widget.html">BackupWidget</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BackupWidget</b>(QWidget *parent=nullptr) (defined in <a class="el" href="class_backup_widget.html">BackupWidget</a>)</td><td class="entry"><a class="el" href="class_backup_widget.html">BackupWidget</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~BackupWidget</b>() (defined in <a class="el" href="class_backup_widget.html">BackupWidget</a>)</td><td class="entry"><a class="el" href="class_backup_widget.html">BackupWidget</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 122 - 0
docs/html/class_backup_widget.html

@@ -0,0 +1,122 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: BackupWidget 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_backup_widget.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="class_backup_widget-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">BackupWidget Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for BackupWidget:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="class_backup_widget.png" alt=""/>
+ </div></div>
+<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:a8394791e05e07cc687a548c4f4705b99"><td class="memItemLeft" align="right" valign="top"><a id="a8394791e05e07cc687a548c4f4705b99"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>BackupWidget</b> (QWidget *parent=nullptr)</td></tr>
+<tr class="separator:a8394791e05e07cc687a548c4f4705b99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>src/gui/widgets/<a class="el" href="backupwidget_8h_source.html">backupwidget.h</a></li>
+<li>src/gui/widgets/backupwidget.cpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="class_backup_widget.html">BackupWidget</a></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 5 - 0
docs/html/class_backup_widget.js

@@ -0,0 +1,5 @@
+var class_backup_widget =
+[
+    [ "BackupWidget", "class_backup_widget.html#a8394791e05e07cc687a548c4f4705b99", null ],
+    [ "~BackupWidget", "class_backup_widget.html#a851ae7df0bf95440d2ffbd5ae2b43f08", null ]
+];

BIN
docs/html/class_backup_widget.png


+ 6 - 3
docs/html/class_debug_widget-members.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -96,7 +97,9 @@ $(document).ready(function(){initNavTree('class_debug_widget.html',''); initResi
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 6 - 3
docs/html/class_debug_widget.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: DebugWidget Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -112,7 +113,9 @@ Public Member Functions</h2></td></tr>
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_debug_widget.html">DebugWidget</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 6 - 3
docs/html/class_first_run_dialog-members.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -96,7 +97,9 @@ $(document).ready(function(){initNavTree('class_first_run_dialog.html',''); init
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 6 - 3
docs/html/class_first_run_dialog.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: FirstRunDialog Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -112,7 +113,9 @@ Public Member Functions</h2></td></tr>
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_first_run_dialog.html">FirstRunDialog</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 8 - 4
docs/html/class_home_widget-members.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -90,13 +91,16 @@ $(document).ready(function(){initNavTree('class_home_widget.html',''); initResiz
 <p>This is the complete list of members for <a class="el" href="class_home_widget.html">HomeWidget</a>, including all inherited members.</p>
 <table class="directory">
   <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HomeWidget</b>(QWidget *parent=nullptr) (defined in <a class="el" href="class_home_widget.html">HomeWidget</a>)</td><td class="entry"><a class="el" href="class_home_widget.html">HomeWidget</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>~HomeWidget</b>() (defined in <a class="el" href="class_home_widget.html">HomeWidget</a>)</td><td class="entry"><a class="el" href="class_home_widget.html">HomeWidget</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>refresh</b>() (defined in <a class="el" href="class_home_widget.html">HomeWidget</a>)</td><td class="entry"><a class="el" href="class_home_widget.html">HomeWidget</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~HomeWidget</b>() (defined in <a class="el" href="class_home_widget.html">HomeWidget</a>)</td><td class="entry"><a class="el" href="class_home_widget.html">HomeWidget</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 13 - 3
docs/html/class_home_widget.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: HomeWidget Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -83,6 +84,7 @@ $(document).ready(function(){initNavTree('class_home_widget.html',''); initResiz
 
 <div class="header">
   <div class="summary">
+<a href="#pub-slots">Public Slots</a> &#124;
 <a href="#pub-methods">Public Member Functions</a> &#124;
 <a href="class_home_widget-members.html">List of all members</a>  </div>
   <div class="headertitle">
@@ -96,6 +98,12 @@ Inheritance diagram for HomeWidget:</div>
   <img src="class_home_widget.png" alt=""/>
  </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:a4bef0d65bb437782ec904032677aa081"><td class="memItemLeft" align="right" valign="top"><a id="a4bef0d65bb437782ec904032677aa081"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>refresh</b> ()</td></tr>
+<tr class="separator:a4bef0d65bb437782ec904032677aa081"><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:a3262f79ae4093c543e1b57fbd787fa49"><td class="memItemLeft" align="right" valign="top"><a id="a3262f79ae4093c543e1b57fbd787fa49"></a>
@@ -112,7 +120,9 @@ Public Member Functions</h2></td></tr>
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_home_widget.html">HomeWidget</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 2 - 1
docs/html/class_home_widget.js

@@ -1,5 +1,6 @@
 var class_home_widget =
 [
     [ "HomeWidget", "class_home_widget.html#a3262f79ae4093c543e1b57fbd787fa49", null ],
-    [ "~HomeWidget", "class_home_widget.html#ab1c284d5badc82196e283df0189c1be2", null ]
+    [ "~HomeWidget", "class_home_widget.html#ab1c284d5badc82196e283df0189c1be2", null ],
+    [ "refresh", "class_home_widget.html#a4bef0d65bb437782ec904032677aa081", null ]
 ];

+ 10 - 6
docs/html/class_logbook_widget-members.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -90,15 +91,18 @@ $(document).ready(function(){initNavTree('class_logbook_widget.html',''); initRe
 <p>This is the complete list of members for <a class="el" href="class_logbook_widget.html">LogbookWidget</a>, including all inherited members.</p>
 <table class="directory">
   <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>LogbookWidget</b>(QWidget *parent=nullptr) (defined in <a class="el" href="class_logbook_widget.html">LogbookWidget</a>)</td><td class="entry"><a class="el" href="class_logbook_widget.html">LogbookWidget</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>onDisplayModel_dataBaseUpdated</b>() (defined in <a class="el" href="class_logbook_widget.html">LogbookWidget</a>)</td><td class="entry"><a class="el" href="class_logbook_widget.html">LogbookWidget</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>onLogbookWidget_viewSelectionChanged</b>(int) (defined in <a class="el" href="class_logbook_widget.html">LogbookWidget</a>)</td><td class="entry"><a class="el" href="class_logbook_widget.html">LogbookWidget</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>~LogbookWidget</b>() (defined in <a class="el" href="class_logbook_widget.html">LogbookWidget</a>)</td><td class="entry"><a class="el" href="class_logbook_widget.html">LogbookWidget</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>onLogbookWidget_viewSelectionChanged</b>(SettingsWidget::SettingSignal signal) (defined in <a class="el" href="class_logbook_widget.html">LogbookWidget</a>)</td><td class="entry"><a class="el" href="class_logbook_widget.html">LogbookWidget</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>refresh</b>() (defined in <a class="el" href="class_logbook_widget.html">LogbookWidget</a>)</td><td class="entry"><a class="el" href="class_logbook_widget.html">LogbookWidget</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_logbook_widget.html#ac64b38cc2f5dd012ec1d12647457a8f1">repopulateModel</a>()</td><td class="entry"><a class="el" href="class_logbook_widget.html">LogbookWidget</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~LogbookWidget</b>() (defined in <a class="el" href="class_logbook_widget.html">LogbookWidget</a>)</td><td class="entry"><a class="el" href="class_logbook_widget.html">LogbookWidget</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 16 - 9
docs/html/class_logbook_widget.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: LogbookWidget Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -99,12 +100,16 @@ Inheritance diagram for LogbookWidget:</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:a5a60e817372983f875d4815eab34471c"><td class="memItemLeft" align="right" valign="top"><a id="a5a60e817372983f875d4815eab34471c"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>onDisplayModel_dataBaseUpdated</b> ()</td></tr>
-<tr class="separator:a5a60e817372983f875d4815eab34471c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a68288cb91f56b6421e0f6c6c525af5e7"><td class="memItemLeft" align="right" valign="top"><a id="a68288cb91f56b6421e0f6c6c525af5e7"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>onLogbookWidget_viewSelectionChanged</b> (int)</td></tr>
-<tr class="separator:a68288cb91f56b6421e0f6c6c525af5e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45048f4dd6ffb82da6a725503df97cf1"><td class="memItemLeft" align="right" valign="top"><a id="a45048f4dd6ffb82da6a725503df97cf1"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>refresh</b> ()</td></tr>
+<tr class="separator:a45048f4dd6ffb82da6a725503df97cf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a72b4eb07e8517a138ad731c32e8a3aff"><td class="memItemLeft" align="right" valign="top"><a id="a72b4eb07e8517a138ad731c32e8a3aff"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>onLogbookWidget_viewSelectionChanged</b> (<a class="el" href="class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4">SettingsWidget::SettingSignal</a> signal)</td></tr>
+<tr class="separator:a72b4eb07e8517a138ad731c32e8a3aff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac64b38cc2f5dd012ec1d12647457a8f1"><td class="memItemLeft" align="right" valign="top"><a id="ac64b38cc2f5dd012ec1d12647457a8f1"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_logbook_widget.html#ac64b38cc2f5dd012ec1d12647457a8f1">repopulateModel</a> ()</td></tr>
+<tr class="memdesc:ac64b38cc2f5dd012ec1d12647457a8f1"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_logbook_widget.html#ac64b38cc2f5dd012ec1d12647457a8f1" title="LogbookWidget::repopulateModel (public slot) - re-populates the model to cater for a change to the da...">LogbookWidget::repopulateModel</a> (public slot) - re-populates the model to cater for a change to the database connection (for example, when a backup is created) <br /></td></tr>
+<tr class="separator:ac64b38cc2f5dd012ec1d12647457a8f1"><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>
@@ -122,7 +127,9 @@ Public Member Functions</h2></td></tr>
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_logbook_widget.html">LogbookWidget</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 3 - 2
docs/html/class_logbook_widget.js

@@ -2,6 +2,7 @@ var class_logbook_widget =
 [
     [ "LogbookWidget", "class_logbook_widget.html#aaf8316b43f9bddae7c9ad5cb6b993887", null ],
     [ "~LogbookWidget", "class_logbook_widget.html#a7d7716c7a9506e70b9ce53a5a27753ea", null ],
-    [ "onDisplayModel_dataBaseUpdated", "class_logbook_widget.html#a5a60e817372983f875d4815eab34471c", null ],
-    [ "onLogbookWidget_viewSelectionChanged", "class_logbook_widget.html#a68288cb91f56b6421e0f6c6c525af5e7", null ]
+    [ "onLogbookWidget_viewSelectionChanged", "class_logbook_widget.html#a72b4eb07e8517a138ad731c32e8a3aff", null ],
+    [ "refresh", "class_logbook_widget.html#a45048f4dd6ffb82da6a725503df97cf1", null ],
+    [ "repopulateModel", "class_logbook_widget.html#ac64b38cc2f5dd012ec1d12647457a8f1", null ]
 ];

+ 6 - 3
docs/html/class_new_flight_dialog-members.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -97,7 +98,9 @@ $(document).ready(function(){initNavTree('class_new_flight_dialog.html',''); ini
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 7 - 3
docs/html/class_new_flight_dialog.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: NewFlightDialog Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -83,6 +84,7 @@ $(document).ready(function(){initNavTree('class_new_flight_dialog.html',''); ini
 
 <div class="header">
   <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
 <a href="#pub-methods">Public Member Functions</a> &#124;
 <a href="class_new_flight_dialog-members.html">List of all members</a>  </div>
   <div class="headertitle">
@@ -159,7 +161,9 @@ Public Member Functions</h2></td></tr>
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_new_flight_dialog.html">NewFlightDialog</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 6 - 3
docs/html/class_new_pilot_dialog-members.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -97,7 +98,9 @@ $(document).ready(function(){initNavTree('class_new_pilot_dialog.html',''); init
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 6 - 3
docs/html/class_new_pilot_dialog.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: NewPilotDialog Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -115,7 +116,9 @@ Public Member Functions</h2></td></tr>
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_new_pilot_dialog.html">NewPilotDialog</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 6 - 3
docs/html/class_new_tail_dialog-members.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -97,7 +98,9 @@ $(document).ready(function(){initNavTree('class_new_tail_dialog.html',''); initR
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 6 - 3
docs/html/class_new_tail_dialog.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: NewTailDialog Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -123,7 +124,9 @@ Public Member Functions</h2></td></tr>
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_new_tail_dialog.html">NewTailDialog</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 107 - 0
docs/html/class_opl_1_1_a_notification_handler-members.html

@@ -0,0 +1,107 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_opl_1_1_a_notification_handler.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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">Opl::ANotificationHandler Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_opl_1_1_a_notification_handler.html">Opl::ANotificationHandler</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>crit</b>(const QString msg, QWidget *parent=nullptr) (defined in <a class="el" href="class_opl_1_1_a_notification_handler.html">Opl::ANotificationHandler</a>)</td><td class="entry"><a class="el" href="class_opl_1_1_a_notification_handler.html">Opl::ANotificationHandler</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>info</b>(const QString msg, QWidget *parent=nullptr) (defined in <a class="el" href="class_opl_1_1_a_notification_handler.html">Opl::ANotificationHandler</a>)</td><td class="entry"><a class="el" href="class_opl_1_1_a_notification_handler.html">Opl::ANotificationHandler</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>warn</b>(const QString msg, QWidget *parent=nullptr) (defined in <a class="el" href="class_opl_1_1_a_notification_handler.html">Opl::ANotificationHandler</a>)</td><td class="entry"><a class="el" href="class_opl_1_1_a_notification_handler.html">Opl::ANotificationHandler</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 128 - 0
docs/html/class_opl_1_1_a_notification_handler.html

@@ -0,0 +1,128 @@
+<!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.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>openPilotLog: Opl::ANotificationHandler 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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.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" />
+<link href="custom_dark_theme.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="logo_text.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">openPilotLog
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('class_opl_1_1_a_notification_handler.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- 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="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="class_opl_1_1_a_notification_handler-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">Opl::ANotificationHandler Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The <a class="el" href="class_opl_1_1_a_notification_handler.html" title="The ANotificationHandler class handles displaying of user-directed messages. It displays information ...">ANotificationHandler</a> class handles displaying of user-directed messages. It displays information to the user and forwards the displayed message to <a class="el" href="namespace_a_log.html" title="The ALog namespace encapsulates constants and functions used to provide logging to files and logging ...">ALog</a> so it is written to the console and log files. The INFO, WARN and CRIT makros provide convenient access.  
+ <a href="class_opl_1_1_a_notification_handler.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="opl_8h_source.html">opl.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:af073f4ba551e501866df0f3629a0c9ca"><td class="memItemLeft" align="right" valign="top"><a id="af073f4ba551e501866df0f3629a0c9ca"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>info</b> (const QString msg, QWidget *parent=nullptr)</td></tr>
+<tr class="separator:af073f4ba551e501866df0f3629a0c9ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33693a67f728ba71a672134f351cc8cb"><td class="memItemLeft" align="right" valign="top"><a id="a33693a67f728ba71a672134f351cc8cb"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>warn</b> (const QString msg, QWidget *parent=nullptr)</td></tr>
+<tr class="separator:a33693a67f728ba71a672134f351cc8cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac0e337c34e3539ef459c86739c2db53f"><td class="memItemLeft" align="right" valign="top"><a id="ac0e337c34e3539ef459c86739c2db53f"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>crit</b> (const QString msg, QWidget *parent=nullptr)</td></tr>
+<tr class="separator:ac0e337c34e3539ef459c86739c2db53f"><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="class_opl_1_1_a_notification_handler.html" title="The ANotificationHandler class handles displaying of user-directed messages. It displays information ...">ANotificationHandler</a> class handles displaying of user-directed messages. It displays information to the user and forwards the displayed message to <a class="el" href="namespace_a_log.html" title="The ALog namespace encapsulates constants and functions used to provide logging to files and logging ...">ALog</a> so it is written to the console and log files. The INFO, WARN and CRIT makros provide convenient access. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/<a class="el" href="opl_8h_source.html">opl.h</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespace_opl.html">Opl</a></li><li class="navelem"><a class="el" href="class_opl_1_1_a_notification_handler.html">ANotificationHandler</a></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+  </ul>
+</div>
+</body>
+</html>

+ 10 - 5
docs/html/class_pilots_widget-members.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -89,15 +90,19 @@ $(document).ready(function(){initNavTree('class_pilots_widget.html',''); initRes
 
 <p>This is the complete list of members for <a class="el" href="class_pilots_widget.html">PilotsWidget</a>, including all inherited members.</p>
 <table class="directory">
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>onDisplayModel_dataBaseUpdated</b>() (defined in <a class="el" href="class_pilots_widget.html">PilotsWidget</a>)</td><td class="entry"><a class="el" href="class_pilots_widget.html">PilotsWidget</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>PilotsWidget</b>(QWidget *parent=nullptr) (defined in <a class="el" href="class_pilots_widget.html">PilotsWidget</a>)</td><td class="entry"><a class="el" href="class_pilots_widget.html">PilotsWidget</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_pilots_widget.html#abbcd659b4eb6ed17a7d484138b319fab">onPilotsWidget_databaseUpdated</a>()</td><td class="entry"><a class="el" href="class_pilots_widget.html">PilotsWidget</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_pilots_widget.html#a201b8f8af06bfd1a8716dbc052a0927f">onPilotsWidget_settingChanged</a>(SettingsWidget::SettingSignal signal)</td><td class="entry"><a class="el" href="class_pilots_widget.html">PilotsWidget</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PilotsWidget</b>(QWidget *parent=nullptr) (defined in <a class="el" href="class_pilots_widget.html">PilotsWidget</a>)</td><td class="entry"><a class="el" href="class_pilots_widget.html">PilotsWidget</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_pilots_widget.html#a4997160bff58f13ea78e5894dcbf61e2">repopulateModel</a>()</td><td class="entry"><a class="el" href="class_pilots_widget.html">PilotsWidget</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
   <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~PilotsWidget</b>() (defined in <a class="el" href="class_pilots_widget.html">PilotsWidget</a>)</td><td class="entry"><a class="el" href="class_pilots_widget.html">PilotsWidget</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 31 - 7
docs/html/class_pilots_widget.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: PilotsWidget Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -90,6 +91,11 @@ $(document).ready(function(){initNavTree('class_pilots_widget.html',''); initRes
 <div class="title">PilotsWidget Class Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
+
+<p>The <a class="el" href="class_pilots_widget.html" title="The PilotsWidget is used to view, edit, delete or add new pilots.">PilotsWidget</a> is used to view, edit, delete or add new pilots.  
+ <a href="class_pilots_widget.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pilotswidget_8h_source.html">pilotswidget.h</a>&gt;</code></p>
 <div class="dynheader">
 Inheritance diagram for PilotsWidget:</div>
 <div class="dyncontent">
@@ -99,9 +105,18 @@ Inheritance diagram for PilotsWidget:</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:ab97d31d9a30a79ea653ac6afd6a5b142"><td class="memItemLeft" align="right" valign="top"><a id="ab97d31d9a30a79ea653ac6afd6a5b142"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>onDisplayModel_dataBaseUpdated</b> ()</td></tr>
-<tr class="separator:ab97d31d9a30a79ea653ac6afd6a5b142"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a201b8f8af06bfd1a8716dbc052a0927f"><td class="memItemLeft" align="right" valign="top"><a id="a201b8f8af06bfd1a8716dbc052a0927f"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pilots_widget.html#a201b8f8af06bfd1a8716dbc052a0927f">onPilotsWidget_settingChanged</a> (<a class="el" href="class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4">SettingsWidget::SettingSignal</a> signal)</td></tr>
+<tr class="memdesc:a201b8f8af06bfd1a8716dbc052a0927f"><td class="mdescLeft">&#160;</td><td class="mdescRight">invokes setupModelAndView() to account for changes the user has made in the <a class="el" href="class_settings_widget.html">SettingsWidget</a> <br /></td></tr>
+<tr class="separator:a201b8f8af06bfd1a8716dbc052a0927f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abbcd659b4eb6ed17a7d484138b319fab"><td class="memItemLeft" align="right" valign="top"><a id="abbcd659b4eb6ed17a7d484138b319fab"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pilots_widget.html#abbcd659b4eb6ed17a7d484138b319fab">onPilotsWidget_databaseUpdated</a> ()</td></tr>
+<tr class="memdesc:abbcd659b4eb6ed17a7d484138b319fab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Refreshes the view if the Database has been altered from outside the <a class="el" href="class_aircraft_widget.html" title="The AircraftWidget is used to view, edit, delete or add new tails.">AircraftWidget</a>. <br /></td></tr>
+<tr class="separator:abbcd659b4eb6ed17a7d484138b319fab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4997160bff58f13ea78e5894dcbf61e2"><td class="memItemLeft" align="right" valign="top"><a id="a4997160bff58f13ea78e5894dcbf61e2"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pilots_widget.html#a4997160bff58f13ea78e5894dcbf61e2">repopulateModel</a> ()</td></tr>
+<tr class="memdesc:a4997160bff58f13ea78e5894dcbf61e2"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_pilots_widget.html#a4997160bff58f13ea78e5894dcbf61e2" title="PilotsWidget::repopulateModel (public slot) - re-populates the model to cater for a change to the dat...">PilotsWidget::repopulateModel</a> (public slot) - re-populates the model to cater for a change to the database connection (for example, when a backup is created) <br /></td></tr>
+<tr class="separator:a4997160bff58f13ea78e5894dcbf61e2"><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>
@@ -109,7 +124,14 @@ Public Member Functions</h2></td></tr>
 &#160;</td><td class="memItemRight" valign="bottom"><b>PilotsWidget</b> (QWidget *parent=nullptr)</td></tr>
 <tr class="separator:a829dbe1122d4ab707f68c75ba558dc36"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
-<hr/>The documentation for this class was generated from the following files:<ul>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The <a class="el" href="class_pilots_widget.html" title="The PilotsWidget is used to view, edit, delete or add new pilots.">PilotsWidget</a> is used to view, edit, delete or add new pilots. </p>
+<p>The widget consists of two main parts, a <em>QTableView</em> on the left side and a <em>QStackedWidget</em> on the right side.</p>
+<p>In the QTableView, a QSqlTableModel is used to access a view from the database, which holds a Pilots' Last Name, First name and Company.</p>
+<p>The welcome page shown on the QStackedWidget on the right side has a QLineEdit that functions as a search box and a QCombobox holding the possible columns that can be used to filter what is displayed. The text of the QLineEdit is used as a filter for the QSqlTableModel, so the view is updated in real time.</p>
+<p>The <em><a class="el" href="class_new_pilot_dialog.html">NewPilotDialog</a></em> is used for creating a new entry as well as for editing an existing entry. If the user selects a row in the QTableView, the <a class="el" href="class_new_pilot_dialog.html">NewPilotDialog</a> is displayed on the right side of the Widget, inside the QStackedWidget. In order to avoid leaks from any previously made selections, existing Dialogs are deleted before a new one is created. The <a class="el" href="class_new_pilot_dialog.html">NewPilotDialog</a>'s <code>accepted</code> and <code>rejected</code> signals are connected to refresh the view as required.</p>
+<p>The logbook owner is not shown in the QTableView as an editable Pilot since <code>self</code> is a special reserved alias for the pilot with ROWID #1 as a way to identify and adequately display the logbook owner in the logbook. Editing personal details is done via the <em><a class="el" href="class_settings_widget.html">SettingsWidget</a></em> </p>
+</div><hr/>The documentation for this class was generated from the following files:<ul>
 <li>src/gui/widgets/<a class="el" href="pilotswidget_8h_source.html">pilotswidget.h</a></li>
 <li>src/gui/widgets/pilotswidget.cpp</li>
 </ul>
@@ -119,7 +141,9 @@ Public Member Functions</h2></td></tr>
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_pilots_widget.html">PilotsWidget</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 3 - 1
docs/html/class_pilots_widget.js

@@ -2,5 +2,7 @@ var class_pilots_widget =
 [
     [ "PilotsWidget", "class_pilots_widget.html#a829dbe1122d4ab707f68c75ba558dc36", null ],
     [ "~PilotsWidget", "class_pilots_widget.html#abec6ba6fbd42d5ca91e089756b5d9552", null ],
-    [ "onDisplayModel_dataBaseUpdated", "class_pilots_widget.html#ab97d31d9a30a79ea653ac6afd6a5b142", null ]
+    [ "onPilotsWidget_databaseUpdated", "class_pilots_widget.html#abbcd659b4eb6ed17a7d484138b319fab", null ],
+    [ "onPilotsWidget_settingChanged", "class_pilots_widget.html#a201b8f8af06bfd1a8716dbc052a0927f", null ],
+    [ "repopulateModel", "class_pilots_widget.html#a4997160bff58f13ea78e5894dcbf61e2", null ]
 ];

+ 13 - 5
docs/html/class_settings_widget-members.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -89,15 +90,22 @@ $(document).ready(function(){initNavTree('class_settings_widget.html',''); initR
 
 <p>This is the complete list of members for <a class="el" href="class_settings_widget.html">SettingsWidget</a>, including all inherited members.</p>
 <table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AircraftWidget</b> enum value (defined in <a class="el" href="class_settings_widget.html">SettingsWidget</a>)</td><td class="entry"><a class="el" href="class_settings_widget.html">SettingsWidget</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>HomeWidget</b> enum value (defined in <a class="el" href="class_settings_widget.html">SettingsWidget</a>)</td><td class="entry"><a class="el" href="class_settings_widget.html">SettingsWidget</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>LogbookWidget</b> enum value (defined in <a class="el" href="class_settings_widget.html">SettingsWidget</a>)</td><td class="entry"><a class="el" href="class_settings_widget.html">SettingsWidget</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>PilotsWidget</b> enum value (defined in <a class="el" href="class_settings_widget.html">SettingsWidget</a>)</td><td class="entry"><a class="el" href="class_settings_widget.html">SettingsWidget</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_settings_widget.html#a0f6af11e71177c5f62ecd2ff325e8d2b">settingChanged</a>(SettingSignal widget)</td><td class="entry"><a class="el" href="class_settings_widget.html">SettingsWidget</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4">SettingSignal</a> enum name</td><td class="entry"><a class="el" href="class_settings_widget.html">SettingsWidget</a></td><td class="entry"></td></tr>
   <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SettingsWidget</b>(QWidget *parent=nullptr) (defined in <a class="el" href="class_settings_widget.html">SettingsWidget</a>)</td><td class="entry"><a class="el" href="class_settings_widget.html">SettingsWidget</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>viewSelectionChanged</b>(int view_id) (defined in <a class="el" href="class_settings_widget.html">SettingsWidget</a>)</td><td class="entry"><a class="el" href="class_settings_widget.html">SettingsWidget</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~SettingsWidget</b>() (defined in <a class="el" href="class_settings_widget.html">SettingsWidget</a>)</td><td class="entry"><a class="el" href="class_settings_widget.html">SettingsWidget</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~SettingsWidget</b>() (defined in <a class="el" href="class_settings_widget.html">SettingsWidget</a>)</td><td class="entry"><a class="el" href="class_settings_widget.html">SettingsWidget</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 21 - 6
docs/html/class_settings_widget.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: SettingsWidget Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -83,6 +84,7 @@ $(document).ready(function(){initNavTree('class_settings_widget.html',''); initR
 
 <div class="header">
   <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
 <a href="#signals">Signals</a> &#124;
 <a href="#pub-methods">Public Member Functions</a> &#124;
 <a href="class_settings_widget-members.html">List of all members</a>  </div>
@@ -97,11 +99,22 @@ Inheritance diagram for SettingsWidget:</div>
   <img src="class_settings_widget.png" alt=""/>
  </div></div>
 <table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:af15eec9fd55841ec02041a1114da54d4"><td class="memItemLeft" align="right" valign="top"><a id="af15eec9fd55841ec02041a1114da54d4"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4">SettingSignal</a> { <b>LogbookWidget</b>, 
+<b>HomeWidget</b>, 
+<b>AircraftWidget</b>, 
+<b>PilotsWidget</b>
+ }</td></tr>
+<tr class="memdesc:af15eec9fd55841ec02041a1114da54d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Widgets that need to receive a signal when a setting is updated. <br /></td></tr>
+<tr class="separator:af15eec9fd55841ec02041a1114da54d4"><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:afb058e4396758424444f6e2fd4e02352"><td class="memItemLeft" align="right" valign="top"><a id="afb058e4396758424444f6e2fd4e02352"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>viewSelectionChanged</b> (int view_id)</td></tr>
-<tr class="separator:afb058e4396758424444f6e2fd4e02352"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f6af11e71177c5f62ecd2ff325e8d2b"><td class="memItemLeft" align="right" valign="top"><a id="a0f6af11e71177c5f62ecd2ff325e8d2b"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_settings_widget.html#a0f6af11e71177c5f62ecd2ff325e8d2b">settingChanged</a> (<a class="el" href="class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4">SettingSignal</a> widget)</td></tr>
+<tr class="memdesc:a0f6af11e71177c5f62ecd2ff325e8d2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">settingChanged is emitted when a setting change shall trigger an update to another widget. <br /></td></tr>
+<tr class="separator:a0f6af11e71177c5f62ecd2ff325e8d2b"><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>
@@ -119,7 +132,9 @@ Public Member Functions</h2></td></tr>
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_settings_widget.html">SettingsWidget</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 7 - 1
docs/html/class_settings_widget.js

@@ -1,6 +1,12 @@
 var class_settings_widget =
 [
+    [ "SettingSignal", "class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4", [
+      [ "LogbookWidget", "class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4a14f96e498cb1e0663fcf5a7137791b1a", null ],
+      [ "HomeWidget", "class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4a1caf53d79c70592dbf5050ddbf170e6f", null ],
+      [ "AircraftWidget", "class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4a6038b3a470c82658d5f8f547a676eb40", null ],
+      [ "PilotsWidget", "class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4aa5436fa4cdf2d2ba596c6700f6f1305a", null ]
+    ] ],
     [ "SettingsWidget", "class_settings_widget.html#ad6b264d0455806fd3761a7f0e7b75dfd", null ],
     [ "~SettingsWidget", "class_settings_widget.html#ad8e7579db1d31cdf017502f82d3e9da1", null ],
-    [ "viewSelectionChanged", "class_settings_widget.html#afb058e4396758424444f6e2fd4e02352", null ]
+    [ "settingChanged", "class_settings_widget.html#a0f6af11e71177c5f62ecd2ff325e8d2b", null ]
 ];

+ 43 - 47
docs/html/classes.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: Class Index</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -86,84 +87,79 @@ $(document).ready(function(){initNavTree('classes.html',''); initResizable(); })
 <div class="title">Class Index</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="qindex"><a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_e">e</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_h">h</a>&#160;|&#160;<a class="qindex" href="#letter_l">l</a>&#160;|&#160;<a class="qindex" href="#letter_n">n</a>&#160;|&#160;<a class="qindex" href="#letter_p">p</a>&#160;|&#160;<a class="qindex" href="#letter_s">s</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a>&#160;|&#160;<a class="qindex" href="#letter_u">u</a></div>
+<div class="qindex"><a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_h">h</a>&#160;|&#160;<a class="qindex" href="#letter_l">l</a>&#160;|&#160;<a class="qindex" href="#letter_n">n</a>&#160;|&#160;<a class="qindex" href="#letter_p">p</a>&#160;|&#160;<a class="qindex" href="#letter_s">s</a></div>
 <table class="classindex">
 <tr><td rowspan="2" valign="bottom"><a name="letter_a"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;a&#160;&#160;</div></td></tr></table>
 </td>
+<td valign="top"><a class="el" href="class_a_file_standard_item.html">AFileStandardItem</a>&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_a_timer.html">ATimer</a>&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_h"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;h&#160;&#160;</div></td></tr></table>
+</td>
+<td valign="top"><a class="el" href="class_new_tail_dialog.html">NewTailDialog</a>&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a>&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_b"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;b&#160;&#160;</div></td></tr></table>
+</td>
+<td rowspan="2" valign="bottom"><a name="letter_p"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;p&#160;&#160;</div></td></tr></table>
+</td>
+</tr>
+<tr><td valign="top"><a class="el" href="struct_a_aircraft_entry.html">AAircraftEntry</a>&#160;&#160;&#160;</td>
 <td valign="top"><a class="el" href="class_aircraft_widget.html">AircraftWidget</a>&#160;&#160;&#160;</td>
-<td valign="top"><a class="el" href="class_db_info.html">DbInfo</a>&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_home_widget.html">HomeWidget</a>&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="struct_a_currency_entry.html">ACurrencyEntry</a>&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_opl_1_1_a_notification_handler.html">ANotificationHandler</a> (<a class="el" href="namespace_opl.html">Opl</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_backup_widget.html">BackupWidget</a>&#160;&#160;&#160;</td>
 <td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;l&#160;&#160;</div></td></tr></table>
 </td>
 <td valign="top"><a class="el" href="class_pilots_widget.html">PilotsWidget</a>&#160;&#160;&#160;</td>
 </tr>
-<tr><td valign="top"><a class="el" href="structexperimental_1_1_a_pilot_entry.html">APilotEntry</a> (<a class="el" href="namespaceexperimental.html">experimental</a>)&#160;&#160;&#160;</td>
-<td valign="top"><a class="el" href="class_debug_widget.html">DebugWidget</a>&#160;&#160;&#160;</td>
+<tr><td valign="top"><a class="el" href="class_a_database.html">ADatabase</a>&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a>&#160;&#160;&#160;</td>
+<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_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;s&#160;&#160;</div></td></tr></table>
 </td>
 </tr>
-<tr><td valign="top"><a class="el" href="structexperimental_1_1_a_aircraft_entry.html">AAircraftEntry</a> (<a class="el" href="namespaceexperimental.html">experimental</a>)&#160;&#160;&#160;</td>
+<tr><td valign="top"><a class="el" href="class_a_database_error.html">ADatabaseError</a>&#160;&#160;&#160;</td>
 <td valign="top"><a class="el" href="class_a_run_guard.html">ARunGuard</a>&#160;&#160;&#160;</td>
-<td rowspan="2" valign="bottom"><a name="letter_e"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;e&#160;&#160;</div></td></tr></table>
-</td>
 <td valign="top"><a class="el" href="class_logbook_widget.html">LogbookWidget</a>&#160;&#160;&#160;</td>
 </tr>
-<tr><td valign="top"><a class="el" href="class_a_benchmark.html">ABenchmark</a>&#160;&#160;&#160;</td>
+<tr><td valign="top"><a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a>&#160;&#160;&#160;</td>
 <td valign="top"><a class="el" href="class_a_settings.html">ASettings</a>&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="struct_data_position.html">DataPosition</a>&#160;&#160;&#160;</td>
 <td rowspan="2" valign="bottom"><a name="letter_n"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;n&#160;&#160;</div></td></tr></table>
 </td>
 <td valign="top"><a class="el" href="class_settings_widget.html">SettingsWidget</a>&#160;&#160;&#160;</td>
 </tr>
-<tr><td valign="top"><a class="el" href="classexperimental_1_1_a_database.html">ADatabase</a> (<a class="el" href="namespaceexperimental.html">experimental</a>)&#160;&#160;&#160;</td>
-<td valign="top"><a class="el" href="class_a_strict_rx_validator.html">AStrictRxValidator</a>&#160;&#160;&#160;</td>
-<td valign="top"><a class="el" href="class_entry__deprecated.html">Entry_deprecated</a>&#160;&#160;&#160;</td>
-<td rowspan="2" valign="bottom"><a name="letter_t"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;t&#160;&#160;</div></td></tr></table>
-</td>
+<tr><td valign="top"><a class="el" href="class_a_date.html">ADate</a>&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_a_standard_paths.html">AStandardPaths</a>&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_debug_widget.html">DebugWidget</a>&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="struct_style_sheet.html">StyleSheet</a>&#160;&#160;&#160;</td>
 </tr>
-<tr><td valign="top"><a class="el" href="classexperimental_1_1_a_database_error.html">ADatabaseError</a> (<a class="el" href="namespaceexperimental.html">experimental</a>)&#160;&#160;&#160;</td>
-<td valign="top"><a class="el" href="structexperimental_1_1_a_tail_entry.html">ATailEntry</a> (<a class="el" href="namespaceexperimental.html">experimental</a>)&#160;&#160;&#160;</td>
+<tr><td valign="top"><a class="el" href="class_a_download.html">ADownload</a>&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_a_style.html">AStyle</a>&#160;&#160;&#160;</td>
 <td rowspan="2" valign="bottom"><a name="letter_f"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;f&#160;&#160;</div></td></tr></table>
 </td>
 <td valign="top"><a class="el" href="class_new_flight_dialog.html">NewFlightDialog</a>&#160;&#160;&#160;</td>
-</tr>
-<tr><td valign="top"><a class="el" href="class_a_data_base_setup.html">ADataBaseSetup</a>&#160;&#160;&#160;</td>
-<td valign="top"><a class="el" href="class_a_timer.html">ATimer</a>&#160;&#160;&#160;</td>
+<td></td></tr>
+<tr><td valign="top"><a class="el" href="class_a_entry.html">AEntry</a>&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a>&#160;&#160;&#160;</td>
 <td valign="top"><a class="el" href="class_new_pilot_dialog.html">NewPilotDialog</a>&#160;&#160;&#160;</td>
-<td valign="top"><a class="el" href="class_totals_widget.html">TotalsWidget</a>&#160;&#160;&#160;</td>
-</tr>
-<tr><td valign="top"><a class="el" href="class_a_download.html">ADownload</a>&#160;&#160;&#160;</td>
-<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 valign="top"><a class="el" href="class_first_run_dialog.html">FirstRunDialog</a>&#160;&#160;&#160;</td>
-<td valign="top"><a class="el" href="class_new_tail_dialog.html">NewTailDialog</a>&#160;&#160;&#160;</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>
-</tr>
-<tr><td valign="top"><a class="el" href="classexperimental_1_1_a_entry.html">AEntry</a> (<a class="el" href="namespaceexperimental.html">experimental</a>)&#160;&#160;&#160;</td>
-<td valign="top"><a class="el" href="class_flight.html">Flight</a>&#160;&#160;&#160;</td>
-<td rowspan="2" valign="bottom"><a name="letter_p"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;p&#160;&#160;</div></td></tr></table>
-</td>
-</tr>
-<tr><td valign="top"><a class="el" href="classexperimental_1_1_a_flight_entry.html">AFlightEntry</a> (<a class="el" href="namespaceexperimental.html">experimental</a>)&#160;&#160;&#160;</td>
-<td valign="top"><a class="el" href="structexperimental_1_1_data_position.html">DataPosition</a> (<a class="el" href="namespaceexperimental.html">experimental</a>)&#160;&#160;&#160;</td>
-<td rowspan="2" valign="bottom"><a name="letter_h"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;h&#160;&#160;</div></td></tr></table>
-</td>
-<td valign="top"><a class="el" href="classexperimental_1_1_user_input.html">UserInput</a> (<a class="el" href="namespaceexperimental.html">experimental</a>)&#160;&#160;&#160;</td>
-</tr>
-<tr><td valign="top"><a class="el" href="class_aircraft.html">Aircraft</a>&#160;&#160;&#160;</td>
-<td valign="top"><a class="el" href="class_db.html">Db</a>&#160;&#160;&#160;</td>
-<td valign="top"><a class="el" href="class_pilot.html">Pilot</a>&#160;&#160;&#160;</td>
 <td></td></tr>
-<tr><td></td><td></td><td valign="top"><a class="el" href="class_home_widget.html">HomeWidget</a>&#160;&#160;&#160;</td>
+<tr><td></td><td></td><td valign="top"><a class="el" href="class_first_run_dialog.html">FirstRunDialog</a>&#160;&#160;&#160;</td>
 <td></td><td></td></tr>
 <tr><td></td><td></td><td></td><td></td><td></td></tr>
 </table>
-<div class="qindex"><a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_e">e</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_h">h</a>&#160;|&#160;<a class="qindex" href="#letter_l">l</a>&#160;|&#160;<a class="qindex" href="#letter_n">n</a>&#160;|&#160;<a class="qindex" href="#letter_p">p</a>&#160;|&#160;<a class="qindex" href="#letter_s">s</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a>&#160;|&#160;<a class="qindex" href="#letter_u">u</a></div>
+<div class="qindex"><a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_h">h</a>&#160;|&#160;<a class="qindex" href="#letter_l">l</a>&#160;|&#160;<a class="qindex" href="#letter_n">n</a>&#160;|&#160;<a class="qindex" href="#letter_p">p</a>&#160;|&#160;<a class="qindex" href="#letter_s">s</a></div>
 </div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 77 - 60
docs/html/debugwidget_8h_source.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: src/gui/widgets/debugwidget.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -86,72 +87,88 @@ $(document).ready(function(){initNavTree('debugwidget_8h_source.html',''); initR
 <div class="title">debugwidget.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef DEBUGWIDGET_H</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define DEBUGWIDGET_H</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160; </div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &lt;QWidget&gt;</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &lt;QDir&gt;</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &lt;QStandardPaths&gt;</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &lt;QFile&gt;</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &lt;QFileDialog&gt;</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;QMessageBox&gt;</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &lt;QProcess&gt;</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &quot;src/database/db.h&quot;</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &quot;src/database/adatabasesetup.h&quot;</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &quot;src/database/dbinfo.h&quot;</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &quot;src/classes/adownload.h&quot;</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &quot;src/functions/areadcsv.h&quot;</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160; </div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;src/experimental/adatabase.h&quot;</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;src/experimental/aentry.h&quot;</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;src/experimental/apilotentry.h&quot;</span></div>
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *Copyright (C) 2020-2021 Felix Turowsky</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *it under the terms of the GNU General Public License as published by</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *the Free Software Foundation, either version 3 of the License, or</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *(at your option) any later version.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *This program is distributed in the hope that it will be useful,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *GNU General Public License for more details.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *You should have received a copy of the GNU General Public License</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *along with this program.  If not, see &lt;https://www.gnu.org/licenses/&gt;.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef DEBUGWIDGET_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define DEBUGWIDGET_H</span></div>
 <div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;src/testing/abenchmark.h&quot;</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;src/testing/atimer.h&quot;</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;src/testing/adebug.h&quot;</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">namespace </span>Ui {</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">class </span><a class="code" href="class_debug_widget.html">DebugWidget</a>;</div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
-<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="class_debug_widget.html">   29</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_debug_widget.html">DebugWidget</a> : <span class="keyword">public</span> QWidget</div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;{</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    Q_OBJECT</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="keyword">explicit</span> <a class="code" href="class_debug_widget.html">DebugWidget</a>(QWidget *parent = <span class="keyword">nullptr</span>);</div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    ~<a class="code" href="class_debug_widget.html">DebugWidget</a>();</div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">private</span> slots:</div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="keywordtype">void</span> on_resetUserTablesPushButton_clicked();</div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="keywordtype">void</span> on_resetDatabasePushButton_clicked();</div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="keywordtype">void</span> downloadFinished();</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160; </div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <span class="keywordtype">void</span> on_fillUserDataPushButton_clicked();</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="keywordtype">void</span> on_selectCsvPushButton_clicked();</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keywordtype">void</span> on_importCsvPushButton_clicked();</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160; </div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keywordtype">void</span> on_debugPushButton_clicked();</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">private</span>:</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    Ui::DebugWidget *ui;</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keywordtype">bool</span> downloadComplete = <span class="keyword">false</span>;</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;};</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;QWidget&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;QDir&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;QStandardPaths&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;QFile&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;QFileDialog&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;QMessageBox&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;QProcess&gt;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;src/database/adatabasesetup.h&quot;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;src/classes/adownload.h&quot;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;src/functions/areadcsv.h&quot;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;src/database/adatabase.h&quot;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;src/classes/aentry.h&quot;</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;src/classes/apilotentry.h&quot;</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;src/testing/atimer.h&quot;</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;src/functions/alog.h&quot;</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">namespace </span>Ui {</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">class </span><a class="code" href="class_debug_widget.html">DebugWidget</a>;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;}</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="class_debug_widget.html">   43</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_debug_widget.html">DebugWidget</a> : <span class="keyword">public</span> QWidget</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;{</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    Q_OBJECT</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keyword">explicit</span> <a class="code" href="class_debug_widget.html">DebugWidget</a>(QWidget *parent = <span class="keyword">nullptr</span>);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    ~<a class="code" href="class_debug_widget.html">DebugWidget</a>();</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">private</span> slots:</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordtype">void</span> on_resetUserTablesPushButton_clicked();</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordtype">void</span> on_resetDatabasePushButton_clicked();</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordtype">void</span> downloadFinished();</div>
 <div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#endif // DEBUGWIDGET_H</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordtype">void</span> on_fillUserDataPushButton_clicked();</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160; </div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keywordtype">void</span> on_selectCsvPushButton_clicked();</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160; </div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keywordtype">void</span> on_importCsvPushButton_clicked();</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keywordtype">void</span> on_debugPushButton_clicked();</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    Ui::DebugWidget *ui;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; </div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordtype">bool</span> downloadComplete = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;};</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160; </div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#endif // DEBUGWIDGET_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="aclass_debug_widget_html"><div class="ttname"><a href="class_debug_widget.html">DebugWidget</a></div><div class="ttdef"><b>Definition:</b> debugwidget.h:30</div></div>
+<div class="ttc" id="aclass_debug_widget_html"><div class="ttname"><a href="class_debug_widget.html">DebugWidget</a></div><div class="ttdef"><b>Definition:</b> debugwidget.h:43</div></div>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_99d0482cf009f9d97a0877749b817f19.html">gui</a></li><li class="navelem"><a class="el" href="dir_cc657b4ce13702a9d007a200bde234e1.html">widgets</a></li><li class="navelem"><b>debugwidget.h</b></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

+ 6 - 3
docs/html/dir_018e9aafb459e6e1a4953404cb0c0b1d.html

@@ -3,7 +3,7 @@
 <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.20"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>openPilotLog: src/classes Directory Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -25,6 +25,7 @@
 <table cellspacing="0" cellpadding="0">
  <tbody>
  <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo_text.png"/></td>
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">openPilotLog
    </div>
@@ -34,7 +35,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.20 -->
+<!-- Generated by Doxygen 1.8.17 -->
 <script type="text/javascript">
 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -92,7 +93,9 @@ $(document).ready(function(){initNavTree('dir_018e9aafb459e6e1a4953404cb0c0b1d.h
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_018e9aafb459e6e1a4953404cb0c0b1d.html">classes</a></li>
-    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
   </ul>
 </div>
 </body>

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません