After saving an expense, checks if the category budget reaches 75%,
90%, or 100% thresholds. Sends gio::Notification for each newly
crossed threshold. Tracks sent notifications in database to prevent
duplicates within the same month.
Month selector, summary of total budgeted vs spent, per-category
progress bars with green/yellow/red color coding based on percentage.
Add budget dialog with category picker and amount. Edit and delete
budgets with confirmation.
Pie chart shows expense breakdown by category with color-coded slices.
Bar chart shows income vs expense for the last 6 months. Line chart
shows cumulative daily net trend. All charts render via plotters
BitMapBackend to GDK MemoryTexture for display. Month navigation
shared across all three charts.
Month navigation with prev/next buttons, transactions grouped by date
with headers (Today/Yesterday/formatted date), category icons, amounts
color-coded green for income and red for expenses, and daily net totals.
Initialize SQLite database at XDG data directory on app startup.
Categories now load from database with emoji icons. Save button
validates input, inserts transaction, shows toast notification,
clears the form, and refreshes the recent transactions list.
AdwNavigationSplitView with six sidebar items (Log, History, Charts,
Budgets, Recurring, Settings) and placeholder StatusPage content that
switches via crossfade transition on selection.