|
@@ -39,33 +39,7 @@ PilotsWidget::PilotsWidget(QWidget *parent) :
|
|
|
ui->stackedWidget->addWidget(start);
|
|
|
ui->stackedWidget->setCurrentWidget(start);
|
|
|
|
|
|
-
|
|
|
- QSqlTableModel *model = new QSqlTableModel;
|
|
|
- model->setTable("viewPilots");
|
|
|
- model->setFilter("ID > 1");//to not allow editing of self, shall be done via settings
|
|
|
- model->select();
|
|
|
-
|
|
|
- QTableView *view = ui->tableView;
|
|
|
- view->setModel(model);
|
|
|
- view->setSelectionBehavior(QAbstractItemView::SelectRows);
|
|
|
- view->setSelectionMode(QAbstractItemView::SingleSelection);
|
|
|
- view->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
|
|
- view->horizontalHeader()->setStretchLastSection(QHeaderView::Stretch);
|
|
|
- view->setColumnWidth(0, 60);
|
|
|
- view->setColumnWidth(1, 240);
|
|
|
- view->setColumnWidth(2, 180);
|
|
|
- view->verticalHeader()->hide();
|
|
|
- view->setAlternatingRowColors(true);
|
|
|
- view->setSortingEnabled(true);
|
|
|
- QSettings settings;
|
|
|
-
|
|
|
- view->sortByColumn(settings.value("userdata/pilSortColumn").toInt(), Qt::AscendingOrder);
|
|
|
-
|
|
|
- view->show();
|
|
|
-
|
|
|
- connect(ui->tableView->selectionModel(),
|
|
|
- SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
|
|
|
- SLOT(tableView_selectionChanged(const QItemSelection &, const QItemSelection &)));
|
|
|
+ refreshView();
|
|
|
}
|
|
|
|
|
|
PilotsWidget::~PilotsWidget()
|
|
@@ -79,10 +53,14 @@ void PilotsWidget::tableView_selectionChanged(const QItemSelection &index, const
|
|
|
DEB("Selected Pilot with ID#: " << selectedPilot);
|
|
|
|
|
|
auto np = new NewPilot(Pilot("pilots", selectedPilot), Db::editExisting, this);
|
|
|
+ connect(np,
|
|
|
+ SIGNAL(accepted()), this,
|
|
|
+ SLOT(on_widget_accepted()));
|
|
|
|
|
|
np->setWindowFlag(Qt::Widget);
|
|
|
ui->stackedWidget->addWidget(np);
|
|
|
ui->stackedWidget->setCurrentWidget(np);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
void PilotsWidget::setSelectedPilot(const qint32 &value)
|
|
@@ -93,6 +71,9 @@ void PilotsWidget::setSelectedPilot(const qint32 &value)
|
|
|
void PilotsWidget::on_newButton_clicked()
|
|
|
{
|
|
|
auto np = new NewPilot(Db::createNew, this);
|
|
|
+ connect(np,
|
|
|
+ SIGNAL(accepted()), this,
|
|
|
+ SLOT(on_widget_accepted()));
|
|
|
np->show();
|
|
|
}
|
|
|
|
|
@@ -102,17 +83,7 @@ void PilotsWidget::on_deletePushButton_clicked()
|
|
|
|
|
|
auto pil = new Pilot("pilots", selectedPilot);
|
|
|
pil->remove();
|
|
|
-
|
|
|
-
|
|
|
- QSqlTableModel *model = new QSqlTableModel;
|
|
|
- model->setTable("viewPilots");
|
|
|
- model->select();
|
|
|
- ui->tableView->setModel(model);
|
|
|
- connect(ui->tableView->selectionModel(),
|
|
|
- SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
|
|
|
- SLOT(tableView_selectionChanged(const QItemSelection &, const QItemSelection &)));
|
|
|
-
|
|
|
- ui->stackedWidget->setCurrentWidget(parent()->findChild<QWidget *>("welcomePL"));
|
|
|
+ refreshView();
|
|
|
|
|
|
} else {
|
|
|
auto mb = new QMessageBox(this);
|
|
@@ -120,3 +91,39 @@ void PilotsWidget::on_deletePushButton_clicked()
|
|
|
mb->show();
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+void PilotsWidget::on_widget_accepted()
|
|
|
+{
|
|
|
+ DEB("Refreshing View...");
|
|
|
+ refreshView();
|
|
|
+}
|
|
|
+
|
|
|
+void PilotsWidget::refreshView()
|
|
|
+{
|
|
|
+ QSqlTableModel *model = new QSqlTableModel;
|
|
|
+ model->setTable("viewPilots");
|
|
|
+ model->setFilter("ID > 1");//to not allow editing of self, shall be done via settings
|
|
|
+ model->select();
|
|
|
+
|
|
|
+ QTableView *view = ui->tableView;
|
|
|
+ view->setModel(model);
|
|
|
+ view->setSelectionBehavior(QAbstractItemView::SelectRows);
|
|
|
+ view->setSelectionMode(QAbstractItemView::SingleSelection);
|
|
|
+ view->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
|
|
+ view->horizontalHeader()->setStretchLastSection(QHeaderView::Stretch);
|
|
|
+ view->setColumnWidth(0, 60);
|
|
|
+ view->setColumnWidth(1, 240);
|
|
|
+ view->setColumnWidth(2, 180);
|
|
|
+ view->verticalHeader()->hide();
|
|
|
+ view->setAlternatingRowColors(true);
|
|
|
+ view->setSortingEnabled(true);
|
|
|
+ QSettings settings;
|
|
|
+
|
|
|
+ view->sortByColumn(settings.value("userdata/pilSortColumn").toInt(), Qt::AscendingOrder);
|
|
|
+
|
|
|
+ view->show();
|
|
|
+
|
|
|
+ connect(ui->tableView->selectionModel(),
|
|
|
+ SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
|
|
|
+ SLOT(tableView_selectionChanged(const QItemSelection &, const QItemSelection &)));
|
|
|
+}
|