openPilotLog
FirstRunDialog Class Reference

The FirstRunDialog is used as a set-up wizard for the application. More...

#include <firstrundialog.h>

Inheritance diagram for FirstRunDialog:

Public Member Functions

 FirstRunDialog (QWidget *parent=nullptr)
 

Protected Member Functions

void reject () override
 
void keyPressEvent (QKeyEvent *keyEvent) override
 Shows the debug widget by pressing <ctrl + t> More...
 

Detailed Description

The FirstRunDialog is used as a set-up wizard for the application.

The Application does not ship with a database, it is created on the fly. This is the main purpose of the FirstRunDialog. Apart from this main task, user details and preferences are gathered and saved using Settings.

The Dialog contains a tabbed widget which guides the user through the set up process.

1 - Welcome

In this tab, the user is greeted and has the option to import an existing database instead of creating a new one.

2 - Personal Data

In this tab, the users personal data is collected, which is used to create the first Pilot Entry in the database. ROW ID (1) identifies the logbook owner, which is also referred to as "self" in the application.

3 - Currencies

In this tab, the user can enter the expiration dates of his licenses, medical or other currencies that he wishes to keep track of. These are stored in the database within the currencies table.

4 - Flight Logging

In this tab, the user can determine what the defualt selections for logging a new flight will be. These selections (Pilot Function, Flight Rules,...) are stored in an INI file using the Settings class.

5 - Customization

In this tab, the user can make selections regarding the application layout and theming, as well as with regards to how data is being displayed. These settings are stored in an INI file using the Settings class.

6 - Finish / Database creation

In this tab the user can select how the database is created. There are two options, either downloading database templates from the github repository, or to fall back to a set of JSON files inclnuded in the application ressources (see templates.qrc). These built in files are probably not as up-to-date, but enable the application to function if no internet connection is available or the links to the online ressources are broken.

For Debug purcposes, pressing <ctrl+t> will enable a line edit in which a different branch than main can be selected from which the database templates are to be pulled.

Upon successful completion of the FirstRunDialog, a Setting is written so that the dialog is not shown on subsequent runs.

Member Function Documentation

◆ keyPressEvent()

void FirstRunDialog::keyPressEvent ( QKeyEvent *  keyEvent)
overrideprotected

Shows the debug widget by pressing <ctrl + t>

keyPressEvent ctrl + t enables debug mode, showing the branch selector which is used to select a git branch other than main for downloading the templates

Parameters
keyEvent

The documentation for this class was generated from the following files: