18 #ifndef OPLCONSTANTS_H 
   19 #define OPLCONSTANTS_H 
   22 #include <QMessageBox> 
   23 #include "src/database/adatabasetypes.h" 
   41 #if defined(__GNUC__) || defined(__clang__) 
   42     #define FUNC_IDENT __PRETTY_FUNCTION__ 
   43 #elif defined(_MSC_VER) 
   44     #define FUNC_IDENT __FUNCSIG__ 
   46     #define FUNC_IDENT __func__ 
   49 #define DEB qDebug()                            // Use for debugging 
   50 #define LOG qInfo()                             // Use for logging milestones (silently, will be written to log file and console out only) 
   51 #define TODO qCritical() << "TO DO:\t" 
   53 #define INFO(msg) Opl::ANotificationHandler::info(msg, this)  // Use for messages of interest to the user (will be displayed in GUI) 
   54 #define WARN(msg) Opl::ANotificationHandler::warn(msg, this)  // Use for warnings (will be displayed in GUI) 
   55 #define CRIT(msg) Opl::ANotificationHandler::crit(msg, this)  // Use for critical warnings (will be displayed in GUI) 
   64     static inline void info(
const QString msg, QWidget *parent = 
nullptr){
 
   66         QMessageBox mb(parent);
 
   68         mb.setIcon(QMessageBox::Information);
 
   71     static inline void warn(
const QString msg, QWidget *parent = 
nullptr){
 
   73         QMessageBox mb(parent);
 
   75         mb.setIcon(QMessageBox::Warning);
 
   78     static inline void crit(
const QString msg, QWidget *parent = 
nullptr){
 
   80         QMessageBox mb(parent);
 
   82         mb.setIcon(QMessageBox::Critical);
 
   87 enum class Translations {English, German, Spanish};
 
   89 const static QMap<Opl::Translations, QString> L10N_FILES {
 
   90     {Opl::Translations::English, QStringLiteral(
"l10n/openpilotlog_en")},
 
   91     {Opl::Translations::German,  QStringLiteral(
"l10n/openpilotlog_de")},
 
   92     {Opl::Translations::Spanish, QStringLiteral(
"l10n/openpilotlog_es")},
 
   94 static const QMap<Translations, QString> L10N_NAMES {
 
   95     {Opl::Translations::English, QStringLiteral(
"English")},
 
   96     {Opl::Translations::German,  QStringLiteral(
"Deutsch")},
 
   97     {Opl::Translations::Spanish, QStringLiteral(
"EspaƱol")},
 
  100 static const auto ApproachTypes = QStringList{
 
  101         QLatin1String(
"VISUAL"),
 
  102         QLatin1String(
"ILS CAT I"),
 
  103         QLatin1String(
"ILS CAT II"),
 
  104         QLatin1String(
"ILS CAT III"),
 
  105         QLatin1String(
"GLS"),
 
  106         QLatin1String(
"MLS"),
 
  107         QLatin1String(
"LOC"),
 
  108         QLatin1String(
"LOC/DME"),
 
  109         QLatin1String(
"RNAV"),
 
  110         QLatin1String(
"RNAV (LNAV)"),
 
  111         QLatin1String(
"RNAV (LNAV/VNAV)"),
 
  112         QLatin1String(
"RNAV (LPV)"),
 
  113         QLatin1String(
"RNAV (RNP)"),
 
  114         QLatin1String(
"RNAV (RNP-AR)"),
 
  115         QLatin1String(
"VOR"),
 
  116         QLatin1String(
"VOR/DME"),
 
  117         QLatin1String(
"NDB"),
 
  118         QLatin1String(
"NDB/DME"),
 
  119         QLatin1String(
"TACAN"),
 
  120         QLatin1String(
"SRA"),
 
  121         QLatin1String(
"PAR"),
 
  122         QLatin1String(
"OTHER")
 
  130 enum class ADateFormat {ISODate, DE, EN };
 
  136 enum FlightTimeFormat {Default, Decimal};
 
  142 enum DateTimeFormat {Default, Backup};
 
  165 static const auto TABLE_FLIGHTS          = QLatin1String(
"flights");
 
  166 static const auto TABLE_PILOTS           = QLatin1String(
"pilots");
 
  167 static const auto TABLE_TAILS            = QLatin1String(
"tails");
 
  168 static const auto TABLE_AIRCRAFT         = QLatin1String(
"aircraft");
 
  169 static const auto TABLE_AIRPORTS         = QLatin1String(
"airports");
 
  170 static const auto TABLE_CURRENCIES       = QLatin1String(
"currencies");
 
  173 static const auto FLIGHTS_DOFT           = QLatin1String(
"doft");
 
  174 static const auto FLIGHTS_DEPT           = QLatin1String(
"dept");
 
  175 static const auto FLIGHTS_DEST           = QLatin1String(
"dest");
 
  176 static const auto FLIGHTS_TOFB           = QLatin1String(
"tofb");
 
  177 static const auto FLIGHTS_TONB           = QLatin1String(
"tonb");
 
  178 static const auto FLIGHTS_PIC            = QLatin1String(
"pic");
 
  179 static const auto FLIGHTS_ACFT           = QLatin1String(
"acft");
 
  180 static const auto FLIGHTS_TBLK           = QLatin1String(
"tblk");
 
  181 static const auto FLIGHTS_TSPSE          = QLatin1String(
"tSPSE");
 
  182 static const auto FLIGHTS_TSPME          = QLatin1String(
"tSPME");
 
  183 static const auto FLIGHTS_TMP            = QLatin1String(
"tMP");
 
  184 static const auto FLIGHTS_TNIGHT         = QLatin1String(
"tNIGHT");
 
  185 static const auto FLIGHTS_TIFR           = QLatin1String(
"tIFR");
 
  186 static const auto FLIGHTS_TPIC           = QLatin1String(
"tPIC");
 
  187 static const auto FLIGHTS_TPICUS         = QLatin1String(
"tPICUS");
 
  188 static const auto FLIGHTS_TSIC           = QLatin1String(
"tSIC");
 
  189 static const auto FLIGHTS_TDUAL          = QLatin1String(
"tDUAL");
 
  190 static const auto FLIGHTS_TFI            = QLatin1String(
"tFI");
 
  191 static const auto FLIGHTS_TSIM           = QLatin1String(
"tSIM");
 
  192 static const auto FLIGHTS_PILOTFLYING    = QLatin1String(
"pilotFlying");
 
  193 static const auto FLIGHTS_TODAY          = QLatin1String(
"toDay");
 
  194 static const auto FLIGHTS_TONIGHT        = QLatin1String(
"toNight");
 
  195 static const auto FLIGHTS_LDGDAY         = QLatin1String(
"ldgDay");
 
  196 static const auto FLIGHTS_LDGNIGHT       = QLatin1String(
"ldgNight");
 
  197 static const auto FLIGHTS_AUTOLAND       = QLatin1String(
"autoland");
 
  198 static const auto FLIGHTS_SECONDPILOT    = QLatin1String(
"secondPilot");
 
  199 static const auto FLIGHTS_THIRDPILOT     = QLatin1String(
"thirdPilot");
 
  200 static const auto FLIGHTS_APPROACHTYPE   = QLatin1String(
"approachType");
 
  201 static const auto FLIGHTS_FLIGHTNUMBER   = QLatin1String(
"flightNumber");
 
  202 static const auto FLIGHTS_REMARKS        = QLatin1String(
"remarks");
 
  206 static const auto TAILS_REGISTRATION     = QLatin1String(
"registration");
 
  207 static const auto TAILS_COMPANY          = QLatin1String(
"company");
 
  208 static const auto TAILS_MAKE             = QLatin1String(
"make");
 
  209 static const auto TAILS_MODEL            = QLatin1String(
"model");
 
  210 static const auto TAILS_VARIANT          = QLatin1String(
"variant");
 
  211 static const auto TAILS_MULTIPILOT       = QLatin1String(
"multipilot");
 
  212 static const auto TAILS_MULTIENGINE      = QLatin1String(
"multiengine");
 
  213 static const auto TAILS_ENGINETYPE       = QLatin1String(
"engineType");
 
  214 static const auto TAILS_WEIGHTCLASS      = QLatin1String(
"weightClass");
 
  218 static const auto PILOTS_LASTNAME        = QLatin1String(
"lastname");
 
  219 static const auto PILOTS_FIRSTNAME       = QLatin1String(
"firstname");
 
  220 static const auto PILOTS_ALIAS           = QLatin1String(
"alias");
 
  221 static const auto PILOTS_COMPANY         = QLatin1String(
"company");
 
  222 static const auto PILOTS_EMPLOYEEID      = QLatin1String(
"employeeid");
 
  223 static const auto PILOTS_PHONE           = QLatin1String(
"phone");
 
  224 static const auto PILOTS_EMAIL           = QLatin1String(
"email");
 
  227 static const auto CURRENCIES_EXPIRYDATE  = QLatin1String(
"expiryDate");
 
  228 static const auto CURRENCIES_DESCRIPTION = QLatin1String(
"description");
 
  231 static const auto ROWID                  = QLatin1String(
"ROWID");
 
  232 static const auto NULL_TIME_hhmm         = QLatin1String(
"00:00");
 
  234 static const auto DEFAULT_FLIGHT_POSITION   = 
DataPosition(TABLE_FLIGHTS, 0);
 
  235 static const auto DEFAULT_PILOT_POSITION    = 
DataPosition(TABLE_PILOTS, 0);
 
  236 static const auto DEFAULT_TAIL_POSITION     = 
DataPosition(TABLE_TAILS, 0);
 
  237 static const auto DEFAULT_AIRCRAFT_POSITION = 
DataPosition(TABLE_AIRCRAFT, 0);
 
  243 static const auto LOGO                          = QLatin1String(
":/icons/opl-icons/logos/logo_text.png");
 
  244 static const auto ICON_MAIN                     = QLatin1String(
":/icons/opl-icons/app/icon_main.png");
 
  245 static const auto ICON_APPICON_LINUX            = QLatin1String(
":/icons/opl-icons/app/icon_linux.svg");
 
  246 static const auto ICON_APPICON_IOS              = QLatin1String(
":/icons/opl-icons/app/icon_ios.svg");
 
  247 static const auto ICON_APPICON_WIN              = QLatin1String(
":/icons/opl-icons/app/icon_windows.ico");
 
  249 static const auto ICON_TOOLBAR_HOME             = QLatin1String(
":/icons/opl-icons/toolbar/thick/light/icon_home.svg");
 
  250 static const auto ICON_TOOLBAR_NEW_FLIGHT       = QLatin1String(
":/icons/opl-icons/toolbar/thick/light/icon_new_flight.svg");
 
  251 static const auto ICON_TOOLBAR_LOGBOOK          = QLatin1String(
":/icons/opl-icons/toolbar/thick/light/icon_logbook.svg");
 
  252 static const auto ICON_TOOLBAR_AIRCRAFT         = QLatin1String(
":/icons/opl-icons/toolbar/thick/light/icon_airplane.svg");
 
  253 static const auto ICON_TOOLBAR_PILOT            = QLatin1String(
":/icons/opl-icons/toolbar/thick/light/icon_pilot.svg");
 
  254 static const auto ICON_TOOLBAR_SETTINGS         = QLatin1String(
":/icons/opl-icons/toolbar/thick/light/icon_settings.svg");
 
  255 static const auto ICON_TOOLBAR_QUIT             = QLatin1String(
":/icons/opl-icons/toolbar/thick/light/icon_exit.svg");
 
  257 static const auto ICON_TOOLBAR_BACKUP           = QLatin1String(
":/icons/opl-icons/toolbar/thick/light/icon_backup.svg");
 
  259 static const auto ICON_TOOLBAR_HOME_DARK        = QLatin1String(
":/icons/opl-icons/toolbar/thick/dark/icon_home_dm.svg");
 
  260 static const auto ICON_TOOLBAR_NEW_FLIGHT_DARK  = QLatin1String(
":/icons/opl-icons/toolbar/thick/dark/icon_new_flight_dm.svg");
 
  261 static const auto ICON_TOOLBAR_LOGBOOK_DARK     = QLatin1String(
":/icons/opl-icons/toolbar/thick/dark/icon_logbook_dm.svg");
 
  262 static const auto ICON_TOOLBAR_AIRCRAFT_DARK    = QLatin1String(
":/icons/opl-icons/toolbar/thick/dark/icon_airplane_dm.svg");
 
  263 static const auto ICON_TOOLBAR_PILOT_DARK       = QLatin1String(
":/icons/opl-icons/toolbar/thick/dark/icon_pilot_dm.svg");
 
  264 static const auto ICON_TOOLBAR_SETTINGS_DARK    = QLatin1String(
":/icons/opl-icons/toolbar/thick/dark/icon_settings_dm.svg");
 
  265 static const auto ICON_TOOLBAR_QUIT_DARK        = QLatin1String(
":/icons/opl-icons/toolbar/thick/dark/icon_exit_dm.svg");
 
  267 static const auto ICON_TOOLBAR_BACKUP_DARK      = QLatin1String(
":/icons/opl-icons/toolbar/thick/dark/icon_backup_dm.svg");
 
  273 #endif // OPLCONSTANTS_H