aboutsummaryrefslogtreecommitdiff
path: root/cashflow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cashflow.cpp')
-rw-r--r--cashflow.cpp14
1 files changed, 14 insertions, 0 deletions
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 <QMessageBox>
#include <QDebug>
#include <QDir>
@@ -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<Transaction> 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();
}