# openPilotLog: Class List

Class List
Here are the classes, structs, unions and interfaces with brief descriptions:

Opl | A namespace to collect constants and enums used throughout the application
ANotificationHandler | 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
AAircraftEntry |
ACurrencyEntry |
ADatabase | The DB class encapsulates the SQL database by providing fast access to hot database data
ADatabaseError | Custom 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
ADataBaseSetup | Responsible for the inital setup of the database when the application is first launched. It creates the database in the specified default location and creates all required tables and views. It can also be used to reset the database currently used
ADate | Responsible for input/output of Dates and handling the different Date Formats
ADownload |
AEntry | The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries in the database to operate on
AFileStandardItem | Simple 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
AFlightEntry |
AHash | Responsible for calculating cryptographic hashes of files (used to verify downloads)
AircraftWidget | The AircraftWidget is used to view, edit, delete or add new tails
AJson | The AJSON class is responsible for parsing the database (sqlite) to and from JSON
APilotEntry |
ARunGuard | The RunGuard class ensures only a single instance of the application is running simultaneously
ASettings | Thin wrapper for the QSettings class, simplifying reading and writing of settings
AStandardPaths | The AStandardAppPaths class encapsulates a static QMap holding the standard paths of the application
AStyle | Encapsulates style and stylesheet logic
ATailEntry |
ATimer | Easy to use performance timer
ATranslator | Responsible 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
BackupWidget | The BackupWidget is the interface for the user to create and restore backups of the database
DataPosition |
DebugWidget |
FirstRunDialog |
HomeWidget | The HomeWidget is the welcome screen of the application
LogbookWidget | The LogbookWidget displays data from the database in a QSqlTableView fed by a QSqlQuery Model
NewFlightDialog |
NewPilotDialog |
NewTailDialog | The NewTail class is a dialog for adding a new tail to the database or editing an existing one
PilotsWidget | The PilotsWidget is used to view, edit, delete or add new pilots
SettingsWidget | The SettingsWidget is used to to display and alter Settings
StyleSheet | The StyleSheet struct holds the Display Name and File Name (in the resource system) for the available stylesheets