|
@@ -28,7 +28,9 @@
|
|
|
#include <QSortFilterProxyModel>
|
|
|
#include <QButtonGroup>
|
|
|
|
|
|
-
|
|
|
+/*
|
|
|
+ * Debug / WIP
|
|
|
+ */
|
|
|
void NewFlight::on_verifyButton_clicked()//debug
|
|
|
{
|
|
|
/*on_newDoft_editingFinished();// - activate slots in case user has been active in last input before clicking submit
|
|
@@ -42,6 +44,12 @@ void NewFlight::on_verifyButton_clicked()//debug
|
|
|
fillExtrasLineEdits();
|
|
|
|
|
|
}
|
|
|
+void NewFlight::on_tabWidget_tabBarClicked(int index)
|
|
|
+{
|
|
|
+ if(index == 1){
|
|
|
+ nope();
|
|
|
+ }
|
|
|
+}
|
|
|
/*
|
|
|
* Initialise variables
|
|
|
*/
|
|
@@ -92,7 +100,7 @@ NewFlight::NewFlight(QWidget *parent) :
|
|
|
QValidator *ICAOvalidator = new QRegExpValidator(icao_rx, this);
|
|
|
ui->newDept->setValidator(ICAOvalidator);
|
|
|
ui->newDest->setValidator(ICAOvalidator);
|
|
|
- QRegExp timehhmm("([01]?[0-9]|2[0-3]):?[0-5][0-9]"); //allows time in 24h format with optional leading 0 and with or without seperator
|
|
|
+ QRegExp timehhmm("([01]?[0-9]?|2[0-3]):?[0-5][0-9]?"); //allows time in 24h format with optional leading 0 and with or without seperator
|
|
|
QValidator *timeInputValidator = new QRegExpValidator(timehhmm, this);
|
|
|
ui->newTofb->setValidator(timeInputValidator);
|
|
|
ui->newTonb->setValidator(timeInputValidator);
|
|
@@ -147,20 +155,14 @@ void NewFlight::nope()
|
|
|
|
|
|
/*!
|
|
|
* \brief NewFlight::validateTimeInput verifies user input and formats to hh:mm
|
|
|
+ * if the output is not a valid time, an empty string is returned.
|
|
|
* \param userinput from a QLineEdit
|
|
|
- * \return formatted QString "hh:mm"
|
|
|
+ * \return formatted QString "hh:mm" or Empty String
|
|
|
*/
|
|
|
QString NewFlight::validateTimeInput(QString userinput)
|
|
|
{
|
|
|
- QString output;
|
|
|
- QTime temptime;
|
|
|
-
|
|
|
- if(userinput.length() <3)
|
|
|
- {
|
|
|
- QMessageBox timeformat(this);
|
|
|
- timeformat.setText("Please enter a valid time. Any of these formats is valid:\n845 0845 8:45 08:45");
|
|
|
- timeformat.exec();
|
|
|
- }
|
|
|
+ QString output; //
|
|
|
+ QTime temptime; //empty time object is invalid by default
|
|
|
|
|
|
bool containsSeperator = userinput.contains(":");
|
|
|
if(userinput.length() == 4 && !containsSeperator)
|
|
@@ -184,7 +186,14 @@ QString NewFlight::validateTimeInput(QString userinput)
|
|
|
temptime = QTime::fromString(userinput,"hh:mm");
|
|
|
}
|
|
|
|
|
|
- return temptime.toString("hh:mm");
|
|
|
+ output = temptime.toString("hh:mm");
|
|
|
+ if(output.isEmpty())
|
|
|
+ {
|
|
|
+ QMessageBox timeformat(this);
|
|
|
+ timeformat.setText("Please enter a valid time. Any of these formats is valid:\n845 0845 8:45 08:45");
|
|
|
+ timeformat.exec();
|
|
|
+ }
|
|
|
+ return output;
|
|
|
}
|
|
|
|
|
|
/*!
|
|
@@ -202,7 +211,7 @@ void NewFlight::fillExtrasLineEdits()
|
|
|
// IFR
|
|
|
// VFR
|
|
|
// Night
|
|
|
- if(ui->autoNightCheckBox->isChecked() && tofb.isValid() && tonb.isValid() && dept.length() == 4 && dest.length() == 4) {
|
|
|
+ if(tofb.isValid() && tonb.isValid() && dept.length() == 4 && dest.length() == 4) {
|
|
|
QString deptDate = date.toString(Qt::ISODate) + 'T' + tofb.toString("hh:mm");
|
|
|
qDebug() << "Departure Date: " << deptDate;
|
|
|
QDateTime deptDateTime = QDateTime::fromString(deptDate,"yyyy-MM-ddThh:mm");
|
|
@@ -212,8 +221,6 @@ void NewFlight::fillExtrasLineEdits()
|
|
|
//qDebug() << calc::calculateNightTime(dept, dest, deptDateTime, blocktime);
|
|
|
//qDebug() << calc::minutes_to_string(QString::number(calc::calculateNightTime(dept, dest, deptDateTime, blocktime)));
|
|
|
ui->nightTimeLineEdit->setText(calc::minutes_to_string(QString::number(calc::calculateNightTime(dept, dest, deptDateTime, blocktime))));
|
|
|
- }else if(!ui->autoNightCheckBox->isChecked()) {
|
|
|
- ui->nightTimeLineEdit->setText("");
|
|
|
}
|
|
|
// XC
|
|
|
// PIC
|
|
@@ -338,7 +345,7 @@ void NewFlight::storeSettings()
|
|
|
db::storesetting(109, QString::number(ui->AutolandCheckBox->isChecked()));
|
|
|
db::storesetting(110, QString::number(ui->IfrCheckBox->isChecked()));
|
|
|
db::storesetting(111, QString::number(ui->VfrCheckBox->isChecked()));
|
|
|
- db::storesetting(112, QString::number(ui->autoNightCheckBox->isChecked()));
|
|
|
+ //db::storesetting(112, QString::number(ui->autoNightCheckBox->isChecked()));
|
|
|
}
|
|
|
void NewFlight::restoreSettings()
|
|
|
{
|
|
@@ -355,7 +362,7 @@ void NewFlight::restoreSettings()
|
|
|
ui->AutolandCheckBox->setChecked(db::retreiveSetting("109")[1].toInt());
|
|
|
ui->IfrCheckBox->setChecked(db::retreiveSetting("110")[1].toInt());
|
|
|
ui->VfrCheckBox->setChecked(db::retreiveSetting("111")[1].toInt());
|
|
|
- ui->autoNightCheckBox->setChecked(db::retreiveSetting("112")[1].toInt());
|
|
|
+ //ui->autoNightCheckBox->setChecked(db::retreiveSetting("112")[1].toInt());
|
|
|
//qDebug() << "restore Settings ifr to int: " << db::retreiveSetting("110")[1].toInt();
|
|
|
|
|
|
/*
|
|
@@ -502,6 +509,13 @@ void NewFlight::on_newTofb_editingFinished()
|
|
|
{
|
|
|
ui->newTofb->setText(validateTimeInput(ui->newTofb->text()));
|
|
|
tofb = QTime::fromString(ui->newTofb->text(),"hh:mm");
|
|
|
+
|
|
|
+ if(!tofb.isValid()){
|
|
|
+ ui->newTofb->setStyleSheet("border: 1px solid red");
|
|
|
+ ui->newTofb->setFocus();
|
|
|
+ }else{
|
|
|
+ ui->newTofb->setStyleSheet("");
|
|
|
+ }
|
|
|
qDebug() << "New Time Off Blocks: " << tofb;
|
|
|
}
|
|
|
|
|
@@ -509,6 +523,13 @@ void NewFlight::on_newTonb_editingFinished()
|
|
|
{
|
|
|
ui->newTonb->setText(validateTimeInput(ui->newTonb->text()));
|
|
|
tonb = QTime::fromString(ui->newTonb->text(),"hh:mm");
|
|
|
+
|
|
|
+ if(!tonb.isValid()){
|
|
|
+ ui->newTonb->setStyleSheet("border: 1px solid red");
|
|
|
+ ui->newTonb->setFocus();
|
|
|
+ }else{
|
|
|
+ ui->newTonb->setStyleSheet("");
|
|
|
+ }
|
|
|
qDebug() << "New Time On Blocks: " << tonb;
|
|
|
}
|
|
|
|
|
@@ -715,7 +736,148 @@ void NewFlight::on_ApproachComboBox_currentTextChanged(const QString &arg1)
|
|
|
*/
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+void NewFlight::on_spseTimeLineEdit_editingFinished()
|
|
|
+{
|
|
|
+ ui->spseTimeLineEdit->setText(validateTimeInput(ui->spseTimeLineEdit->text()));
|
|
|
+ if(ui->spseTimeLineEdit->text() == ""){
|
|
|
+ ui->spseTimeLineEdit->setStyleSheet("border: 1px solid red");
|
|
|
+ ui->spseTimeLineEdit->setFocus();
|
|
|
+ }else{
|
|
|
+ ui->spseTimeLineEdit->setStyleSheet("");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void NewFlight::on_spmeTimeLineEdit_editingFinished()
|
|
|
+{
|
|
|
+ ui->spmeTimeLineEdit->setText(validateTimeInput(ui->spmeTimeLineEdit->text()));
|
|
|
+ if(ui->spmeTimeLineEdit->text() == ""){
|
|
|
+ ui->spmeTimeLineEdit->setStyleSheet("border: 1px solid red");
|
|
|
+ ui->spmeTimeLineEdit->setFocus();
|
|
|
+ }else{
|
|
|
+ ui->spmeTimeLineEdit->setStyleSheet("");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void NewFlight::on_mpTimeLineEdit_editingFinished()
|
|
|
+{
|
|
|
+ ui->mpTimeLineEdit->setText(validateTimeInput(ui->mpTimeLineEdit->text()));
|
|
|
+ if(ui->mpTimeLineEdit->text() == ""){
|
|
|
+ ui->mpTimeLineEdit->setStyleSheet("border: 1px solid red");
|
|
|
+ ui->mpTimeLineEdit->setFocus();
|
|
|
+ }else{
|
|
|
+ ui->mpTimeLineEdit->setStyleSheet("");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void NewFlight::on_totalTimeLineEdit_editingFinished()
|
|
|
+{
|
|
|
+ ui->totalTimeLineEdit->setText(validateTimeInput(ui->totalTimeLineEdit->text()));
|
|
|
+ if(ui->totalTimeLineEdit->text() == ""){
|
|
|
+ ui->totalTimeLineEdit->setStyleSheet("border: 1px solid red");
|
|
|
+ ui->totalTimeLineEdit->setFocus();
|
|
|
+ }else{
|
|
|
+ ui->totalTimeLineEdit->setStyleSheet("");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void NewFlight::on_ifrTimeLineEdit_editingFinished()
|
|
|
+{
|
|
|
+ ui->ifrTimeLineEdit->setText(validateTimeInput(ui->ifrTimeLineEdit->text()));
|
|
|
+ if(ui->ifrTimeLineEdit->text() == ""){
|
|
|
+ ui->ifrTimeLineEdit->setStyleSheet("border: 1px solid red");
|
|
|
+ ui->ifrTimeLineEdit->setFocus();
|
|
|
+ }else{
|
|
|
+ ui->ifrTimeLineEdit->setStyleSheet("");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void NewFlight::on_vfrTimeLineEdit_editingFinished()
|
|
|
+{
|
|
|
+ ui->vfrTimeLineEdit->setText(validateTimeInput(ui->vfrTimeLineEdit->text()));
|
|
|
+ if(ui->vfrTimeLineEdit->text() == ""){
|
|
|
+ ui->vfrTimeLineEdit->setStyleSheet("border: 1px solid red");
|
|
|
+ ui->vfrTimeLineEdit->setFocus();
|
|
|
+ }else{
|
|
|
+ ui->vfrTimeLineEdit->setStyleSheet("");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
void NewFlight::on_nightTimeLineEdit_editingFinished()
|
|
|
{
|
|
|
ui->nightTimeLineEdit->setText(validateTimeInput(ui->nightTimeLineEdit->text()));
|
|
|
+ if(ui->nightTimeLineEdit->text() == ""){
|
|
|
+ ui->nightTimeLineEdit->setStyleSheet("border: 1px solid red");
|
|
|
+ ui->nightTimeLineEdit->setFocus();
|
|
|
+ }else{
|
|
|
+ ui->nightTimeLineEdit->setStyleSheet("");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void NewFlight::on_xcTimeLineEdit_editingFinished()
|
|
|
+{
|
|
|
+ ui->xcTimeLineEdit->setText(validateTimeInput(ui->xcTimeLineEdit->text()));
|
|
|
+ if(ui->xcTimeLineEdit->text() == ""){
|
|
|
+ ui->xcTimeLineEdit->setStyleSheet("border: 1px solid red");
|
|
|
+ ui->xcTimeLineEdit->setFocus();
|
|
|
+ }else{
|
|
|
+ ui->xcTimeLineEdit->setStyleSheet("");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void NewFlight::on_picTimeLineEdit_editingFinished()
|
|
|
+{
|
|
|
+ ui->picTimeLineEdit->setText(validateTimeInput(ui->picTimeLineEdit->text()));
|
|
|
+ if(ui->picTimeLineEdit->text() == ""){
|
|
|
+ ui->picTimeLineEdit->setStyleSheet("border: 1px solid red");
|
|
|
+ ui->picTimeLineEdit->setFocus();
|
|
|
+ }else{
|
|
|
+ ui->picTimeLineEdit->setStyleSheet("");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void NewFlight::on_copTimeLineEdit_editingFinished()
|
|
|
+{
|
|
|
+ ui->copTimeLineEdit->setText(validateTimeInput(ui->copTimeLineEdit->text()));
|
|
|
+ if(ui->copTimeLineEdit->text() == ""){
|
|
|
+ ui->copTimeLineEdit->setStyleSheet("border: 1px solid red");
|
|
|
+ ui->copTimeLineEdit->setFocus();
|
|
|
+ }else{
|
|
|
+ ui->copTimeLineEdit->setStyleSheet("");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void NewFlight::on_dualTimeLineEdit_editingFinished()
|
|
|
+{
|
|
|
+ ui->dualTimeLineEdit->setText(validateTimeInput(ui->dualTimeLineEdit->text()));
|
|
|
+ if(ui->dualTimeLineEdit->text() == ""){
|
|
|
+ ui->dualTimeLineEdit->setStyleSheet("border: 1px solid red");
|
|
|
+ ui->dualTimeLineEdit->setFocus();
|
|
|
+ }else{
|
|
|
+ ui->dualTimeLineEdit->setStyleSheet("");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void NewFlight::on_fiTimeLineEdit_editingFinished()
|
|
|
+{
|
|
|
+ ui->fiTimeLineEdit->setText(validateTimeInput(ui->fiTimeLineEdit->text()));
|
|
|
+ if(ui->fiTimeLineEdit->text() == ""){
|
|
|
+ ui->fiTimeLineEdit->setStyleSheet("border: 1px solid red");
|
|
|
+ ui->fiTimeLineEdit->setFocus();
|
|
|
+ }else{
|
|
|
+ ui->fiTimeLineEdit->setStyleSheet("");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void NewFlight::on_simTimeLineEdit_editingFinished()
|
|
|
+{
|
|
|
+ ui->simTimeLineEdit->setText(validateTimeInput(ui->simTimeLineEdit->text()));
|
|
|
+ if(ui->simTimeLineEdit->text() == ""){
|
|
|
+ ui->simTimeLineEdit->setStyleSheet("border: 1px solid red");
|
|
|
+ ui->simTimeLineEdit->setFocus();
|
|
|
+ }else{
|
|
|
+ ui->simTimeLineEdit->setStyleSheet("");
|
|
|
+ }
|
|
|
}
|