Просмотр исходного кода

Added Documentation...

Documented LogbookWidget and HomeWidget
Felix Turo 3 лет назад
Родитель
Сommit
a9f10212ef
51 измененных файлов с 390 добавлено и 286 удалено
  1. 2 2
      docs/html/annotated.html
  2. 9 1
      docs/html/class_home_widget.html
  3. 1 1
      docs/html/class_logbook_widget-members.html
  4. 13 3
      docs/html/class_logbook_widget.html
  5. 3 0
      docs/html/functions.html
  6. 3 0
      docs/html/functions_func.html
  7. 2 2
      docs/html/hierarchy.html
  8. 53 53
      docs/html/homewidget_8h_source.html
  9. 1 1
      docs/html/index.html
  10. 46 47
      docs/html/logbookwidget_8h_source.html
  11. 11 11
      docs/html/search/all_10.js
  12. 3 3
      docs/html/search/all_11.js
  13. 4 4
      docs/html/search/all_12.js
  14. 9 8
      docs/html/search/all_f.js
  15. 19 19
      docs/html/search/classes_0.js
  16. 1 1
      docs/html/search/classes_1.js
  17. 2 2
      docs/html/search/classes_2.js
  18. 1 1
      docs/html/search/classes_3.js
  19. 1 1
      docs/html/search/classes_4.js
  20. 1 1
      docs/html/search/classes_5.js
  21. 3 3
      docs/html/search/classes_6.js
  22. 1 1
      docs/html/search/classes_7.js
  23. 2 2
      docs/html/search/classes_8.js
  24. 1 1
      docs/html/search/enums_0.js
  25. 4 4
      docs/html/search/functions_0.js
  26. 1 1
      docs/html/search/functions_1.js
  27. 7 7
      docs/html/search/functions_2.js
  28. 8 8
      docs/html/search/functions_3.js
  29. 1 1
      docs/html/search/functions_4.js
  30. 2 2
      docs/html/search/functions_5.js
  31. 18 18
      docs/html/search/functions_6.js
  32. 4 4
      docs/html/search/functions_7.js
  33. 1 1
      docs/html/search/functions_8.js
  34. 1 1
      docs/html/search/functions_9.js
  35. 4 4
      docs/html/search/functions_a.js
  36. 1 1
      docs/html/search/functions_b.js
  37. 11 10
      docs/html/search/functions_c.js
  38. 8 8
      docs/html/search/functions_d.js
  39. 2 2
      docs/html/search/functions_e.js
  40. 4 4
      docs/html/search/functions_f.js
  41. 2 2
      docs/html/search/namespaces_0.js
  42. 2 2
      docs/html/search/namespaces_1.js
  43. 1 1
      docs/html/search/pages_0.js
  44. 1 1
      docs/html/search/pages_1.js
  45. 2 2
      docs/html/settingswidget_8h_source.html
  46. 9 1
      docs/man/man3/HomeWidget.3
  47. 13 2
      docs/man/man3/LogbookWidget.3
  48. 20 2
      src/gui/widgets/homewidget.cpp
  49. 16 0
      src/gui/widgets/homewidget.h
  50. 44 23
      src/gui/widgets/logbookwidget.cpp
  51. 11 6
      src/gui/widgets/logbookwidget.h

+ 2 - 2
docs/html/annotated.html

@@ -113,8 +113,8 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
 <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_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">The <a class="el" href="class_home_widget.html" title="The HomeWidget is the welcome screen of the application.">HomeWidget</a> is the welcome screen of the application </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">The <a class="el" href="class_logbook_widget.html" title="The LogbookWidget displays data from the database in a QSqlTableView fed by a QSqlQuery Model.">LogbookWidget</a> displays data from the database in a QSqlTableView fed by a QSqlQuery Model </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>

+ 9 - 1
docs/html/class_home_widget.html

@@ -91,6 +91,11 @@ $(document).ready(function(){initNavTree('class_home_widget.html',''); initResiz
 <div class="title">HomeWidget Class Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
+
+<p>The <a class="el" href="class_home_widget.html" title="The HomeWidget is the welcome screen of the application.">HomeWidget</a> is the welcome screen of the application.  
+ <a href="class_home_widget.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="homewidget_8h_source.html">homewidget.h</a>&gt;</code></p>
 <div class="dynheader">
 Inheritance diagram for HomeWidget:</div>
 <div class="dyncontent">
@@ -110,7 +115,10 @@ Public Member Functions</h2></td></tr>
 &#160;</td><td class="memItemRight" valign="bottom"><b>HomeWidget</b> (QWidget *parent=nullptr)</td></tr>
 <tr class="separator:a3262f79ae4093c543e1b57fbd787fa49"><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_home_widget.html" title="The HomeWidget is the welcome screen of the application.">HomeWidget</a> is the welcome screen of the application. </p>
+<p>The <a class="el" href="class_home_widget.html" title="The HomeWidget is the welcome screen of the application.">HomeWidget</a> shows total flight times and a user-configurable set of currencies (expiry dates for licenses, ratings, medicals,...). Most data is provided by the AStat class and the <a class="el" href="struct_a_currency_entry.html">ACurrencyEntry</a> class. Notifications are provided by means of pop-up warnings on application start via QMessageBox and the INFO/WARN interfaces, as well as by colouring the labels according to the warning level (orange/red). </p>
+</div><hr/>The documentation for this class was generated from the following files:<ul>
 <li>src/gui/widgets/<a class="el" href="homewidget_8h_source.html">homewidget.h</a></li>
 <li>src/gui/widgets/homewidget.cpp</li>
 </ul>

+ 1 - 1
docs/html/class_logbook_widget-members.html

@@ -92,7 +92,7 @@ $(document).ready(function(){initNavTree('class_logbook_widget.html',''); initRe
 <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>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 class="even"><td class="entry"><a class="el" href="class_logbook_widget.html#a45048f4dd6ffb82da6a725503df97cf1">refresh</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 -->

+ 13 - 3
docs/html/class_logbook_widget.html

@@ -91,6 +91,11 @@ $(document).ready(function(){initNavTree('class_logbook_widget.html',''); initRe
 <div class="title">LogbookWidget Class Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
+
+<p>The <a class="el" href="class_logbook_widget.html" title="The LogbookWidget displays data from the database in a QSqlTableView fed by a QSqlQuery Model.">LogbookWidget</a> displays data from the database in a QSqlTableView fed by a QSqlQuery Model.  
+ <a href="class_logbook_widget.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="logbookwidget_8h_source.html">logbookwidget.h</a>&gt;</code></p>
 <div class="dynheader">
 Inheritance diagram for LogbookWidget:</div>
 <div class="dyncontent">
@@ -101,14 +106,15 @@ Inheritance diagram for LogbookWidget:</div>
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-slots"></a>
 Public Slots</h2></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>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_logbook_widget.html#a45048f4dd6ffb82da6a725503df97cf1">refresh</a> ()</td></tr>
+<tr class="memdesc:a45048f4dd6ffb82da6a725503df97cf1"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_logbook_widget.html#a45048f4dd6ffb82da6a725503df97cf1" title="LogbookWidget::refresh Refreshes the view to reflect changes in the database.">LogbookWidget::refresh</a> Refreshes the view to reflect changes in the database. <br /></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="memdesc:ac64b38cc2f5dd012ec1d12647457a8f1"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_logbook_widget.html#ac64b38cc2f5dd012ec1d12647457a8f1" title="LogbookWidget::repopulateModel (public slot) - cleanly re-populates the model to cater for a change t...">LogbookWidget::repopulateModel</a> (public slot) - cleanly re-populates the model to cater for a change to the database connection (for example, when a backup is created or restored) <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>
@@ -117,7 +123,11 @@ Public Member Functions</h2></td></tr>
 &#160;</td><td class="memItemRight" valign="bottom"><b>LogbookWidget</b> (QWidget *parent=nullptr)</td></tr>
 <tr class="separator:aaf8316b43f9bddae7c9ad5cb6b993887"><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_logbook_widget.html" title="The LogbookWidget displays data from the database in a QSqlTableView fed by a QSqlQuery Model.">LogbookWidget</a> displays data from the database in a QSqlTableView fed by a QSqlQuery Model. </p>
+<p>The <a class="el" href="class_logbook_widget.html" title="The LogbookWidget displays data from the database in a QSqlTableView fed by a QSqlQuery Model.">LogbookWidget</a> is the primary display interface for flights logged in the database. It fetches and stores flight data from the database via a QSqlQueryModel and displays it in a QTableView. With the way the flight data is written in the database, it would not be human-readable, so some processing is done on the database side to present a nicely formatted, human-readable display. This is achieved by means of a <a href="https://sqlite.org/lang_createview.html">SQL View</a>.</p>
+<p>The user can select a view from a list of available views in the <a class="el" href="class_settings_widget.html">SettingsWidget</a>. </p>
+</div><hr/>The documentation for this class was generated from the following files:<ul>
 <li>src/gui/widgets/<a class="el" href="logbookwidget_8h_source.html">logbookwidget.h</a></li>
 <li>src/gui/widgets/logbookwidget.cpp</li>
 </ul>

+ 3 - 0
docs/html/functions.html

@@ -242,6 +242,9 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
 
 
 <h3><a id="index_r"></a>- r -</h3><ul>
+<li>refresh()
+: <a class="el" href="class_logbook_widget.html#a45048f4dd6ffb82da6a725503df97cf1">LogbookWidget</a>
+</li>
 <li>remove()
 : <a class="el" href="class_a_database.html#a4903909a28daed708e1a335d3be4f57b">ADatabase</a>
 </li>

+ 3 - 0
docs/html/functions_func.html

@@ -242,6 +242,9 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl
 
 
 <h3><a id="index_r"></a>- r -</h3><ul>
+<li>refresh()
+: <a class="el" href="class_logbook_widget.html#a45048f4dd6ffb82da6a725503df97cf1">LogbookWidget</a>
+</li>
 <li>remove()
 : <a class="el" href="class_a_database.html#a4903909a28daed708e1a335d3be4f57b">ADatabase</a>
 </li>

+ 2 - 2
docs/html/hierarchy.html

@@ -120,8 +120,8 @@ $(document).ready(function(){initNavTree('hierarchy.html',''); initResizable();
 <tr id="row_13_0_" 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="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_13_1_"><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_backup_widget.html" target="_self">BackupWidget</a></td><td class="desc"></td></tr>
 <tr id="row_13_2_" 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="class_debug_widget.html" target="_self">DebugWidget</a></td><td class="desc"></td></tr>
-<tr id="row_13_3_"><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_home_widget.html" target="_self">HomeWidget</a></td><td class="desc"></td></tr>
-<tr id="row_13_4_" 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="class_logbook_widget.html" target="_self">LogbookWidget</a></td><td class="desc"></td></tr>
+<tr id="row_13_3_"><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_home_widget.html" target="_self">HomeWidget</a></td><td class="desc">The <a class="el" href="class_home_widget.html" title="The HomeWidget is the welcome screen of the application.">HomeWidget</a> is the welcome screen of the application </td></tr>
+<tr id="row_13_4_" 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="class_logbook_widget.html" target="_self">LogbookWidget</a></td><td class="desc">The <a class="el" href="class_logbook_widget.html" title="The LogbookWidget displays data from the database in a QSqlTableView fed by a QSqlQuery Model.">LogbookWidget</a> displays data from the database in a QSqlTableView fed by a QSqlQuery Model </td></tr>
 <tr id="row_13_5_"><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_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_13_6_" 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="class_settings_widget.html" target="_self">SettingsWidget</a></td><td class="desc"></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="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>

+ 53 - 53
docs/html/homewidget_8h_source.html

@@ -121,62 +121,62 @@ $(document).ready(function(){initNavTree('homewidget_8h_source.html',''); initRe
 <div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">class </span><a class="code" href="class_home_widget.html">HomeWidget</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; </div>
-<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="class_home_widget.html">   35</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_home_widget.html">HomeWidget</a> : <span class="keyword">public</span> QWidget</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;    Q_OBJECT</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">public</span>:</div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="keyword">explicit</span> <a class="code" href="class_home_widget.html">HomeWidget</a>(QWidget *parent = <span class="keyword">nullptr</span>);</div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    ~<a class="code" href="class_home_widget.html">HomeWidget</a>();</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">private</span>:</div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    Ui::HomeWidget *ui;</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;    QList&lt;QLabel*&gt; limitationDisplayLabels;</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    QDate          today;</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keywordtype">int</span>            currWarningThreshold;</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keywordtype">double</span>         ftlWarningThreshold;</div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="class_home_widget.html">   43</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_home_widget.html">HomeWidget</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_home_widget.html">HomeWidget</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_home_widget.html">HomeWidget</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="keywordtype">void</span> fillTotals();</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordtype">void</span> fillSelectedCurrencies();</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordtype">void</span> fillCurrencyTakeOffLanding();</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordtype">void</span> fillCurrency(ACurrencyEntry::CurrencyName currency_name, QLabel *display_label);</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keywordtype">void</span> fillLimitations();</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">enum class</span> Colour {Red, Orange, None};</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setLabelColour(QLabel* label, Colour colour)</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="keywordflow">switch</span> (colour) {</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keywordflow">case</span> Colour::None:</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;            label-&gt;setStyleSheet(QString());</div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;            <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <span class="keywordflow">case</span> Colour::Red:</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;            label-&gt;setStyleSheet(QStringLiteral(<span class="stringliteral">&quot;color: red&quot;</span>));</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;            <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <span class="keywordflow">case</span> Colour::Orange:</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;            label-&gt;setStyleSheet(QStringLiteral(<span class="stringliteral">&quot;color: orange&quot;</span>));</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;            <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;            label-&gt;setStyleSheet(QString());</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;            <span class="keywordflow">break</span>;</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; </div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> hideLabels(QLabel* label1, QLabel* label2) {</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        label1-&gt;hide();</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        label2-&gt;hide();</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; </div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keyword">const</span> QString userName();</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordtype">void</span> checkAllCurrencies();</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keyword">public</span> slots:</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="keywordtype">void</span> refresh();</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; </div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">#endif // HOMEWIDGET_H</span></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;    Ui::HomeWidget *ui;</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;    QList&lt;QLabel*&gt; limitationDisplayLabels;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    QDate          today;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keywordtype">int</span>            currWarningThreshold;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keywordtype">double</span>         ftlWarningThreshold;</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">void</span> fillTotals();</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keywordtype">void</span> fillSelectedCurrencies();</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordtype">void</span> fillCurrencyTakeOffLanding();</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keywordtype">void</span> fillCurrency(ACurrencyEntry::CurrencyName currency_name, QLabel *display_label);</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keywordtype">void</span> fillLimitations();</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;    <span class="keyword">enum class</span> Colour {Red, Orange, None};</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> setLabelColour(QLabel* label, Colour colour)</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;        <span class="keywordflow">switch</span> (colour) {</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        <span class="keywordflow">case</span> Colour::None:</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;            label-&gt;setStyleSheet(QString());</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;            <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="keywordflow">case</span> Colour::Red:</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;            label-&gt;setStyleSheet(QStringLiteral(<span class="stringliteral">&quot;color: red&quot;</span>));</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;            <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        <span class="keywordflow">case</span> Colour::Orange:</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;            label-&gt;setStyleSheet(QStringLiteral(<span class="stringliteral">&quot;color: orange&quot;</span>));</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;            <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;            label-&gt;setStyleSheet(QString());</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;            <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        }</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; </div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> hideLabels(QLabel* label1, QLabel* label2) {</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        label1-&gt;hide();</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        label2-&gt;hide();</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    }</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keyword">const</span> QString userName();</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <span class="keywordtype">void</span> checkAllCurrencies();</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">public</span> slots:</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keywordtype">void</span> refresh();</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;};</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="preprocessor">#endif // HOMEWIDGET_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="aclass_home_widget_html"><div class="ttname"><a href="class_home_widget.html">HomeWidget</a></div><div class="ttdef"><b>Definition:</b> homewidget.h:36</div></div>
+<div class="ttc" id="aclass_home_widget_html"><div class="ttname"><a href="class_home_widget.html">HomeWidget</a></div><div class="ttdoc">The HomeWidget is the welcome screen of the application.</div><div class="ttdef"><b>Definition:</b> homewidget.h:44</div></div>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>

+ 1 - 1
docs/html/index.html

@@ -115,7 +115,7 @@ Known issues</h2>
 Implementation Overview</h1>
 <p>Keeping a logbook of flights is a quintessential database task. This program could thus be seen as a user-friendly front-end to a database. The database is a sqlite3-Database, which is described in detail on the <a href="https://github.com/fiffty-50/openpilotlog/wiki/Database-Layout-and-Description">Database</a> Wiki Page.</p>
 <p>Access to the database is provided by the <a class="el" href="class_a_database.html" title="The DB class encapsulates the SQL database by providing fast access to hot database data.">ADatabase</a> Class, which is responsible for managing the database connection and creating and executing queries. Data is retreived from the database in form of <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> objects. The <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> class and its subclasses represent 'lines' in a database table. Internally, they are structs holding a <a href="https://doc.qt.io/qt-5/qmap.html">QMap&lt;QVariant, QVariant&gt;</a> with the key being the column name and the value its value. These Objects are then parsed by the different widgets and dialogues to read or write user-provided data.</p>
-<p>The database contents are displayed to the user in the different widgets. <b>Flights</b> are displayed in the <a class="el" href="class_logbook_widget.html">LogbookWidget</a>, <b>Pilots</b> in the <a class="el" href="class_pilots_widget.html" title="The PilotsWidget is used to view, edit, delete or add new pilots.">PilotsWidget</a> and <b>Aircraft</b> in the <a class="el" href="class_aircraft_widget.html" title="The AircraftWidget is used to view, edit, delete or add new tails.">AircraftWidget</a>. These widgets also give convenient access to the Dialogues (<a class="el" href="class_new_flight_dialog.html">NewFlightDialog</a>, <a class="el" href="class_new_pilot_dialog.html">NewPilotDialog</a>, <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>), enabling editing, adding or removing entries of their respective categories.</p>
+<p>The database contents are displayed to the user in the different widgets. <b>Flights</b> are displayed in the <a class="el" href="class_logbook_widget.html" title="The LogbookWidget displays data from the database in a QSqlTableView fed by a QSqlQuery Model.">LogbookWidget</a>, <b>Pilots</b> in the <a class="el" href="class_pilots_widget.html" title="The PilotsWidget is used to view, edit, delete or add new pilots.">PilotsWidget</a> and <b>Aircraft</b> in the <a class="el" href="class_aircraft_widget.html" title="The AircraftWidget is used to view, edit, delete or add new tails.">AircraftWidget</a>. These widgets also give convenient access to the Dialogues (<a class="el" href="class_new_flight_dialog.html">NewFlightDialog</a>, <a class="el" href="class_new_pilot_dialog.html">NewPilotDialog</a>, <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>), enabling editing, adding or removing entries of their respective categories.</p>
 <p>Widget class Elements of the User Interface dispay data from the database in a <a href="https://doc.qt.io/qt-5/qtableview.html">QTableView</a> with a <a href="https://doc.qt.io/qt-5.12/qsqlquerymodel.html">QSqlQueryModel</a>. Dialog class UI Elements receive and return <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> objects, which are read and written to and from the database via the <a class="el" href="class_a_database.html" title="The DB class encapsulates the SQL database by providing fast access to hot database data.">ADatabase</a> class.</p>
 <h1><a class="anchor" id="autotoc_md4"></a>
 Settings</h1>

+ 46 - 47
docs/html/logbookwidget_8h_source.html

@@ -120,56 +120,55 @@ $(document).ready(function(){initNavTree('logbookwidget_8h_source.html',''); ini
 <div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">class </span><a class="code" href="class_logbook_widget.html">LogbookWidget</a>;</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"><a class="line" href="class_logbook_widget.html">   34</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_logbook_widget.html">LogbookWidget</a> : <span class="keyword">public</span> QWidget</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;    Q_OBJECT</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">public</span>:</div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keyword">explicit</span> <a class="code" href="class_logbook_widget.html">LogbookWidget</a>(QWidget *parent = <span class="keyword">nullptr</span>);</div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    ~<a class="code" href="class_logbook_widget.html">LogbookWidget</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;<span class="keyword">private</span> slots:</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keywordtype">void</span> on_newFlightButton_clicked();</div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <span class="keywordtype">void</span> on_editFlightButton_clicked();</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keywordtype">void</span> on_deleteFlightPushButton_clicked();</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="keywordtype">void</span> on_showAllButton_clicked();</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <span class="keywordtype">void</span> flightsTableView_selectionChanged();</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keywordtype">void</span> on_tableView_customContextMenuRequested(<span class="keyword">const</span> QPoint &amp;pos);</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keywordtype">void</span> on_actionDelete_Flight_triggered();</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keywordtype">void</span> on_actionEdit_Flight_triggered();</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keywordtype">void</span> on_tableView_doubleClicked();</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordtype">void</span> on_flightSearchLlineEdit_textChanged(<span class="keyword">const</span> QString &amp;arg1);</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordtype">void</span> on_flightSearchComboBox_currentIndexChanged(<span class="keywordtype">int</span>);</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="keyword">public</span> slots:</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordtype">void</span> refresh();</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordtype">void</span> onLogbookWidget_viewSelectionChanged(<a class="code" href="class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4">SettingsWidget::SettingSignal</a> signal);</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_logbook_widget.html#ac64b38cc2f5dd012ec1d12647457a8f1">repopulateModel</a>();</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::LogbookWidget *ui;</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;    QTableView* view;</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;    QSqlTableModel* displayModel;</div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="class_logbook_widget.html">   45</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_logbook_widget.html">LogbookWidget</a> : <span class="keyword">public</span> QWidget</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;    Q_OBJECT</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">public</span>:</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keyword">explicit</span> <a class="code" href="class_logbook_widget.html">LogbookWidget</a>(QWidget *parent = <span class="keyword">nullptr</span>);</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    ~<a class="code" href="class_logbook_widget.html">LogbookWidget</a>();</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="keyword">private</span> slots:</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordtype">void</span> on_newFlightButton_clicked();</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keywordtype">void</span> on_editFlightButton_clicked();</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordtype">void</span> on_deleteFlightPushButton_clicked();</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordtype">void</span> on_showAllButton_clicked();</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordtype">void</span> flightsTableView_selectionChanged();</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keywordtype">void</span> on_tableView_customContextMenuRequested(<span class="keyword">const</span> QPoint &amp;pos);</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keywordtype">void</span> on_actionDelete_Flight_triggered();</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordtype">void</span> on_actionEdit_Flight_triggered();</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keywordtype">void</span> on_tableView_doubleClicked();</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordtype">void</span> on_flightSearchLlineEdit_textChanged(<span class="keyword">const</span> QString &amp;arg1);</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keywordtype">void</span> on_flightSearchComboBox_currentIndexChanged(<span class="keywordtype">int</span>);</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">public</span> slots:</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_logbook_widget.html#a45048f4dd6ffb82da6a725503df97cf1">refresh</a>();</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keywordtype">void</span> onLogbookWidget_viewSelectionChanged(<a class="code" href="class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4">SettingsWidget::SettingSignal</a> signal);</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_logbook_widget.html#ac64b38cc2f5dd012ec1d12647457a8f1">repopulateModel</a>();</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* selectionModel;</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;    QMenu* menu;</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;    QMessageBox* messageBox;</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;    QVector&lt;qint32&gt; selectedFlights;</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> setupModelAndView(<span class="keywordtype">int</span> view_id);</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keywordtype">void</span> connectSignalsAndSlots();</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; </div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#endif // LOGBOOKWIDGET_H</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    Ui::LogbookWidget *ui;</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;    QTableView* view;</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;    QSqlTableModel* displayModel;</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;    QItemSelectionModel* selectionModel;</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;    QMenu* menu;</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;    QVector&lt;qint32&gt; selectedFlights;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keywordtype">void</span> setupModelAndView(<span class="keywordtype">int</span> view_id);</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordtype">void</span> connectSignalsAndSlots();</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="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#endif // LOGBOOKWIDGET_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="aclass_logbook_widget_html"><div class="ttname"><a href="class_logbook_widget.html">LogbookWidget</a></div><div class="ttdef"><b>Definition:</b> logbookwidget.h:35</div></div>
-<div class="ttc" id="aclass_logbook_widget_html_ac64b38cc2f5dd012ec1d12647457a8f1"><div class="ttname"><a href="class_logbook_widget.html#ac64b38cc2f5dd012ec1d12647457a8f1">LogbookWidget::repopulateModel</a></div><div class="ttdeci">void repopulateModel()</div><div class="ttdoc">LogbookWidget::repopulateModel (public slot) - re-populates the model to cater for a change to the da...</div><div class="ttdef"><b>Definition:</b> logbookwidget.cpp:289</div></div>
+<div class="ttc" id="aclass_logbook_widget_html"><div class="ttname"><a href="class_logbook_widget.html">LogbookWidget</a></div><div class="ttdoc">The LogbookWidget displays data from the database in a QSqlTableView fed by a QSqlQuery Model.</div><div class="ttdef"><b>Definition:</b> logbookwidget.h:46</div></div>
+<div class="ttc" id="aclass_logbook_widget_html_ac64b38cc2f5dd012ec1d12647457a8f1"><div class="ttname"><a href="class_logbook_widget.html#ac64b38cc2f5dd012ec1d12647457a8f1">LogbookWidget::repopulateModel</a></div><div class="ttdeci">void repopulateModel()</div><div class="ttdoc">LogbookWidget::repopulateModel (public slot) - cleanly re-populates the model to cater for a change t...</div><div class="ttdef"><b>Definition:</b> logbookwidget.cpp:310</div></div>
+<div class="ttc" id="aclass_logbook_widget_html_a45048f4dd6ffb82da6a725503df97cf1"><div class="ttname"><a href="class_logbook_widget.html#a45048f4dd6ffb82da6a725503df97cf1">LogbookWidget::refresh</a></div><div class="ttdeci">void refresh()</div><div class="ttdoc">LogbookWidget::refresh Refreshes the view to reflect changes in the database.</div><div class="ttdef"><b>Definition:</b> logbookwidget.cpp:259</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>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->

+ 11 - 11
docs/html/search/all_10.js

@@ -1,14 +1,14 @@
 var searchData=
 [
-  ['setlogfilename_94',['setLogFileName',['../namespace_a_log.html#a1eeade2b758f2d452e40426f8d37c41a',1,'ALog']]],
-  ['settingchanged_95',['settingChanged',['../class_settings_widget.html#a0f6af11e71177c5f62ecd2ff325e8d2b',1,'SettingsWidget']]],
-  ['settingsignal_96',['SettingSignal',['../class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4',1,'SettingsWidget']]],
-  ['settingswidget_97',['SettingsWidget',['../class_settings_widget.html',1,'']]],
-  ['setup_98',['setup',['../class_a_settings.html#a383ea9d59ea8878ca873465eb19bbe85',1,'ASettings::setup()'],['../class_a_standard_paths.html#a233dfe0411b294e64da674ff9c898c62',1,'AStandardPaths::setup()'],['../class_a_style.html#ad061bf79f3e22640e78f8bb65ef0867c',1,'AStyle::setup()']]],
-  ['solarelevation_99',['solarElevation',['../namespace_a_calc.html#acfa830e821e2f9e20bebffda67d393b1',1,'ACalc']]],
-  ['sqliteversion_100',['sqliteVersion',['../class_a_database.html#a491415273a771dd7ea41452c331a34b0',1,'ADatabase']]],
-  ['stringofkey_101',['stringOfKey',['../class_a_settings.html#af88194014c7599e8c9fe488c5b1ebf99',1,'ASettings']]],
-  ['stringtominutes_102',['stringToMinutes',['../namespace_a_calc.html#a4c829bf747bcd84bf6b1efb3ab0201d1',1,'ACalc']]],
-  ['stylesheet_103',['StyleSheet',['../struct_style_sheet.html',1,'']]],
-  ['summary_104',['summary',['../class_a_flight_entry.html#a83b4a71633e5f3cd44e266d44f117412',1,'AFlightEntry']]]
+  ['setlogfilename_95',['setLogFileName',['../namespace_a_log.html#a1eeade2b758f2d452e40426f8d37c41a',1,'ALog']]],
+  ['settingchanged_96',['settingChanged',['../class_settings_widget.html#a0f6af11e71177c5f62ecd2ff325e8d2b',1,'SettingsWidget']]],
+  ['settingsignal_97',['SettingSignal',['../class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4',1,'SettingsWidget']]],
+  ['settingswidget_98',['SettingsWidget',['../class_settings_widget.html',1,'']]],
+  ['setup_99',['setup',['../class_a_settings.html#a383ea9d59ea8878ca873465eb19bbe85',1,'ASettings::setup()'],['../class_a_standard_paths.html#a233dfe0411b294e64da674ff9c898c62',1,'AStandardPaths::setup()'],['../class_a_style.html#ad061bf79f3e22640e78f8bb65ef0867c',1,'AStyle::setup()']]],
+  ['solarelevation_100',['solarElevation',['../namespace_a_calc.html#acfa830e821e2f9e20bebffda67d393b1',1,'ACalc']]],
+  ['sqliteversion_101',['sqliteVersion',['../class_a_database.html#a491415273a771dd7ea41452c331a34b0',1,'ADatabase']]],
+  ['stringofkey_102',['stringOfKey',['../class_a_settings.html#af88194014c7599e8c9fe488c5b1ebf99',1,'ASettings']]],
+  ['stringtominutes_103',['stringToMinutes',['../namespace_a_calc.html#a4c829bf747bcd84bf6b1efb3ab0201d1',1,'ACalc']]],
+  ['stylesheet_104',['StyleSheet',['../struct_style_sheet.html',1,'']]],
+  ['summary_105',['summary',['../class_a_flight_entry.html#a83b4a71633e5f3cd44e266d44f117412',1,'AFlightEntry']]]
 ];

+ 3 - 3
docs/html/search/all_11.js

@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['timenow_105',['timeNow',['../class_a_timer.html#af7ac842765bee55a3b1b266e3e4c97ba',1,'ATimer']]],
-  ['todo_20list_106',['Todo List',['../todo.html',1,'']]],
-  ['tostring_107',['toString',['../class_a_date.html#ae8a544f48462c8159748f98fe4684a56',1,'ADate']]]
+  ['timenow_106',['timeNow',['../class_a_timer.html#af7ac842765bee55a3b1b266e3e4c97ba',1,'ATimer']]],
+  ['todo_20list_107',['Todo List',['../todo.html',1,'']]],
+  ['tostring_108',['toString',['../class_a_date.html#ae8a544f48462c8159748f98fe4684a56',1,'ADate']]]
 ];

+ 4 - 4
docs/html/search/all_12.js

@@ -1,7 +1,7 @@
 var searchData=
 [
-  ['update_108',['update',['../class_a_database.html#a910bc0c1717e9301911343c082aa1aaa',1,'ADatabase']]],
-  ['updateautotimes_109',['updateAutoTimes',['../namespace_a_calc.html#a3f12e1f72eeb5cc1cfe9b7b6df47391c',1,'ACalc']]],
-  ['updatelayout_110',['updateLayout',['../class_a_database.html#a3c0fdc84000ad397d61f0efabd032194',1,'ADatabase']]],
-  ['updatenighttimes_111',['updateNightTimes',['../namespace_a_calc.html#adb7a8a84011affb4173bb59be4449b9d',1,'ACalc']]]
+  ['update_109',['update',['../class_a_database.html#a910bc0c1717e9301911343c082aa1aaa',1,'ADatabase']]],
+  ['updateautotimes_110',['updateAutoTimes',['../namespace_a_calc.html#a3f12e1f72eeb5cc1cfe9b7b6df47391c',1,'ACalc']]],
+  ['updatelayout_111',['updateLayout',['../class_a_database.html#a3c0fdc84000ad397d61f0efabd032194',1,'ADatabase']]],
+  ['updatenighttimes_112',['updateNightTimes',['../namespace_a_calc.html#adb7a8a84011affb4173bb59be4449b9d',1,'ACalc']]]
 ];

+ 9 - 8
docs/html/search/all_f.js

@@ -2,12 +2,13 @@ var searchData=
 [
   ['radtodeg_84',['radToDeg',['../namespace_a_calc.html#a2a540662e22840e4b58e8e760611b4f2',1,'ACalc']]],
   ['radtonauticalmiles_85',['radToNauticalMiles',['../namespace_a_calc.html#a37c52e8b522b233087b8c4d94f30fca5',1,'ACalc']]],
-  ['remove_86',['remove',['../class_a_database.html#a4903909a28daed708e1a335d3be4f57b',1,'ADatabase']]],
-  ['removemany_87',['removeMany',['../class_a_database.html#a863d30e9e3a7c14adfe72787363618c8',1,'ADatabase']]],
-  ['repopulatemodel_88',['repopulateModel',['../class_aircraft_widget.html#a1b1faca35af681e28472d0b84ad52c4f',1,'AircraftWidget::repopulateModel()'],['../class_logbook_widget.html#ac64b38cc2f5dd012ec1d12647457a8f1',1,'LogbookWidget::repopulateModel()'],['../class_pilots_widget.html#a4997160bff58f13ea78e5894dcbf61e2',1,'PilotsWidget::repopulateModel()']]],
-  ['resettodefault_89',['resetToDefault',['../class_a_data_base_setup.html#a89fee11dbb1510262a783ee97d946ab7',1,'ADataBaseSetup']]],
-  ['resettodefaults_90',['resetToDefaults',['../class_a_settings.html#a2dbc2e3510363c09e45223f4bbdc5e59',1,'ASettings']]],
-  ['resolveforeignpilot_91',['resolveForeignPilot',['../class_a_database.html#a4640a4348dad468a0ff65bad05b07227',1,'ADatabase']]],
-  ['resolveforeigntail_92',['resolveForeignTail',['../class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d',1,'ADatabase']]],
-  ['restorebackup_93',['restoreBackup',['../class_a_database.html#a0bda52064f005f1463e56b60cd23b164',1,'ADatabase']]]
+  ['refresh_86',['refresh',['../class_logbook_widget.html#a45048f4dd6ffb82da6a725503df97cf1',1,'LogbookWidget']]],
+  ['remove_87',['remove',['../class_a_database.html#a4903909a28daed708e1a335d3be4f57b',1,'ADatabase']]],
+  ['removemany_88',['removeMany',['../class_a_database.html#a863d30e9e3a7c14adfe72787363618c8',1,'ADatabase']]],
+  ['repopulatemodel_89',['repopulateModel',['../class_aircraft_widget.html#a1b1faca35af681e28472d0b84ad52c4f',1,'AircraftWidget::repopulateModel()'],['../class_logbook_widget.html#ac64b38cc2f5dd012ec1d12647457a8f1',1,'LogbookWidget::repopulateModel()'],['../class_pilots_widget.html#a4997160bff58f13ea78e5894dcbf61e2',1,'PilotsWidget::repopulateModel()']]],
+  ['resettodefault_90',['resetToDefault',['../class_a_data_base_setup.html#a89fee11dbb1510262a783ee97d946ab7',1,'ADataBaseSetup']]],
+  ['resettodefaults_91',['resetToDefaults',['../class_a_settings.html#a2dbc2e3510363c09e45223f4bbdc5e59',1,'ASettings']]],
+  ['resolveforeignpilot_92',['resolveForeignPilot',['../class_a_database.html#a4640a4348dad468a0ff65bad05b07227',1,'ADatabase']]],
+  ['resolveforeigntail_93',['resolveForeignTail',['../class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d',1,'ADatabase']]],
+  ['restorebackup_94',['restoreBackup',['../class_a_database.html#a0bda52064f005f1463e56b60cd23b164',1,'ADatabase']]]
 ];

+ 19 - 19
docs/html/search/classes_0.js

@@ -1,22 +1,22 @@
 var searchData=
 [
-  ['aaircraftentry_112',['AAircraftEntry',['../struct_a_aircraft_entry.html',1,'']]],
-  ['acurrencyentry_113',['ACurrencyEntry',['../struct_a_currency_entry.html',1,'']]],
-  ['adatabase_114',['ADatabase',['../class_a_database.html',1,'']]],
-  ['adatabaseerror_115',['ADatabaseError',['../class_a_database_error.html',1,'']]],
-  ['adatabasesetup_116',['ADataBaseSetup',['../class_a_data_base_setup.html',1,'']]],
-  ['adate_117',['ADate',['../class_a_date.html',1,'']]],
-  ['adownload_118',['ADownload',['../class_a_download.html',1,'']]],
-  ['aentry_119',['AEntry',['../class_a_entry.html',1,'']]],
-  ['afilestandarditem_120',['AFileStandardItem',['../class_a_file_standard_item.html',1,'']]],
-  ['aflightentry_121',['AFlightEntry',['../class_a_flight_entry.html',1,'']]],
-  ['aircraftwidget_122',['AircraftWidget',['../class_aircraft_widget.html',1,'']]],
-  ['anotificationhandler_123',['ANotificationHandler',['../class_opl_1_1_a_notification_handler.html',1,'Opl']]],
-  ['apilotentry_124',['APilotEntry',['../struct_a_pilot_entry.html',1,'']]],
-  ['arunguard_125',['ARunGuard',['../class_a_run_guard.html',1,'']]],
-  ['asettings_126',['ASettings',['../class_a_settings.html',1,'']]],
-  ['astandardpaths_127',['AStandardPaths',['../class_a_standard_paths.html',1,'']]],
-  ['astyle_128',['AStyle',['../class_a_style.html',1,'']]],
-  ['atailentry_129',['ATailEntry',['../struct_a_tail_entry.html',1,'']]],
-  ['atimer_130',['ATimer',['../class_a_timer.html',1,'']]]
+  ['aaircraftentry_113',['AAircraftEntry',['../struct_a_aircraft_entry.html',1,'']]],
+  ['acurrencyentry_114',['ACurrencyEntry',['../struct_a_currency_entry.html',1,'']]],
+  ['adatabase_115',['ADatabase',['../class_a_database.html',1,'']]],
+  ['adatabaseerror_116',['ADatabaseError',['../class_a_database_error.html',1,'']]],
+  ['adatabasesetup_117',['ADataBaseSetup',['../class_a_data_base_setup.html',1,'']]],
+  ['adate_118',['ADate',['../class_a_date.html',1,'']]],
+  ['adownload_119',['ADownload',['../class_a_download.html',1,'']]],
+  ['aentry_120',['AEntry',['../class_a_entry.html',1,'']]],
+  ['afilestandarditem_121',['AFileStandardItem',['../class_a_file_standard_item.html',1,'']]],
+  ['aflightentry_122',['AFlightEntry',['../class_a_flight_entry.html',1,'']]],
+  ['aircraftwidget_123',['AircraftWidget',['../class_aircraft_widget.html',1,'']]],
+  ['anotificationhandler_124',['ANotificationHandler',['../class_opl_1_1_a_notification_handler.html',1,'Opl']]],
+  ['apilotentry_125',['APilotEntry',['../struct_a_pilot_entry.html',1,'']]],
+  ['arunguard_126',['ARunGuard',['../class_a_run_guard.html',1,'']]],
+  ['asettings_127',['ASettings',['../class_a_settings.html',1,'']]],
+  ['astandardpaths_128',['AStandardPaths',['../class_a_standard_paths.html',1,'']]],
+  ['astyle_129',['AStyle',['../class_a_style.html',1,'']]],
+  ['atailentry_130',['ATailEntry',['../struct_a_tail_entry.html',1,'']]],
+  ['atimer_131',['ATimer',['../class_a_timer.html',1,'']]]
 ];

+ 1 - 1
docs/html/search/classes_1.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['backupwidget_131',['BackupWidget',['../class_backup_widget.html',1,'']]]
+  ['backupwidget_132',['BackupWidget',['../class_backup_widget.html',1,'']]]
 ];

+ 2 - 2
docs/html/search/classes_2.js

@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['dataposition_132',['DataPosition',['../struct_data_position.html',1,'']]],
-  ['debugwidget_133',['DebugWidget',['../class_debug_widget.html',1,'']]]
+  ['dataposition_133',['DataPosition',['../struct_data_position.html',1,'']]],
+  ['debugwidget_134',['DebugWidget',['../class_debug_widget.html',1,'']]]
 ];

+ 1 - 1
docs/html/search/classes_3.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['firstrundialog_134',['FirstRunDialog',['../class_first_run_dialog.html',1,'']]]
+  ['firstrundialog_135',['FirstRunDialog',['../class_first_run_dialog.html',1,'']]]
 ];

+ 1 - 1
docs/html/search/classes_4.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['homewidget_135',['HomeWidget',['../class_home_widget.html',1,'']]]
+  ['homewidget_136',['HomeWidget',['../class_home_widget.html',1,'']]]
 ];

+ 1 - 1
docs/html/search/classes_5.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['logbookwidget_136',['LogbookWidget',['../class_logbook_widget.html',1,'']]]
+  ['logbookwidget_137',['LogbookWidget',['../class_logbook_widget.html',1,'']]]
 ];

+ 3 - 3
docs/html/search/classes_6.js

@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['newflightdialog_137',['NewFlightDialog',['../class_new_flight_dialog.html',1,'']]],
-  ['newpilotdialog_138',['NewPilotDialog',['../class_new_pilot_dialog.html',1,'']]],
-  ['newtaildialog_139',['NewTailDialog',['../class_new_tail_dialog.html',1,'']]]
+  ['newflightdialog_138',['NewFlightDialog',['../class_new_flight_dialog.html',1,'']]],
+  ['newpilotdialog_139',['NewPilotDialog',['../class_new_pilot_dialog.html',1,'']]],
+  ['newtaildialog_140',['NewTailDialog',['../class_new_tail_dialog.html',1,'']]]
 ];

+ 1 - 1
docs/html/search/classes_7.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['pilotswidget_140',['PilotsWidget',['../class_pilots_widget.html',1,'']]]
+  ['pilotswidget_141',['PilotsWidget',['../class_pilots_widget.html',1,'']]]
 ];

+ 2 - 2
docs/html/search/classes_8.js

@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['settingswidget_141',['SettingsWidget',['../class_settings_widget.html',1,'']]],
-  ['stylesheet_142',['StyleSheet',['../struct_style_sheet.html',1,'']]]
+  ['settingswidget_142',['SettingsWidget',['../class_settings_widget.html',1,'']]],
+  ['stylesheet_143',['StyleSheet',['../struct_style_sheet.html',1,'']]]
 ];

+ 1 - 1
docs/html/search/enums_0.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['settingsignal_223',['SettingSignal',['../class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4',1,'SettingsWidget']]]
+  ['settingsignal_225',['SettingSignal',['../class_settings_widget.html#af15eec9fd55841ec02041a1114da54d4',1,'SettingsWidget']]]
 ];

+ 4 - 4
docs/html/search/functions_0.js

@@ -1,7 +1,7 @@
 var searchData=
 [
-  ['acurrencyentry_147',['ACurrencyEntry',['../struct_a_currency_entry.html#a265f7221f59bfe58cf79f8856e4b9d06',1,'ACurrencyEntry']]],
-  ['alldirectories_148',['allDirectories',['../class_a_standard_paths.html#a775a7f2d7d99e8b7d29cc91c33c08ba8',1,'AStandardPaths']]],
-  ['amessagehandler_149',['aMessageHandler',['../namespace_a_log.html#a421bd504f26d924e0557d6359d853f69',1,'ALog']]],
-  ['aschildofdir_150',['asChildOfDir',['../class_a_standard_paths.html#a43937baa78a53e1427e23f533024221b',1,'AStandardPaths']]]
+  ['acurrencyentry_148',['ACurrencyEntry',['../struct_a_currency_entry.html#a265f7221f59bfe58cf79f8856e4b9d06',1,'ACurrencyEntry']]],
+  ['alldirectories_149',['allDirectories',['../class_a_standard_paths.html#a775a7f2d7d99e8b7d29cc91c33c08ba8',1,'AStandardPaths']]],
+  ['amessagehandler_150',['aMessageHandler',['../namespace_a_log.html#a421bd504f26d924e0557d6359d853f69',1,'ALog']]],
+  ['aschildofdir_151',['asChildOfDir',['../class_a_standard_paths.html#a43937baa78a53e1427e23f533024221b',1,'AStandardPaths']]]
 ];

+ 1 - 1
docs/html/search/functions_1.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['blocktime_151',['blocktime',['../namespace_a_calc.html#a8ac68999097f2e28a3b4bd2709b5b19f',1,'ACalc']]]
+  ['blocktime_152',['blocktime',['../namespace_a_calc.html#a8ac68999097f2e28a3b4bd2709b5b19f',1,'ACalc']]]
 ];

+ 7 - 7
docs/html/search/functions_2.js

@@ -1,10 +1,10 @@
 var searchData=
 [
-  ['calculatenighttime_152',['calculateNightTime',['../namespace_a_calc.html#a55ede99d0f9f6e8a2f3a467859c0f192',1,'ACalc']]],
-  ['commit_153',['commit',['../class_a_database.html#a652472c747c0ce68940b17c9c23666dd',1,'ADatabase']]],
-  ['commitdata_154',['commitData',['../class_a_data_base_setup.html#a7108c7f8fd28ff33df095062c5ab40c3',1,'ADataBaseSetup']]],
-  ['connect_155',['connect',['../class_a_database.html#aa6080200aa3f229251480bc416755fed',1,'ADatabase']]],
-  ['connectionreset_156',['connectionReset',['../class_a_database.html#a0f0bffbb6cdd79975b7b5ca6c0db31a7',1,'ADatabase']]],
-  ['createbackup_157',['createBackup',['../class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99',1,'ADatabase']]],
-  ['customquery_158',['customQuery',['../class_a_database.html#a2a43936d3ae28993f9f7eda0fdf4664d',1,'ADatabase']]]
+  ['calculatenighttime_153',['calculateNightTime',['../namespace_a_calc.html#a55ede99d0f9f6e8a2f3a467859c0f192',1,'ACalc']]],
+  ['commit_154',['commit',['../class_a_database.html#a652472c747c0ce68940b17c9c23666dd',1,'ADatabase']]],
+  ['commitdata_155',['commitData',['../class_a_data_base_setup.html#a7108c7f8fd28ff33df095062c5ab40c3',1,'ADataBaseSetup']]],
+  ['connect_156',['connect',['../class_a_database.html#aa6080200aa3f229251480bc416755fed',1,'ADatabase']]],
+  ['connectionreset_157',['connectionReset',['../class_a_database.html#a0f0bffbb6cdd79975b7b5ca6c0db31a7',1,'ADatabase']]],
+  ['createbackup_158',['createBackup',['../class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99',1,'ADatabase']]],
+  ['customquery_159',['customQuery',['../class_a_database.html#a2a43936d3ae28993f9f7eda0fdf4664d',1,'ADatabase']]]
 ];

+ 8 - 8
docs/html/search/functions_3.js

@@ -1,11 +1,11 @@
 var searchData=
 [
-  ['database_159',['database',['../class_a_database.html#a2379c9da900da8e96add932e4024389a',1,'ADatabase']]],
-  ['databasesummary_160',['databaseSummary',['../class_a_database.html#a56baf4eaf25922030f3cfa6906963f7c',1,'ADatabase']]],
-  ['databaseupdated_161',['dataBaseUpdated',['../class_a_database.html#a5ed8c010ccc022687ce903cfde8ae911',1,'ADatabase']]],
-  ['debug_162',['debug',['../class_a_data_base_setup.html#ac9c061c0d18777537dcf6273683c5468',1,'ADataBaseSetup']]],
-  ['degtorad_163',['degToRad',['../namespace_a_calc.html#acafe6c0bede38e737937e2062fd93c71',1,'ACalc']]],
-  ['deleteoldlogs_164',['deleteOldLogs',['../namespace_a_log.html#ae110fbae5b42a1dd106a9c53be104b13',1,'ALog']]],
-  ['directory_165',['directory',['../class_a_standard_paths.html#a0df7e02331fdf09a81951657d52e0ebe',1,'AStandardPaths']]],
-  ['disconnect_166',['disconnect',['../class_a_database.html#abc461aaa66304ca638e546f67a694935',1,'ADatabase']]]
+  ['database_160',['database',['../class_a_database.html#a2379c9da900da8e96add932e4024389a',1,'ADatabase']]],
+  ['databasesummary_161',['databaseSummary',['../class_a_database.html#a56baf4eaf25922030f3cfa6906963f7c',1,'ADatabase']]],
+  ['databaseupdated_162',['dataBaseUpdated',['../class_a_database.html#a5ed8c010ccc022687ce903cfde8ae911',1,'ADatabase']]],
+  ['debug_163',['debug',['../class_a_data_base_setup.html#ac9c061c0d18777537dcf6273683c5468',1,'ADataBaseSetup']]],
+  ['degtorad_164',['degToRad',['../namespace_a_calc.html#acafe6c0bede38e737937e2062fd93c71',1,'ACalc']]],
+  ['deleteoldlogs_165',['deleteOldLogs',['../namespace_a_log.html#ae110fbae5b42a1dd106a9c53be104b13',1,'ALog']]],
+  ['directory_166',['directory',['../class_a_standard_paths.html#a0df7e02331fdf09a81951657d52e0ebe',1,'AStandardPaths']]],
+  ['disconnect_167',['disconnect',['../class_a_database.html#abc461aaa66304ca638e546f67a694935',1,'ADatabase']]]
 ];

+ 1 - 1
docs/html/search/functions_4.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['exists_167',['exists',['../class_a_database.html#a24f938e4c8d20afddb5e5651e041a7a6',1,'ADatabase']]]
+  ['exists_168',['exists',['../class_a_database.html#a24f938e4c8d20afddb5e5651e041a7a6',1,'ADatabase']]]
 ];

+ 2 - 2
docs/html/search/functions_5.js

@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['formatinput_168',['formatInput',['../class_a_date.html#aa1c79d62d44ab503ccbc984f6f681a2d',1,'ADate']]],
-  ['formattimeinput_169',['formatTimeInput',['../namespace_a_calc.html#ad088e5dd93d1938ff97f88032dc0adec',1,'ACalc']]]
+  ['formatinput_169',['formatInput',['../class_a_date.html#aa1c79d62d44ab503ccbc984f6f681a2d',1,'ADate']]],
+  ['formattimeinput_170',['formatTimeInput',['../namespace_a_calc.html#ad088e5dd93d1938ff97f88032dc0adec',1,'ACalc']]]
 ];

+ 18 - 18
docs/html/search/functions_6.js

@@ -1,21 +1,21 @@
 var searchData=
 [
-  ['getaircraftentry_170',['getAircraftEntry',['../class_a_database.html#ae0a3c9273431195df6295b9da24b3a3a',1,'ADatabase']]],
-  ['getcompletionlist_171',['getCompletionList',['../class_a_database.html#a89de409c1828125363f46f384df47359',1,'ADatabase']]],
-  ['getcurrencyentry_172',['getCurrencyEntry',['../class_a_database.html#a5abdf1f35468f788609252c7a3be7bc4',1,'ADatabase']]],
-  ['getentry_173',['getEntry',['../class_a_database.html#a8959b406b97d9520981890d92850b1ba',1,'ADatabase']]],
-  ['getentrydata_174',['getEntryData',['../class_a_database.html#afc39f6136fc822e0649964fa22b84bf9',1,'ADatabase']]],
-  ['getflightentry_175',['getFlightEntry',['../class_a_database.html#a7bb44738362582e4f54f68e3aa30d40a',1,'ADatabase']]],
-  ['getforeignkeyconstraints_176',['getForeignKeyConstraints',['../class_a_database.html#a6006c47c82b2c72f7ab6b5cc319c5fbf',1,'ADatabase']]],
-  ['getidmap_177',['getIdMap',['../class_a_database.html#a5dba46567089112b28b16aaf985af0ba',1,'ADatabase']]],
-  ['getlastentry_178',['getLastEntry',['../class_a_database.html#a264fea56cd3fbc31463c587f196ce576',1,'ADatabase']]],
-  ['getpilotentry_179',['getPilotEntry',['../class_a_database.html#a426026d641a594863995ec5db8312259',1,'ADatabase']]],
-  ['getpilotname_180',['getPilotName',['../class_a_flight_entry.html#a24e526b17cedbe7fdf5af3a1ebe58648',1,'AFlightEntry']]],
-  ['getregistration_181',['getRegistration',['../class_a_flight_entry.html#a603aa9ca029e7d3ecbe77d40e02b8b1c',1,'AFlightEntry']]],
-  ['gettablecolumns_182',['getTableColumns',['../class_a_database.html#ad977866124a3c7f7184e165c02a68931',1,'ADatabase']]],
-  ['gettablenames_183',['getTableNames',['../class_a_database.html#a4f0df6cc04e6d9b563db874a989ebc61',1,'ADatabase']]],
-  ['gettailentry_184',['getTailEntry',['../class_a_database.html#a356df159542705635dc3898d90682039',1,'ADatabase']]],
-  ['greatcircledistance_185',['greatCircleDistance',['../namespace_a_calc.html#a72c6fca35602a24ff8435f86abdc78d7',1,'ACalc']]],
-  ['greatcircledistancebetweenairports_186',['greatCircleDistanceBetweenAirports',['../namespace_a_calc.html#a2d15bbb67e99d502e2fd730c47854a9f',1,'ACalc']]],
-  ['groupofkey_187',['groupOfKey',['../class_a_settings.html#a6fc09922de0182271c6c1ff001792da1',1,'ASettings']]]
+  ['getaircraftentry_171',['getAircraftEntry',['../class_a_database.html#ae0a3c9273431195df6295b9da24b3a3a',1,'ADatabase']]],
+  ['getcompletionlist_172',['getCompletionList',['../class_a_database.html#a89de409c1828125363f46f384df47359',1,'ADatabase']]],
+  ['getcurrencyentry_173',['getCurrencyEntry',['../class_a_database.html#a5abdf1f35468f788609252c7a3be7bc4',1,'ADatabase']]],
+  ['getentry_174',['getEntry',['../class_a_database.html#a8959b406b97d9520981890d92850b1ba',1,'ADatabase']]],
+  ['getentrydata_175',['getEntryData',['../class_a_database.html#afc39f6136fc822e0649964fa22b84bf9',1,'ADatabase']]],
+  ['getflightentry_176',['getFlightEntry',['../class_a_database.html#a7bb44738362582e4f54f68e3aa30d40a',1,'ADatabase']]],
+  ['getforeignkeyconstraints_177',['getForeignKeyConstraints',['../class_a_database.html#a6006c47c82b2c72f7ab6b5cc319c5fbf',1,'ADatabase']]],
+  ['getidmap_178',['getIdMap',['../class_a_database.html#a5dba46567089112b28b16aaf985af0ba',1,'ADatabase']]],
+  ['getlastentry_179',['getLastEntry',['../class_a_database.html#a264fea56cd3fbc31463c587f196ce576',1,'ADatabase']]],
+  ['getpilotentry_180',['getPilotEntry',['../class_a_database.html#a426026d641a594863995ec5db8312259',1,'ADatabase']]],
+  ['getpilotname_181',['getPilotName',['../class_a_flight_entry.html#a24e526b17cedbe7fdf5af3a1ebe58648',1,'AFlightEntry']]],
+  ['getregistration_182',['getRegistration',['../class_a_flight_entry.html#a603aa9ca029e7d3ecbe77d40e02b8b1c',1,'AFlightEntry']]],
+  ['gettablecolumns_183',['getTableColumns',['../class_a_database.html#ad977866124a3c7f7184e165c02a68931',1,'ADatabase']]],
+  ['gettablenames_184',['getTableNames',['../class_a_database.html#a4f0df6cc04e6d9b563db874a989ebc61',1,'ADatabase']]],
+  ['gettailentry_185',['getTailEntry',['../class_a_database.html#a356df159542705635dc3898d90682039',1,'ADatabase']]],
+  ['greatcircledistance_186',['greatCircleDistance',['../namespace_a_calc.html#a72c6fca35602a24ff8435f86abdc78d7',1,'ACalc']]],
+  ['greatcircledistancebetweenairports_187',['greatCircleDistanceBetweenAirports',['../namespace_a_calc.html#a2d15bbb67e99d502e2fd730c47854a9f',1,'ACalc']]],
+  ['groupofkey_188',['groupOfKey',['../class_a_settings.html#a6fc09922de0182271c6c1ff001792da1',1,'ASettings']]]
 ];

+ 4 - 4
docs/html/search/functions_7.js

@@ -1,7 +1,7 @@
 var searchData=
 [
-  ['init_188',['init',['../namespace_a_log.html#ac797ea9883ac75b58c2b08a64bcc26d7',1,'ALog']]],
-  ['insert_189',['insert',['../class_a_database.html#a4ecb6d0c9b3813c90b3165c993e69ad5',1,'ADatabase']]],
-  ['intermediatepointsongreatcircle_190',['intermediatePointsOnGreatCircle',['../namespace_a_calc.html#a4a071a5788f00c98834127f9c5721383',1,'ACalc']]],
-  ['isvalid_191',['isValid',['../struct_a_currency_entry.html#a17202e44445755d9136335201758a8d4',1,'ACurrencyEntry']]]
+  ['init_189',['init',['../namespace_a_log.html#ac797ea9883ac75b58c2b08a64bcc26d7',1,'ALog']]],
+  ['insert_190',['insert',['../class_a_database.html#a4ecb6d0c9b3813c90b3165c993e69ad5',1,'ADatabase']]],
+  ['intermediatepointsongreatcircle_191',['intermediatePointsOnGreatCircle',['../namespace_a_calc.html#a4a071a5788f00c98834127f9c5721383',1,'ACalc']]],
+  ['isvalid_192',['isValid',['../struct_a_currency_entry.html#a17202e44445755d9136335201758a8d4',1,'ACurrencyEntry']]]
 ];

+ 1 - 1
docs/html/search/functions_8.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['minutestostring_192',['minutesToString',['../namespace_a_calc.html#ac5e39b538ea3663556c820d237f242a2',1,'ACalc']]]
+  ['minutestostring_193',['minutesToString',['../namespace_a_calc.html#ac5e39b538ea3663556c820d237f242a2',1,'ACalc']]]
 ];

+ 1 - 1
docs/html/search/functions_9.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['newflightdialog_193',['NewFlightDialog',['../class_new_flight_dialog.html#a28d14d3bf3c2a283c43456a25d97899d',1,'NewFlightDialog::NewFlightDialog(QWidget *parent=nullptr)'],['../class_new_flight_dialog.html#ad60b284ebebae287c00f0c9f30105f28',1,'NewFlightDialog::NewFlightDialog(int row_id, QWidget *parent=nullptr)']]]
+  ['newflightdialog_194',['NewFlightDialog',['../class_new_flight_dialog.html#a28d14d3bf3c2a283c43456a25d97899d',1,'NewFlightDialog::NewFlightDialog(QWidget *parent=nullptr)'],['../class_new_flight_dialog.html#ad60b284ebebae287c00f0c9f30105f28',1,'NewFlightDialog::NewFlightDialog(int row_id, QWidget *parent=nullptr)']]]
 ];

+ 4 - 4
docs/html/search/functions_a.js

@@ -1,7 +1,7 @@
 var searchData=
 [
-  ['onaircraftwidget_5fdatabaseupdated_194',['onAircraftWidget_dataBaseUpdated',['../class_aircraft_widget.html#ac5a5e720c80e49796930f8715b0a51e0',1,'AircraftWidget']]],
-  ['onaircraftwidget_5fsettingchanged_195',['onAircraftWidget_settingChanged',['../class_aircraft_widget.html#a8e78830530971eeb4a3913b1d8356498',1,'AircraftWidget']]],
-  ['onpilotswidget_5fdatabaseupdated_196',['onPilotsWidget_databaseUpdated',['../class_pilots_widget.html#abbcd659b4eb6ed17a7d484138b319fab',1,'PilotsWidget']]],
-  ['onpilotswidget_5fsettingchanged_197',['onPilotsWidget_settingChanged',['../class_pilots_widget.html#a201b8f8af06bfd1a8716dbc052a0927f',1,'PilotsWidget']]]
+  ['onaircraftwidget_5fdatabaseupdated_195',['onAircraftWidget_dataBaseUpdated',['../class_aircraft_widget.html#ac5a5e720c80e49796930f8715b0a51e0',1,'AircraftWidget']]],
+  ['onaircraftwidget_5fsettingchanged_196',['onAircraftWidget_settingChanged',['../class_aircraft_widget.html#a8e78830530971eeb4a3913b1d8356498',1,'AircraftWidget']]],
+  ['onpilotswidget_5fdatabaseupdated_197',['onPilotsWidget_databaseUpdated',['../class_pilots_widget.html#abbcd659b4eb6ed17a7d484138b319fab',1,'PilotsWidget']]],
+  ['onpilotswidget_5fsettingchanged_198',['onPilotsWidget_settingChanged',['../class_pilots_widget.html#a201b8f8af06bfd1a8716dbc052a0927f',1,'PilotsWidget']]]
 ];

+ 1 - 1
docs/html/search/functions_b.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['qtimetominutes_198',['QTimeToMinutes',['../namespace_a_calc.html#a9568b0d72cd6b0f91f686342bc624e1f',1,'ACalc']]]
+  ['qtimetominutes_199',['QTimeToMinutes',['../namespace_a_calc.html#a9568b0d72cd6b0f91f686342bc624e1f',1,'ACalc']]]
 ];

+ 11 - 10
docs/html/search/functions_c.js

@@ -1,13 +1,14 @@
 var searchData=
 [
-  ['radtodeg_199',['radToDeg',['../namespace_a_calc.html#a2a540662e22840e4b58e8e760611b4f2',1,'ACalc']]],
-  ['radtonauticalmiles_200',['radToNauticalMiles',['../namespace_a_calc.html#a37c52e8b522b233087b8c4d94f30fca5',1,'ACalc']]],
-  ['remove_201',['remove',['../class_a_database.html#a4903909a28daed708e1a335d3be4f57b',1,'ADatabase']]],
-  ['removemany_202',['removeMany',['../class_a_database.html#a863d30e9e3a7c14adfe72787363618c8',1,'ADatabase']]],
-  ['repopulatemodel_203',['repopulateModel',['../class_aircraft_widget.html#a1b1faca35af681e28472d0b84ad52c4f',1,'AircraftWidget::repopulateModel()'],['../class_logbook_widget.html#ac64b38cc2f5dd012ec1d12647457a8f1',1,'LogbookWidget::repopulateModel()'],['../class_pilots_widget.html#a4997160bff58f13ea78e5894dcbf61e2',1,'PilotsWidget::repopulateModel()']]],
-  ['resettodefault_204',['resetToDefault',['../class_a_data_base_setup.html#a89fee11dbb1510262a783ee97d946ab7',1,'ADataBaseSetup']]],
-  ['resettodefaults_205',['resetToDefaults',['../class_a_settings.html#a2dbc2e3510363c09e45223f4bbdc5e59',1,'ASettings']]],
-  ['resolveforeignpilot_206',['resolveForeignPilot',['../class_a_database.html#a4640a4348dad468a0ff65bad05b07227',1,'ADatabase']]],
-  ['resolveforeigntail_207',['resolveForeignTail',['../class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d',1,'ADatabase']]],
-  ['restorebackup_208',['restoreBackup',['../class_a_database.html#a0bda52064f005f1463e56b60cd23b164',1,'ADatabase']]]
+  ['radtodeg_200',['radToDeg',['../namespace_a_calc.html#a2a540662e22840e4b58e8e760611b4f2',1,'ACalc']]],
+  ['radtonauticalmiles_201',['radToNauticalMiles',['../namespace_a_calc.html#a37c52e8b522b233087b8c4d94f30fca5',1,'ACalc']]],
+  ['refresh_202',['refresh',['../class_logbook_widget.html#a45048f4dd6ffb82da6a725503df97cf1',1,'LogbookWidget']]],
+  ['remove_203',['remove',['../class_a_database.html#a4903909a28daed708e1a335d3be4f57b',1,'ADatabase']]],
+  ['removemany_204',['removeMany',['../class_a_database.html#a863d30e9e3a7c14adfe72787363618c8',1,'ADatabase']]],
+  ['repopulatemodel_205',['repopulateModel',['../class_aircraft_widget.html#a1b1faca35af681e28472d0b84ad52c4f',1,'AircraftWidget::repopulateModel()'],['../class_logbook_widget.html#ac64b38cc2f5dd012ec1d12647457a8f1',1,'LogbookWidget::repopulateModel()'],['../class_pilots_widget.html#a4997160bff58f13ea78e5894dcbf61e2',1,'PilotsWidget::repopulateModel()']]],
+  ['resettodefault_206',['resetToDefault',['../class_a_data_base_setup.html#a89fee11dbb1510262a783ee97d946ab7',1,'ADataBaseSetup']]],
+  ['resettodefaults_207',['resetToDefaults',['../class_a_settings.html#a2dbc2e3510363c09e45223f4bbdc5e59',1,'ASettings']]],
+  ['resolveforeignpilot_208',['resolveForeignPilot',['../class_a_database.html#a4640a4348dad468a0ff65bad05b07227',1,'ADatabase']]],
+  ['resolveforeigntail_209',['resolveForeignTail',['../class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d',1,'ADatabase']]],
+  ['restorebackup_210',['restoreBackup',['../class_a_database.html#a0bda52064f005f1463e56b60cd23b164',1,'ADatabase']]]
 ];

+ 8 - 8
docs/html/search/functions_d.js

@@ -1,11 +1,11 @@
 var searchData=
 [
-  ['setlogfilename_209',['setLogFileName',['../namespace_a_log.html#a1eeade2b758f2d452e40426f8d37c41a',1,'ALog']]],
-  ['settingchanged_210',['settingChanged',['../class_settings_widget.html#a0f6af11e71177c5f62ecd2ff325e8d2b',1,'SettingsWidget']]],
-  ['setup_211',['setup',['../class_a_settings.html#a383ea9d59ea8878ca873465eb19bbe85',1,'ASettings::setup()'],['../class_a_standard_paths.html#a233dfe0411b294e64da674ff9c898c62',1,'AStandardPaths::setup()'],['../class_a_style.html#ad061bf79f3e22640e78f8bb65ef0867c',1,'AStyle::setup()']]],
-  ['solarelevation_212',['solarElevation',['../namespace_a_calc.html#acfa830e821e2f9e20bebffda67d393b1',1,'ACalc']]],
-  ['sqliteversion_213',['sqliteVersion',['../class_a_database.html#a491415273a771dd7ea41452c331a34b0',1,'ADatabase']]],
-  ['stringofkey_214',['stringOfKey',['../class_a_settings.html#af88194014c7599e8c9fe488c5b1ebf99',1,'ASettings']]],
-  ['stringtominutes_215',['stringToMinutes',['../namespace_a_calc.html#a4c829bf747bcd84bf6b1efb3ab0201d1',1,'ACalc']]],
-  ['summary_216',['summary',['../class_a_flight_entry.html#a83b4a71633e5f3cd44e266d44f117412',1,'AFlightEntry']]]
+  ['setlogfilename_211',['setLogFileName',['../namespace_a_log.html#a1eeade2b758f2d452e40426f8d37c41a',1,'ALog']]],
+  ['settingchanged_212',['settingChanged',['../class_settings_widget.html#a0f6af11e71177c5f62ecd2ff325e8d2b',1,'SettingsWidget']]],
+  ['setup_213',['setup',['../class_a_settings.html#a383ea9d59ea8878ca873465eb19bbe85',1,'ASettings::setup()'],['../class_a_standard_paths.html#a233dfe0411b294e64da674ff9c898c62',1,'AStandardPaths::setup()'],['../class_a_style.html#ad061bf79f3e22640e78f8bb65ef0867c',1,'AStyle::setup()']]],
+  ['solarelevation_214',['solarElevation',['../namespace_a_calc.html#acfa830e821e2f9e20bebffda67d393b1',1,'ACalc']]],
+  ['sqliteversion_215',['sqliteVersion',['../class_a_database.html#a491415273a771dd7ea41452c331a34b0',1,'ADatabase']]],
+  ['stringofkey_216',['stringOfKey',['../class_a_settings.html#af88194014c7599e8c9fe488c5b1ebf99',1,'ASettings']]],
+  ['stringtominutes_217',['stringToMinutes',['../namespace_a_calc.html#a4c829bf747bcd84bf6b1efb3ab0201d1',1,'ACalc']]],
+  ['summary_218',['summary',['../class_a_flight_entry.html#a83b4a71633e5f3cd44e266d44f117412',1,'AFlightEntry']]]
 ];

+ 2 - 2
docs/html/search/functions_e.js

@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['timenow_217',['timeNow',['../class_a_timer.html#af7ac842765bee55a3b1b266e3e4c97ba',1,'ATimer']]],
-  ['tostring_218',['toString',['../class_a_date.html#ae8a544f48462c8159748f98fe4684a56',1,'ADate']]]
+  ['timenow_219',['timeNow',['../class_a_timer.html#af7ac842765bee55a3b1b266e3e4c97ba',1,'ATimer']]],
+  ['tostring_220',['toString',['../class_a_date.html#ae8a544f48462c8159748f98fe4684a56',1,'ADate']]]
 ];

+ 4 - 4
docs/html/search/functions_f.js

@@ -1,7 +1,7 @@
 var searchData=
 [
-  ['update_219',['update',['../class_a_database.html#a910bc0c1717e9301911343c082aa1aaa',1,'ADatabase']]],
-  ['updateautotimes_220',['updateAutoTimes',['../namespace_a_calc.html#a3f12e1f72eeb5cc1cfe9b7b6df47391c',1,'ACalc']]],
-  ['updatelayout_221',['updateLayout',['../class_a_database.html#a3c0fdc84000ad397d61f0efabd032194',1,'ADatabase']]],
-  ['updatenighttimes_222',['updateNightTimes',['../namespace_a_calc.html#adb7a8a84011affb4173bb59be4449b9d',1,'ACalc']]]
+  ['update_221',['update',['../class_a_database.html#a910bc0c1717e9301911343c082aa1aaa',1,'ADatabase']]],
+  ['updateautotimes_222',['updateAutoTimes',['../namespace_a_calc.html#a3f12e1f72eeb5cc1cfe9b7b6df47391c',1,'ACalc']]],
+  ['updatelayout_223',['updateLayout',['../class_a_database.html#a3c0fdc84000ad397d61f0efabd032194',1,'ADatabase']]],
+  ['updatenighttimes_224',['updateNightTimes',['../namespace_a_calc.html#adb7a8a84011affb4173bb59be4449b9d',1,'ACalc']]]
 ];

+ 2 - 2
docs/html/search/namespaces_0.js

@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['acalc_143',['ACalc',['../namespace_a_calc.html',1,'']]],
-  ['alog_144',['ALog',['../namespace_a_log.html',1,'']]]
+  ['acalc_144',['ACalc',['../namespace_a_calc.html',1,'']]],
+  ['alog_145',['ALog',['../namespace_a_log.html',1,'']]]
 ];

+ 2 - 2
docs/html/search/namespaces_1.js

@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['db_145',['Db',['../namespace_opl_1_1_db.html',1,'Opl']]],
-  ['opl_146',['Opl',['../namespace_opl.html',1,'']]]
+  ['db_146',['Db',['../namespace_opl_1_1_db.html',1,'Opl']]],
+  ['opl_147',['Opl',['../namespace_opl.html',1,'']]]
 ];

+ 1 - 1
docs/html/search/pages_0.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['project_20overview_224',['Project Overview',['../index.html',1,'']]]
+  ['project_20overview_226',['Project Overview',['../index.html',1,'']]]
 ];

+ 1 - 1
docs/html/search/pages_1.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['todo_20list_225',['Todo List',['../todo.html',1,'']]]
+  ['todo_20list_227',['Todo List',['../todo.html',1,'']]]
 ];

+ 2 - 2
docs/html/settingswidget_8h_source.html

@@ -220,11 +220,11 @@ $(document).ready(function(){initNavTree('settingswidget_8h_source.html',''); in
 <div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor">#endif // SETTINGSWIDGET_H</span></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
-<div class="ttc" id="aclass_logbook_widget_html"><div class="ttname"><a href="class_logbook_widget.html">LogbookWidget</a></div><div class="ttdef"><b>Definition:</b> logbookwidget.h:35</div></div>
+<div class="ttc" id="aclass_logbook_widget_html"><div class="ttname"><a href="class_logbook_widget.html">LogbookWidget</a></div><div class="ttdoc">The LogbookWidget displays data from the database in a QSqlTableView fed by a QSqlQuery Model.</div><div class="ttdef"><b>Definition:</b> logbookwidget.h:46</div></div>
 <div class="ttc" id="aclass_settings_widget_html"><div class="ttname"><a href="class_settings_widget.html">SettingsWidget</a></div><div class="ttdef"><b>Definition:</b> settingswidget.h:34</div></div>
 <div class="ttc" id="aclass_settings_widget_html_a0f6af11e71177c5f62ecd2ff325e8d2b"><div class="ttname"><a href="class_settings_widget.html#a0f6af11e71177c5f62ecd2ff325e8d2b">SettingsWidget::settingChanged</a></div><div class="ttdeci">void settingChanged(SettingSignal widget)</div><div class="ttdoc">settingChanged is emitted when a setting change shall trigger an update to another widget.</div></div>
 <div class="ttc" id="aclass_pilots_widget_html"><div class="ttname"><a href="class_pilots_widget.html">PilotsWidget</a></div><div class="ttdoc">The PilotsWidget is used to view, edit, delete or add new pilots.</div><div class="ttdef"><b>Definition:</b> pilotswidget.h:54</div></div>
-<div class="ttc" id="aclass_home_widget_html"><div class="ttname"><a href="class_home_widget.html">HomeWidget</a></div><div class="ttdef"><b>Definition:</b> homewidget.h:36</div></div>
+<div class="ttc" id="aclass_home_widget_html"><div class="ttname"><a href="class_home_widget.html">HomeWidget</a></div><div class="ttdoc">The HomeWidget is the welcome screen of the application.</div><div class="ttdef"><b>Definition:</b> homewidget.h:44</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:49</div></div>
 <!-- start footer part -->

+ 9 - 1
docs/man/man3/HomeWidget.3

@@ -2,11 +2,14 @@
 .ad l
 .nh
 .SH NAME
-HomeWidget
+HomeWidget \- The \fBHomeWidget\fP is the welcome screen of the application\&.  
+
 .SH SYNOPSIS
 .br
 .PP
 .PP
+\fC#include <homewidget\&.h>\fP
+.PP
 Inherits QWidget\&.
 .SS "Public Slots"
 
@@ -22,6 +25,11 @@ Inherits QWidget\&.
 .RI "\fBHomeWidget\fP (QWidget *parent=nullptr)"
 .br
 .in -1c
+.SH "Detailed Description"
+.PP 
+The \fBHomeWidget\fP is the welcome screen of the application\&. 
+
+The \fBHomeWidget\fP shows total flight times and a user-configurable set of currencies (expiry dates for licenses, ratings, medicals,\&.\&.\&.)\&. Most data is provided by the AStat class and the \fBACurrencyEntry\fP class\&. Notifications are provided by means of pop-up warnings on application start via QMessageBox and the INFO/WARN interfaces, as well as by colouring the labels according to the warning level (orange/red)\&. 
 
 .SH "Author"
 .PP 

+ 13 - 2
docs/man/man3/LogbookWidget.3

@@ -2,11 +2,14 @@
 .ad l
 .nh
 .SH NAME
-LogbookWidget
+LogbookWidget \- The \fBLogbookWidget\fP displays data from the database in a QSqlTableView fed by a QSqlQuery Model\&.  
+
 .SH SYNOPSIS
 .br
 .PP
 .PP
+\fC#include <logbookwidget\&.h>\fP
+.PP
 Inherits QWidget\&.
 .SS "Public Slots"
 
@@ -14,13 +17,14 @@ Inherits QWidget\&.
 .ti -1c
 .RI "void \fBrefresh\fP ()"
 .br
+.RI "\fBLogbookWidget::refresh\fP Refreshes the view to reflect changes in the database\&. "
 .ti -1c
 .RI "void \fBonLogbookWidget_viewSelectionChanged\fP (\fBSettingsWidget::SettingSignal\fP signal)"
 .br
 .ti -1c
 .RI "void \fBrepopulateModel\fP ()"
 .br
-.RI "\fBLogbookWidget::repopulateModel\fP (public slot) - re-populates the model to cater for a change to the database connection (for example, when a backup is created) "
+.RI "\fBLogbookWidget::repopulateModel\fP (public slot) - cleanly re-populates the model to cater for a change to the database connection (for example, when a backup is created or restored) "
 .in -1c
 .SS "Public Member Functions"
 
@@ -29,6 +33,13 @@ Inherits QWidget\&.
 .RI "\fBLogbookWidget\fP (QWidget *parent=nullptr)"
 .br
 .in -1c
+.SH "Detailed Description"
+.PP 
+The \fBLogbookWidget\fP displays data from the database in a QSqlTableView fed by a QSqlQuery Model\&. 
+
+The \fBLogbookWidget\fP is the primary display interface for flights logged in the database\&. It fetches and stores flight data from the database via a QSqlQueryModel and displays it in a QTableView\&. With the way the flight data is written in the database, it would not be human-readable, so some processing is done on the database side to present a nicely formatted, human-readable display\&. This is achieved by means of a \fCSQL View\fP\&.
+.PP
+The user can select a view from a list of available views in the \fBSettingsWidget\fP\&. 
 
 .SH "Author"
 .PP 

+ 20 - 2
src/gui/widgets/homewidget.cpp

@@ -29,6 +29,7 @@ static const int ROLLING_28_DAYS = 6000;
 static const int CALENDAR_YEAR = 54000;
 // 1000 hours per rolling 12 months
 static const int ROLLING_12_MONTHS = 60000;
+// Todo: Encapsulate and plan to also use non-EASA (FAA,...) options
 
 HomeWidget::HomeWidget(QWidget *parent) :
     QWidget(parent),
@@ -50,7 +51,7 @@ HomeWidget::HomeWidget(QWidget *parent) :
         ui->FlightTime12mDisplayLabel
     };
 
-    DEB << "Filling Home Widget...";
+    LOG << "Filling Home Widget...";
     fillTotals();
     fillSelectedCurrencies();
     fillLimitations();
@@ -64,7 +65,7 @@ HomeWidget::~HomeWidget()
 
 void HomeWidget::refresh()
 {
-    DEB << "Updating HomeWidget...";
+    LOG << "Updating HomeWidget...";
     const auto label_list = this->findChildren<QLabel *>();
     for (const auto label : label_list)
         label->setVisible(true);
@@ -77,6 +78,10 @@ void HomeWidget::refresh()
     fillLimitations();
 }
 
+/*!
+ * \brief HomeWidget::fillTotals Retreives a Database Summary of Total Flight Time via the AStat::totals
+ * function and parses the return to fill out the QLineEdits.
+ */
 void HomeWidget::fillTotals()
 {
     const auto data = AStat::totals();
@@ -108,6 +113,10 @@ void HomeWidget::fillCurrency(ACurrencyEntry::CurrencyName currency_name, QLabel
     }
 }
 
+/*!
+ * \brief HomeWidget::fillSelectedCurrencies Checks whether a currency is selected and
+ * retreives and displays relevant data.
+ */
 void HomeWidget::fillSelectedCurrencies()
 {
     fillCurrencyTakeOffLanding();
@@ -139,6 +148,11 @@ void HomeWidget::fillSelectedCurrencies()
         ui->currCustom2Label->setText(custom2_text);
 }
 
+/*!
+ * \brief HomeWidget::fillCurrencyTakeOffLanding Uses AStat::countTakeOffLandings to determine
+ * the amount of Take-Offs and Landings in the last 90 days and displays data and notifications
+ * as required.
+ */
 void HomeWidget::fillCurrencyTakeOffLanding()
 {
     const auto takeoff_landings = AStat::countTakeOffLanding();
@@ -161,6 +175,10 @@ void HomeWidget::fillCurrencyTakeOffLanding()
     }
 }
 
+/*!
+ * \brief HomeWidget::fillLimitations Queries AStat to obtain information regarding cumulative
+ * Flight Times and Calculates and Notifies about approaching Flight Time Limitations
+ */
 void HomeWidget::fillLimitations()
 {
     int minutes = AStat::totalTime(AStat::TimeFrame::Rolling28Days);

+ 16 - 0
src/gui/widgets/homewidget.h

@@ -32,6 +32,14 @@ namespace Ui {
 class HomeWidget;
 }
 
+/*!
+ * \brief The HomeWidget is the welcome screen of the application.
+ * \details The HomeWidget shows total flight times and a user-configurable set of currencies
+ * (expiry dates for licenses, ratings, medicals,...). Most data is provided by the AStat class
+ * and the ACurrencyEntry class. Notifications are provided by means of pop-up warnings on application
+ * start via QMessageBox and the INFO/WARN interfaces, as well as by colouring the labels according
+ * to the warning level (orange/red).
+ */
 class HomeWidget : public QWidget
 {
     Q_OBJECT
@@ -45,7 +53,15 @@ private:
 
     QList<QLabel*> limitationDisplayLabels;
     QDate          today;
+    /*!
+     * \brief currWarningThreshold - Retreived from ASettings::UserData::CurrWarningThreshold, the number
+     * of days before expiry that the user gets notified about impending expiries.
+     */
     int            currWarningThreshold;
+    /*!
+     * \brief ftlWarningThreshold - Retreived from ASettings::UserData::FtlWarningThreshold, the percentage
+     * of how close the user has to be to reaching a Flight Time Limitation before getting notified.
+     */
     double         ftlWarningThreshold;
 
     void fillTotals();

+ 44 - 23
src/gui/widgets/logbookwidget.cpp

@@ -46,8 +46,6 @@ LogbookWidget::LogbookWidget(QWidget *parent) :
     menu->addAction(ui->actionEdit_Flight);
     menu->addAction(ui->actionDelete_Flight);
 
-    //Initialise message Box
-    messageBox = new QMessageBox(this);
     // Initalise the display Model and view
     displayModel = new QSqlTableModel(this);
     view = ui->tableView;
@@ -66,6 +64,11 @@ LogbookWidget::~LogbookWidget()
  * Functions
  */
 
+/*!
+ * \brief LogbookWidget::setupModelAndView configures the QTableView and populates the model with data
+ * according to the current view.
+ * \param view_id - retreived from ASettings::Main::LogbookView
+ */
 void LogbookWidget::setupModelAndView(int view_id)
 {
     switch (view_id) {
@@ -108,6 +111,10 @@ void LogbookWidget::connectSignalsAndSlots()
  * Slots
  */
 
+/*!
+ * \brief LogbookWidget::flightsTableView_selectionChanged saves the selected row(s)
+ * to the selectedFlights member variable.
+ */
 void LogbookWidget::flightsTableView_selectionChanged()
 {
     selectedFlights.clear();
@@ -117,6 +124,9 @@ void LogbookWidget::flightsTableView_selectionChanged()
     }
 }
 
+/*!
+ * \brief LogbookWidget::on_newFlightButton_clicked opens a NewFlightDialog
+ */
 void LogbookWidget::on_newFlightButton_clicked()
 {
     auto nf = new NewFlightDialog(this);
@@ -125,6 +135,10 @@ void LogbookWidget::on_newFlightButton_clicked()
     displayModel->select();
 }
 
+/*!
+ * \brief LogbookWidget::on_editFlightButton_clicked opens a NewFlightDialog and
+ * pre-fills the data from the selected flight.
+ */
 void LogbookWidget::on_editFlightButton_clicked()
 {
     if(selectedFlights.length() == 1){
@@ -133,27 +147,27 @@ void LogbookWidget::on_editFlightButton_clicked()
         ef->exec();
         displayModel->select();
     } else if (selectedFlights.isEmpty()) {
-        messageBox->setText(tr("<br>No flight selected.<br>"));
-        messageBox->exec();
+        WARN(tr("<br>No flight selected.<br>"));
     } else {
-        messageBox->setText(tr("<br>More than one flight selected."
+        WARN(tr("<br>More than one flight selected."
                                "<br><br>Editing multiple entries is not yet supported."));
-        messageBox->exec();
     }
 }
 
+/*!
+ * \brief LogbookWidget::on_deleteFlightPushButton_clicked If a row is selected, query information
+ * about the affected row(s) and ask the user to confirm deletion.
+ */
 void LogbookWidget::on_deleteFlightPushButton_clicked()
 {
     DEB << "Flights selected: " << selectedFlights.length();
     if (selectedFlights.length() == 0) {
-        messageBox->setIcon(QMessageBox::Information);
-        messageBox->setText(tr("<br>No flight selected.<br>"));
-        messageBox->exec();
+        WARN(tr("<br>No flight selected.<br>"));
         return;
     } else if (selectedFlights.length() > 0 && selectedFlights.length() <= 10) {
-        QList<AFlightEntry> flights_list;
+        QVector<AFlightEntry> flights_list;
 
-        for (const auto &flight_id : selectedFlights) {
+        for (const auto &flight_id : qAsConst(selectedFlights)) {
             flights_list.append(aDB->getFlightEntry(flight_id));
         }
 
@@ -177,15 +191,13 @@ void LogbookWidget::on_deleteFlightPushButton_clicked()
             for (auto& flight : flights_list) {
                 DEB << "Deleting flight: " << flight.summary();
                 if(!aDB->remove(flight)) {
-                    confirm.setText(tr("<br>Unable to delete.<br><br>The following error has ocurred: %1"
+                    WARN(tr("<br>Unable to delete.<br><br>The following error has ocurred: %1"
                                        ).arg(aDB->lastError.text()));
-                    messageBox->exec();
                     return;
                 }
             }
-            messageBox->setText(tr("%1 flights have been deleted successfully."
+            INFO(tr("%1 flights have been deleted successfully."
                                    ).arg(QString::number(selectedFlights.length())));
-            messageBox->exec();
             displayModel->select();
         }
     } else if (selectedFlights.length() > 10) {
@@ -204,13 +216,11 @@ void LogbookWidget::on_deleteFlightPushButton_clicked()
                 selected_flights.append({QStringLiteral("flights"), flight_id});
             }
             if (!aDB->removeMany(selected_flights)) {
-                messageBox->setText(aDB->lastError.text()); // [F]: To Do: error info
-                messageBox->exec();
+                WARN(tr("Unable to delete. The following error has ocurred:<br><br>%1").arg(aDB->lastError.text()));
                 return;
             }
-            messageBox->setText(tr("%1 flights have been deleted successfully."
+            INFO(tr("%1 flights have been deleted successfully."
                                    ).arg(QString::number(selectedFlights.length())));
-            messageBox->exec();
             displayModel->select();
         }
         displayModel->select();
@@ -243,9 +253,11 @@ void LogbookWidget::on_flightSearchComboBox_currentIndexChanged(int)
     emit ui->showAllButton->clicked();
 }
 
+/*!
+ * \brief LogbookWidget::refresh Refreshes the view to reflect changes in the database.
+ */
 void LogbookWidget::refresh()
 {
-    //refresh view to reflect changes the user has made via a dialog.
     displayModel->select();
     view->resizeColumnsToContents();
 }
@@ -263,6 +275,11 @@ void LogbookWidget::on_showAllButton_clicked()
     displayModel->select();
 }
 
+/*!
+ * \brief LogbookWidget::on_flightSearchLlineEdit_textChanged applies a filter to the
+ * display model allowing the user to search for flights by specified elements (date, aircraft,
+ * Pilot Name)
+ */
 void LogbookWidget::on_flightSearchLlineEdit_textChanged(const QString &arg1)
 {
     if(arg1.length() == 0) {
@@ -273,19 +290,23 @@ void LogbookWidget::on_flightSearchLlineEdit_textChanged(const QString &arg1)
 
     if (ui->flightSearchComboBox->currentIndex() < 3) {
         displayModel->setFilter(FILTER_MAP.value(ui->flightSearchComboBox->currentIndex())
-                                + arg1 + QStringLiteral("%\""));
+                                + arg1 + QLatin1String("%\""));
         return;
     } else if (ui->flightSearchComboBox->currentIndex() == 3) { // registration
         displayModel->setFilter(FILTER_MAP.value(ui->flightSearchComboBox->currentIndex())
-                                + arg1 + QStringLiteral("%\""));
+                                + arg1 + QLatin1String("%\""));
         return;
     } else if (ui->flightSearchComboBox->currentIndex() == 4) { // Name Pic
         displayModel->setFilter(FILTER_MAP.value(ui->flightSearchComboBox->currentIndex())
-                                + arg1 + QStringLiteral("%\""));
+                                + arg1 + QLatin1String("%\""));
         return;
     }
 }
 
+/*!
+ * \brief LogbookWidget::repopulateModel (public slot) - cleanly re-populates the model to cater for a change
+ * to the database connection (for example, when a backup is created or restored)
+ */
 void LogbookWidget::repopulateModel()
 {
     // unset the current model and delete it to avoid leak

+ 11 - 6
src/gui/widgets/logbookwidget.h

@@ -31,6 +31,17 @@ namespace Ui {
 class LogbookWidget;
 }
 
+/*!
+ * \brief The LogbookWidget displays data from the database in a QSqlTableView fed by a QSqlQuery Model
+ *
+ * \details The LogbookWidget is the primary display interface for flights logged in the database. It fetches and stores
+ * flight data from the database via a QSqlQueryModel and displays it in a QTableView. With the way the flight data is
+ * written in the database, it would not be human-readable, so some processing is done on the database side to present
+ * a nicely formatted, human-readable display. This is achieved by means of a [SQL View](https://sqlite.org/lang_createview.html).
+ *
+ * The user can select a view from a list of available views in the SettingsWidget.
+ *
+ */
 class LogbookWidget : public QWidget
 {
     Q_OBJECT
@@ -55,10 +66,6 @@ private slots:
 public slots:
     void refresh();
     void onLogbookWidget_viewSelectionChanged(SettingsWidget::SettingSignal signal);
-    /*!
-     * \brief LogbookWidget::repopulateModel (public slot) - re-populates the model to cater for a change
-     * to the database connection (for example, when a backup is created)
-     */
     void repopulateModel();
 
 private:
@@ -72,8 +79,6 @@ private:
 
     QMenu* menu;
 
-    QMessageBox* messageBox;
-
     QVector<qint32> selectedFlights;
 
     void setupModelAndView(int view_id);