Browse Source

merged improvements and fixes from devel-newmaster-newpilot

fiffty-50 4 years ago
parent
commit
41367deb79

+ 8 - 0
debug.h

@@ -0,0 +1,8 @@
+#ifndef DEBUG_H
+#define DEBUG_H
+
+// Debug Makro
+#define DEB(expr) \
+    qDebug() << __PRETTY_FUNCTION__ << "\t" << expr
+
+#endif // DEBUG_H

+ 29 - 25
mainwindow.cpp

@@ -17,6 +17,7 @@
  */
 #include "mainwindow.h"
 #include "ui_mainwindow.h"
+#include "debug.h"
 
 MainWindow::MainWindow(QWidget *parent)
     : QMainWindow(parent)
@@ -47,10 +48,21 @@ MainWindow::MainWindow(QWidget *parent)
     ui->toolBar->insertWidget(ui->actionSettings, spacer);
 
 
-    // create and show HomeWidget
-    auto hw = new HomeWidget(this);
-    ui->stackedWidget->addWidget(hw);
-    ui->stackedWidget->setCurrentWidget(hw);
+    DEB("Construction MainWindow Widgets\n");
+    // Construct Widgets
+    homeWidget = new HomeWidget(this);
+    ui->stackedWidget->addWidget(homeWidget);
+    pilotsWidget = new PilotsWidget(this);
+    ui->stackedWidget->addWidget(pilotsWidget);
+    logbookWidget = new LogbookWidget(this);
+    ui->stackedWidget->addWidget(logbookWidget);
+    settingsWidget = new SettingsWidget(this);
+    ui->stackedWidget->addWidget(settingsWidget);
+    aircraftWidget = new AircraftWidget(this);
+    ui->stackedWidget->addWidget(aircraftWidget);
+
+    // Startup Screen (Home Screen)
+    ui->stackedWidget->setCurrentWidget(homeWidget);
 
 }
 
@@ -78,26 +90,32 @@ void MainWindow::on_actionQuit_triggered()
 
 void MainWindow::on_actionHome_triggered()
 {
-    ui->stackedWidget->addWidget(hw);
-    ui->stackedWidget->setCurrentWidget(hw);
+    ui->stackedWidget->setCurrentWidget(homeWidget);
 }
 
 void MainWindow::on_actionLogbook_triggered()
 {
-    ui->stackedWidget->addWidget(lw);
-    ui->stackedWidget->setCurrentWidget(lw);
+    ui->stackedWidget->setCurrentWidget(logbookWidget);
 }
 
 void MainWindow::on_actionSettings_triggered()
 {
-    ui->stackedWidget->addWidget(sw);
-    ui->stackedWidget->setCurrentWidget(sw);
+    ui->stackedWidget->setCurrentWidget(settingsWidget);
+}
+
+void MainWindow::on_actionPilots_triggered()
+{
+    ui->stackedWidget->setCurrentWidget(pilotsWidget);
+}
+
+void MainWindow::on_actionAircraft_triggered()
+{
+    ui->stackedWidget->setCurrentWidget(aircraftWidget);
 }
 
 void MainWindow::on_actionNewFlight_triggered()
 {
     NewFlightDialog* nf = new NewFlightDialog(this, Db::createNew);
-    nf->setAttribute(Qt::WA_DeleteOnClose);
     nf->exec();
 
 }
@@ -105,25 +123,11 @@ void MainWindow::on_actionNewFlight_triggered()
 void MainWindow::on_actionNewAircraft_triggered()
 {
     NewTailDialog* nt = new NewTailDialog(QString(), Db::createNew, this);
-    nt->setAttribute(Qt::WA_DeleteOnClose);
     nt->exec();
 }
 
 void MainWindow::on_actionNewPilot_triggered()
 {
     NewPilotDialog* np = new NewPilotDialog(Db::createNew, this);
-    np->setAttribute(Qt::WA_DeleteOnClose);
     np->exec();
 }
-
-void MainWindow::on_actionPilots_triggered()
-{
-    ui->stackedWidget->addWidget(pw);
-    ui->stackedWidget->setCurrentWidget(pw);
-}
-
-void MainWindow::on_actionAircraft_triggered()
-{
-    ui->stackedWidget->addWidget(aw);
-    ui->stackedWidget->setCurrentWidget(aw);
-}

+ 5 - 5
mainwindow.h

@@ -75,15 +75,15 @@ private slots:
 private:
     Ui::MainWindow *ui;
 
-    HomeWidget* hw = new HomeWidget(this);
+    HomeWidget* homeWidget;
 
-    LogbookWidget* lw = new LogbookWidget(this);
+    LogbookWidget* logbookWidget;
 
-    SettingsWidget* sw = new SettingsWidget(this);
+    SettingsWidget* settingsWidget;
 
-    AircraftWidget* aw = new AircraftWidget(this);
+    AircraftWidget* aircraftWidget ;
 
-    PilotsWidget* pw = new PilotsWidget(this);
+    PilotsWidget* pilotsWidget;
 
 
 

+ 1 - 0
openPilotLog.pro

@@ -42,6 +42,7 @@ SOURCES += \
     src/gui/widgets/totalswidget.cpp
 
 HEADERS += \
+    debug.h \
     mainwindow.h \
     src/classes/aircraft.h \
     src/classes/calc.h \

+ 1 - 4
src/classes/aircraft.cpp

@@ -16,10 +16,7 @@
  *along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 #include "aircraft.h"
-
-// Debug Makro
-#define DEB(expr) \
-    qDebug() << __PRETTY_FUNCTION__ << "\t" << expr
+#include "debug.h"
 
 
 Aircraft::Aircraft()

+ 1 - 3
src/classes/calc.cpp

@@ -16,9 +16,7 @@
  *along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 #include "calc.h"
-// Debug Makro
-#define DEB(expr) \
-    qDebug() << __PRETTY_FUNCTION__ << "\t" << expr
+#include "debug.h"
 
 /*!
  * \brief Calc::blocktime Calculates Block Time for a given departure and arrival time

+ 1 - 4
src/classes/flight.cpp

@@ -16,10 +16,7 @@
  *along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 #include "flight.h"
-// Debug Makro
-#define DEB(expr) \
-    qDebug() << __PRETTY_FUNCTION__ << "\t" << expr
-
+#include "debug.h"
 
 Flight::Flight()
 {

+ 1 - 4
src/classes/pilot.cpp

@@ -16,10 +16,7 @@
  *along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 #include "pilot.h"
-
-// Debug Makro
-#define DEB(expr) \
-    qDebug() << __PRETTY_FUNCTION__ << "\t" << expr
+#include "debug.h"
 
 
 

+ 1 - 3
src/database/db.cpp

@@ -17,10 +17,8 @@
  */
 #include "db.h"
 #include "dbinfo.h"
+#include "debug.h"
 
-// Debug Makro
-#define DEB(expr) \
-    qDebug() << __PRETTY_FUNCTION__ << "\t" << expr
 /*!
  * \brief Db::iconnect - see Db::connect
  */

+ 2 - 3
src/database/dbinfo.cpp

@@ -16,9 +16,8 @@
  *along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 #include "dbinfo.h"
-// Debug Makro
-#define DEB(expr) \
-    qDebug() << __PRETTY_FUNCTION__ << "\t" << expr
+#include "debug.h"
+
 DbInfo::DbInfo()
 {
     QSqlDatabase db = QSqlDatabase::database("qt_sql_default_connection");

+ 1 - 3
src/database/entry.cpp

@@ -16,9 +16,7 @@
  *along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 #include "entry.h"
-// Debug Makro
-#define DEB(expr) \
-    qDebug() << __PRETTY_FUNCTION__ << "\t" << expr
+#include "debug.h"
 
 Entry::Entry()
 {

+ 68 - 63
src/gui/dialogues/newflightdialog.cpp

@@ -17,14 +17,14 @@
  */
 #include "newflightdialog.h"
 #include "ui_newflight.h"
+#include "debug.h"
+
 
-#include <QSqlRelationalTableModel>
 
 /// =======================================================
 /// Debug / WIP section
 /// =======================================================
-#define DEBUG(expr) \
-    qDebug() << "~DEBUG" << __func__ << expr
+
 
 void NewFlightDialog::on_verifyButton_clicked()//debug button
 {
@@ -71,7 +71,9 @@ NewFlightDialog::NewFlightDialog(QWidget *parent, Db::editRole edRole) :
     QDialog(parent),
     ui(new Ui::NewFlight)
 {
+    DEB("new NewFlight\n");
     ui->setupUi(this);
+
     role = edRole;
     doUpdate = true;
     setup();
@@ -96,7 +98,9 @@ NewFlightDialog::NewFlightDialog(QWidget *parent, Flight oldFlight, Db::editRole
     QDialog(parent),
     ui(new Ui::NewFlight)
 {
+    DEB("new NewFlight\n");
     ui->setupUi(this);
+
     role=edRole;
     entry = oldFlight;
     doUpdate = true;
@@ -106,6 +110,7 @@ NewFlightDialog::NewFlightDialog(QWidget *parent, Flight oldFlight, Db::editRole
 
 NewFlightDialog::~NewFlightDialog()
 {
+    DEB("Deleting NewFlight\n");
     delete ui;
 }
 
@@ -115,7 +120,7 @@ bool NewFlightDialog::eventFilter(QObject* object, QEvent* event)
         on_doftLineEditEntered();
         return false; // let the event continue to the edit
     } /*else if (object == this && event->type() == QEvent::Leave) {
-        DEBUG("calendarWidget left.");
+        DEB("calendarWidget left.");
         //ui->doftLineEdit->blockSignals(false);
         //ui->calendarWidget->hide();
         //ui->placeLabel1->resize(ui->placeLabel2->size());
@@ -209,8 +214,8 @@ void NewFlightDialog::setup(){
 
 void NewFlightDialog::formFiller(Flight oldFlight)
 {
-    DEBUG("Filling Line Edits...");
-    DEBUG("With Data: " << oldFlight.data);
+    DEB("Filling Line Edits...");
+    DEB("With Data: " << oldFlight.data);
     // Date
     //ui->doftLineEdit->setDate(QDate::fromString(oldFlight.data.value("doft"), Qt::ISODate));
     QStringList filled;
@@ -231,7 +236,7 @@ void NewFlightDialog::formFiller(Flight oldFlight)
         auto rx = QRegularExpression(key + "LineEdit");//acftLineEdit
         for(const auto& leName : line_edits_names){
             if(rx.match(leName).hasMatch())  {
-                //DEBUG("Loc Match found: " << key << " - " << leName);
+                //DEB("Loc Match found: " << key << " - " << leName);
                 auto le = parent()->findChild<QLineEdit *>(leName);
                 if(le != nullptr){
                     le->setText(oldFlight.data.value(key));
@@ -244,7 +249,7 @@ void NewFlightDialog::formFiller(Flight oldFlight)
         rx = QRegularExpression(key + "Loc\\w+?");
         for(const auto& leName : line_edits_names){
             if(rx.match(leName).hasMatch())  {
-                //DEBUG("Loc Match found: " << key << " - " << leName);
+                //DEB("Loc Match found: " << key << " - " << leName);
                 auto le = parent()->findChild<QLineEdit *>(leName);
                 if(le != nullptr){
                     le->setText(oldFlight.data.value(key));
@@ -257,10 +262,10 @@ void NewFlightDialog::formFiller(Flight oldFlight)
         rx = QRegularExpression(key + "Time\\w+?");
         for(const auto& leName : line_edits_names){
             if(rx.match(leName).hasMatch())  {
-                //DEBUG("Time Match found: " << key << " - " << leName);
+                //DEB("Time Match found: " << key << " - " << leName);
                 auto le = parent()->findChild<QLineEdit *>(leName);
                 if(le != nullptr){
-                    DEBUG("Setting " << le->objectName() << " to " << Calc::minutesToString(oldFlight.data.value(key)));
+                    DEB("Setting " << le->objectName() << " to " << Calc::minutesToString(oldFlight.data.value(key)));
                     le->setText(Calc::minutesToString(
                                 oldFlight.data.value(key)));
                     filled << leName;
@@ -272,7 +277,7 @@ void NewFlightDialog::formFiller(Flight oldFlight)
         rx = QRegularExpression(key + "Name\\w+?");
         for(const auto& leName : line_edits_names){
             if(rx.match(leName).hasMatch())  {
-                //DEBUG("Time Match found: " << key << " - " << leName);
+                //DEB("Time Match found: " << key << " - " << leName);
                 auto le = parent()->findChild<QLineEdit *>(leName);
                 if(le != nullptr){
                     const QString& column = "piclastname||', '||picfirstname";
@@ -320,7 +325,7 @@ void NewFlightDialog::formFiller(Flight oldFlight)
     // Take Off and Landing
     qint8 TO = oldFlight.data.value("toDay").toInt() + oldFlight.data.value("toNight").toInt();
     qint8 LDG = oldFlight.data.value("ldgDay").toInt() + oldFlight.data.value("ldgNight").toInt();
-    DEBUG("TO and LDG:" << TO << LDG);
+    DEB("TO and LDG:" << TO << LDG);
     if(TO > 0) {
         ui->TakeoffCheckBox->setChecked(true);
         ui->TakeoffSpinBox->setValue(TO);
@@ -360,7 +365,7 @@ inline void NewFlightDialog::setupLineEdit(QLineEdit* line_edit, LineEditSetting
 {
     auto db = QSqlDatabase::database("qt_sql_default_connection");
     auto line_edit_objectName = line_edit->objectName();
-    DEBUG("Setting validators for " << line_edit_objectName);
+    DEB("Setting validators for " << line_edit_objectName);
     auto [valid_rgx, invalid_rgx, sql_col] = settings.getAll();
 
     auto validator = new StrictRxValidator(valid_rgx, line_edit);
@@ -388,7 +393,7 @@ inline void NewFlightDialog::setupLineEdit(QLineEdit* line_edit, LineEditSetting
  */
 void NewFlightDialog::writeSettings()
 {
-    DEBUG("Writing Settings...");
+    DEB("Writing Settings...");
 
     Settings::write("NewFlight/FunctionComboBox",ui->FunctionComboBox->currentText());
     Settings::write("NewFlight/ApproachComboBox",ui->ApproachComboBox->currentText());
@@ -410,7 +415,7 @@ void NewFlightDialog::writeSettings()
  */
 void NewFlightDialog::readSettings()
 {
-    DEBUG("Reading Settings...");
+    DEB("Reading Settings...");
     QSettings settings;
 
     ui->FunctionComboBox->setCurrentText(Settings::read("NewFlight/FunctionComboBox").toString());
@@ -450,7 +455,7 @@ void NewFlightDialog::addNewPilotMessageBox(QLineEdit *parent)
                                   QMessageBox::Yes|QMessageBox::No);
     if (reply == QMessageBox::Yes)
     {
-        qDebug() << "Add new pilot selected";
+        DEB("Add new pilot selected");
         // create and open new pilot dialog
         auto np = NewPilotDialog(Db::createNew, this);
         np.exec();
@@ -475,7 +480,7 @@ void NewFlightDialog::addNewAircraftMessageBox(QLineEdit *parent)
                                   QMessageBox::Yes|QMessageBox::No);
     if (reply == QMessageBox::Yes)
     {
-        DEBUG("Add new aircraft selected");
+        DEB("Add new aircraft selected");
         // create and open new aircraft dialog
         auto na = NewTailDialog(ui->acftLineEdit->text(), Db::createNew, this);
         na.exec();
@@ -506,7 +511,7 @@ void NewFlightDialog::update()
             collectBasicData();
             fillExtras();
         } else {
-            DEBUG("No update - not enough variables known.");
+            DEB("No update - not enough variables known.");
         }
     }
 }
@@ -520,7 +525,7 @@ void NewFlightDialog::collectBasicData()
 {
     // purge old data to ensure database integrity
     newData.clear();
-    DEBUG("Collecting Basic Input...");
+    DEB("Collecting Basic Input...");
     // Date of Flight
     if(QDate::fromString(ui->doftLineEdit->text(),Qt::ISODate).isValid()) {
         auto doft = ui->doftLineEdit->text();
@@ -652,7 +657,7 @@ void NewFlightDialog::collectAdditionalData()
             newData.insert("tSPME", "");
             newData.insert("tMP", blockMinutes);
         }
-    }else{DEBUG("Aircraft Details Empty");}//invalid aircraft
+    }else{DEB("Aircraft Details Empty");}//invalid aircraft
 
     // IFR
     if(ui->IfrCheckBox->isChecked()){
@@ -800,7 +805,7 @@ void NewFlightDialog::fillExtras()
             ui->tMPTimeLineEdit->setText(blockTime);
             ui->tMPLabel->setText(blockTime);
         }
-    }else{DEBUG("Aircraft Details Empty");}//invalid aircraft
+    }else{DEB("Aircraft Details Empty");}//invalid aircraft
 
     // TOTAL
     ui->tblkLabel->setText("<b>" + blockTime + "</b>");
@@ -886,24 +891,24 @@ bool NewFlightDialog::verifyInput()
 
 void NewFlightDialog::on_buttonBox_accepted()
 {
-    DEBUG("OK pressed");
+    DEB("OK pressed");
     if(verifyInput()){
-        DEBUG("Input verified");
+        DEB("Input verified");
         collectBasicData();
         collectAdditionalData();
 
         switch (role) {
         case Db::editExisting:
             entry.setData(newData);
-            DEBUG("Editing entry: " << entry.position.first << " - " << entry.position.second);
-            DEBUG("with Data: " << newData);
-            DEBUG("Function Times: " << newData.value("tPIC") << newData.value("tPICus") << newData.value("tSIC")
+            DEB("Editing entry: " << entry.position.first << " - " << entry.position.second);
+            DEB("with Data: " << newData);
+            DEB("Function Times: " << newData.value("tPIC") << newData.value("tPICus") << newData.value("tSIC")
                   << newData.value("tDUAL") << newData.value("tFI"));
             break;
         case Db::createNew:
             entry = Flight(newData);
-            DEBUG("Creating New entry: " << entry.position.first << " - " << entry.position.second);
-            DEBUG("with Data: " << newData);
+            DEB("Creating New entry: " << entry.position.first << " - " << entry.position.second);
+            DEB("with Data: " << newData);
             break;
         }
 
@@ -922,7 +927,7 @@ void NewFlightDialog::on_buttonBox_accepted()
 
 void NewFlightDialog::on_buttonBox_rejected()
 {
-    DEBUG("CANCEL pressed." << newData);
+    DEB("CANCEL pressed." << newData);
     reject();
 }
 /*!
@@ -931,7 +936,7 @@ void NewFlightDialog::on_buttonBox_rejected()
  * valid characters are kept on the line edit.
  */
 void NewFlightDialog::onInputRejected(QLineEdit* line_edit, QRegularExpression rgx){
-    DEBUG("Input rejected" << line_edit->text());
+    DEB("Input rejected" << line_edit->text());
     line_edit->setStyleSheet("border: 1px solid red");
     this->allOkBits.setBit(this->lineEditBitMap[line_edit], false);
     auto text = line_edit->text();
@@ -940,7 +945,7 @@ void NewFlightDialog::onInputRejected(QLineEdit* line_edit, QRegularExpression r
         line_edit->setText(text);
     }
     if(INVALID_CHARS_RGX.match(text).hasMatch()){//remove globaly inacceptable chars
-        DEBUG("Removing invalid char: " << text[text.length()-1]);
+        DEB("Removing invalid char: " << text[text.length()-1]);
         text.chop(1);
         line_edit->setText(text);
     }
@@ -951,7 +956,7 @@ void NewFlightDialog::onInputRejected(QLineEdit* line_edit, QRegularExpression r
  */
 void NewFlightDialog::onEditingFinishedCleanup(QLineEdit* line_edit)
 {
-    //DEBUG("Input accepted" << line_edit << line_edit->text());
+    //DEB("Input accepted" << line_edit << line_edit->text());
     line_edit->setStyleSheet("");
     this->allOkBits.setBit(this->lineEditBitMap[line_edit], true);
 }
@@ -966,13 +971,13 @@ void NewFlightDialog::on_doftLineEditEntered()
 
     if(cw->isVisible()){
         le->blockSignals(false);
-        DEBUG("cw visible. Enabling line edit signals for: " << le->objectName());
+        DEB("cw visible. Enabling line edit signals for: " << le->objectName());
         cw->hide();
         anchor->resize(ui->placeLabel2->size());
         le->setFocus();
     } else {
         le->blockSignals(true);
-        DEBUG("Disabling line edit signals for: " << le->objectName());
+        DEB("Disabling line edit signals for: " << le->objectName());
         // Determine size based on layout coordinates
         int c1 = anchor->pos().rx();
         int c2 = le->pos().rx();
@@ -993,7 +998,7 @@ void NewFlightDialog::on_doftLineEditEntered()
 
 void NewFlightDialog::date_clicked(const QDate &date)
 {
-    DEBUG("Date clicked: " << date);
+    DEB("Date clicked: " << date);
     const auto& le = ui->doftLineEdit;
     le->blockSignals(false);
     ui->calendarWidget->hide();
@@ -1007,12 +1012,12 @@ void NewFlightDialog::date_selected(const QDate &date)
     ui->calendarWidget->hide();
     ui->placeLabel1->resize(ui->placeLabel2->size());
     ui->doftDisplayLabel->setText(date.toString(Qt::TextDate));
-    DEBUG("Date selected: " << date);
+    DEB("Date selected: " << date);
     const auto& le = ui->doftLineEdit;
     le->setText(date.toString(Qt::ISODate));
     le->setFocus();
     le->blockSignals(false);
-    DEBUG("Enabling line edit signals for: " << le->objectName());
+    DEB("Enabling line edit signals for: " << le->objectName());
 }
 
 void NewFlightDialog::on_doftLineEdit_inputRejected()
@@ -1024,7 +1029,7 @@ void NewFlightDialog::on_doftLineEdit_inputRejected()
 
 void NewFlightDialog::on_doftLineEdit_editingFinished()
 {
-    DEBUG(sender()->objectName() << "EDITING FINISHED.");
+    DEB(sender()->objectName() << "EDITING FINISHED.");
     auto line_edit = ui->doftLineEdit;
     auto text = ui->doftLineEdit->text();
 
@@ -1033,7 +1038,7 @@ void NewFlightDialog::on_doftLineEdit_editingFinished()
         if(text.length() == 8) {
             text.insert(4,'-');
             text.insert(7,'-');
-            DEBUG("editet text: " << text);
+            DEB("editet text: " << text);
             auto date = QDate::fromString(text, Qt::ISODate);
             if(date.isValid()) {
                 line_edit->setText(date.toString(Qt::ISODate));
@@ -1054,14 +1059,14 @@ void NewFlightDialog::on_doftLineEdit_editingFinished()
 
 void NewFlightDialog::on_deptTZ_currentTextChanged(const QString &arg1)
 {
-    DEBUG(arg1);
+    DEB(arg1);
     // currently only UTC time logging is supported
     ui->deptTZ->setCurrentIndex(0);
 }
 
 void NewFlightDialog::on_destTZ_currentIndexChanged(const QString &arg1)
 {
-    DEBUG(arg1);
+    DEB(arg1);
     // currently only UTC time logging is supported
     ui->destTZ->setCurrentIndex(0);
 }
@@ -1070,7 +1075,7 @@ void NewFlightDialog::on_destTZ_currentIndexChanged(const QString &arg1)
 
 void NewFlightDialog::on_deptLocLineEdit_inputRejected()
 {
-    //DEBUG("SENDER --->" << sender());
+    //DEB("SENDER --->" << sender());
     ui->deptLocLineEdit->setText(ui->deptLocLineEdit->text().toUpper());
     onInputRejected(ui->deptLocLineEdit, QRegularExpression(LOC_INVALID_RGX));
 }
@@ -1082,7 +1087,7 @@ void NewFlightDialog::on_deptLocLineEdit_textEdited(const QString &arg1)
 
 void NewFlightDialog::on_deptLocLineEdit_editingFinished()
 {
-    //DEBUG(sender()->objectName() << "EDITING FINISHED");
+    //DEB(sender()->objectName() << "EDITING FINISHED");
     auto line_edit = ui->deptLocLineEdit;
     auto text = ui->deptLocLineEdit->text();
 
@@ -1092,11 +1097,11 @@ void NewFlightDialog::on_deptLocLineEdit_editingFinished()
     }
     // Check if 4-letter code is in locationList
     if(text.length() == 4 && airports.indexOf(text) == -1){
-        //DEBUG("Airport not found.");
+        //DEB("Airport not found.");
         emit line_edit->inputRejected();
         return;
     }else{
-        //DEBUG("Departure accepted: " << text);
+        //DEB("Departure accepted: " << text);
         line_edit->setText(text);
         onEditingFinishedCleanup(line_edit); //reset style sheet
         ui->deptNameLabel->setText(Db::singleSelect("name","airports","icao",text,Db::exactMatch));
@@ -1120,7 +1125,7 @@ void NewFlightDialog::on_tofbTimeLineEdit_editingFinished()
     if(time.isValid()){
         int minutes = time.hour() * 60 + time.minute();
         QString tofb = QString::number(minutes);
-        //DEBUG("Time Off Blocks accepted: " << tofb << " minutes - " << Calc::minutesToString(tofb));
+        //DEB("Time Off Blocks accepted: " << tofb << " minutes - " << Calc::minutesToString(tofb));
     }else{
         emit line_edit->inputRejected();
     }
@@ -1143,7 +1148,7 @@ void NewFlightDialog::on_destLocLineEdit_textEdited(const QString &arg1)
 
 void NewFlightDialog::on_destLocLineEdit_editingFinished()
 {
-    //DEBUG(sender()->objectName() << "EDITING FINISHED");
+    //DEB(sender()->objectName() << "EDITING FINISHED");
     auto line_edit = ui->destLocLineEdit;
     auto text = ui->destLocLineEdit->text();
 
@@ -1153,11 +1158,11 @@ void NewFlightDialog::on_destLocLineEdit_editingFinished()
     }
     // Check if 4-letter code is in locationList
     if(text.length() == 4 && airports.indexOf(text) == -1){
-        //DEBUG("Airport not found.");
+        //DEB("Airport not found.");
         emit line_edit->inputRejected();
         return;
     }else{
-        //DEBUG("Destination accepted: " << text);
+        //DEB("Destination accepted: " << text);
         line_edit->setText(text);
         onEditingFinishedCleanup(line_edit); //reset style sheet
         ui->destNameLabel->setText(Db::singleSelect("name","airports","icao",text,Db::exactMatch));
@@ -1179,7 +1184,7 @@ void NewFlightDialog::on_tonbTimeLineEdit_editingFinished()
         int minutes = time.hour() * 60 + time.minute();
         QString tonb = QString::number(minutes);
         newData.insert("tonb",tonb);
-        //DEBUG("Time On Blocks accepted: " << tonb << " minutes - " << Calc::minutesToString(tonb));
+        //DEB("Time On Blocks accepted: " << tonb << " minutes - " << Calc::minutesToString(tonb));
     }else{
         emit line_edit->inputRejected();
     }
@@ -1209,7 +1214,7 @@ void NewFlightDialog::on_acftLineEdit_editingFinished()
     auto text = ui->acftLineEdit->text();
 
     QStringList match = registrationList.filter(line_edit->text(), Qt::CaseInsensitive);
-    //DEBUG("aircraft accepted: " << match);
+    //DEB("aircraft accepted: " << match);
     if(match.length() != 0) {
         text = match[0];
         line_edit->setText(text.toUpper());
@@ -1237,7 +1242,7 @@ void NewFlightDialog::on_picNameLineEdit_editingFinished()
     auto text = line_edit->text();
     if(text == "self" || text == "SELF") // Logbook owner is PIC
     {
-        //DEBUG("Pilot selected: " << text);
+        //DEB("Pilot selected: " << text);
         onEditingFinishedCleanup(line_edit);
         ui->FunctionComboBox->setCurrentIndex(0);
         update();
@@ -1251,12 +1256,12 @@ void NewFlightDialog::on_picNameLineEdit_editingFinished()
         {
             QString pic = match[0];
             line_edit->setText(pic.insert(pic.indexOf(',')+1," "));
-            //DEBUG("Pilot selected: " << pic);
+            //DEB("Pilot selected: " << pic);
             onEditingFinishedCleanup(line_edit);
             update();
         }else
         {
-            DEBUG("Pilot not found.");
+            DEB("Pilot not found.");
             emit line_edit->inputRejected();
             addNewPilotMessageBox(line_edit);
         }
@@ -1283,7 +1288,7 @@ void NewFlightDialog::on_secondPilotNameLineEdit_editingFinished()
     auto text = line_edit->text();
     if(text == "self" || text == "SELF") // Logbook owner is Pilot
     {
-        //DEBUG("Pilot selected: " << text);
+        //DEB("Pilot selected: " << text);
         onEditingFinishedCleanup(line_edit);
         ui->FunctionComboBox->setCurrentIndex(1);
         return;
@@ -1296,11 +1301,11 @@ void NewFlightDialog::on_secondPilotNameLineEdit_editingFinished()
         {
             QString pic = match[0];
             line_edit->setText(pic.insert(pic.indexOf(',')+1," "));
-            //DEBUG("Pilot selected: " << pic);
+            //DEB("Pilot selected: " << pic);
             onEditingFinishedCleanup(line_edit);
         }else
         {
-            DEBUG("Pilot not found.");
+            DEB("Pilot not found.");
             emit line_edit->inputRejected();
             addNewPilotMessageBox(line_edit);
         }
@@ -1318,7 +1323,7 @@ void NewFlightDialog::on_thirdPilotNameLineEdit_editingFinished()
     auto text = line_edit->text();
     if(text == "self" || text == "SELF") // Logbook owner is Pilot
     {
-        //DEBUG("Pilot selected: " << text);
+        //DEB("Pilot selected: " << text);
         onEditingFinishedCleanup(line_edit);
         return;
     }else //check if entry is in pilotList
@@ -1330,11 +1335,11 @@ void NewFlightDialog::on_thirdPilotNameLineEdit_editingFinished()
         {
             QString pic = match[0];
             line_edit->setText(pic.insert(pic.indexOf(',')+1," "));
-            //DEBUG("Pilot selected: " << pic);
+            //DEB("Pilot selected: " << pic);
             onEditingFinishedCleanup(line_edit);
         }else
         {
-            DEBUG("Pilot not found.");
+            DEB("Pilot not found.");
             emit line_edit->inputRejected();
             addNewPilotMessageBox(line_edit);
         }
@@ -1373,7 +1378,7 @@ void NewFlightDialog::on_restoreDefaultButton_clicked()
  */
 void NewFlightDialog::on_PilotFlyingCheckBox_stateChanged(int)
 {
-    DEBUG("PF checkbox state changed.");
+    DEB("PF checkbox state changed.");
     if(ui->PilotFlyingCheckBox->isChecked()){
         ui->TakeoffSpinBox->setValue(1);
         ui->TakeoffCheckBox->setCheckState(Qt::Checked);
@@ -1439,7 +1444,7 @@ void NewFlightDialog::on_ApproachComboBox_currentTextChanged(const QString &arg1
 inline bool NewFlightDialog::isLessOrEqualToTotalTime(QString timeString)
 {
     if(newData.value("tblk").isEmpty()){
-        DEBUG("Total Time not set.");
+        DEB("Total Time not set.");
         auto mb = new QMessageBox(this);
         mb->setText("Please fill out Departure and Arrival Time\n"
                     "before manually editing these times.");
@@ -1614,7 +1619,7 @@ void NewFlightDialog::on_manualEditingCheckBox_stateChanged(int arg1)
 
 void NewFlightDialog::on_FunctionComboBox_currentTextChanged()
 {
-    DEBUG("Current Index:" << ui->FunctionComboBox->currentIndex());
+    DEB("Current Index:" << ui->FunctionComboBox->currentIndex());
     update();
 }
 

+ 1 - 0
src/gui/dialogues/newflightdialog.h

@@ -32,6 +32,7 @@
 #include <QLineEdit>
 #include <QCalendarWidget>
 #include <QTabWidget>
+#include <QSqlRelationalTableModel>
 
 
 #include "src/database/db.h"

+ 9 - 6
src/gui/dialogues/newpilotdialog.cpp

@@ -17,9 +17,7 @@
  */
 #include "newpilotdialog.h"
 #include "ui_newpilot.h"
-// Debug Makro
-#define DEB(expr) \
-    qDebug() << __PRETTY_FUNCTION__ << "\t" << expr
+#include "debug.h"
 
 /* Examples for names around the world:
  * José Eduardo Santos Tavares Melo Silva
@@ -59,8 +57,10 @@ NewPilotDialog::NewPilotDialog(Db::editRole edRole, QWidget *parent) :
     QDialog(parent),
     ui(new Ui::NewPilot)
 {
+    DEB("New NewPilotDialog\n");
     role = edRole;
     ui->setupUi(this);
+
     setupValidators();
     setupCompleter();
 }
@@ -69,9 +69,11 @@ NewPilotDialog::NewPilotDialog(Pilot existingEntry, Db::editRole edRole, QWidget
     QDialog(parent),
     ui(new Ui::NewPilot)
 {
+    DEB("New NewPilotDialog\n");
     oldEntry = existingEntry;
     role = edRole;
     ui->setupUi(this);
+
     setupValidators();
     setupCompleter();
 
@@ -81,15 +83,16 @@ NewPilotDialog::NewPilotDialog(Pilot existingEntry, Db::editRole edRole, QWidget
 
 NewPilotDialog::~NewPilotDialog()
 {
+    DEB("Deleting New NewPilotDialog\n");
     delete ui;
 }
 
 void NewPilotDialog::on_buttonBox_accepted()
 {
     if (ui->piclastnameLineEdit->text().isEmpty() || ui->picfirstnameLineEdit->text().isEmpty()) {
-        auto mb = new QMessageBox(this);
-        mb->setText("Last Name and First Name are required.");
-        mb->show();
+        auto mb = QMessageBox(this);
+        mb.setText("Last Name and First Name are required.");
+        mb.show();
     } else {
         submitForm();
         accept();

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

@@ -17,10 +17,7 @@
  */
 #include "newtaildialog.h"
 #include "ui_newtail.h"
-
-// Debug Makro
-#define DEB(expr) \
-    qDebug() << __PRETTY_FUNCTION__<< "\t" << expr
+#include "debug.h"
 
 static const auto REG_VALID = QPair<QString, QRegularExpression> {
     "registrationLineEdit", QRegularExpression("\\w+-\\w+")};
@@ -39,6 +36,7 @@ NewTailDialog::NewTailDialog(QString newreg, Db::editRole edRole, QWidget *paren
     ui(new Ui::NewTail)
 {
     ui->setupUi(this);
+
     role = edRole;
     setupCompleter();
     setupValidators();
@@ -56,6 +54,7 @@ NewTailDialog::NewTailDialog(Aircraft dbentry, Db::editRole edRole, QWidget *par
     oldEntry = dbentry;
     role = edRole;
     ui->setupUi(this);
+
     ui->searchLabel->hide();
     ui->searchLineEdit->hide();
     ui->line->hide();

+ 5 - 14
src/gui/widgets/homewidget.cpp

@@ -17,10 +17,7 @@
  */
 #include "homewidget.h"
 #include "ui_homewidget.h"
-
-// Debug Makro
-#define DEB(expr) \
-    qDebug() << __PRETTY_FUNCTION__ << "\t" << expr
+#include "debug.h"
 
 
 HomeWidget::HomeWidget(QWidget *parent) :
@@ -28,7 +25,10 @@ HomeWidget::HomeWidget(QWidget *parent) :
     ui(new Ui::HomeWidget)
 {
     ui->setupUi(this);
-    showTotals();
+    totalsWidget = new TotalsWidget(this);
+    ui->stackedWidget->addWidget(totalsWidget);
+    ui->stackedWidget->setCurrentWidget(totalsWidget);
+    ui->stackedWidget->show();
 }
 
 HomeWidget::~HomeWidget()
@@ -41,12 +41,3 @@ void HomeWidget::on_pushButton_clicked()
     NewFlightDialog nf(this, Flight(11), Db::editExisting);
     nf.exec();
 }
-
-void HomeWidget::showTotals()
-{
-    auto tw = new TotalsWidget(this);
-    ui->stackedWidget->addWidget(tw);
-    ui->stackedWidget->setCurrentWidget(tw);
-    ui->stackedWidget->show();
-
-}

+ 1 - 1
src/gui/widgets/homewidget.h

@@ -53,7 +53,7 @@ private slots:
 private:
     Ui::HomeWidget *ui;
 
-    void showTotals();
+    TotalsWidget* totalsWidget;
 };
 
 #endif // HOMEWIDGET_H

+ 15 - 13
src/gui/widgets/logbookwidget.cpp

@@ -17,10 +17,7 @@
  */
 #include "logbookwidget.h"
 #include "ui_logbookwidget.h"
-
-// Debug Makro
-#define DEB(expr) \
-    qDebug() << __PRETTY_FUNCTION__ << "\t" << expr
+#include "debug.h"
 
 LogbookWidget::LogbookWidget(QWidget *parent) :
     QWidget(parent),
@@ -32,9 +29,13 @@ LogbookWidget::LogbookWidget(QWidget *parent) :
     ui->newFlightButton->setFocus();
 
     //customContextMenu for tablewidget
+    menu  = new QMenu(this);
     menu->addAction(ui->actionEdit_Flight);
     menu->addAction(ui->actionDelete_Flight);
 
+    //message Box
+    nope = new QMessageBox(this);
+
     refreshView(Settings::read("logbook/view").toInt());
 }
 
@@ -148,17 +149,18 @@ void LogbookWidget::tableView_selectionChanged()//
 
 void LogbookWidget::on_newFlightButton_clicked()
 {
-    NewFlightDialog nf(this, Db::createNew);
-    nf.setAttribute(Qt::WA_DeleteOnClose);
-    nf.exec();
+    auto nf = new NewFlightDialog(this, Db::createNew);
+    nf->setAttribute(Qt::WA_DeleteOnClose);
+    nf->exec();
     refreshView(Settings::read("logbook/view").toInt());
 }
 
 void LogbookWidget::on_editFlightButton_clicked()
 {
     if(selectedFlights.length() == 1){
-        NewFlightDialog ef(this,Flight(selectedFlights.first()), Db::editExisting);
-        ef.exec();
+        auto ef = new NewFlightDialog(this,Flight(selectedFlights.first()), Db::editExisting);
+        ef->setAttribute(Qt::WA_DeleteOnClose);
+        ef->exec();
         refreshView(Settings::read("logbook/view").toInt());
     } else if (selectedFlights.isEmpty()) {
         nope->setText("No flight selected.\n");
@@ -200,8 +202,8 @@ void LogbookWidget::on_deleteFlightPushButton_clicked()
         if (reply == QMessageBox::Yes) {
             for (const auto& selectedFlight : selectedFlights) {
                 DEB("Deleting flight with ID# " << selectedFlight);
-                auto entry = new Flight(selectedFlight);
-                entry->remove();
+                auto entry = Flight(selectedFlight);
+                entry.remove();
             }
             refreshView(Settings::read("logbook/view").toInt());
         }
@@ -223,8 +225,8 @@ void LogbookWidget::on_deleteFlightPushButton_clicked()
         if(reply == QMessageBox::Yes) {
             for (const auto& selectedFlight : selectedFlights) {
                 DEB("Deleting flight with ID# " << selectedFlight);
-                auto entry = new Flight(selectedFlight);
-                entry->remove();
+                auto entry = Flight(selectedFlight);
+                entry.remove();
             }
             refreshView(Settings::read("logbook/view").toInt());
         }

+ 2 - 2
src/gui/widgets/logbookwidget.h

@@ -72,9 +72,9 @@ private slots:
 private:
     Ui::LogbookWidget *ui;
 
-    QMenu* menu = new QMenu(this);
+    QMenu* menu;
 
-    QMessageBox* nope = new QMessageBox(this);
+    QMessageBox* nope;
 
     void refreshView(int view_id);
 

+ 2 - 6
src/gui/widgets/pilotswidget.cpp

@@ -17,10 +17,7 @@
  */
 #include "pilotswidget.h"
 #include "ui_pilotswidget.h"
-
-// Debug Makro
-#define DEB(expr) \
-    qDebug() << __PRETTY_FUNCTION__ << "\t" << expr
+#include "debug.h"
 
 PilotsWidget::PilotsWidget(QWidget *parent) :
     QWidget(parent),
@@ -54,7 +51,6 @@ void PilotsWidget::tableView_selectionChanged()//const QItemSelection &index, co
         np->setAttribute(Qt::WA_DeleteOnClose);
         ui->stackedWidget->addWidget(np);
         ui->stackedWidget->setCurrentWidget(np);
-
         np->exec();
     }
 }
@@ -68,9 +64,9 @@ void PilotsWidget::tableView_headerClicked(int column)
 void PilotsWidget::on_newButton_clicked()
 {
     NewPilotDialog* np = new NewPilotDialog(Db::createNew, this);
+    np->setAttribute(Qt::WA_DeleteOnClose);
     connect(np, SIGNAL(accepted()),
             this, SLOT(pilot_editing_finished()));
-    np->setAttribute(Qt::WA_DeleteOnClose);
     np->exec();
 }
 

+ 1 - 4
src/gui/widgets/settingswidget.cpp

@@ -18,10 +18,7 @@
 #include "settingswidget.h"
 #include "ui_settingswidget.h"
 #include "src/database/dbinfo.h"
-
-// Debug Makro
-#define DEB(expr) \
-    qDebug() << __PRETTY_FUNCTION__ << "\t" << expr
+#include "debug.h"
 
 static const auto FIRSTNAME_VALID = QPair<QString, QRegularExpression> {
     "picfirstnameLineEdit", QRegularExpression("[a-zA-Z]+")};

+ 1 - 3
src/gui/widgets/totalswidget.cpp

@@ -1,8 +1,6 @@
 #include "totalswidget.h"
 #include "ui_totalswidget.h"
-// Debug Makro
-#define DEB(expr) \
-    qDebug() << __PRETTY_FUNCTION__ << "\t" << expr
+#include "debug.h"
 
 TotalsWidget::TotalsWidget(QWidget *parent) :
     QWidget(parent),