From 848cdae813648f0a2c39942dc01d8f991787b338 Mon Sep 17 00:00:00 2001 From: Louie S Date: Sat, 9 Mar 2024 18:15:46 -0500 Subject: accept for edit group form --- src/addGroupForm.cpp | 3 --- src/backend/db_sqlite.cpp | 24 ++++++++++++++++++++++++ src/backend/db_sqlite.h | 2 +- src/editGroupForm.cpp | 20 ++++++++++++++++++++ 4 files changed, 45 insertions(+), 4 deletions(-) diff --git a/src/addGroupForm.cpp b/src/addGroupForm.cpp index d3fa72f..06e1f7c 100644 --- a/src/addGroupForm.cpp +++ b/src/addGroupForm.cpp @@ -1,7 +1,5 @@ #include -#include - #include "addGroupForm.h" #include "backend/db_sqlite.h" @@ -23,7 +21,6 @@ void AddGroupForm::accept() { int new_id; if(name_text.isEmpty()) { - qDebug() << "Gets here"; error_message.setIcon(QMessageBox::Warning); error_message.setWindowTitle("Error Message"); error_message.setText("Name cannot be blank"); diff --git a/src/backend/db_sqlite.cpp b/src/backend/db_sqlite.cpp index 8a612a0..6490bb1 100644 --- a/src/backend/db_sqlite.cpp +++ b/src/backend/db_sqlite.cpp @@ -196,6 +196,30 @@ int BackendDB::insertEntry(const Entry &new_entry) { return output; } +void BackendDB::updateGroup(const Group &group) { + { + QSqlDatabase database(this->openDB()); + QSqlQuery query; + + qDebug() << group.name; + + query.prepare("UPDATE groups SET " + "name = :name, " + "column = :column, " + "link = :link, " + "hidden = :hidden " + "WHERE id = :id"); + query.bindValue(":name", group.name); + query.bindValue(":column", group.column); + query.bindValue(":link", group.link); + query.bindValue(":hidden", group.hidden); + query.bindValue(":id", group.id); + query.exec(); + } + + QSqlDatabase::removeDatabase("qt_sql_default_connection"); +} + QString BackendDB::getDBPath() { QSettings settings; settings.beginGroup("paths"); diff --git a/src/backend/db_sqlite.h b/src/backend/db_sqlite.h index afaac8d..b138dc6 100644 --- a/src/backend/db_sqlite.h +++ b/src/backend/db_sqlite.h @@ -19,7 +19,7 @@ class BackendDB : QSqlDatabase { int insertGroup(const Group &new_group); int insertEntry(const Entry &new_entry); int insertRule(int new_rule); // param datatype TBD - void updateGroup(int group); // param datatype TBD + void updateGroup(const Group &group); void updateEntry(int entry); // param datatype TBD void updateRule(int rule); // param datatype TBD void removeGroup(int group); // param datatype TBD diff --git a/src/editGroupForm.cpp b/src/editGroupForm.cpp index af22e78..351fddd 100644 --- a/src/editGroupForm.cpp +++ b/src/editGroupForm.cpp @@ -1,3 +1,6 @@ +#include + +#include "backend/db_sqlite.h" #include "editGroupForm.h" EditGroupForm::EditGroupForm(const Group &g) : @@ -17,4 +20,21 @@ EditGroupForm::EditGroupForm(const Group &g) : } void EditGroupForm::accept() { + group.name = ui.group_name->text(); + group.column = Group::Column(ui.group_column->currentIndex()); + group.link = ui.group_link->text(); + QMessageBox error_message; + BackendDB database; + + if(group.name.isEmpty()) { + error_message.setIcon(QMessageBox::Warning); + error_message.setWindowTitle("Error Message"); + error_message.setText("Name cannot be blank"); + error_message.exec(); + return; + } + + database.updateGroup(this->group); + + QDialog::accept(); } -- cgit