Browse Source

Couple of fixes

- Edited Tab order in NewTailDialog

- Fixed a bug in NewTailDialog where loading a template would overwrite the registration

- Added some information to pilot and acft display in NewFlightDialog
Felix Turo 4 years ago
parent
commit
dbce4abb08

+ 2 - 2
src/experimental/aflightentry.cpp

@@ -30,7 +30,7 @@ const QString AFlightEntry::summary()
     return flight_summary;
 }
 
-const QString AFlightEntry::registration()
+const QString AFlightEntry::getRegistration()
 {
     QString tail_id = tableData.value("acft");
     if(tail_id.isEmpty())
@@ -49,7 +49,7 @@ const QString AFlightEntry::registration()
     }
 }
 
-const QString AFlightEntry::pilotName(pilot pilot_)
+const QString AFlightEntry::getPilotName(pilot pilot_)
 {
     QString row_id;
     switch (pilot_) {

+ 4 - 4
src/experimental/aflightentry.h

@@ -14,24 +14,24 @@ public:
     AFlightEntry(int row_id);
     AFlightEntry(TableData table_data);
 
-    enum pilot {pic, sic, thirdPilot };
+    enum pilot { pic, sic, thirdPilot };
 
     /*!
-     * \brief Returs a summary of the flight data
+     * \brief Returs a summary of the flight data, if struct holds data
      * \return "doft, dept, tofb, dest, tonb"
      */
     const QString summary();
     /*!
      * \brief Returns the tails' registration from the database.
      */
-    const QString registration();
+    const QString getRegistration();
     /*!
      * \brief Returns the pilots name from the Database
      *
      * \param pilot_number - 1=pic, 2=second Pilot, 3 = third Pilot
      * \return "Lastname, Firstname"
      */
-    const QString pilotName(pilot);
+    const QString getPilotName(pilot);
 };
 
 } // namespace experimental

+ 18 - 0
src/experimental/atailentry.cpp

@@ -31,4 +31,22 @@ ATailEntry::ATailEntry(TableData table_data)
     : AEntry::AEntry(DEFAULT_TAIL_POSITION, table_data)
 {}
 
+const QString ATailEntry::registration()
+{
+    return getData().value("registration");
+}
+
+const QString ATailEntry::type()
+{
+    QString type_string;
+    if (!getData().value("make").isEmpty())
+        type_string.append(getData().value("make") + ' ');
+    if (!getData().value("model").isEmpty())
+        type_string.append(getData().value("model"));
+    if (!getData().value("variant").isEmpty())
+        type_string.append('-' + getData().value("variant") + ' ');
+
+    return type_string;
+}
+
 } // namespace experimental

+ 4 - 0
src/experimental/atailentry.h

@@ -30,6 +30,10 @@ public:
     ATailEntry& operator=(const ATailEntry& te) = default;
     ATailEntry(int row_id);
     ATailEntry(TableData table_data);
+
+    const QString registration();
+
+    const QString type();
 };
 
 } // namespace experimental

+ 9 - 1
src/gui/dialogues/newflight.ui

@@ -17,7 +17,7 @@
    <item row="0" column="0" colspan="2">
     <widget class="QTabWidget" name="flightDataTabWidget">
      <property name="currentIndex">
-      <number>1</number>
+      <number>0</number>
      </property>
      <widget class="QWidget" name="flightDataTab">
       <attribute name="title">
@@ -826,6 +826,13 @@
          </property>
         </widget>
        </item>
+       <item row="6" column="5">
+        <widget class="QLabel" name="picCompanyLabel">
+         <property name="text">
+          <string/>
+         </property>
+        </widget>
+       </item>
       </layout>
       <zorder>placeLabel2</zorder>
       <zorder>deptLocLineEdit</zorder>
@@ -881,6 +888,7 @@
       <zorder>doftDisplayLabel</zorder>
       <zorder>placeLabel1</zorder>
       <zorder>calendarCheckBox</zorder>
+      <zorder>picCompanyLabel</zorder>
      </widget>
      <widget class="QWidget" name="autoLoggingTab">
       <attribute name="title">

+ 13 - 8
src/gui/dialogues/newflightdialog.cpp

@@ -630,7 +630,7 @@ void NewFlightDialog::formFiller()
         line_edits_names << le->objectName();
     }
 
-    ui->acftLineEdit->setText(flightEntry.registration());
+    ui->acftLineEdit->setText(flightEntry.getRegistration());
     line_edits_names.removeOne("acftLineEdit");
 
     for (const auto& data_key : flightEntry.getData().keys()) {
@@ -1077,7 +1077,7 @@ void NewFlightDialog::on_destLocLineEdit_editingFinished()
 void NewFlightDialog::onLocLineEdit_editingFinished(QLineEdit *line_edit, QLabel *name_label)
 {
     const auto &text = line_edit->text();
-    DEB(line_edit->objectName() << " Editing finished. " << text);
+    //DEB(line_edit->objectName() << " Editing finished. " << text);
     int airport_id = 0;
 
     // try to map iata or icao code to airport id;
@@ -1106,7 +1106,7 @@ void NewFlightDialog::onTimeLineEdit_editingFinished()
 {
     auto sender_object = sender();
     auto line_edit = this->findChild<QLineEdit*>(sender_object->objectName());
-    DEB(line_edit->objectName() << "Editing Finished -" << line_edit->text());
+    //DEB(line_edit->objectName() << "Editing Finished -" << line_edit->text());
 
     line_edit->setText(ACalc::formatTimeInput(line_edit->text()));
     const auto time = QTime::fromString(line_edit->text(),TIME_FORMAT);
@@ -1128,11 +1128,12 @@ void NewFlightDialog::onTimeLineEdit_editingFinished()
 void NewFlightDialog::on_acftLineEdit_editingFinished()
 {
     auto line_edit = ui->acftLineEdit;
-    DEB(line_edit->objectName() << "Editing Finished!" << line_edit->text());
+    //DEB(line_edit->objectName() << "Editing Finished!" << line_edit->text());
 
     if (tailsIdMap.value(line_edit->text()) != 0) {
         DEB("Mapped: " << line_edit->text() << tailsIdMap.value(line_edit->text()));
-        ui->acftTypeLabel->setText(line_edit->text()); // to do: display ac info
+        auto acft = aDB()->getTailEntry(tailsIdMap.value(line_edit->text()));
+        ui->acftTypeLabel->setText(acft.type());
         emit goodInputReceived(line_edit);
         return;
     }
@@ -1159,16 +1160,21 @@ void NewFlightDialog::onPilotNameLineEdit_editingFinished()
 {
     auto sender_object = sender();
     auto line_edit = this->findChild<QLineEdit*>(sender_object->objectName());
-    DEB(line_edit->objectName() << "Editing Finished -" << line_edit->text());
+    //DEB(line_edit->objectName() << "Editing Finished -" << line_edit->text());
 
     if(line_edit->text().contains(SELF_RX)) {
         DEB("self recognized.");
         line_edit->setText(pilotsIdMap.key(1));
+        auto pilot = aDB()->getPilotEntry(1);
+        ui->picCompanyLabel->setText(pilot.getData().value("company"));
         emit goodInputReceived(line_edit);
         return;
     }
+
     if(pilotsIdMap.value(line_edit->text()) != 0) {
         DEB("Mapped: " << line_edit->text() << pilotsIdMap.value(line_edit->text()));
+        auto pilot = aDB()->getPilotEntry(pilotsIdMap.value(line_edit->text()));
+        ui->picCompanyLabel->setText(pilot.getData().value("company"));
         emit goodInputReceived(line_edit);
         return;
     }
@@ -1177,7 +1183,6 @@ void NewFlightDialog::onPilotNameLineEdit_editingFinished()
         return;
     }
 
-
     if (!line_edit->completer()->currentCompletion().isEmpty()) {
         DEB("Trying to fix input...");
         line_edit->setText(line_edit->completer()->currentCompletion());
@@ -1272,7 +1277,7 @@ void NewFlightDialog::on_ApproachComboBox_currentTextChanged(const QString &arg1
     }
 }
 
-void NewFlightDialog::on_FunctionComboBox_currentIndexChanged(int index)
+void NewFlightDialog::on_FunctionComboBox_currentIndexChanged(int)
 {
     if (updateEnabled)
         fillDeductibleData();

+ 1 - 1
src/gui/dialogues/newpilot.ui

@@ -128,8 +128,8 @@
   </layout>
  </widget>
  <tabstops>
-  <tabstop>picfirstnameLineEdit</tabstop>
   <tabstop>piclastnameLineEdit</tabstop>
+  <tabstop>picfirstnameLineEdit</tabstop>
   <tabstop>companyLineEdit</tabstop>
   <tabstop>aliasLineEdit</tabstop>
   <tabstop>employeeidLineEdit</tabstop>

+ 7 - 3
src/gui/dialogues/newtaildialog.cpp

@@ -63,7 +63,7 @@ NewTailDialog::NewTailDialog(int row_id, QWidget *parent) :
     connectSignals();
     setupValidators();
     entry = aDB()->getTailEntry(row_id);
-    fillForm(entry);
+    fillForm(entry, false);
 }
 
 NewTailDialog::~NewTailDialog()
@@ -124,11 +124,15 @@ void NewTailDialog::connectSignals()
  * a tail (ATail, used when editing an existing entry)
  * \param entry
  */
-void NewTailDialog::fillForm(experimental::AEntry entry)
+void NewTailDialog::fillForm(experimental::AEntry entry, bool is_template)
 {
     DEB("Filling Form for (experimental) a/c" << entry.getPosition());
     //fill Line Edits
     auto line_edits = this->findChildren<QLineEdit *>();
+
+    if (is_template)
+        line_edits.removeOne(ui->registrationLineEdit);
+
     for (const auto &le : line_edits) {
         QString name = le->objectName().remove("LineEdit");
         QString value = entry.getData().value(name);
@@ -314,7 +318,7 @@ void NewTailDialog::onSearchCompleterActivated()
             DEB("Template Selected. aircraft_id is: " << idMap.value(text));
             //call autofiller for dialog
             using namespace experimental;
-            fillForm(aDB()->getAircraftEntry(idMap.value(text)));
+            fillForm(aDB()->getAircraftEntry(idMap.value(text)), true);
             ui->searchLineEdit->setStyleSheet("border: 1px solid green");
             ui->searchLabel->setText(text);
         } else {

+ 1 - 1
src/gui/dialogues/newtaildialog.h

@@ -69,7 +69,7 @@ private:
 
     void connectSignals();
 
-    void fillForm(experimental::AEntry entry);
+    void fillForm(experimental::AEntry entry, bool is_template);
 
     void submitForm();
 

+ 3 - 5
src/gui/widgets/debugwidget.cpp

@@ -166,11 +166,9 @@ void DebugWidget::on_debugPushButton_clicked()
 {
     using namespace experimental;
 
-    auto pilotsIdMap  = aDB()->getIdMap(ADataBase::pilots);
-    auto pilotList    = aDB()->getCompletionList(ADataBase::pilots);
-
-    DEB(pilotsIdMap.key(aDB()->getLastEntry(ADataBase::pilots)));
-    DEB(pilotList);
+    auto acft = aDB()->getTailEntry(5);
+    DEB(acft.getData().key("make"));
+    DEB(acft.type());
 
 
 }