diff options
| author | Joe Carstairs <me@joeac.net> | 2026-02-22 21:34:24 +0000 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2026-02-22 21:34:24 +0000 |
| commit | 4030a63ac6fe61df87dca07e4143a6b84a9e8475 (patch) | |
| tree | b7455e7f865bf638f0ceaad7b6bbfca51b988824 /schist_desktop_gui/src/gui.rs | |
| parent | 96e1b8a6158e5ac3b56c03718de5650ff805d41b (diff) | |
task-085: include account transfers
Diffstat (limited to 'schist_desktop_gui/src/gui.rs')
| -rw-r--r-- | schist_desktop_gui/src/gui.rs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/schist_desktop_gui/src/gui.rs b/schist_desktop_gui/src/gui.rs index 9648ff0..78fea11 100644 --- a/schist_desktop_gui/src/gui.rs +++ b/schist_desktop_gui/src/gui.rs @@ -7,9 +7,10 @@ use std::{path::PathBuf, str::FromStr}; use diesel::SqliteConnection; use iced::{Element, Task}; -use schist_models::{Account, Bucket, Transaction}; +use schist_models::{Account, AccountTransfer, Bucket, Transaction}; use schist_queries::{ - accounts::get_all_accounts, buckets::get_all_buckets, transactions::get_all_transactions, + account_transfers::get_all_account_transfers, accounts::get_all_accounts, + buckets::get_all_buckets, transactions::get_all_transactions, }; use crate::{ @@ -33,6 +34,7 @@ pub enum Message { FilesScreenMessage(files_screen::Message), MainScreenMessage(main_screen::Message), RefetchedAccounts(FetchResult<Vec<Account>>), + RefetchedAccountTransfers(FetchResult<Vec<AccountTransfer>>), RefetchedBuckets(FetchResult<Vec<Bucket>>), RefetchedTransactions(FetchResult<Vec<Transaction>>), } @@ -188,6 +190,16 @@ impl Gui { } iced::Task::none() } + Message::RefetchedAccountTransfers(account_transfers) => { + match account_transfers { + Ok(account_transfers) => { + self.main_screen + .update(main_screen::Message::SetAccountTransfers(account_transfers)); + } + Err(err) => println!("Failed to get account transfers: {:?}", err.message), + } + iced::Task::none() + } Message::RefetchedTransactions(transactions) => { match transactions { Ok(transactions) => { @@ -239,6 +251,7 @@ impl Gui { ) -> Task<Message> { let buckets = get_all_buckets(&mut connection).map_err(FetchError::new); let accounts = get_all_accounts(&mut connection).map_err(FetchError::new); + let account_transfers = get_all_account_transfers(&mut connection).map_err(FetchError::new); let transactions = get_all_transactions(&mut connection).map_err(FetchError::new); self.connection = Some(connection); self.active_screen = Screen::MainScreen; @@ -250,6 +263,7 @@ impl Gui { iced::Task::batch(vec![ self.update(Message::RefetchedBuckets(buckets)), self.update(Message::RefetchedAccounts(accounts)), + self.update(Message::RefetchedAccountTransfers(account_transfers)), self.update(Message::RefetchedTransactions(transactions)), ]) } |
