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.
33 lines
759 B
Rust
33 lines
759 B
Rust
mod history_view;
|
|
mod log_view;
|
|
mod window;
|
|
|
|
use adw::prelude::*;
|
|
use adw::Application;
|
|
use gtk::glib;
|
|
use outlay_core::db::Database;
|
|
use std::rc::Rc;
|
|
|
|
const APP_ID: &str = "io.github.outlay";
|
|
|
|
fn main() {
|
|
let app = Application::builder()
|
|
.application_id(APP_ID)
|
|
.build();
|
|
|
|
app.connect_activate(build_ui);
|
|
app.run();
|
|
}
|
|
|
|
fn build_ui(app: &Application) {
|
|
let data_dir = glib::user_data_dir().join("outlay");
|
|
std::fs::create_dir_all(&data_dir).expect("Failed to create data directory");
|
|
let db_path = data_dir.join("outlay.db");
|
|
|
|
let db = Database::open(&db_path).expect("Failed to open database");
|
|
let db = Rc::new(db);
|
|
|
|
let main_window = window::MainWindow::new(app, db);
|
|
main_window.window.present();
|
|
}
|