|  | @@ -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 &)));
 | 
	
		
			
				|  |  | +}
 |