From 5cf763ea3ba2a89acfa5f24422cc71e0ff7fb35b Mon Sep 17 00:00:00 2001 From: Calvin Morrison Date: Sat, 27 Dec 2025 19:26:21 -0500 Subject: 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 --- settingsdialog.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'settingsdialog.cpp') 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; } -- cgit v1.2.3