فهرست منبع

added signal/slot for refreshing view upon entry edited/created/deleted

fiffty-50 4 سال پیش
والد
کامیت
d09bbf0fbd
5فایلهای تغییر یافته به همراه28 افزوده شده و 33 حذف شده
  1. 0 2
      mainwindow.ui
  2. 13 15
      src/gui/widgets/aircraftwidget.cpp
  3. 1 0
      src/gui/widgets/logbookwidget.cpp
  4. 13 15
      src/gui/widgets/pilotswidget.cpp
  5. 1 1
      src/gui/widgets/pilotswidget.ui

+ 0 - 2
mainwindow.ui

@@ -39,8 +39,6 @@
    <addaction name="actionAircraft"/>
    <addaction name="actionPilots"/>
    <addaction name="actionNewFlight"/>
-   <addaction name="actionNewAircraft"/>
-   <addaction name="actionNewPilot"/>
    <addaction name="actionSettings"/>
    <addaction name="actionQuit"/>
   </widget>

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

@@ -27,18 +27,6 @@ AircraftWidget::AircraftWidget(QWidget *parent) :
     ui(new Ui::AircraftWidget)
 {
     ui->setupUi(this);
-
-    QString welcomeMessage = "Select an Aircraft to show or edit details.";
-    QWidget *start = new QWidget();
-    start->setObjectName("welcomeAC");
-    QLabel *label = new QLabel(welcomeMessage);
-    label->setAlignment(Qt::AlignCenter);
-    QHBoxLayout *layout = new QHBoxLayout();
-    layout->addWidget(label);
-    start->setLayout(layout);
-    ui->stackedWidget->addWidget(start);
-    ui->stackedWidget->setCurrentWidget(start);
-
     refreshView();
 }
 
@@ -58,10 +46,9 @@ void AircraftWidget::tableView_selectionChanged(const QItemSelection &index, con
     DEB("Selected aircraft with ID#: " << selectedAircraft);
 
     auto nt = new NewTail(Aircraft("tails", selectedAircraft), Db::editExisting, this);
+    connect(nt, SIGNAL(accepted()), this, SLOT(on_widget_accepted()));
+    connect(nt, SIGNAL(rejected()), this, SLOT(on_widget_accepted()));
 
-    connect(nt,
-            SIGNAL(accepted()), this,
-            SLOT(on_widget_accepted()));
     nt->setWindowFlag(Qt::Widget);
     ui->stackedWidget->addWidget(nt);
     ui->stackedWidget->setCurrentWidget(nt);
@@ -99,6 +86,17 @@ void AircraftWidget::on_widget_accepted()
 
 void AircraftWidget::refreshView()
 {
+    QString welcomeMessage = "Select an Aircraft to show or edit details.";
+    QWidget *start = new QWidget();
+    start->setObjectName("welcomeAC");
+    QLabel *label = new QLabel(welcomeMessage);
+    label->setAlignment(Qt::AlignCenter);
+    QHBoxLayout *layout = new QHBoxLayout();
+    layout->addWidget(label);
+    start->setLayout(layout);
+    ui->stackedWidget->addWidget(start);
+    ui->stackedWidget->setCurrentWidget(start);
+
     QSqlTableModel *model = new QSqlTableModel;
     model->setTable("viewTails");
     model->select();

+ 1 - 0
src/gui/widgets/logbookwidget.cpp

@@ -29,6 +29,7 @@ LogbookWidget::LogbookWidget(QWidget *parent) :
     ui->setupUi(this);
     ui->filterDateEdit->setDate(QDate::currentDate());
     ui->filterDateEdit_2->setDate(QDate::currentDate());
+    ui->newFlightButton->setFocus();
 
     auto start = std::chrono::high_resolution_clock::now(); // timer for performance testing
 

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

@@ -27,18 +27,6 @@ PilotsWidget::PilotsWidget(QWidget *parent) :
     ui(new Ui::PilotsWidget)
 {
     ui->setupUi(this);
-
-    QString welcomeMessage = "Select a Pilot to show or edit details.";
-    QWidget *start = new QWidget();
-    start->setObjectName("welcomePL");
-    QLabel *label = new QLabel(welcomeMessage);
-    label->setAlignment(Qt::AlignCenter);
-    QHBoxLayout *layout = new QHBoxLayout();
-    layout->addWidget(label);
-    start->setLayout(layout);
-    ui->stackedWidget->addWidget(start);
-    ui->stackedWidget->setCurrentWidget(start);
-
     refreshView();
 }
 
@@ -53,9 +41,8 @@ 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()));
+    connect(np, SIGNAL(accepted()), this, SLOT(on_widget_accepted()));
+    connect(np, SIGNAL(rejected()), this, SLOT(on_widget_accepted()));
 
     np->setWindowFlag(Qt::Widget);
     ui->stackedWidget->addWidget(np);
@@ -100,6 +87,17 @@ void PilotsWidget::on_widget_accepted()
 
 void PilotsWidget::refreshView()
 {
+    QString welcomeMessage = "Select a Pilot to show or edit details.";
+    QWidget *start = new QWidget();
+    start->setObjectName("welcomePL");
+    QLabel *label = new QLabel(welcomeMessage);
+    label->setAlignment(Qt::AlignCenter);
+    QHBoxLayout *layout = new QHBoxLayout();
+    layout->addWidget(label);
+    start->setLayout(layout);
+    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

+ 1 - 1
src/gui/widgets/pilotswidget.ui

@@ -63,7 +63,7 @@
    <item row="2" column="0">
     <widget class="QPushButton" name="deletePushButton">
      <property name="text">
-      <string>Delet Pilot</string>
+      <string>Delete Pilot</string>
      </property>
     </widget>
    </item>