Browse Source

created dbPilots class and migrated functions

fiffty-50 4 years ago
parent
commit
925d600be9
10 changed files with 312 additions and 275 deletions
  1. 2 262
      dbman.cpp
  2. 269 0
      dbpilots.cpp
  3. 21 0
      dbpilots.h
  4. 1 1
      editflight.cpp
  5. 7 3
      logbookwidget.cpp
  6. 1 1
      logbookwidget.h
  7. 1 1
      logbookwidget.ui
  8. 4 7
      newflight.cpp
  9. 4 0
      newflight.h
  10. 2 0
      openLog.pro

+ 2 - 262
dbman.cpp

@@ -22,6 +22,7 @@
 #include <QSqlError>
 #include <QSqlQuery>
 #include "calc.h"
+#include "dbpilots.h"
 #include <chrono>
 #include <QRandomGenerator>
 #include <QStandardPaths>
@@ -95,268 +96,7 @@ public:
          * QVariant::toString() and QVariant::toInt() to convert variants to QString and int.
          */
     }
-    /*
-     * Pilots Database Related Functions
-     */
-
-    /*!
-     * \brief RetreivePilotNameFromID Looks up pilot ID in database
-     * \param pilotID pilot_id in database
-     * \return Pilot Name
-     */
-    static QString RetreivePilotNameFromID(QString pilotID)
-    {
-        QString pilotName("");
-        if (pilotID == "1")
-        {
-            pilotName = "self";
-            return pilotName;
-        }
-        QSqlQuery query;
-        query.prepare("SELECT piclastname, picfirstname, alias FROM pilots WHERE pilot_id == ?");
-        query.addBindValue(pilotID.toInt());
-        query.exec();
-
-        while (query.next()) {
-            pilotName.append(query.value(0).toString());
-            pilotName.append(", ");
-            pilotName.append(query.value(1).toString());//.left(1));
-        }
-
-        if(pilotName.length() == 0)
-        {
-            qDebug() << ("No Pilot with this ID found");
-        }
-        return pilotName;
-    }
-
-    static QString RetreivePilotIdFromString(QString lastname, QString firstname)
-    {
-        QSqlQuery query;
-        query.prepare("SELECT pilot_id from pilots "
-                      "WHERE piclastname = ? AND picfirstname LIKE ?");
-        query.addBindValue(lastname);
-        firstname.prepend("%"); firstname.append("%");
-        query.addBindValue(firstname);
-        query.exec();
-
-        QString id;
-        if(query.first()){id.append(query.value(0).toString());}
-
-        return id;
-
-    }
-
-    static QStringList RetreivePilotNameFromString(QString searchstring)
-    /* Searches the pilot Name in the Database and returns the name as a vector of results
-     * unless the pilot in command is the logbook owner.
-     */
-    {
-        QString firstname = searchstring; //To Do: Two control paths, one for single word, query as before with only searchstring
-        QString lastname = searchstring;  // second control path with comma, lastname like AND firstname like
-        if(searchstring.contains(QLatin1Char(',')))
-        {
-            QStringList namelist = searchstring.split(QLatin1Char(','));
-            QString lastname = namelist[0].trimmed();
-            lastname = lastname.toLower();
-            lastname[0] = lastname[0].toUpper();
-            lastname.prepend("%"), lastname.append("%");
-
-            QString firstname = namelist[1].trimmed();
-            if(firstname.length()>1)
-            {
-                firstname = firstname.toLower();
-                firstname[0] = firstname[0].toUpper();
-                firstname.prepend("%"), firstname.append("%");
-            }
-            qDebug() << "db::RetreivePilotNameFromString: first last after comma";
-            qDebug() << firstname << lastname;
-        }
-        QSqlQuery query;
-        query.prepare("SELECT piclastname, picfirstname, alias "
-                      "FROM pilots WHERE  "
-                      "picfirstname LIKE ? OR piclastname LIKE ? OR alias LIKE ?");
-        searchstring.prepend("%");
-        searchstring.append("%");
-        query.addBindValue(firstname);
-        query.addBindValue(lastname);
-        query.addBindValue(searchstring);
-        query.exec();
-
-        QStringList result;
-        while (query.next()) {
-            QString piclastname = query.value(0).toString();
-            QString picfirstname = query.value(1).toString();
-            QString alias = query.value(2).toString();
-            QString name = piclastname + ", " + picfirstname;
-            result.append(name);
-        }
-        qDebug() << "db::RetreivePilotNameFromString Result: "  << result;
-
-        if(result.size() == 0)
-        {
-            qDebug() << ("db::RetreivePilotNameFromString: No Pilot found");
-            return result;
-        }
-        return result;
-    }
-
-    /*!
-     * \brief newPicGetString This function is returning a QStringList for the QCompleter in the NewFlight::newPic line edit
-     * A regular expression limits the input possibilities to only characters,
-     * followed by an optional ',' and 1 whitespace, e.g.:
-     * Miller, Jim ->valid / Miller,  Jim -> invalid / Miller,, Jim -> invalid
-     * Miller Jim -> valid / Miller  Jim ->invalid
-     * Jim Miller-> valid
-     * \param searchstring
-     * \return
-     */
-    static QStringList newPicGetString(QString searchstring)
-    {
-        QStringList result;
-        QStringList searchlist;
-
-        if(searchstring == "self")
-        {
-            result.append("self");
-            qDebug() << "Pilot is self";
-            return result;
-        }
 
-        //Fall 1) Nachname, Vorname
-        if(searchstring.contains(QLatin1Char(',')))
-        {
-            QStringList namelist = searchstring.split(QLatin1Char(','));
-
-            QString name1 = namelist[0].trimmed();
-            name1 = name1.toLower();
-            name1[0] = name1[0].toUpper();
-            searchlist.append(name1);
-
-            if(namelist[1].length() > 1)
-            {
-                QString name2 = namelist[1].trimmed();
-                name2 = name2.toLower();
-                name2[0] = name2[0].toUpper();
-                searchlist.append(name2);
-            }
-        }
-        //Fall 2) Vorname Nachname
-        if(searchstring.contains(" ") && !searchstring.contains(QLatin1Char(',')))
-        {
-            QStringList namelist = searchstring.split(" ");
-
-            QString name1 = namelist[0].trimmed();
-            name1 = name1.toLower();
-            name1[0] = name1[0].toUpper();
-            searchlist.append(name1);
-
-            if(namelist[1].length() > 1) //To avoid index out of range if the searchstring is one word followed by only one whitespace
-            {
-                QString name2 = namelist[1].trimmed();
-                name2 = name2.toLower();
-                name2[0] = name2[0].toUpper();
-                searchlist.append(name2);
-            }
-        }
-        //Fall 3) Name
-        if(!searchstring.contains(" ") && !searchstring.contains(QLatin1Char(',')))
-        {
-
-            QString name1 = searchstring.toLower();
-            name1[0] = name1[0].toUpper();
-            searchlist.append(name1);
-        }
-
-        if(searchlist.length() == 1)
-        {
-            QSqlQuery query;
-            query.prepare("SELECT piclastname, picfirstname FROM pilots "
-                          "WHERE piclastname LIKE ?");
-            query.addBindValue(searchlist[0] + '%');
-            query.exec();
-
-
-
-            while(query.next())
-            {
-                result.append(query.value(0).toString() + ", " + query.value(1).toString());
-            }
-
-            QSqlQuery query2;
-            query2.prepare("SELECT piclastname, picfirstname FROM pilots "
-                           "WHERE picfirstname LIKE ?");
-            query2.addBindValue(searchlist[0] + '%');
-            query2.exec();
-
-            while(query2.next())
-            {
-                result.append(query2.value(0).toString() + ", " + query2.value(1).toString());
-            }
-        }else
-        {
-            QSqlQuery query;
-            query.prepare("SELECT piclastname, picfirstname FROM pilots "
-                          "WHERE piclastname LIKE ? AND picfirstname LIKE ?");
-            query.addBindValue(searchlist[0] + '%');
-            query.addBindValue(searchlist[1] + '%');
-            query.exec();
-
-            while(query.next())
-            {
-                result.append(query.value(0).toString() + ", " + query.value(1).toString());
-            }
-
-            QSqlQuery query2;
-            query2.prepare("SELECT piclastname, picfirstname FROM pilots "
-                           "WHERE picfirstname LIKE ? AND piclastname LIKE ?");
-            query2.addBindValue(searchlist[0] + '%');
-            query2.addBindValue(searchlist[1] + '%');
-            query2.exec();
-
-            while(query2.next())
-            {
-                result.append(query2.value(0).toString() + ", " + query2.value(1).toString());
-            }
-        }
-        qDebug() << "db::newPic Result" << result.length() << result;
-        if(result.length() == 0)
-        {
-            //try first name search
-            qDebug() << "No Pilot with this last name found. trying first name search.";
-            return result;
-        }else
-        {
-            return result;
-        }
-    }
-
-    static QString newPicGetId(QString name)
-    {
-        QString result;
-
-        QStringList nameparts = name.split(QLatin1Char(','));
-        QString lastname = nameparts[0].trimmed();
-        lastname = lastname.toLower(); lastname[0] = lastname[0].toUpper();
-        QString firstname = nameparts[1].trimmed();
-        firstname = firstname.toLower(); firstname[0] = firstname[0].toUpper();
-        firstname.prepend("%"); firstname.append("%");
-
-        QSqlQuery query;
-        query.prepare("SELECT pilot_id FROM pilots "
-                      "WHERE piclastname = ? AND picfirstname LIKE ?");
-        query.addBindValue(lastname);
-        query.addBindValue(firstname);
-        query.exec();
-
-        while (query.next())
-        {
-            result.append(query.value(0).toString());
-        }
-
-        qDebug() << "newPicGetId: result = " << result;
-        return result;
-    }
 /*
  * Airport Database Related Functions
  */
@@ -736,7 +476,7 @@ public:
             QString dest = query.value(4).toString();
             QString tonb = calc::minutes_to_string((query.value(5).toString()));
             QString tblk = calc::minutes_to_string((query.value(6).toString()));
-            QString pic = db::RetreivePilotNameFromID(query.value(7).toString());
+            QString pic = dbPilots::retreivePilotNameFromID(query.value(7).toString());
             QString acft = db::RetreiveRegistration(query.value(8).toString());
             //qDebug() << id << doft << dept << tofb << dest << tonb << tblk << pic << acft << endl;
             flight[index] = id;

+ 269 - 0
dbpilots.cpp

@@ -0,0 +1,269 @@
+#include "dbpilots.h"
+#include "dbman.cpp"
+
+/*!
+ * \brief RetreivePilotNameFromID Looks up pilot ID in database
+ * \param pilotID pilot_id in database
+ * \return Pilot Name
+ */
+QString dbPilots::retreivePilotNameFromID(QString pilotID)
+{
+    QString pilotName("");
+    if (pilotID == "1")
+    {
+        pilotName = "self";
+        return pilotName;
+    }
+    QSqlQuery query;
+    query.prepare("SELECT piclastname, picfirstname, alias FROM pilots WHERE pilot_id == ?");
+    query.addBindValue(pilotID.toInt());
+    query.exec();
+
+    while (query.next()) {
+        pilotName.append(query.value(0).toString());
+        pilotName.append(", ");
+        pilotName.append(query.value(1).toString());//.left(1));
+    }
+
+    if(pilotName.length() == 0)
+    {
+        qDebug() << ("No Pilot with this ID found");
+    }
+    return pilotName;
+}
+
+/*!
+ * \brief dbPilots::retreivePilotIdFromString Looks up a pilot in the database
+ * \param lastname pic_lastname in pilots table
+ * \param firstname pic_firstname in pilots table
+ * \return pilot_id from database or empty string.
+ */
+QString dbPilots::retreivePilotIdFromString(QString lastname, QString firstname)
+{
+    QSqlQuery query;
+    query.prepare("SELECT pilot_id from pilots "
+                  "WHERE piclastname = ? AND picfirstname LIKE ?");
+    query.addBindValue(lastname);
+    firstname.prepend("%"); firstname.append("%");
+    query.addBindValue(firstname);
+    query.exec();
+
+    QString id;
+    if(query.first()){id.append(query.value(0).toString());}
+
+    return id;
+}
+
+/*!
+ * \brief dbPilots::retreivePilotNameFromString Searches the pilot Name
+ * in the Database and returns the name as a vector of results unless the pilot in command is the logbook owner.
+ * \param searchstring
+ * \return
+ */
+QStringList dbPilots::retreivePilotNameFromString(QString searchstring)
+{
+    QString firstname = searchstring; //To Do: Two control paths, one for single word, query as before with only searchstring
+    QString lastname = searchstring;  // second control path with comma, lastname like AND firstname like
+    if(searchstring.contains(QLatin1Char(',')))
+    {
+        QStringList namelist = searchstring.split(QLatin1Char(','));
+        QString lastname = namelist[0].trimmed();
+        lastname = lastname.toLower();
+        lastname[0] = lastname[0].toUpper();
+        lastname.prepend("%"), lastname.append("%");
+
+        QString firstname = namelist[1].trimmed();
+        if(firstname.length()>1)
+        {
+            firstname = firstname.toLower();
+            firstname[0] = firstname[0].toUpper();
+            firstname.prepend("%"), firstname.append("%");
+        }
+        qDebug() << "db::RetreivePilotNameFromString: first last after comma";
+        qDebug() << firstname << lastname;
+    }
+    QSqlQuery query;
+    query.prepare("SELECT piclastname, picfirstname, alias "
+                  "FROM pilots WHERE  "
+                  "picfirstname LIKE ? OR piclastname LIKE ? OR alias LIKE ?");
+    searchstring.prepend("%");
+    searchstring.append("%");
+    query.addBindValue(firstname);
+    query.addBindValue(lastname);
+    query.addBindValue(searchstring);
+    query.exec();
+
+    QStringList result;
+    while (query.next()) {
+        QString piclastname = query.value(0).toString();
+        QString picfirstname = query.value(1).toString();
+        QString alias = query.value(2).toString();
+        QString name = piclastname + ", " + picfirstname;
+        result.append(name);
+    }
+    qDebug() << "db::RetreivePilotNameFromString Result: "  << result;
+
+    if(result.size() == 0)
+    {
+        qDebug() << ("db::RetreivePilotNameFromString: No Pilot found");
+        return result;
+    }
+    return result;
+}
+
+/*!
+ * \brief newPicGetString This function is returning a QStringList for the QCompleter in the NewFlight::newPic line edit
+ * A regular expression limits the input possibilities to only characters,
+ * followed by an optional ',' and 1 whitespace, e.g.:
+ * Miller, Jim ->valid / Miller,  Jim -> invalid / Miller,, Jim -> invalid
+ * Miller Jim -> valid / Miller  Jim ->invalid
+ * Jim Miller-> valid
+ * \param searchstring
+ * \return
+ */
+QStringList dbPilots::newPicGetString(QString searchstring)
+{
+    QStringList result;
+    QStringList searchlist;
+
+    if(searchstring == "self")
+    {
+        result.append("self");
+        qDebug() << "Pilot is self";
+        return result;
+    }
+
+    //Case 1) Lastname, Firstname
+    if(searchstring.contains(QLatin1Char(',')))
+    {
+        QStringList namelist = searchstring.split(QLatin1Char(','));
+
+        QString name1 = namelist[0].trimmed();
+        name1 = name1.toLower();
+        name1[0] = name1[0].toUpper();
+        searchlist.append(name1);
+
+        if(namelist[1].length() > 1)
+        {
+            QString name2 = namelist[1].trimmed();
+            name2 = name2.toLower();
+            name2[0] = name2[0].toUpper();
+            searchlist.append(name2);
+        }
+    }
+    //Case 2: Firstname Lastname
+    if(searchstring.contains(" ") && !searchstring.contains(QLatin1Char(',')))
+    {
+        QStringList namelist = searchstring.split(" ");
+
+        QString name1 = namelist[0].trimmed();
+        name1 = name1.toLower();
+        name1[0] = name1[0].toUpper();
+        searchlist.append(name1);
+
+        if(namelist[1].length() > 1) //To avoid index out of range if the searchstring is one word followed by only one whitespace
+        {
+            QString name2 = namelist[1].trimmed();
+            name2 = name2.toLower();
+            name2[0] = name2[0].toUpper();
+            searchlist.append(name2);
+        }
+    }
+    //Case 3: Lastname
+    if(!searchstring.contains(" ") && !searchstring.contains(QLatin1Char(',')))
+    {
+
+        QString name1 = searchstring.toLower();
+        name1[0] = name1[0].toUpper();
+        searchlist.append(name1);
+    }
+
+    if(searchlist.length() == 1)
+    {
+        QSqlQuery query;
+        query.prepare("SELECT piclastname, picfirstname FROM pilots "
+                      "WHERE piclastname LIKE ?");
+        query.addBindValue(searchlist[0] + '%');
+        query.exec();
+
+
+
+        while(query.next())
+        {
+            result.append(query.value(0).toString() + ", " + query.value(1).toString());
+        }
+
+        QSqlQuery query2;
+        query2.prepare("SELECT piclastname, picfirstname FROM pilots "
+                       "WHERE picfirstname LIKE ?");
+        query2.addBindValue(searchlist[0] + '%');
+        query2.exec();
+
+        while(query2.next())
+        {
+            result.append(query2.value(0).toString() + ", " + query2.value(1).toString());
+        }
+    }else
+    {
+        QSqlQuery query;
+        query.prepare("SELECT piclastname, picfirstname FROM pilots "
+                      "WHERE piclastname LIKE ? AND picfirstname LIKE ?");
+        query.addBindValue(searchlist[0] + '%');
+        query.addBindValue(searchlist[1] + '%');
+        query.exec();
+
+        while(query.next())
+        {
+            result.append(query.value(0).toString() + ", " + query.value(1).toString());
+        }
+
+        QSqlQuery query2;
+        query2.prepare("SELECT piclastname, picfirstname FROM pilots "
+                       "WHERE picfirstname LIKE ? AND piclastname LIKE ?");
+        query2.addBindValue(searchlist[0] + '%');
+        query2.addBindValue(searchlist[1] + '%');
+        query2.exec();
+
+        while(query2.next())
+        {
+            result.append(query2.value(0).toString() + ", " + query2.value(1).toString());
+        }
+    }
+    qDebug() << "db::newPic Result" << result.length() << result;
+    if(result.length() == 0)
+    {
+        //To Do: try first name search
+        qDebug() << "No Pilot with this name found";
+        return result;
+    }else
+    {
+        return result;
+    }
+}
+
+QString dbPilots::newPicGetId(QString name)
+{
+    QString result;
+
+    QStringList nameparts = name.split(QLatin1Char(','));
+    QString lastname = nameparts[0].trimmed();
+    lastname = lastname.toLower(); lastname[0] = lastname[0].toUpper();
+    QString firstname = nameparts[1].trimmed();
+    firstname = firstname.toLower(); firstname[0] = firstname[0].toUpper();
+    firstname.prepend("%"); firstname.append("%");
+
+    QSqlQuery query;
+    query.prepare("SELECT pilot_id FROM pilots "
+                  "WHERE piclastname = ? AND picfirstname LIKE ?");
+    query.addBindValue(lastname);
+    query.addBindValue(firstname);
+    query.exec();
+
+    while (query.next())
+    {
+        result.append(query.value(0).toString());
+    }
+
+    qDebug() << "newPicGetId: result = " << result;
+    return result;
+}

+ 21 - 0
dbpilots.h

@@ -0,0 +1,21 @@
+#ifndef DBPILOTS_H
+#define DBPILOTS_H
+
+#include <QCoreApplication>
+
+class dbPilots
+{
+public:
+
+    static QString retreivePilotNameFromID(QString pilotID);
+
+    static QString retreivePilotIdFromString(QString lastname, QString firstname);
+
+    static QStringList retreivePilotNameFromString(QString searchstring);
+
+    static QStringList newPicGetString(QString searchstring);
+
+    static QString newPicGetId(QString name);
+};
+
+#endif // DBPILOTS_H

+ 1 - 1
editflight.cpp

@@ -188,7 +188,7 @@ void EditFlight::returnInput(QVector<QString> flight)
     ui->newDest->setText(flight[4]);
     ui->newTonb->setText(flight[5]);
     // flight[6] is blocktime
-    ui->newPic->setText(db::RetreivePilotNameFromID(flight[7]));
+    ui->newPic->setText(dbPilots::retreivePilotNameFromID(flight[7]));
     ui->newAcft->setText(db::RetreiveRegistration(flight[8]));
 }
 

+ 7 - 3
logbookwidget.cpp

@@ -54,9 +54,12 @@ logbookWidget::logbookWidget(QWidget *parent) :
     connect(
      ui->tableView->selectionModel(),
      SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
-     SLOT(on_tableView_changed(const QItemSelection &, const QItemSelection &))
+     SLOT(on_tableView_selectionChanged(const QItemSelection &, const QItemSelection &))
     );
-
+    /*connect(ui->tableView,
+            SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
+            SLOT(on_tableView_selectionChanged(const QItemSelection &, const QItemSelection &))
+                );*/
     auto stop = std::chrono::high_resolution_clock::now();
     auto duration = std::chrono::duration_cast<std::chrono::microseconds>(stop - start);
     qDebug() << "logbookWidget: Time taken for lookup and rendering: " << duration.count() << " microseconds";
@@ -139,8 +142,9 @@ void logbookWidget::on_showAllButton_clicked()
     qDebug() << "Selected Flight with ID#(pressed): " << SelectedFlight;
 }*/
 
-void logbookWidget::on_tableView_changed(const QItemSelection &index, const QItemSelection &)// TO DO
+void logbookWidget::on_tableView_selectionChanged(const QItemSelection &index, const QItemSelection &)// TO DO
 {
+    // To Do: QMetaObject::connectSlotsByName: No matching signal for on_tableView_selectionChanged(QItemSelection,QItemSelection)
     SelectedFlight = index.indexes()[0].data().toInt();
     qDebug() << "Selected Flight with ID#(selectionChanged): " << SelectedFlight;
 }

+ 1 - 1
logbookwidget.h

@@ -27,7 +27,7 @@ private slots:
 
     void on_showAllButton_clicked();
 
-    void on_tableView_changed(const QItemSelection &index, const QItemSelection &);
+    void on_tableView_selectionChanged(const QItemSelection &index, const QItemSelection &);
 
 private:
     Ui::logbookWidget *ui;

+ 1 - 1
logbookwidget.ui

@@ -48,7 +48,7 @@
        <second>0</second>
        <year>2019</year>
        <month>12</month>
-       <day>17</day>
+       <day>16</day>
       </datetime>
      </property>
      <property name="displayFormat">

+ 4 - 7
newflight.cpp

@@ -17,10 +17,7 @@
  */
 #include "newflight.h"
 #include "ui_newflight.h"
-#include "newacft.h"
-#include "calc.h"
 #include "dbman.cpp"
-#include "dbflight.h"
 #include <QMessageBox>
 #include <QDebug>
 #include <QCompleter>
@@ -327,7 +324,7 @@ void NewFlight::returnInput(QVector<QString> flight)
     ui->newDest->setText(flight[4]);
     ui->newTonb->setText(flight[5]);
     // flight[6] is blocktime
-    ui->newPic->setText(db::RetreivePilotNameFromID(flight[7]));
+    ui->newPic->setText(dbPilots::retreivePilotNameFromID(flight[7]));
     ui->newAcft->setText(db::RetreiveRegistration(flight[8]));
 }
 
@@ -604,7 +601,7 @@ void NewFlight::on_newPic_textEdited(const QString &arg1)
 {
     if(arg1.length()>2)
     {
-        QStringList picList = db::newPicGetString(arg1);
+        QStringList picList = dbPilots::newPicGetString(arg1);
         QCompleter *picCompleter = new QCompleter(picList, this);
         picCompleter->setCaseSensitivity(Qt::CaseInsensitive);
         picCompleter->setCompletionMode(QCompleter::UnfilteredPopupCompletion);
@@ -620,13 +617,13 @@ void NewFlight::on_newPic_editingFinished()
     }else
     {
         QString picname;
-        QStringList picList = db::newPicGetString(ui->newPic->text());
+        QStringList picList = dbPilots::newPicGetString(ui->newPic->text());
         qDebug() << picList;
         if(picList.length()!= 0)
         {
             picname = picList[0];
             ui->newPic->setText(picname);
-            pic = db::newPicGetId(picname);
+            pic = dbPilots::newPicGetId(picname);
         }else
         {
             QMessageBox::StandardButton reply;

+ 4 - 0
newflight.h

@@ -19,7 +19,11 @@
 #define NEWFLIGHT_H
 
 #include <QDialog>
+#include "newacft.h"
+#include "calc.h"
 #include "dbsettings.h"
+#include "dbflight.h"
+#include "dbpilots.h"
 
 namespace Ui {
 class NewFlight;

+ 2 - 0
openLog.pro

@@ -25,6 +25,7 @@ SOURCES += \
     calc.cpp \
     dbflight.cpp \
     dbman.cpp \
+    dbpilots.cpp \
     dbsettings.cpp \
     dbstat.cpp \
     easaview.cpp \
@@ -41,6 +42,7 @@ SOURCES += \
 HEADERS += \
     calc.h \
     dbflight.h \
+    dbpilots.h \
     dbsettings.h \
     dbstat.h \
     easaview.h \