openPilotLog
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
 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
 CADateResponsible for input/output of Dates and handling the different Date Formats
 CAEntryThe Entry class encapsulates table metadata(table name, row id) and data for new and existing entries in the database to operate on
 CAAircraftEntry
 CACurrencyEntry
 CAFlightEntry
 CAPilotEntry
 CATailEntry
 CAHashResponsible for calculating cryptographic hashes of files (used to verify downloads)
 CAJsonThe AJSON class is responsible for parsing the database (sqlite) to and from JSON
 COpl::ANotificationHandlerHandles 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
 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
 CDataPosition
 CACalc::NightTimeValuesThe NightTimeValues struct encapsulates values relating to night time that are needed by the NewFlightDialog
 CProcessAircraft
 CProcessFlights
 CProcessPilots
 CQDialog
 CFirstRunDialogThe FirstRunDialog is used as a set-up wizard for the application
 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
 CQObject
 CADatabaseThe DB class encapsulates the SQL database by providing fast access to hot database data
 CADownload
 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
 CQSqlError
 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
 CQStandardItem
 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
 CQWidget
 CAircraftWidgetThe AircraftWidget is used to view, edit, delete or add new tails
 CBackupWidgetThe BackupWidget is the interface for the user to create and restore backups of the database
 CDebugWidget
 CHomeWidgetThe HomeWidget is the welcome screen of the application
 CLogbookWidgetThe LogbookWidget displays data from the database in a QSqlTableView fed by a QSqlQuery Model
 CPilotsWidgetThe PilotsWidget is used to view, edit, delete or add new pilots
 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