From 2c204cd94e2d30aee136fbb0f14b64d5cc29b266 Mon Sep 17 00:00:00 2001 From: Calvin Morrison Date: Sun, 25 Jan 2026 15:23:07 -0500 Subject: CSV importer --- cashflow.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'cashflow.cpp') diff --git a/cashflow.cpp b/cashflow.cpp index 6df01a9..2af4319 100644 --- a/cashflow.cpp +++ b/cashflow.cpp @@ -2,6 +2,7 @@ #include "ui_cashflow.h" #include "settingsdialog.h" #include "multiselectcombobox.h" +#include "importdialog.h" #include #include #include @@ -188,6 +189,7 @@ void CashFlow::setupConnections() { connect(ui->actionNew, &QAction::triggered, this, &CashFlow::onNewFile); connect(ui->actionOpen, &QAction::triggered, this, &CashFlow::onOpenFile); connect(ui->actionSaveAs, &QAction::triggered, this, &CashFlow::onSaveAs); + connect(ui->actionImportCSV, &QAction::triggered, this, &CashFlow::onImportCSV); connect(ui->actionExportCSV, &QAction::triggered, this, &CashFlow::onExportCSV); connect(ui->actionQuit, &QAction::triggered, this, &CashFlow::onQuit); @@ -2031,6 +2033,18 @@ void CashFlow::onExportCSV() { QMessageBox::information(this, "Success", QString("Exported %1 rows to CSV.").arg(rowCount)); } +void CashFlow::onImportCSV() { + ImportDialog dialog(database, this); + if (dialog.exec() == QDialog::Accepted) { + QList imported = dialog.getImportedTransactions(); + for (const Transaction &t : imported) { + database->addTransaction(t); + } + refreshView(); + QMessageBox::information(this, "Success", QString("Imported %1 transactions.").arg(imported.size())); + } +} + void CashFlow::onQuit() { QApplication::quit(); } -- cgit v1.2.3