openPilotLog
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
 NACalcThe ACalc namespace provides various functions for calculations that are performed outside of the database. This includes tasks like converting different units and formats, or functions calculating block time or night time
 CNightTimeValuesThe NightTimeValues struct encapsulates values relating to night time that are needed by the NewFlightDialog
 NOplA namespace to collect constants and enums used throughout the application
 CANotificationHandlerHandles displaying of user-directed messages. It displays information to the user in a QMessageBox 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
 CAAircraftEntry
 CACompletionDataData to QCompleters and QMaps used for mapping user input to database keys. It retreives the completer targets and mapping data from the database and caches it for fast access without the need to query the database
 CACurrencyEntry
 CADatabaseThe DB class encapsulates the SQL database by providing fast access to hot database data
 CADatabaseErrorCustom Database Error derived from QSqlError. Extends text() adding "Database Error: " before the text. Errors that are related to SQL are assigned their respective error codes. Errors that occur with data in the database are handled with the error code "opl" and QSqlError::UnknownError
 CADateResponsible for input/output of Dates and handling the different Date Formats
 CADownload
 CAEntryThe Entry class encapsulates table metadata(table name, row id) and data for new and existing entries in the database to operate on
 CAFileStandardItemSimple QStandardItem subclass to encapsulate necessary file info. Using only a QStandardItem would mean that the full path should be inputted as data and of course displayed by default. However this way we create the absolute path in the fileInfo attribute for further use while displaying only the base name
 CAFlightEntry
 CAHashResponsible for calculating cryptographic hashes of files (used to verify downloads)
 CAircraftWidgetThe AircraftWidget is used to view, edit, delete or add new tails
 CAJsonThe AJSON class is responsible for parsing the database (sqlite) to and from JSON
 CAPilotEntry
 CARunGuardThe RunGuard class ensures only a single instance of the application is running simultaneously
 CASettingsThin wrapper for the QSettings class, simplifying reading and writing of settings
 CAStandardPathsThe AStandardAppPaths class encapsulates a static QMap holding the standard paths of the application
 CAStyleEncapsulates style and stylesheet logic
 CATailEntry
 CATimerEasy to use performance timer
 CATranslatorResponsible for managing the QTranslator used for providing localisations. Translations are planned, but are not currently being worked on. The way QT language tools are working with CMAKE, there are some considerations for when works on translation actually start. See here and here. Long story short, make sure to use a version of CMake that is 3.16 or earlier, or 3.19.2 or later
 CBackupWidgetThe BackupWidget is the interface for the user to create and restore backups of the database
 CDataPosition
 CDebugWidget
 CFirstRunDialogThe FirstRunDialog is used as a set-up wizard for the application
 CHomeWidgetThe HomeWidget is the welcome screen of the application
 CLogbookWidgetThe LogbookWidget displays data from the database in a QSqlTableView fed by a QSqlQuery Model
 CNewFlightDialogThe NewFlightDialog is used to add or edit entries from the flights table in the database
 CNewPilotDialogThe NewPilotDialog enables adding new entries to the pilot table in the database
 CNewTailDialogThe NewTailDialog enables adding new Tail entries to the database or editing existing ones
 CPilotsWidgetThe PilotsWidget is used to view, edit, delete or add new pilots
 CProcessAircraft
 CProcessFlights
 CProcessPilots
 CSettingsWidgetThe SettingsWidget is used to to display and alter Settings
 CStyleSheetThe StyleSheet struct holds the Display Name and File Name (in the resource system) for the available stylesheets
 CUserDataStateThe UserDateState struct caches the current number of entries in relevant database tables for fast access
 CValidationStateEncapsulates a QBitArray that has a bit set (or unset) depending on wether the input for the associated index has been verified. The indexes correspond to the mandatory items enumerated in the ValidationItem enum