|
@@ -23,6 +23,8 @@
|
|
|
#include "easaview.h"
|
|
|
#include "dbman.cpp"
|
|
|
#include "calc.h"
|
|
|
+#include "homewidget.h"
|
|
|
+#include "logbookwidget.h"
|
|
|
#include <QTime>
|
|
|
#include <QSqlDatabase>
|
|
|
#include <QSqlDriver>
|
|
@@ -33,7 +35,7 @@
|
|
|
#include <chrono>
|
|
|
#include <QMessageBox>
|
|
|
|
|
|
-qlonglong SelectedFlight = -1;
|
|
|
+qlonglong SelectedFlightold = -1;
|
|
|
|
|
|
MainWindow::MainWindow(QWidget *parent)
|
|
|
: QMainWindow(parent)
|
|
@@ -41,47 +43,18 @@ MainWindow::MainWindow(QWidget *parent)
|
|
|
{
|
|
|
|
|
|
ui->setupUi(this);
|
|
|
+ // Adds space between toolbar items and actionQuit item
|
|
|
+ auto *spacer = new QWidget();
|
|
|
+ spacer->setMinimumWidth(10);
|
|
|
+ spacer->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Minimum);
|
|
|
+ ui->toolBar->insertWidget(ui->actionQuit,spacer);
|
|
|
|
|
|
+ // create and show homeWidget
|
|
|
+ auto hw = new homeWidget(this);
|
|
|
+ ui->stackedWidget->addWidget(hw);
|
|
|
+ ui->stackedWidget->setCurrentWidget(hw);
|
|
|
|
|
|
-
|
|
|
- db::connect();
|
|
|
- ui->FilterDateEdit->setDate(QDate::currentDate());
|
|
|
-
|
|
|
-
|
|
|
- auto start = std::chrono::high_resolution_clock::now();
|
|
|
- QSqlTableModel *model = new QSqlTableModel;
|
|
|
- model->setTable("Logbook");
|
|
|
- model->select();
|
|
|
-
|
|
|
-
|
|
|
- QTableView *view = ui->tableView;
|
|
|
- view->setModel(model);
|
|
|
- view->setSelectionBehavior(QAbstractItemView::SelectRows);
|
|
|
- view->setSelectionMode(QAbstractItemView::SingleSelection);
|
|
|
- view->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
|
|
-
|
|
|
-
|
|
|
- view->setColumnWidth(1,120);
|
|
|
- view->setColumnWidth(2,60);
|
|
|
- view->setColumnWidth(3,60);
|
|
|
- view->setColumnWidth(4,60);
|
|
|
- view->setColumnWidth(5,60);
|
|
|
- view->setColumnWidth(6,60);
|
|
|
- view->setColumnWidth(7,120);
|
|
|
- view->setColumnWidth(8,180);
|
|
|
- view->setColumnWidth(9,120);
|
|
|
- view->setColumnWidth(10,90);
|
|
|
- view->horizontalHeader()->setStretchLastSection(QHeaderView::Stretch);
|
|
|
- //view->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
|
|
- view->verticalHeader()->hide();
|
|
|
- view->setAlternatingRowColors(true);
|
|
|
- view->hideColumn(0); // don't show the ID
|
|
|
- view->show();
|
|
|
-
|
|
|
- auto stop = std::chrono::high_resolution_clock::now();
|
|
|
- auto duration = std::chrono::duration_cast<std::chrono::microseconds>(stop - start);
|
|
|
- qDebug() << "Time taken for lookup and rendering: " << duration.count() << " microseconds";
|
|
|
-
|
|
|
+ db::connect(); //connect to the database
|
|
|
}
|
|
|
|
|
|
MainWindow::~MainWindow()
|
|
@@ -103,12 +76,6 @@ void MainWindow::nope()
|
|
|
* Slots
|
|
|
*/
|
|
|
|
|
|
-void MainWindow::on_newflightButton_clicked()
|
|
|
-{
|
|
|
- NewFlight nf(this);
|
|
|
- nf.exec();
|
|
|
-}
|
|
|
-
|
|
|
|
|
|
void MainWindow::on_actionNew_Flight_triggered()
|
|
|
{
|
|
@@ -126,106 +93,16 @@ void MainWindow::on_quitButton_clicked()
|
|
|
QApplication::quit();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-void MainWindow::on_ShowAllButton_clicked()
|
|
|
-{
|
|
|
- QSqlTableModel *ShowAllModel = new QSqlTableModel;
|
|
|
- ShowAllModel->setTable("Logbook");
|
|
|
- ShowAllModel->select();
|
|
|
-
|
|
|
- ui->tableView->setModel(ShowAllModel);
|
|
|
-}
|
|
|
-
|
|
|
-void MainWindow::on_filterComboBox_activated(const QString &arg1)
|
|
|
-{
|
|
|
- if (arg1 == "Pilot Name")
|
|
|
- {
|
|
|
- nope();
|
|
|
- }else if (arg1 == "Aircraft Registration")
|
|
|
- {
|
|
|
- nope();
|
|
|
- }else if (arg1 == "Airline")
|
|
|
- {
|
|
|
- nope();
|
|
|
- }else if (arg1 == "Multi-Engine")
|
|
|
- {
|
|
|
- nope();
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-void MainWindow::on_editflightButton_clicked()
|
|
|
-{
|
|
|
- QVector<QString> flight;
|
|
|
- flight = db::SelectFlightById(QString::number(SelectedFlight));
|
|
|
- if(flight.length() > 0)
|
|
|
- {
|
|
|
- qDebug() << "Valid Flight Selected";
|
|
|
- db::CommitToScratchpad(flight); // commits flight to scratchpad
|
|
|
- EditFlight ef(this);
|
|
|
- ef.exec();
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-void MainWindow::on_deleteFlightPushButton_clicked()
|
|
|
-{
|
|
|
- if(SelectedFlight > 0)
|
|
|
- {
|
|
|
- qDebug() << "Valid Flight Selected";
|
|
|
- db::DeleteFlightById(QString::number(SelectedFlight));
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- QSqlTableModel *ShowAllModel = new QSqlTableModel; //refresh view
|
|
|
- ShowAllModel->setTable("Logbook");
|
|
|
- ShowAllModel->select();
|
|
|
-
|
|
|
- ui->tableView->setModel(ShowAllModel);
|
|
|
- }else
|
|
|
- {
|
|
|
- QMessageBox NoFlight;
|
|
|
- NoFlight.setText("No flight selected.");
|
|
|
- NoFlight.exec();
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-void MainWindow::on_FilterDateEdit_editingFinished()
|
|
|
-{
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-void MainWindow::on_filterFlightsByDateButton_clicked()
|
|
|
-{
|
|
|
- QDate selection(ui->FilterDateEdit->date());
|
|
|
- QString selecteddate = selection.toString("yyyy-MM-dd");
|
|
|
- QString datefilter = "Date = '" + selecteddate +"'";
|
|
|
-
|
|
|
- QSqlTableModel *DateFilteredModel = new QSqlTableModel;
|
|
|
- DateFilteredModel ->setTable("Logbook");
|
|
|
- DateFilteredModel ->setFilter(datefilter);
|
|
|
- DateFilteredModel->select();
|
|
|
-
|
|
|
- ui->tableView->setModel(DateFilteredModel);
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-void MainWindow::on_EasaViewButton_clicked()
|
|
|
-{
|
|
|
- EasaView ev(this);
|
|
|
- ev.exec();
|
|
|
-}
|
|
|
-
|
|
|
-void MainWindow::on_tableView_pressed(const QModelIndex &index)
|
|
|
+void MainWindow::on_actionHome_triggered()
|
|
|
{
|
|
|
- auto NewIndex = ui->tableView->model()->index(index.row(), 0);
|
|
|
- SelectedFlight = ui->tableView->model()->data(NewIndex).toInt();
|
|
|
- qDebug() << "Selected Flight with ID#:(presssed) " << SelectedFlight;
|
|
|
+ auto hw = new homeWidget(this);
|
|
|
+ ui->stackedWidget->addWidget(hw);
|
|
|
+ ui->stackedWidget->setCurrentWidget(hw);
|
|
|
}
|
|
|
|
|
|
-void MainWindow::on_tableView_entered(const QModelIndex &index)
|
|
|
+void MainWindow::on_actionLogbook_triggered()
|
|
|
{
|
|
|
- auto NewIndex = ui->tableView->model()->index(index.row(), 0);
|
|
|
- SelectedFlight = ui->tableView->model()->data(NewIndex).toInt();
|
|
|
- qDebug() << "Selected Flight with ID#(entered): " << SelectedFlight;
|
|
|
+ auto lw = new logbookWidget(this);
|
|
|
+ ui->stackedWidget->addWidget(lw);
|
|
|
+ ui->stackedWidget->setCurrentWidget(lw);
|
|
|
}
|