Browse Source

Refactored DatabaseTarget -> DBTarget

George 4 years ago
parent
commit
cadd194056

+ 18 - 18
src/experimental/adatabase.cpp

@@ -123,7 +123,7 @@ bool ADataBase::removeMany(QList<DataPosition> data_position_list)
     query.prepare("BEGIN EXCLUSIVE TRANSACTION");
     query.exec();
 
-    for (const auto data_position : data_position_list) {
+    for (const auto& data_position : data_position_list) {
         if (!exists(data_position)) {
             lastError = "Database Error: Database entry not found.";
             errorCount++;
@@ -391,26 +391,26 @@ AFlightEntry ADataBase::getFlightEntry(RowId row_id)
     return flight_entry;
 }
 
-const QStringList ADataBase::getCompletionList(ADataBase::DatabaseTarget target)
+const QStringList ADataBase::getCompletionList(DBTarget target)
 {
     QString statement;
 
     switch (target) {
-    case pilots:
+    case DBTarget::pilots:
         statement.append("SELECT piclastname||', '||picfirstname FROM pilots");
         break;
-    case aircraft:
+    case DBTarget::aircraft:
         statement.append("SELECT make||' '||model FROM aircraft WHERE model IS NOT NULL "
                          "UNION "
                          "SELECT make||' '||model||'-'||variant FROM aircraft WHERE variant IS NOT NULL");
         break;
-    case airport_identifier_all:
+    case DBTarget::airport_identifier_all:
         statement.append("SELECT icao FROM airports UNION SELECT iata FROM airports");
         break;
-    case registrations:
+    case DBTarget::registrations:
         statement.append("SELECT registration FROM tails");
         break;
-    case companies:
+    case DBTarget::companies:
         statement.append("SELECT company FROM pilots");
         break;
     default:
@@ -439,29 +439,29 @@ const QStringList ADataBase::getCompletionList(ADataBase::DatabaseTarget target)
     return completer_list;
 }
 
-const QMap<QString, int> ADataBase::getIdMap(ADataBase::DatabaseTarget target)
+const QMap<QString, int> ADataBase::getIdMap(DBTarget target)
 {
     QString statement;
 
     switch (target) {
-    case pilots:
+    case DBTarget::pilots:
         statement.append("SELECT ROWID, piclastname||', '||picfirstname FROM pilots");
         break;
-    case aircraft:
+    case DBTarget::aircraft:
         statement.append("SELECT ROWID, make||' '||model FROM aircraft WHERE model IS NOT NULL "
                          "UNION "
                          "SELECT ROWID, make||' '||model||'-'||variant FROM aircraft WHERE variant IS NOT NULL");
         break;
-    case airport_identifier_icao:
+    case DBTarget::airport_identifier_icao:
         statement.append("SELECT ROWID, icao FROM airports");
         break;
-    case airport_identifier_iata:
+    case DBTarget::airport_identifier_iata:
         statement.append("SELECT ROWID, iata FROM airports WHERE iata NOT NULL");
         break;
-    case airport_names:
+    case DBTarget::airport_names:
         statement.append("SELECT ROWID, name FROM airports");
         break;
-    case tails:
+    case DBTarget::tails:
         statement.append("SELECT ROWID, registration FROM tails");
         break;
     default:
@@ -486,18 +486,18 @@ const QMap<QString, int> ADataBase::getIdMap(ADataBase::DatabaseTarget target)
     }
 }
 
-int ADataBase::getLastEntry(ADataBase::DatabaseTarget target)
+int ADataBase::getLastEntry(DBTarget target)
 {
     QString statement = "SELECT MAX(ROWID) FROM ";
 
     switch (target) {
-    case pilots:
+    case DBTarget::pilots:
         statement.append(DB_TABLE_PILOTS);
         break;
-    case aircraft:
+    case DBTarget::aircraft:
         statement.append(DB_TABLE_AIRCRAFT);
         break;
-    case tails:
+    case DBTarget::tails:
         statement.append(DB_TABLE_TAILS);
         break;
     default:

+ 22 - 9
src/experimental/adatabase.h

@@ -35,6 +35,25 @@
 
 namespace experimental {
 
+
+// [G]: Suspicious documentation -,O
+/*!
+ * \brief The DBTarget enum provides the items for which QCompleter
+ * completion lists are provided from the database.
+ */
+enum class DBTarget
+{
+    airport_identifier_icao,
+    airport_identifier_iata,
+    airport_identifier_all,
+    airport_names,
+    pilots,
+    registrations,
+    aircraft,
+    companies,
+    tails
+};
+
 /*!
  * \brief The DB class encapsulates the SQL database by providing fast access
  * to hot database data.
@@ -53,12 +72,6 @@ public:
     static ADataBase* getInstance();
     QString lastError;
 
-    /*!
-     * \brief The CompleterTarget enum provides the items for which QCompleter
-     * completion lists are provided from the database.
-     */
-    enum DatabaseTarget {airport_identifier_icao, airport_identifier_iata, airport_identifier_all, airport_names, pilots, registrations, aircraft, companies, tails};
-
     /*!
      * \brief Connect to the database and populate database information.
      */
@@ -170,16 +183,16 @@ public:
      * QCompleter based on database values
      * \return
      */
-    const QStringList getCompletionList(DatabaseTarget);
+    const QStringList getCompletionList(DBTarget);
 
     /*!
      * \brief returns a QMap<QString, int> of a human-readable database value and
      * its row id. Used in the Dialogs to map user input to unique database entries.
      * \return
      */
-    const QMap<QString, int> getIdMap(DatabaseTarget);
+    const QMap<QString, int> getIdMap(DBTarget);
 
-    int getLastEntry(DatabaseTarget);
+    int getLastEntry(DBTarget);
 
 signals:
     /*!

+ 16 - 16
src/gui/dialogues/newflightdialog.cpp

@@ -206,15 +206,15 @@ void NewFlightDialog::setupButtonGroups()
 void NewFlightDialog::setupRawInputValidation()
 {
     // get Maps
-    pilotsIdMap      = aDB()->getIdMap(ADataBase::pilots);
-    tailsIdMap       = aDB()->getIdMap(ADataBase::tails);
-    airportIcaoIdMap = aDB()->getIdMap(ADataBase::airport_identifier_icao);
-    airportIataIdMap = aDB()->getIdMap(ADataBase::airport_identifier_iata);
-    airportNameIdMap = aDB()->getIdMap(ADataBase::airport_names);
+    pilotsIdMap      = aDB()->getIdMap(DBTarget::pilots);
+    tailsIdMap       = aDB()->getIdMap(DBTarget::tails);
+    airportIcaoIdMap = aDB()->getIdMap(DBTarget::airport_identifier_icao);
+    airportIataIdMap = aDB()->getIdMap(DBTarget::airport_identifier_iata);
+    airportNameIdMap = aDB()->getIdMap(DBTarget::airport_names);
     //get Completer Lists
-    pilotList   = aDB()->getCompletionList(ADataBase::pilots);
-    tailsList   = aDB()->getCompletionList(ADataBase::registrations);
-    airportList = aDB()->getCompletionList(ADataBase::airport_identifier_all);
+    pilotList   = aDB()->getCompletionList(DBTarget::pilots);
+    tailsList   = aDB()->getCompletionList(DBTarget::registrations);
+    airportList = aDB()->getCompletionList(DBTarget::airport_identifier_all);
     auto tempList = QStringList();
     // define tuples
     const std::tuple<QString, QStringList*, QRegularExpression>
@@ -802,13 +802,13 @@ void NewFlightDialog::addNewTail(QLineEdit *parent_line_edit)
         auto na = NewTailDialog(ui->acftLineEdit->text(), this);
         na.exec();
         // update map and list, set line edit
-        tailsIdMap  = aDB()->getIdMap(ADataBase::tails);
-        tailsList   = aDB()->getCompletionList(ADataBase::registrations);
+        tailsIdMap  = aDB()->getIdMap(DBTarget::tails);
+        tailsList   = aDB()->getCompletionList(DBTarget::registrations);
 
-        DEB("New Entry added. Id:" << aDB()->getLastEntry(ADataBase::tails));
+        DEB("New Entry added. Id:" << aDB()->getLastEntry(DBTarget::tails));
         DEB("AC Map: " << tailsIdMap);
 
-        parent_line_edit->setText(tailsIdMap.key(aDB()->getLastEntry(ADataBase::tails)));
+        parent_line_edit->setText(tailsIdMap.key(aDB()->getLastEntry(DBTarget::tails)));
         emit parent_line_edit->editingFinished();
     } else {
         parent_line_edit->setText(DB_NULL);
@@ -834,10 +834,10 @@ void NewFlightDialog::addNewPilot(QLineEdit *parent_line_edit)
         auto np = NewPilotDialog(this);
         np.exec();
         // update map and list, set line edit
-        pilotsIdMap  = aDB()->getIdMap(ADataBase::pilots);
-        pilotList    = aDB()->getCompletionList(ADataBase::pilots);
-        DEB("Setting new entry: " << pilotsIdMap.key(aDB()->getLastEntry(ADataBase::pilots)));
-        parent_line_edit->setText(pilotsIdMap.key(aDB()->getLastEntry(ADataBase::pilots)));
+        pilotsIdMap  = aDB()->getIdMap(DBTarget::pilots);
+        pilotList    = aDB()->getCompletionList(DBTarget::pilots);
+        DEB("Setting new entry: " << pilotsIdMap.key(aDB()->getLastEntry(DBTarget::pilots)));
+        parent_line_edit->setText(pilotsIdMap.key(aDB()->getLastEntry(DBTarget::pilots)));
         emit parent_line_edit->editingFinished();
     } else {
         parent_line_edit->setText(DB_NULL);

+ 1 - 1
src/gui/dialogues/newpilotdialog.cpp

@@ -108,7 +108,7 @@ void NewPilotDialog::setup()
     }
 
     DEB("Setting up completer...");
-    auto completer = new QCompleter(aDB()->getCompletionList(ADataBase::companies), ui->companyLineEdit);
+    auto completer = new QCompleter(aDB()->getCompletionList(DBTarget::companies), ui->companyLineEdit);
     completer->setCompletionMode(QCompleter::InlineCompletion);
     completer->setCaseSensitivity(Qt::CaseSensitive);
     ui->companyLineEdit->setCompleter(completer);

+ 2 - 2
src/gui/dialogues/newtaildialog.cpp

@@ -81,8 +81,8 @@ NewTailDialog::~NewTailDialog()
 void NewTailDialog::setupCompleter()
 {
     using namespace experimental;
-    idMap = aDB()->getIdMap(ADataBase::aircraft);
-    aircraftList = aDB()->getCompletionList(experimental::ADataBase::aircraft);
+    idMap = aDB()->getIdMap(DBTarget::aircraft);
+    aircraftList = aDB()->getCompletionList(DBTarget::aircraft);
 
     QCompleter *completer = new QCompleter(aircraftList, ui->searchLineEdit);
     completer->setCaseSensitivity(Qt::CaseInsensitive);