Browse Source

Fixed mandatoryLineEdit bitarray initialisation, renamed arguments

George 4 years ago
parent
commit
50a9258d12
2 changed files with 55 additions and 55 deletions
  1. 44 44
      src/gui/dialogues/newflightdialog.cpp
  2. 11 11
      src/gui/dialogues/newflightdialog.h

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

@@ -58,41 +58,41 @@ static const auto MANDATORY_LINE_EDITS_DISPLAY_NAMES = QMap<int, QString> {
 //
 // MandatoryLineEdits definition
 // Ugly but works
-NewFlightDialog::MandatoryLineEdits::MandatoryLineEdits(std::initializer_list<QLineEdit*> il)
-    : lineEdits(il), lineEditsOk(il.size())
+NewFlightDialog::MandatoryLineEdits::MandatoryLineEdits(std::initializer_list<QLineEdit*> init_list)
+    : lineEdits(init_list), lineEditsValid(QBitArray(init_list.size()))
 {}
-void NewFlightDialog::MandatoryLineEdits::operator= (std::initializer_list<QLineEdit*> il)
+void NewFlightDialog::MandatoryLineEdits::operator= (std::initializer_list<QLineEdit*> init_list)
 {
-    lineEdits = il;
-    lineEdits.resize(il.size());
+    lineEdits = init_list;
+    lineEditsValid.resize(init_list.size());
 }
-bool NewFlightDialog::MandatoryLineEdits::contains(QLineEdit* le)
+bool NewFlightDialog::MandatoryLineEdits::contains(QLineEdit* line_edit)
 {
-    return lineEdits.contains(le);
+    return lineEdits.contains(line_edit);
 }
-void NewFlightDialog::MandatoryLineEdits::validate(QLineEdit* le)
+void NewFlightDialog::MandatoryLineEdits::validate(QLineEdit* line_edit)
 {
-    lineEditsOk.setBit(lineEdits.indexOf(le), true);
+    lineEditsValid.setBit(lineEdits.indexOf(line_edit), true);
 }
-void NewFlightDialog::MandatoryLineEdits::unvalidate(QLineEdit* le)
+void NewFlightDialog::MandatoryLineEdits::unvalidate(QLineEdit* line_edit)
 {
-    lineEditsOk.setBit(lineEdits.indexOf(le), false);
+    lineEditsValid.setBit(lineEdits.indexOf(line_edit), false);
 }
-int NewFlightDialog::MandatoryLineEdits::countOk()
+int NewFlightDialog::MandatoryLineEdits::countValid()
 {
-    return lineEditsOk.count(true);
+    return lineEditsValid.count(true);
 }
 int NewFlightDialog::MandatoryLineEdits::size()
 {
-    return lineEditsOk.size();
+    return lineEditsValid.size();
 }
-bool NewFlightDialog::MandatoryLineEdits::okAt(int idx)
+bool NewFlightDialog::MandatoryLineEdits::validAt(int idx)
 {
-    return lineEditsOk[idx];
+    return lineEditsValid[idx];
 }
-bool NewFlightDialog::MandatoryLineEdits::allOk()
+bool NewFlightDialog::MandatoryLineEdits::allValid()
 {
-    return lineEditsOk.count(true) == lineEdits.size();
+    return lineEditsValid.count(true) == lineEdits.size();
 }
 QLineEdit* NewFlightDialog::MandatoryLineEdits::operator[] (int idx)
 {
@@ -428,7 +428,7 @@ bool NewFlightDialog::eventFilter(QObject* object, QEvent* event)
 void NewFlightDialog::fillDeductibleData()
 {
     // check if mandatory line edits are valid
-    if (!mandatoryLineEdits.allOk()) {
+    if (!mandatoryLineEdits.allValid()) {
         return;
     }
 
@@ -479,7 +479,7 @@ void NewFlightDialog::fillDeductibleData()
         ui->tIFRLabel->setText(block_time_string);
     }
     // Night
-    auto dept_date = ui->doftLineEdit->text() + 'T'
+    QString dept_date = ui->doftLineEdit->text() + 'T'
             + ATime::toString(tofb);
     auto dept_date_time = QDateTime::fromString(dept_date, QStringLiteral("yyyy-MM-ddThh:mm"));
     const int night_angle = ASettings::read(ASettings::FlightLogging::NightAngle).toInt();
@@ -569,7 +569,7 @@ RowData NewFlightDialog::collectInput()
         newData.insert(Opl::Db::FLIGHTS_TIFR, EMPTY_STRING);
     }
     // Night
-    const auto dept_date = ui->doftLineEdit->text() + 'T'
+    const QString dept_date = ui->doftLineEdit->text() + 'T'
             + ATime::toString(tofb);
     const auto dept_date_time = QDateTime::fromString(dept_date, QStringLiteral("yyyy-MM-ddThh:mm"));
     const int night_angle = ASettings::read(ASettings::FlightLogging::NightAngle).toInt();
@@ -651,7 +651,7 @@ RowData NewFlightDialog::collectInput()
             newData.insert(Opl::Db::FLIGHTS_LDGDAY, 0);
             newData.insert(Opl::Db::FLIGHTS_LDGNIGHT, ui->LandingSpinBox->value());
         } else { //check
-            const auto dest_date = ui->doftLineEdit->text() + 'T'
+            const QString dest_date = ui->doftLineEdit->text() + 'T'
                     + ATime::toString(tonb);
             const auto dest_date_time = QDateTime::fromString(dest_date, QStringLiteral("yyyy-MM-ddThh:mm"));
             if (ACalc::isNight(ui->destLocLineEdit->text(), dest_date_time,  night_angle)) {
@@ -692,7 +692,7 @@ void NewFlightDialog::formFiller()
 
     for (const auto& data_key : flightEntry.getData().keys()) {
         auto rx = QRegularExpression(data_key + QStringLiteral("LineEdit"));//acftLineEdit
-        for(const auto& leName : line_edits_names){
+        for(const auto& leName : qAsConst(line_edits_names)){
             if(rx.match(leName).hasMatch())  {
                 //DEB << "Loc Match found: " << key << " - " << leName);
                 auto line_edit = this->findChild<QLineEdit *>(leName);
@@ -704,7 +704,7 @@ void NewFlightDialog::formFiller()
             }
         }
         rx = QRegularExpression(data_key + QStringLiteral("Loc\\w+?"));
-        for(const auto& leName : line_edits_names){
+        for(const auto& leName : qAsConst(line_edits_names)){
             if(rx.match(leName).hasMatch())  {
                 //DEB << "Loc Match found: " << key << " - " << leName);
                 auto line_edit = this->findChild<QLineEdit *>(leName);
@@ -716,7 +716,7 @@ void NewFlightDialog::formFiller()
             }
         }
         rx = QRegularExpression(data_key + QStringLiteral("Time\\w+?"));
-        for(const auto& leName : line_edits_names){
+        for(const auto& leName : qAsConst(line_edits_names)){
             if(rx.match(leName).hasMatch())  {
                 //DEB << "Time Match found: " << key << " - " << leName);
                 auto line_edits = this->findChild<QLineEdit *>(leName);
@@ -730,7 +730,7 @@ void NewFlightDialog::formFiller()
             }
         }
         rx = QRegularExpression(data_key + QStringLiteral("Name\\w+?"));
-        for(const auto& leName : line_edits_names){
+        for(const auto& leName : qAsConst(line_edits_names)){
             if(rx.match(leName).hasMatch())  {
                 auto line_edits = this->findChild<QLineEdit *>(leName);
                 if(line_edits != nullptr){
@@ -798,14 +798,14 @@ void NewFlightDialog::formFiller()
         ui->AutolandSpinBox->setValue(AL);
     }
 
-    for(const auto& le : mandatoryLineEdits.lineEdits){
+    for(const auto& le : qAsConst(mandatoryLineEdits.lineEdits)){
         emit le->editingFinished();
     }
 }
 
 bool NewFlightDialog::isLessOrEqualThanBlockTime(const QString time_string)
 {
-    if (!mandatoryLineEdits.allOk()){
+    if (!mandatoryLineEdits.allValid()){
         QMessageBox message_box(this);
         message_box.setText(tr("Unable to determine total block time.<br>"
                                "Please fill out all Mandatory Fields<br>"
@@ -906,14 +906,14 @@ void NewFlightDialog::on_cancelButton_clicked()
 
 void NewFlightDialog::on_submitButton_clicked()
 {
-    for (const auto &line_edit : mandatoryLineEdits.lineEdits) {
+    for (const auto &line_edit : qAsConst(mandatoryLineEdits.lineEdits)) {
         emit line_edit->editingFinished();
     }
-    DEB << "editing finished emitted. good count: " << mandatoryLineEdits.countOk();
-    if (!mandatoryLineEdits.allOk()) {
+    DEB << "editing finished emitted. good count: " << mandatoryLineEdits.countValid();
+    if (!mandatoryLineEdits.allValid()) {
         QString missing_items;
         for (int i=0; i < mandatoryLineEdits.size(); i++) {
-            if (!mandatoryLineEdits.okAt(i)){
+            if (!mandatoryLineEdits.validAt(i)){
                 missing_items.append(MANDATORY_LINE_EDITS_DISPLAY_NAMES.value(i) + "<br>");
                 mandatoryLineEdits[i]->setStyleSheet(QStringLiteral("border: 1px solid red"));
             }
@@ -929,7 +929,7 @@ void NewFlightDialog::on_submitButton_clicked()
         return;
     }
 
-    DEB << "Submit Button clicked. Mandatory good (out of 8): " << mandatoryLineEdits.countOk();
+    DEB << "Submit Button clicked. Mandatory good " << mandatoryLineEdits.size() << "out of: " << mandatoryLineEdits.countValid();
     auto newData = collectInput();
     DEB << "Setting Data for flightEntry...";
     flightEntry.setData(newData);
@@ -962,12 +962,12 @@ void NewFlightDialog::onGoodInputReceived(QLineEdit *line_edit)
     if (mandatoryLineEdits.contains(line_edit))
         mandatoryLineEdits.validate(line_edit);
 
-    if (mandatoryLineEdits.allOk())
+    if (mandatoryLineEdits.allValid())
         onMandatoryLineEditsFilled();
 
-    DEB << "Mandatory good: " << mandatoryLineEdits.countOk()
-        << " (out of 7) " << mandatoryLineEdits.lineEdits;
-
+    DEB << "Mandatory good: " << mandatoryLineEdits.countValid()
+        << " out of " << mandatoryLineEdits.size()
+        << " : " << mandatoryLineEdits.lineEdits;
 }
 
 void NewFlightDialog::onBadInputReceived(QLineEdit *line_edit)
@@ -975,8 +975,8 @@ void NewFlightDialog::onBadInputReceived(QLineEdit *line_edit)
     DEB << line_edit->objectName() << " - Bad input received - " << line_edit->text();
     line_edit->setStyleSheet(QStringLiteral("border: 1px solid red"));
 
-    DEB << "Mandatory Good: " << mandatoryLineEdits.countOk() << " out of "
-        << mandatoryLineEdits.size() << ". Array: " << mandatoryLineEdits.lineEditsOk;
+    DEB << "Mandatory Good: " << mandatoryLineEdits.countValid() << " out of "
+        << mandatoryLineEdits.size() << ". Array: " << mandatoryLineEdits.lineEditsValid;
 }
 
 // capitalize input for dept, dest and registration input
@@ -994,14 +994,14 @@ void NewFlightDialog::onToUpperTriggered_textChanged(const QString &text)
 // update is disabled if the user chose to manually edit extra times
 void NewFlightDialog::onMandatoryLineEditsFilled()
 {
-    if (!mandatoryLineEdits.allOk()) {
+    if (!mandatoryLineEdits.allValid()) {
         DEB << "erroneously called.";
         return;
     };
 
     if (updateEnabled)
         fillDeductibleData();
-    DEB << mandatoryLineEdits.lineEditsOk;
+    DEB << mandatoryLineEdits.lineEditsValid;
 }
 
 // make sure that when using keyboard to scroll through completer sugggestions, line edit is up to date
@@ -1298,13 +1298,13 @@ void NewFlightDialog::on_PilotFlyingCheckBox_stateChanged(int)
 
 void NewFlightDialog::on_IfrCheckBox_stateChanged(int)
 {
-    if (mandatoryLineEdits.allOk() && updateEnabled)
+    if (mandatoryLineEdits.allValid() && updateEnabled)
         onMandatoryLineEditsFilled();
 }
 
 void NewFlightDialog::on_manualEditingCheckBox_stateChanged(int arg1)
 {
-    if (!(mandatoryLineEdits.allOk()) && ui->manualEditingCheckBox->isChecked()) {
+    if (!(mandatoryLineEdits.allValid()) && ui->manualEditingCheckBox->isChecked()) {
         QMessageBox message_box(this);
         message_box.setText(tr("Before editing times manually, please fill out the required fields "
                                "in the flight data tab, so that total time can be calculated."));
@@ -1322,7 +1322,7 @@ void NewFlightDialog::on_manualEditingCheckBox_stateChanged(int arg1)
             le->setStyleSheet("");
         }
         updateEnabled = true;
-        if (mandatoryLineEdits.allOk() && updateEnabled)
+        if (mandatoryLineEdits.allValid() && updateEnabled)
             onMandatoryLineEditsFilled();
         break;
     case 2:

+ 11 - 11
src/gui/dialogues/newflightdialog.h

@@ -99,25 +99,25 @@ private:
      */
     struct MandatoryLineEdits {
         QVector<QLineEdit*> lineEdits;
-        QBitArray lineEditsOk;
+        QBitArray lineEditsValid;
 
         MandatoryLineEdits() = default;
-        MandatoryLineEdits(std::initializer_list<QLineEdit*> il);
-        void operator= (std::initializer_list<QLineEdit*> il);
+        MandatoryLineEdits(std::initializer_list<QLineEdit*> init_list);
+        void operator= (std::initializer_list<QLineEdit*> init_list);
 
-        bool contains(QLineEdit* le);
-        void validate(QLineEdit* le);
-        void unvalidate(QLineEdit* le);
-        int countOk();
+        bool contains(QLineEdit* line_edit);
+        void validate(QLineEdit* line_edit);
+        void unvalidate(QLineEdit* line_edit);
+        int countValid();
         int size();
-        bool okAt(int idx);
-        bool allOk();
+        bool validAt(int idx);
+        bool allValid();
         QLineEdit* operator[] (int idx);
 
     } mandatoryLineEdits;
 
-    QList<QLineEdit*> primaryTimeLineEdits;
-    QList<QLineEdit*> pilotsLineEdits;
+    QVector<QLineEdit*> primaryTimeLineEdits;
+    QVector<QLineEdit*> pilotsLineEdits;
 
     /*!
      * To be used by the QCompleters