summaryrefslogtreecommitdiff
path: root/schist_desktop_gui/src/gui.rs
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2026-02-22 21:34:24 +0000
committerJoe Carstairs <me@joeac.net>2026-02-22 21:34:24 +0000
commit4030a63ac6fe61df87dca07e4143a6b84a9e8475 (patch)
treeb7455e7f865bf638f0ceaad7b6bbfca51b988824 /schist_desktop_gui/src/gui.rs
parent96e1b8a6158e5ac3b56c03718de5650ff805d41b (diff)
task-085: include account transfers
Diffstat (limited to 'schist_desktop_gui/src/gui.rs')
-rw-r--r--schist_desktop_gui/src/gui.rs18
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)),
])
}