| 
					
				 | 
			
			
				@@ -0,0 +1,256 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *openPilotLog - A FOSS Pilot Logbook Application 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *Copyright (C) 2020-2021 Felix Turowsky 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *This program is free software: you can redistribute it and/or modify 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *it under the terms of the GNU General Public License as published by 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *the Free Software Foundation, either version 3 of the License, or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *(at your option) any later version. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *This program is distributed in the hope that it will be useful, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *but WITHOUT ANY WARRANTY; without even the implied warranty of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *GNU General Public License for more details. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *You should have received a copy of the GNU General Public License 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *along with this program.  If not, see <https://www.gnu.org/licenses/>. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#ifndef OPLCONSTANTS_H 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define OPLCONSTANTS_H 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <QtCore> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <QMessageBox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "src/database/adatabasetypes.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/*! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  \brief A namespace to collect constants and enums used throughout the application. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  \details The opl namespace collects enums and constants that are used throughout 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  the application and provide uniform access. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  The date, time and datetime namespaces include enums used to differentiate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  date and time formats for QDate, QTime and QDateTime that deviate from standard values 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  included in the Qt Framework like Qt::ISODate and are to be used in conjunction with the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  .toString() members of these classes. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  The db namespace contains constants for programatically accessing the database in a fast 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  and uniform manner. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+namespace Opl { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#if defined(__GNUC__) || defined(__clang__) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #define FUNC_IDENT __PRETTY_FUNCTION__ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#elif defined(_MSC_VER) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #define FUNC_IDENT __FUNCSIG__ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #define FUNC_IDENT __func__ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define DEB qDebug()                            // Use for debugging 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define LOG qInfo()                             // Use for logging milestones (silently, will be written to log file and console out only) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define TODO qCritical() << "TO DO:\t" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define INFO(msg) Opl::ANotificationHandler::info(msg, this)  // Use for messages of interest to the user (will be displayed in GUI) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define WARN(msg) Opl::ANotificationHandler::warn(msg, this)  // Use for warnings (will be displayed in GUI) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define CRIT(msg) Opl::ANotificationHandler::crit(msg, this)  // Use for critical warnings (will be displayed in GUI) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/*! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * \brief The ANotificationHandler class handles displaying of user-directed messages. It displays 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * information to the user and forwards the displayed message to ALog so it is written 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * to the console and log files. The INFO, WARN and CRIT makros provide convenient access. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class ANotificationHandler { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    static inline void info(const QString msg, QWidget *parent = nullptr){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        qInfo() << msg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QMessageBox mb(parent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mb.setText(msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mb.setIcon(QMessageBox::Information); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mb.exec(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    static inline void warn(const QString msg, QWidget *parent = nullptr){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        qWarning() << msg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QMessageBox mb(parent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mb.setText(msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mb.setIcon(QMessageBox::Warning); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mb.exec(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    static inline void crit(const QString msg, QWidget *parent = nullptr){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        qCritical() << msg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QMessageBox mb(parent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mb.setText(msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mb.setIcon(QMessageBox::Critical); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mb.exec(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; // class ANotificationHandler 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ApproachTypes = QStringList{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("VISUAL"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("ILS CAT I"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("ILS CAT II"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("ILS CAT III"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("GLS"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("MLS"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("LOC"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("LOC/DME"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("RNAV"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("RNAV (LNAV)"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("RNAV (LNAV/VNAV)"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("RNAV (LPV)"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("RNAV (RNP)"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("RNAV (RNP-AR)"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("VOR"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("VOR/DME"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("NDB"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("NDB/DME"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("TACAN"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("SRA"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("PAR"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QLatin1String("OTHER") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+namespace Date { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+enum DateFormat {Default, Text}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} // namespace opl::date 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+namespace Time { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+enum FlightTimeFormat {Default, Decimal}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} // namespace opl::time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+namespace Datetime { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+enum DateTimeFormat {Default, Backup}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} // namespace opl::datetime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/*! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  The opl::db namespace provides string literals to programatically access the database 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  Example usage, do: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  newData.insert(opl::db::FLIGHTS_DEP, ui->deptLocLineEdit->text()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  newData.value(opl::db::AIRCRAFT_MULTIPILOT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  instead of: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  newData.insert("dept", ui->deptLocLineEdit->text()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  newData.value("multipilot"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  Declaring these literals here avoids memory allocation at runtime for construction of temporary 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  qstrings like ("dept"). See https://doc.qt.io/qt-5/qstring.html#QStringLiteral and ensures 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  uniform use throughout the application. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+namespace Db { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Table names 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto TABLE_FLIGHTS          = QLatin1String("flights"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto TABLE_PILOTS           = QLatin1String("pilots"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto TABLE_TAILS            = QLatin1String("tails"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto TABLE_AIRCRAFT         = QLatin1String("aircraft"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto TABLE_AIRPORTS         = QLatin1String("airports"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto TABLE_CURRENCIES       = QLatin1String("currencies"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Flights table columns 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_DOFT           = QLatin1String("doft"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_DEPT           = QLatin1String("dept"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_DEST           = QLatin1String("dest"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TOFB           = QLatin1String("tofb"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TONB           = QLatin1String("tonb"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_PIC            = QLatin1String("pic"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_ACFT           = QLatin1String("acft"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TBLK           = QLatin1String("tblk"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TSPSE          = QLatin1String("tSPSE"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TSPME          = QLatin1String("tSPME"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TMP            = QLatin1String("tMP"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TNIGHT         = QLatin1String("tNIGHT"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TIFR           = QLatin1String("tIFR"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TPIC           = QLatin1String("tPIC"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TPICUS         = QLatin1String("tPICUS"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TSIC           = QLatin1String("tSIC"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TDUAL          = QLatin1String("tDUAL"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TFI            = QLatin1String("tFI"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TSIM           = QLatin1String("tSIM"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_PILOTFLYING    = QLatin1String("pilotFlying"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TODAY          = QLatin1String("toDay"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_TONIGHT        = QLatin1String("toNight"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_LDGDAY         = QLatin1String("ldgDay"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_LDGNIGHT       = QLatin1String("ldgNight"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_AUTOLAND       = QLatin1String("autoland"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_SECONDPILOT    = QLatin1String("secondPilot"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_THIRDPILOT     = QLatin1String("thirdPilot"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_APPROACHTYPE   = QLatin1String("approachType"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_FLIGHTNUMBER   = QLatin1String("flightNumber"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto FLIGHTS_REMARKS        = QLatin1String("remarks"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// tails table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto TAILS_REGISTRATION     = QLatin1String("registration"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto TAILS_COMPANY          = QLatin1String("company"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto TAILS_MAKE             = QLatin1String("make"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto TAILS_MODEL            = QLatin1String("model"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto TAILS_VARIANT          = QLatin1String("variant"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto TAILS_MULTIPILOT       = QLatin1String("multipilot"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto TAILS_MULTIENGINE      = QLatin1String("multiengine"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto TAILS_ENGINETYPE       = QLatin1String("engineType"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto TAILS_WEIGHTCLASS      = QLatin1String("weightClass"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// pilots table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto PILOTS_LASTNAME        = QLatin1String("lastname"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto PILOTS_FIRSTNAME       = QLatin1String("firstname"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto PILOTS_ALIAS           = QLatin1String("alias"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto PILOTS_COMPANY         = QLatin1String("company"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto PILOTS_EMPLOYEEID      = QLatin1String("employeeid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto PILOTS_PHONE           = QLatin1String("phone"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto PILOTS_EMAIL           = QLatin1String("email"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Currencies table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto CURRENCIES_EXPIRYDATE  = QLatin1String("expiryDate"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// all tables 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ROWID                  = QLatin1String("ROWID"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto NULL_TIME_hhmm         = QLatin1String("00:00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto DEFAULT_FLIGHT_POSITION   = DataPosition(TABLE_FLIGHTS, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto DEFAULT_PILOT_POSITION    = DataPosition(TABLE_PILOTS, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto DEFAULT_TAIL_POSITION     = DataPosition(TABLE_TAILS, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto DEFAULT_AIRCRAFT_POSITION = DataPosition(TABLE_AIRCRAFT, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} // namespace opl::db 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+namespace Assets { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto LOGO                          = QLatin1String(":/icons/opl-icons/logos/logo_text.png"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_MAIN                     = QLatin1String(":/icons/opl-icons/app/icon_main.png"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_APPICON_LINUX            = QLatin1String(":/icons/opl-icons/app/icon_linux.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_APPICON_IOS              = QLatin1String(":/icons/opl-icons/app/icon_ios.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_APPICON_WIN              = QLatin1String(":/icons/opl-icons/app/icon_windows.ico"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_HOME             = QLatin1String(":/icons/opl-icons/toolbar/thick/light/icon_home.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_NEW_FLIGHT       = QLatin1String(":/icons/opl-icons/toolbar/thick/light/icon_new_flight.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_LOGBOOK          = QLatin1String(":/icons/opl-icons/toolbar/thick/light/icon_logbook.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_AIRCRAFT         = QLatin1String(":/icons/opl-icons/toolbar/thick/light/icon_airplane.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_PILOT            = QLatin1String(":/icons/opl-icons/toolbar/thick/light/icon_pilot.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_SETTINGS         = QLatin1String(":/icons/opl-icons/toolbar/thick/light/icon_settings.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_QUIT             = QLatin1String(":/icons/opl-icons/toolbar/thick/light/icon_exit.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_BACKUP           = QLatin1String(":/icons/opl-icons/toolbar/thick/light/icon_backup.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_HOME_DARK        = QLatin1String(":/icons/opl-icons/toolbar/thick/dark/icon_home_dm.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_NEW_FLIGHT_DARK  = QLatin1String(":/icons/opl-icons/toolbar/thick/dark/icon_new_flight_dm.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_LOGBOOK_DARK     = QLatin1String(":/icons/opl-icons/toolbar/thick/dark/icon_logbook_dm.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_AIRCRAFT_DARK    = QLatin1String(":/icons/opl-icons/toolbar/thick/dark/icon_airplane_dm.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_PILOT_DARK       = QLatin1String(":/icons/opl-icons/toolbar/thick/dark/icon_pilot_dm.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_SETTINGS_DARK    = QLatin1String(":/icons/opl-icons/toolbar/thick/dark/icon_settings_dm.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_QUIT_DARK        = QLatin1String(":/icons/opl-icons/toolbar/thick/dark/icon_exit_dm.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const auto ICON_TOOLBAR_BACKUP_DARK      = QLatin1String(":/icons/opl-icons/toolbar/thick/dark/icon_backup_dm.svg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} // namespace opl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#endif // OPLCONSTANTS_H 
			 |