| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/><meta http-equiv="X-UA-Compatible" content="IE=9"/><meta name="generator" content="Doxygen 1.9.1"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>openPilotLog: src/opl.h Source File</title><link href="tabs.css" rel="stylesheet" type="text/css"/><script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="dynsections.js"></script><link href="navtree.css" rel="stylesheet" type="text/css"/><script type="text/javascript" src="resize.js"></script><script type="text/javascript" src="navtreedata.js"></script><script type="text/javascript" src="navtree.js"></script><link href="search/search.css" rel="stylesheet" type="text/css"/><script type="text/javascript" src="search/searchdata.js"></script><script type="text/javascript" src="search/search.js"></script><link href="doxygen.css" rel="stylesheet" type="text/css" /><link href="custom_dark_theme.css" rel="stylesheet" type="text/css"/></head><body><div id="top"><!-- do not remove this div, it is closed by doxygen! --><div id="titlearea"><table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;">  <td id="projectlogo"><img alt="Logo" src="icon_main.png"/></td>  <td id="projectalign" style="padding-left: 0.5em;">   <div id="projectname">openPilotLog   </div>  </td> </tr> </tbody></table></div><!-- end header part --><!-- Generated by Doxygen 1.9.1 --><script type="text/javascript">/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');/* @license-end */</script><script type="text/javascript" src="menudata.js"></script><script type="text/javascript" src="menu.js"></script><script type="text/javascript">/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */$(function() {  initMenu('',true,false,'search.php','Search');  $(document).ready(function() { init_search(); });});/* @license-end */</script><div id="main-nav"></div></div><!-- top --><div id="side-nav" class="ui-resizable side-nav-resizable">  <div id="nav-tree">    <div id="nav-tree-contents">      <div id="nav-sync" class="sync"></div>    </div>  </div>  <div id="splitbar" style="-moz-user-select:none;"        class="ui-resizable-handle">  </div></div><script type="text/javascript">/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */$(document).ready(function(){initNavTree('opl_8h_source.html',''); initResizable(); });/* @license-end */</script><div id="doc-content"><!-- window showing the filter options --><div id="MSearchSelectWindow"     onmouseover="return searchBox.OnSearchSelectShow()"     onmouseout="return searchBox.OnSearchSelectHide()"     onkeydown="return searchBox.OnSearchSelectKey(event)"></div><!-- iframe showing the search results (closed by default) --><div id="MSearchResultsWindow"><iframe src="javascript:void(0)" frameborder="0"         name="MSearchResults" id="MSearchResults"></iframe></div><div class="header">  <div class="headertitle"><div class="title">opl.h</div>  </div></div><!--header--><div class="contents"><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment"> *openPilotLog - A FOSS Pilot Logbook Application</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment"> *Copyright (C) 2020-2022 Felix Turowsky</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment"> *</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment"> *This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment"> *it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment"> *the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment"> *(at your option) any later version.</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment"> *This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment"> *but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment"> *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment"> *GNU General Public License for more details.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="comment"> *</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="comment"> *You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="comment"> *along with this program.  If not, see <https://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="comment"> */</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#ifndef OPLCONSTANTS_H</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#define OPLCONSTANTS_H</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>  </div><div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include <QtCore></span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include <QMessageBox></span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include <QComboBox></span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>  </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span> <span class="keyword">namespace </span><a class="code" href="namespace_o_p_l.html">OPL</a> {</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>  </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span> <span class="preprocessor">#define OPL_VERSION 0</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="preprocessor">#define OPL_SUBVERSION 1</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span> <span class="preprocessor">#define OPL_VERSION_STRING QString(QString::number(OPL_VERSION) + "."</span> + QString::number(OPL_SUBVERSION))</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>  </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span> <span class="preprocessor">#if defined(__GNUC__) || defined(__clang__)</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span> <span class="preprocessor">    #define FUNC_IDENT __PRETTY_FUNCTION__</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span> <span class="preprocessor">#elif defined(_MSC_VER)</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span> <span class="preprocessor">    #define FUNC_IDENT __FUNCSIG__</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="preprocessor">    #define FUNC_IDENT __func__</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>  </div><div class="line"><a name="l00053"></a><span class="lineno">   53</span> <span class="preprocessor">#define DEB qDebug()                            </span><span class="comment">// Use for debugging</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="preprocessor">#define LOG qInfo()                             </span><span class="comment">// Use for logging milestones (silently, will be written to log file and console out only)</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="preprocessor">#define TODO qCritical() << "TO DO:\t"</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>  </div><div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="preprocessor">#define INFO(msg) OPL::ANotificationHandler::info(msg, this)  </span><span class="comment">// Use for messages of interest to the user (will be displayed in GUI)</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span> <span class="preprocessor">#define WARN(msg) OPL::ANotificationHandler::warn(msg, this)  </span><span class="comment">// Use for warnings (will be displayed in GUI)</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span> <span class="preprocessor">#define CRIT(msg) OPL::ANotificationHandler::crit(msg, this)  </span><span class="comment">// Use for critical warnings (will be displayed in GUI)</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>  </div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="class_o_p_l_1_1_a_notification_handler.html">   66</a></span> <span class="keyword">class </span><a class="code" href="class_o_p_l_1_1_a_notification_handler.html">ANotificationHandler</a> {</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>     <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> info(<span class="keyword">const</span> QString msg, QWidget *parent = <span class="keyword">nullptr</span>){</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>  </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>         qInfo() << msg;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>         <span class="keyword">auto</span> mb = QMessageBox(QMessageBox::Information, QStringLiteral(<span class="stringliteral">"Info"</span>), msg, QMessageBox::StandardButton::Ok, parent);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>         mb.exec();</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>     };</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>     <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> warn(<span class="keyword">const</span> QString msg, QWidget *parent = <span class="keyword">nullptr</span>){</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>         qWarning() << msg;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>         <span class="keyword">auto</span> mb = QMessageBox(QMessageBox::Warning, QStringLiteral(<span class="stringliteral">"Warning"</span>), msg, QMessageBox::StandardButton::Ok, parent);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>         mb.exec();</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>     };</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>     <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> crit(<span class="keyword">const</span> QString msg, QWidget *parent = <span class="keyword">nullptr</span>){</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>         qCritical() << msg;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>         <span class="keyword">auto</span> mb = QMessageBox(QMessageBox::Critical, QStringLiteral(<span class="stringliteral">"Warning"</span>), msg, QMessageBox::StandardButton::Ok, parent);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>         mb.exec();</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>     };</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span> }; <span class="comment">// class ANotificationHandler</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>  </div><div class="line"><a name="l00086"></a><span class="lineno">   86</span> <span class="keyword">using</span> RowData_T = QHash<QString, QVariant>;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>  </div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="namespace_o_p_l.html#af7cd691b5d236d3e846193464e9cba28">   92</a></span> <span class="keyword">enum class</span> <a class="code" href="namespace_o_p_l.html#af7cd691b5d236d3e846193464e9cba28">DateFormat</a> {ISODate, DE, EN };</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>  </div><div class="line"><a name="l00094"></a><span class="lineno">   94</span> <span class="keyword">enum class</span> FlightTimeFormat {Default, Decimal};</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>  </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span> <span class="keyword">enum class</span> DateTimeFormat {Default, Backup};</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>  </div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="namespace_o_p_l.html#a38ae55ad972d58b78a55f5e7f12857d0">  102</a></span> <span class="keyword">enum class</span> <a class="code" href="namespace_o_p_l.html#a38ae55ad972d58b78a55f5e7f12857d0">PilotFunction</a> {PIC = 0, PICUS = 1, SIC = 2, DUAL = 3, FI = 4};</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>  </div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="namespace_o_p_l.html#a5bd3211ed824e4526fd117ffb667aacc">  107</a></span> <span class="keyword">enum class</span> <a class="code" href="namespace_o_p_l.html#a5bd3211ed824e4526fd117ffb667aacc">Translation</a> {English, German, Spanish};</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>  </div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="namespace_o_p_l.html#ae7d5247f41184ce8e7a49623ef37904d">  112</a></span> <span class="keyword">enum class</span> <a class="code" href="namespace_o_p_l.html#ae7d5247f41184ce8e7a49623ef37904d">DbViewName</a> {Default, DefaultWithSim, Easa, EasaWithSim, SimulatorOnly};</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>  </div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="namespace_o_p_l.html#a0b7f6af161506b53d8e47559570a7289">  117</a></span> <span class="keyword">enum class</span> <a class="code" href="namespace_o_p_l.html#a0b7f6af161506b53d8e47559570a7289">SimulatorType</a> {FNPTI = 0, FNPTII = 1, FSTD = 2};</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>  </div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="namespace_o_p_l.html#ada86eb02cea54d91c8c11c9112ec1cf7">  122</a></span> <span class="keyword">enum class</span> <a class="code" href="namespace_o_p_l.html#ada86eb02cea54d91c8c11c9112ec1cf7">DbTable</a> {Any, Flights, Simulators, Pilots, Tails, Aircraft, Airports, Currencies, Changelog};</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>  </div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="namespace_o_p_l.html#a266b8eb67c867e08a3e4b285818d15dd">  127</a></span> <span class="keyword">enum class</span> <a class="code" href="namespace_o_p_l.html#a266b8eb67c867e08a3e4b285818d15dd">CurrencyName</a> {Licence = 1, TypeRating = 2, LineCheck = 3, Medical = 4, Custom1 = 5, Custom2 = 6};</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>  </div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="class_o_p_l_1_1_opl_globals.html">  134</a></span> <span class="keyword">class </span><a class="code" href="class_o_p_l_1_1_opl_globals.html">OplGlobals</a> : <span class="keyword">public</span> QObject {</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>     <a class="code" href="class_o_p_l_1_1_opl_globals.html">OplGlobals</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>  </div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>     <span class="keywordtype">void</span> fillLanguageComboBox(QComboBox *combo_box) <span class="keyword">const</span>;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>     <span class="keywordtype">void</span> fillViewNamesComboBox(QComboBox *combo_box) <span class="keyword">const</span>;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>     <span class="keywordtype">void</span> loadPilotFunctios(QComboBox *combo_box) <span class="keyword">const</span>;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>     <span class="keywordtype">void</span> loadSimulatorTypes(QComboBox *combo_box) <span class="keyword">const</span>;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>     <span class="keywordtype">void</span> loadApproachTypes(QComboBox *combo_box) <span class="keyword">const</span>;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>  </div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>     <span class="keyword">inline</span> <span class="keyword">const</span> QStringList &getApproachTypes()<span class="keyword"> const </span>{<span class="keywordflow">return</span> APPROACH_TYPES;}</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>     <span class="keyword">inline</span> <span class="keyword">const</span> QString getLanguageFilePath(<a class="code" href="namespace_o_p_l.html#a5bd3211ed824e4526fd117ffb667aacc">Translation</a> language)<span class="keyword"> const </span>{<span class="keywordflow">return</span> L10N_FilePaths.value(language);}</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>     <span class="keyword">inline</span> <span class="keyword">const</span> QString getViewIdentifier(<a class="code" href="namespace_o_p_l.html#ae7d5247f41184ce8e7a49623ef37904d">DbViewName</a> view_name)<span class="keyword"> const </span>{<span class="keywordflow">return</span> DATABASE_VIEWS.value(view_name);}</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>     <span class="keyword">inline</span> <span class="keyword">const</span> QString getDbTableName(<a class="code" href="namespace_o_p_l.html#ada86eb02cea54d91c8c11c9112ec1cf7">DbTable</a> table_name)<span class="keyword"> const </span>{<span class="keywordflow">return</span> DB_TABLES.value(table_name);}</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>  </div><div class="line"><a name="l00149"></a><span class="lineno">  149</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>     Q_OBJECT</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>  </div><div class="line"><a name="l00152"></a><span class="lineno">  152</span> <span class="preprocessor">#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))</span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>     <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">inline</span> QHash<Translation, QString> L10N_FilePaths {</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>         {Translation::English, QStringLiteral(<span class="stringliteral">"l10n/openpilotlog_en"</span>)},</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>         {Translation::German,  QStringLiteral(<span class="stringliteral">"l10n/openpilotlog_de"</span>)},</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>         {Translation::Spanish, QStringLiteral(<span class="stringliteral">"l10n/openpilotlog_es"</span>)},</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>     };</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>     <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">inline</span> QHash<Translation, QString> L10N_DisplayNames {</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>         {Translation::English, QStringLiteral(<span class="stringliteral">"English"</span>)},</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>         {Translation::German,  QStringLiteral(<span class="stringliteral">"Deutsch"</span>)},</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>         {Translation::Spanish, QStringLiteral(<span class="stringliteral">"Español"</span>)},</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>     };</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>     <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">inline</span> QHash<DbViewName, QString> DATABASE_VIEWS = {</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>         {DbViewName::Default,        QStringLiteral(<span class="stringliteral">"viewDefault"</span>)},</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>         {DbViewName::DefaultWithSim, QStringLiteral(<span class="stringliteral">"viewDefaultSim"</span>)},</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>         {DbViewName::Easa,           QStringLiteral(<span class="stringliteral">"viewEasa"</span>)},</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>         {DbViewName::EasaWithSim,    QStringLiteral(<span class="stringliteral">"viewEasaSim"</span>)},</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>         {DbViewName::SimulatorOnly,  QStringLiteral(<span class="stringliteral">"viewSimulators"</span>)},</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>     };</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>     <span class="keyword">const</span> QHash<DbViewName, QString> DATABASE_VIEW_DISPLAY_NAMES = {</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>         {DbViewName::Default,        tr(<span class="stringliteral">"Default"</span>)},</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>         {DbViewName::DefaultWithSim, tr(<span class="stringliteral">"Default with Simulator"</span>)},</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>         {DbViewName::Easa,           tr(<span class="stringliteral">"EASA-FCL"</span>)},</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>         {DbViewName::EasaWithSim,    tr(<span class="stringliteral">"EASA-FCL with Simulator"</span>)},</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>         {DbViewName::SimulatorOnly,  tr(<span class="stringliteral">"Simulator Sessions Only"</span>)},</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>     };</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>     <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">inline</span> QHash<PilotFunction, QString> PILOT_FUNCTIONS = {</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>         {PilotFunction::PIC,   QStringLiteral(<span class="stringliteral">"PIC"</span>)},</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>         {PilotFunction::PICUS, QStringLiteral(<span class="stringliteral">"PICUS"</span>)},</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>         {PilotFunction::SIC,   QStringLiteral(<span class="stringliteral">"SIC"</span>)},</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>         {PilotFunction::DUAL,  QStringLiteral(<span class="stringliteral">"DUAL"</span>)},</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>         {PilotFunction::FI,    QStringLiteral(<span class="stringliteral">"FI"</span>)},</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>     };</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>     <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">inline</span> QHash<SimulatorType, QString> SIMULATOR_TYPES = {</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>         {SimulatorType::FNPTI,  QStringLiteral(<span class="stringliteral">"FNPT I"</span>)},</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>         {SimulatorType::FNPTII, QStringLiteral(<span class="stringliteral">"FNPT II"</span>)},</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>         {SimulatorType::FSTD,   QStringLiteral(<span class="stringliteral">"FSTD"</span>)},</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>     };</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>     <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">inline</span> QHash<DbTable, QString> DB_TABLES = {</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>         <span class="comment">//Flights, Simulators, Pilots, Tails, Aircraft, Airports</span></div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>         {DbTable::Flights,      QStringLiteral(<span class="stringliteral">"flights"</span>)},</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>         {DbTable::Simulators,   QStringLiteral(<span class="stringliteral">"simulators"</span>)},</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>         {DbTable::Pilots,       QStringLiteral(<span class="stringliteral">"pilots"</span>)},</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>         {DbTable::Tails,        QStringLiteral(<span class="stringliteral">"tails"</span>)},</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>         {DbTable::Aircraft,     QStringLiteral(<span class="stringliteral">"aircraft"</span>)},</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>         {DbTable::Airports,     QStringLiteral(<span class="stringliteral">"airports"</span>)},</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>         {DbTable::Currencies,   QStringLiteral(<span class="stringliteral">"currencies"</span>)},</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>         {DbTable::Changelog,    QStringLiteral(<span class="stringliteral">"changelog"</span>)},</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>     };</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>     <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">inline</span> QMap<Translation, QString> L10N_FilePaths {</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>         {Translation::English, QStringLiteral(<span class="stringliteral">"l10n/openpilotlog_en"</span>)},</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>         {Translation::German,  QStringLiteral(<span class="stringliteral">"l10n/openpilotlog_de"</span>)},</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>         {Translation::Spanish, QStringLiteral(<span class="stringliteral">"l10n/openpilotlog_es"</span>)},</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>     };</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>     <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">inline</span> QMap<Translation, QString> L10N_DisplayNames {</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>         {Translation::English, QStringLiteral(<span class="stringliteral">"English"</span>)},</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>         {Translation::German,  QStringLiteral(<span class="stringliteral">"Deutsch"</span>)},</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>         {Translation::Spanish, QStringLiteral(<span class="stringliteral">"Español"</span>)},</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>     };</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>     <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">inline</span> QMap<DbViewName, QString> DATABASE_VIEWS = {</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>         {DbViewName::Default,        QStringLiteral(<span class="stringliteral">"viewDefault"</span>)},</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>         {DbViewName::DefaultWithSim, QStringLiteral(<span class="stringliteral">"viewDefaultSim"</span>)},</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>         {DbViewName::Easa,           QStringLiteral(<span class="stringliteral">"viewEasa"</span>)},</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>         {DbViewName::EasaWithSim,    QStringLiteral(<span class="stringliteral">"viewEasaSim"</span>)},</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>         {DbViewName::SimulatorOnly,  QStringLiteral(<span class="stringliteral">"viewSimulators"</span>)},</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>     };</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>     <span class="keyword">const</span> QMap<DbViewName, QString> DATABASE_VIEW_DISPLAY_NAMES = {</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>         {DbViewName::Default,        tr(<span class="stringliteral">"Default"</span>)},</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>         {DbViewName::DefaultWithSim, tr(<span class="stringliteral">"Default with Simulator"</span>)},</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>         {DbViewName::Easa,           tr(<span class="stringliteral">"EASA-FCL"</span>)},</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>         {DbViewName::EasaWithSim,    tr(<span class="stringliteral">"EASA-FCL with Simulator"</span>)},</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>         {DbViewName::SimulatorOnly,  tr(<span class="stringliteral">"Simulator Sessions Only"</span>)},</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>     };</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>     <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">inline</span> QMap<PilotFunction, QString> PILOT_FUNCTIONS = {</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>         {PilotFunction::PIC,   QStringLiteral(<span class="stringliteral">"PIC"</span>)},</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>         {PilotFunction::PICUS, QStringLiteral(<span class="stringliteral">"PICUS"</span>)},</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>         {PilotFunction::SIC,   QStringLiteral(<span class="stringliteral">"SIC"</span>)},</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>         {PilotFunction::DUAL,  QStringLiteral(<span class="stringliteral">"DUAL"</span>)},</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>         {PilotFunction::FI,    QStringLiteral(<span class="stringliteral">"FI"</span>)},</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>     };</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>     <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">inline</span> QMap<SimulatorType, QString> SIMULATOR_TYPES = {</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>         {SimulatorType::FNPTI,  QStringLiteral(<span class="stringliteral">"FNPT I"</span>)},</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>         {SimulatorType::FNPTII, QStringLiteral(<span class="stringliteral">"FNPT II"</span>)},</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>         {SimulatorType::FSTD,   QStringLiteral(<span class="stringliteral">"FSTD"</span>)},</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>     };</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>     <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">inline</span> QMap<DbTable, QString> DB_TABLES = {</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>         {DbTable::Flights,      QStringLiteral(<span class="stringliteral">"flights"</span>)},</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>         {DbTable::Simulators,   QStringLiteral(<span class="stringliteral">"simulators"</span>)},</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>         {DbTable::Pilots,       QStringLiteral(<span class="stringliteral">"pilots"</span>)},</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>         {DbTable::Tails,        QStringLiteral(<span class="stringliteral">"tails"</span>)},</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>         {DbTable::Aircraft,     QStringLiteral(<span class="stringliteral">"aircraft"</span>)},</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>         {DbTable::Airports,     QStringLiteral(<span class="stringliteral">"airports"</span>)},</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>         {DbTable::Currencies,   QStringLiteral(<span class="stringliteral">"currencies"</span>)},</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>         {DbTable::Changelog,    QStringLiteral(<span class="stringliteral">"changelog"</span>)},</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>     };</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>  </div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>     <span class="keyword">const</span> <span class="keyword">static</span> <span class="keyword">inline</span> QStringList APPROACH_TYPES = {</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>             QStringLiteral(<span class="stringliteral">"VISUAL"</span>),</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>             QStringLiteral(<span class="stringliteral">"ILS CAT I"</span>),</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>             QStringLiteral(<span class="stringliteral">"ILS CAT II"</span>),</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>             QStringLiteral(<span class="stringliteral">"ILS CAT III"</span>),</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>             QStringLiteral(<span class="stringliteral">"GLS"</span>),</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>             QStringLiteral(<span class="stringliteral">"MLS"</span>),</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>             QStringLiteral(<span class="stringliteral">"LOC"</span>),</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>             QStringLiteral(<span class="stringliteral">"LOC/DME"</span>),</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>             QStringLiteral(<span class="stringliteral">"RNAV"</span>),</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>             QStringLiteral(<span class="stringliteral">"RNAV (LNAV)"</span>),</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>             QStringLiteral(<span class="stringliteral">"RNAV (LNAV/VNAV)"</span>),</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>             QStringLiteral(<span class="stringliteral">"RNAV (LPV)"</span>),</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>             QStringLiteral(<span class="stringliteral">"RNAV (RNP)"</span>),</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>             QStringLiteral(<span class="stringliteral">"RNAV (RNP-AR)"</span>),</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>             QStringLiteral(<span class="stringliteral">"VOR"</span>),</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>             QStringLiteral(<span class="stringliteral">"VOR/DME"</span>),</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>             QStringLiteral(<span class="stringliteral">"NDB"</span>),</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>             QStringLiteral(<span class="stringliteral">"NDB/DME"</span>),</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>             QStringLiteral(<span class="stringliteral">"TACAN"</span>),</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>             QStringLiteral(<span class="stringliteral">"SRA"</span>),</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>             QStringLiteral(<span class="stringliteral">"PAR"</span>),</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>             QStringLiteral(<span class="stringliteral">"OTHER"</span>)</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>     };</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span> };</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span> <span class="comment">//Make available as a global static</span></div><div class="line"><a name="l00275"></a><span class="lineno">  275</span> Q_GLOBAL_STATIC(<a class="code" href="class_o_p_l_1_1_opl_globals.html">OplGlobals</a>, GLOBALS)</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>  </div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>  </div><div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="namespace_o_p_l_1_1_db.html">  291</a></span> namespace Db {</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>  </div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>  </div><div class="line"><a name="l00294"></a><span class="lineno">  294</span> <span class="comment">// Table names</span></div><div class="line"><a name="l00295"></a><span class="lineno">  295</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TABLE_FLIGHTS          = QStringLiteral(<span class="stringliteral">"flights"</span>);</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TABLE_PILOTS           = QStringLiteral(<span class="stringliteral">"pilots"</span>);</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TABLE_TAILS            = QStringLiteral(<span class="stringliteral">"tails"</span>);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TABLE_AIRCRAFT         = QStringLiteral(<span class="stringliteral">"aircraft"</span>);</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TABLE_AIRPORTS         = QStringLiteral(<span class="stringliteral">"airports"</span>);</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TABLE_CURRENCIES       = QStringLiteral(<span class="stringliteral">"currencies"</span>);</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TABLE_SIMULATORS       = QStringLiteral(<span class="stringliteral">"simulators"</span>);</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>  </div><div class="line"><a name="l00303"></a><span class="lineno">  303</span> <span class="comment">// Flights table columns</span></div><div class="line"><a name="l00304"></a><span class="lineno">  304</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_ROWID          = QStringLiteral(<span class="stringliteral">"flight_id"</span>);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_DOFT           = QStringLiteral(<span class="stringliteral">"doft"</span>);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_DEPT           = QStringLiteral(<span class="stringliteral">"dept"</span>);</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_DEST           = QStringLiteral(<span class="stringliteral">"dest"</span>);</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TOFB           = QStringLiteral(<span class="stringliteral">"tofb"</span>);</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TONB           = QStringLiteral(<span class="stringliteral">"tonb"</span>);</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_PIC            = QStringLiteral(<span class="stringliteral">"pic"</span>);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_ACFT           = QStringLiteral(<span class="stringliteral">"acft"</span>);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TBLK           = QStringLiteral(<span class="stringliteral">"tblk"</span>);</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TSPSE          = QStringLiteral(<span class="stringliteral">"tSPSE"</span>);</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TSPME          = QStringLiteral(<span class="stringliteral">"tSPME"</span>);</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TMP            = QStringLiteral(<span class="stringliteral">"tMP"</span>);</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TNIGHT         = QStringLiteral(<span class="stringliteral">"tNIGHT"</span>);</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TIFR           = QStringLiteral(<span class="stringliteral">"tIFR"</span>);</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TPIC           = QStringLiteral(<span class="stringliteral">"tPIC"</span>);</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TPICUS         = QStringLiteral(<span class="stringliteral">"tPICUS"</span>);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TSIC           = QStringLiteral(<span class="stringliteral">"tSIC"</span>);</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TDUAL          = QStringLiteral(<span class="stringliteral">"tDUAL"</span>);</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TFI            = QStringLiteral(<span class="stringliteral">"tFI"</span>);</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TSIM           = QStringLiteral(<span class="stringliteral">"tSIM"</span>);</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_PILOTFLYING    = QStringLiteral(<span class="stringliteral">"pilotFlying"</span>);</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TODAY          = QStringLiteral(<span class="stringliteral">"toDay"</span>);</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_TONIGHT        = QStringLiteral(<span class="stringliteral">"toNight"</span>);</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_LDGDAY         = QStringLiteral(<span class="stringliteral">"ldgDay"</span>);</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_LDGNIGHT       = QStringLiteral(<span class="stringliteral">"ldgNight"</span>);</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_AUTOLAND       = QStringLiteral(<span class="stringliteral">"autoland"</span>);</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_SECONDPILOT    = QStringLiteral(<span class="stringliteral">"secondPilot"</span>);</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_THIRDPILOT     = QStringLiteral(<span class="stringliteral">"thirdPilot"</span>);</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_APPROACHTYPE   = QStringLiteral(<span class="stringliteral">"approachType"</span>);</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_FLIGHTNUMBER   = QStringLiteral(<span class="stringliteral">"flightNumber"</span>);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> FLIGHTS_REMARKS        = QStringLiteral(<span class="stringliteral">"remarks"</span>);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>  </div><div class="line"><a name="l00336"></a><span class="lineno">  336</span> <span class="comment">// tails table</span></div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>  </div><div class="line"><a name="l00338"></a><span class="lineno">  338</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TAILS_ROWID            = QStringLiteral(<span class="stringliteral">"tail_id"</span>);</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TAILS_REGISTRATION     = QStringLiteral(<span class="stringliteral">"registration"</span>);</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TAILS_COMPANY          = QStringLiteral(<span class="stringliteral">"company"</span>);</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TAILS_MAKE             = QStringLiteral(<span class="stringliteral">"make"</span>);</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TAILS_MODEL            = QStringLiteral(<span class="stringliteral">"model"</span>);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TAILS_VARIANT          = QStringLiteral(<span class="stringliteral">"variant"</span>);</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TAILS_MULTIPILOT       = QStringLiteral(<span class="stringliteral">"multipilot"</span>);</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TAILS_MULTIENGINE      = QStringLiteral(<span class="stringliteral">"multiengine"</span>);</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TAILS_ENGINETYPE       = QStringLiteral(<span class="stringliteral">"engineType"</span>);</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> TAILS_WEIGHTCLASS      = QStringLiteral(<span class="stringliteral">"weightClass"</span>);</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>  </div><div class="line"><a name="l00349"></a><span class="lineno">  349</span> <span class="comment">// pilots table</span></div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>  </div><div class="line"><a name="l00351"></a><span class="lineno">  351</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  PILOTS_ROWID           = QStringLiteral(<span class="stringliteral">"pilot_id"</span>);</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  PILOTS_LASTNAME        = QStringLiteral(<span class="stringliteral">"lastname"</span>);</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  PILOTS_FIRSTNAME       = QStringLiteral(<span class="stringliteral">"firstname"</span>);</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  PILOTS_ALIAS           = QStringLiteral(<span class="stringliteral">"alias"</span>);</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  PILOTS_COMPANY         = QStringLiteral(<span class="stringliteral">"company"</span>);</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  PILOTS_EMPLOYEEID      = QStringLiteral(<span class="stringliteral">"employeeid"</span>);</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  PILOTS_PHONE           = QStringLiteral(<span class="stringliteral">"phone"</span>);</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  PILOTS_EMAIL           = QStringLiteral(<span class="stringliteral">"email"</span>);</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>  </div><div class="line"><a name="l00360"></a><span class="lineno">  360</span> <span class="comment">// Currencies table</span></div><div class="line"><a name="l00361"></a><span class="lineno">  361</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  CURRENCIES_EXPIRYDATE  = QStringLiteral(<span class="stringliteral">"expiryDate"</span>);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  CURRENCIES_CURRENCYNAME = QStringLiteral(<span class="stringliteral">"currencyName"</span>);</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>  </div><div class="line"><a name="l00364"></a><span class="lineno">  364</span> <span class="comment">// Simulators table</span></div><div class="line"><a name="l00365"></a><span class="lineno">  365</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  SIMULATORS_ROWID       = QStringLiteral(<span class="stringliteral">"session_id"</span>);</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  SIMULATORS_DATE        = QStringLiteral(<span class="stringliteral">"date"</span>);</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  SIMULATORS_TIME        = QStringLiteral(<span class="stringliteral">"totalTime"</span>);</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  SIMULATORS_TYPE        = QStringLiteral(<span class="stringliteral">"deviceType"</span>);</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  SIMULATORS_ACFT        = QStringLiteral(<span class="stringliteral">"aircraftType"</span>);</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  SIMULATORS_REG         = QStringLiteral(<span class="stringliteral">"registration"</span>);</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  SIMULATORS_REMARKS     = QStringLiteral(<span class="stringliteral">"remarks"</span>);</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>  </div><div class="line"><a name="l00373"></a><span class="lineno">  373</span> <span class="comment">// Airports table</span></div><div class="line"><a name="l00374"></a><span class="lineno">  374</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> AIRPORTS_ICAO           = QStringLiteral(<span class="stringliteral">"icao"</span>);</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> AIRPORTS_IATA           = QStringLiteral(<span class="stringliteral">"iata"</span>);</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> AIRPORTS_NAME           = QStringLiteral(<span class="stringliteral">"name"</span>);</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> AIRPORTS_LAT            = QStringLiteral(<span class="stringliteral">"lat"</span>);</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> AIRPORTS_LON            = QStringLiteral(<span class="stringliteral">"long"</span>);</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> AIRPORTS_COUNTRY        = QStringLiteral(<span class="stringliteral">"country"</span>);</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> AIRPORTS_ALTITIDUE      = QStringLiteral(<span class="stringliteral">"alt"</span>);</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> AIRPORTS_UTC_OFFSET     = QStringLiteral(<span class="stringliteral">"utcoffset"</span>);</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span> AIRPORTS_TZ_OLSON       = QStringLiteral(<span class="stringliteral">"tzolson"</span>);</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>  </div><div class="line"><a name="l00384"></a><span class="lineno">  384</span> <span class="comment">// all tables</span></div><div class="line"><a name="l00385"></a><span class="lineno">  385</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ROWID                  = QStringLiteral(<span class="stringliteral">"rowid"</span>);</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  NULL_TIME_hhmm         = QStringLiteral(<span class="stringliteral">"00:00"</span>);</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>  </div><div class="line"><a name="l00388"></a><span class="lineno">  388</span> } <span class="comment">// namespace OPL::db</span></div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>  </div><div class="line"><a name="l00390"></a><span class="lineno">  390</span> <span class="keyword">namespace </span>Assets {</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>  </div><div class="line"><a name="l00392"></a><span class="lineno">  392</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  DATABASE_SCHEMA               = QStringLiteral(<span class="stringliteral">":/database/database_schema.sql"</span>);</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  DATABASE_TEMPLATE_AIRCRAFT    = QStringLiteral(<span class="stringliteral">":/database/templates/aircraft.json"</span>);</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  DATABASE_TEMPLATE_AIRPORT     = QStringLiteral(<span class="stringliteral">":/database/templates/airports.json"</span>);</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  DATABASE_TEMPLATE_CHANGELOG   = QStringLiteral(<span class="stringliteral">":/database/templates/changelog.json"</span>);</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  DATABASE_TEMPLATE_CURRENCIES  = QStringLiteral(<span class="stringliteral">":/database/templates/currencies.json"</span>);</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>  </div><div class="line"><a name="l00398"></a><span class="lineno">  398</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  LOGO                          = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/logos/logo_text.png"</span>);</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_MAIN                     = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/app/icon_main.png"</span>);</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_APPICON_LINUX            = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/app/icon_linux.svg"</span>);</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_APPICON_IOS              = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/app/icon_ios.svg"</span>);</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_APPICON_WIN              = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/app/icon_windows.ico"</span>);</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>  </div><div class="line"><a name="l00404"></a><span class="lineno">  404</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_HOME             = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/light/icon_home.svg"</span>);</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_NEW_FLIGHT       = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/light/icon_new_flight.svg"</span>);</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_LOGBOOK          = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/light/icon_logbook.svg"</span>);</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_AIRCRAFT         = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/light/icon_airplane.svg"</span>);</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_PILOT            = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/light/icon_pilot.svg"</span>);</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_SETTINGS         = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/light/icon_settings.svg"</span>);</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_QUIT             = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/light/icon_exit.svg"</span>);</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>  </div><div class="line"><a name="l00412"></a><span class="lineno">  412</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_BACKUP           = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/light/icon_backup.svg"</span>);</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>  </div><div class="line"><a name="l00414"></a><span class="lineno">  414</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_HOME_DARK        = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/dark/icon_home_dm.svg"</span>);</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_NEW_FLIGHT_DARK  = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/dark/icon_new_flight_dm.svg"</span>);</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_LOGBOOK_DARK     = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/dark/icon_logbook_dm.svg"</span>);</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_AIRCRAFT_DARK    = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/dark/icon_airplane_dm.svg"</span>);</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_PILOT_DARK       = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/dark/icon_pilot_dm.svg"</span>);</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_SETTINGS_DARK    = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/dark/icon_settings_dm.svg"</span>);</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_QUIT_DARK        = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/dark/icon_exit_dm.svg"</span>);</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>  </div><div class="line"><a name="l00422"></a><span class="lineno">  422</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  ICON_TOOLBAR_BACKUP_DARK      = QStringLiteral(<span class="stringliteral">":/icons/opl-icons/toolbar/thick/dark/icon_backup_dm.svg"</span>);</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>  </div><div class="line"><a name="l00424"></a><span class="lineno">  424</span> }</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>  </div><div class="line"><a name="l00426"></a><span class="lineno">  426</span> <span class="keyword">namespace </span>Styles {</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>  </div><div class="line"><a name="l00428"></a><span class="lineno">  428</span> <span class="keyword">const</span> <span class="keyword">inline</span> <span class="keyword">auto</span>  RED_BORDER = QStringLiteral(<span class="stringliteral">"border: 1px solid red"</span>);</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span> } <span class="comment">// namespace Styles</span></div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>  </div><div class="line"><a name="l00431"></a><span class="lineno">  431</span> } <span class="comment">// namespace opl</span></div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>  </div><div class="line"><a name="l00433"></a><span class="lineno">  433</span> <span class="preprocessor">#endif </span><span class="comment">// OPLCONSTANTS_H</span></div><div class="ttc" id="aclass_o_p_l_1_1_a_notification_handler_html"><div class="ttname"><a href="class_o_p_l_1_1_a_notification_handler.html">OPL::ANotificationHandler</a></div><div class="ttdoc">The ANotificationHandler class handles displaying of user-directed messages. It displays information ...</div><div class="ttdef"><b>Definition:</b> opl.h:66</div></div><div class="ttc" id="aclass_o_p_l_1_1_opl_globals_html"><div class="ttname"><a href="class_o_p_l_1_1_opl_globals.html">OPL::OplGlobals</a></div><div class="ttdoc">The OplGlobals class encapsulates non-POD globals to avoid making them static. It is available as a g...</div><div class="ttdef"><b>Definition:</b> opl.h:134</div></div><div class="ttc" id="anamespace_o_p_l_html"><div class="ttname"><a href="namespace_o_p_l.html">OPL</a></div><div class="ttdoc">A namespace to collect constants and enums used throughout the application.</div><div class="ttdef"><b>Definition:</b> paths.cpp:3</div></div><div class="ttc" id="anamespace_o_p_l_html_a0b7f6af161506b53d8e47559570a7289"><div class="ttname"><a href="namespace_o_p_l.html#a0b7f6af161506b53d8e47559570a7289">OPL::SimulatorType</a></div><div class="ttdeci">SimulatorType</div><div class="ttdoc">Enumerates the Simulator Types: Flight and Navigation Procedures Trainer 1/2, Flight Simulation Train...</div><div class="ttdef"><b>Definition:</b> opl.h:117</div></div><div class="ttc" id="anamespace_o_p_l_html_a266b8eb67c867e08a3e4b285818d15dd"><div class="ttname"><a href="namespace_o_p_l.html#a266b8eb67c867e08a3e4b285818d15dd">OPL::CurrencyName</a></div><div class="ttdeci">CurrencyName</div><div class="ttdoc">Enumerates the currency names.</div><div class="ttdef"><b>Definition:</b> opl.h:127</div></div><div class="ttc" id="anamespace_o_p_l_html_a38ae55ad972d58b78a55f5e7f12857d0"><div class="ttname"><a href="namespace_o_p_l.html#a38ae55ad972d58b78a55f5e7f12857d0">OPL::PilotFunction</a></div><div class="ttdeci">PilotFunction</div><div class="ttdoc">PilotFunction Pilot in Command, Pilot in Command under Supervision, Second in Command (Co-Pilot),...</div><div class="ttdef"><b>Definition:</b> opl.h:102</div></div><div class="ttc" id="anamespace_o_p_l_html_a5bd3211ed824e4526fd117ffb667aacc"><div class="ttname"><a href="namespace_o_p_l.html#a5bd3211ed824e4526fd117ffb667aacc">OPL::Translation</a></div><div class="ttdeci">Translation</div><div class="ttdoc">Enumerates the available translations.</div><div class="ttdef"><b>Definition:</b> opl.h:107</div></div><div class="ttc" id="anamespace_o_p_l_html_ada86eb02cea54d91c8c11c9112ec1cf7"><div class="ttname"><a href="namespace_o_p_l.html#ada86eb02cea54d91c8c11c9112ec1cf7">OPL::DbTable</a></div><div class="ttdeci">DbTable</div><div class="ttdoc">Enumerates the tables in the database.</div><div class="ttdef"><b>Definition:</b> opl.h:122</div></div><div class="ttc" id="anamespace_o_p_l_html_ae7d5247f41184ce8e7a49623ef37904d"><div class="ttname"><a href="namespace_o_p_l.html#ae7d5247f41184ce8e7a49623ef37904d">OPL::DbViewName</a></div><div class="ttdeci">DbViewName</div><div class="ttdoc">Enumerates the available SQL views in the database.</div><div class="ttdef"><b>Definition:</b> opl.h:112</div></div><div class="ttc" id="anamespace_o_p_l_html_af7cd691b5d236d3e846193464e9cba28"><div class="ttname"><a href="namespace_o_p_l.html#af7cd691b5d236d3e846193464e9cba28">OPL::DateFormat</a></div><div class="ttdeci">DateFormat</div><div class="ttdoc">ADateFormats enumerates the accepted date formats for QDateEdits.</div><div class="ttdef"><b>Definition:</b> opl.h:92</div></div></div><!-- fragment --></div><!-- contents --></div><!-- doc-content --><!-- start footer part --><div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->  <ul>    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><b>opl.h</b></li>    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>  </ul></div></body></html>
 |