aboutsummaryrefslogtreecommitdiff
path: root/settingsdialog.cpp
diff options
context:
space:
mode:
authorCalvin Morrison <calvin@pobox.com>2025-12-27 19:26:21 -0500
committerCalvin Morrison <calvin@pobox.com>2025-12-27 19:26:21 -0500
commit5cf763ea3ba2a89acfa5f24422cc71e0ff7fb35b (patch)
treeef3541cf3650eb14a46b2a54f1b63b1351c08082 /settingsdialog.cpp
parent5e9b299dfe95a7f99f029802089c047a392eee3a (diff)
Add reconciliation system with checkpoints and adjustments
- Add Reconciliation transaction type that appears as visible rows - Reconciliation checkpoints show expected vs calculated balance - Red background if out of balance, green if balanced - Description shows balance status (Balanced or Out of balance by .XX) - Create Adjustment button appears when reconciliation is out of balance - Adjustment transactions automatically created to match bank balance - Reconciliations always sort last on their date - Auto-recalculate all reconciliations when any transaction changes - Persistent projection months setting (1-24 months, default 3) - Persistent date range between sessions - Fix projection regeneration to start from rule start date - Fix duplicate projections when converting to actuals - Grey out irrelevant fields when Reconciliation type selected
Diffstat (limited to 'settingsdialog.cpp')
-rw-r--r--settingsdialog.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/settingsdialog.cpp b/settingsdialog.cpp
index 644fa89..52cf791 100644
--- a/settingsdialog.cpp
+++ b/settingsdialog.cpp
@@ -31,6 +31,7 @@ void SettingsDialog::loadSettings()
int defaultPeriod = database->getSetting("default_period", "2").toInt();
bool showAccountBalances = database->getSetting("show_account_balances", "0").toInt();
weekStartDay = database->getSetting("week_start_day", "1").toInt();
+ int projectionMonths = database->getSetting("projection_months", "3").toInt();
// Set UI
ui->currencyEdit->setText(currency);
@@ -39,6 +40,7 @@ void SettingsDialog::loadSettings()
ui->defaultPeriodCombo->setCurrentIndex(defaultPeriod);
ui->defaultShowAccountBalancesCheck->setChecked(showAccountBalances);
ui->weekStartDayCombo->setCurrentIndex(weekStartDay - 1);
+ ui->projectionMonthsSpin->setValue(projectionMonths);
}
void SettingsDialog::saveSettings()
@@ -50,6 +52,7 @@ void SettingsDialog::saveSettings()
database->setSetting("default_period", QString::number(ui->defaultPeriodCombo->currentIndex()));
database->setSetting("show_account_balances", QString::number(ui->defaultShowAccountBalancesCheck->isChecked() ? 1 : 0));
database->setSetting("week_start_day", QString::number(ui->weekStartDayCombo->currentIndex() + 1));
+ database->setSetting("projection_months", QString::number(ui->projectionMonthsSpin->value()));
weekStartDay = ui->weekStartDayCombo->currentIndex() + 1;
}