Browse Source

Added placeholders for signals and slots

Felix Turo 4 years ago
parent
commit
27755da96f

+ 9 - 4
src/experimental/DataBase.cpp

@@ -2,6 +2,11 @@
 
 
 namespace experimental {
 namespace experimental {
 
 
+/// [F] suggestions for signals:
+///
+/// commitSuccessful()
+/// commitUnSuccessful(QString sqlError, QString statement)
+
 DataBase* DataBase::instance = nullptr;
 DataBase* DataBase::instance = nullptr;
 
 
 DataBase* DataBase::getInstance()
 DataBase* DataBase::getInstance()
@@ -130,11 +135,13 @@ bool DataBase::update(Entry updated_entry)
     if (q.lastError().type() == QSqlError::NoError)
     if (q.lastError().type() == QSqlError::NoError)
     {
     {
         DEB("Entry successfully committed.");
         DEB("Entry successfully committed.");
+        /// [F] emit commitSuccessful();
         return true;
         return true;
     } else {
     } else {
         DEB("Unable to commit.");
         DEB("Unable to commit.");
         DEB("Query: " << statement);
         DEB("Query: " << statement);
         DEB("Query Error: " << q.lastError().text());
         DEB("Query Error: " << q.lastError().text());
+        /// [F] emit commitUnsuccessful(q.lastError().type(), statement);
         return false;
         return false;
     }
     }
 }
 }
@@ -161,11 +168,13 @@ bool DataBase::insert(Entry newEntry)
     if (q.lastError().type() == QSqlError::NoError)
     if (q.lastError().type() == QSqlError::NoError)
     {
     {
         DEB("Entry successfully committed.");
         DEB("Entry successfully committed.");
+        /// [F] emit commitSuccessful();
         return true;
         return true;
     } else {
     } else {
         DEB("Unable to commit.");
         DEB("Unable to commit.");
         DEB("Query: " << statement);
         DEB("Query: " << statement);
         DEB("Query Error: " << q.lastError().text());
         DEB("Query Error: " << q.lastError().text());
+        /// [F] emit commitUnsuccessful(q.lastError().type(), statement);
         return false;
         return false;
     }
     }
 
 
@@ -176,7 +185,6 @@ TableData DataBase::getEntryData(DataPosition dataPosition)
     // check table exists
     // check table exists
     if (!tableNames.contains(dataPosition.first)) {
     if (!tableNames.contains(dataPosition.first)) {
         DEB(dataPosition.first << " not a table in the database. Unable to retreive Entry data.");
         DEB(dataPosition.first << " not a table in the database. Unable to retreive Entry data.");
-        // emit databaseError
         return TableData();
         return TableData();
     }
     }
 
 
@@ -188,14 +196,12 @@ TableData DataBase::getEntryData(DataPosition dataPosition)
     if (checkQuery.lastError().type() != QSqlError::NoError) {
     if (checkQuery.lastError().type() != QSqlError::NoError) {
         DEB("SQL error: " << checkQuery.lastError().text());
         DEB("SQL error: " << checkQuery.lastError().text());
         DEB("Statement: " << statement);
         DEB("Statement: " << statement);
-        // emit sqlError(selectQuery.lastError().text(), statement)
         return TableData();
         return TableData();
     }
     }
 
 
     checkQuery.next();
     checkQuery.next();
     if (checkQuery.value(0).toInt() == 0) {
     if (checkQuery.value(0).toInt() == 0) {
         DEB("No Entry found for row id: " << dataPosition.second );
         DEB("No Entry found for row id: " << dataPosition.second );
-        // emit databaseError("No Entry found for row id: " + dataPosition.second)
         return TableData();
         return TableData();
     }
     }
 
 
@@ -208,7 +214,6 @@ TableData DataBase::getEntryData(DataPosition dataPosition)
     if (selectQuery.lastError().type() != QSqlError::NoError) {
     if (selectQuery.lastError().type() != QSqlError::NoError) {
         DEB("SQL error: " << selectQuery.lastError().text());
         DEB("SQL error: " << selectQuery.lastError().text());
         DEB("Statement: " << statement);
         DEB("Statement: " << statement);
-        // emit sqlError(selectQuery.lastError().text(), statement)
         return TableData();
         return TableData();
     }
     }
 
 

+ 14 - 2
src/gui/dialogues/newpilotdialog.cpp

@@ -102,10 +102,22 @@ void NewPilotDialog::on_buttonBox_accepted()
         mb.show();
         mb.show();
     } else {
     } else {
         submitForm();
         submitForm();
-        accept();
+        accept(); /// [F] once the signals and slots are in place this line goes away as it is called in the slot below
     }
     }
 }
 }
 
 
+void NewPilotDialog::onCommitSuccessful()
+{
+    accept();
+}
+
+void NewPilotDialog::onCommitUnsuccessful(QString &sqlError, QString&)
+{
+    auto mb = QMessageBox(this);
+    mb.setText("The following error has ocurred. Your entry has not been saved./n/n"
+               + sqlError);
+}
+
 void NewPilotDialog::setupValidators()
 void NewPilotDialog::setupValidators()
 {
 {
     DEB("Setting up Validators...");
     DEB("Setting up Validators...");
@@ -170,7 +182,7 @@ void NewPilotDialog::submitForm()
     DEB("Pilot entry position: " << pilotEntry.position);
     DEB("Pilot entry position: " << pilotEntry.position);
     DEB("Pilot entry data: " << pilotEntry.getData());
     DEB("Pilot entry data: " << pilotEntry.getData());
     DB()->commit(pilotEntry);
     DB()->commit(pilotEntry);
-    // to do: create signals and slots to handle unsuccessful commit
+    // to do: connect signals and slots to handle unsuccessful commit
     // onSuccessfulCommit, accept();
     // onSuccessfulCommit, accept();
     // onError, show QMessageBox and prompt for user Input
     // onError, show QMessageBox and prompt for user Input
 }
 }

+ 4 - 0
src/gui/dialogues/newpilotdialog.h

@@ -43,6 +43,10 @@ public:
     ~NewPilotDialog();
     ~NewPilotDialog();
 private slots:
 private slots:
     void on_buttonBox_accepted();
     void on_buttonBox_accepted();
+
+    void onCommitSuccessful();
+
+    void onCommitUnsuccessful(QString &sqlError, QString &);
 private:
 private:
     Ui::NewPilot *ui;
     Ui::NewPilot *ui;