summaryrefslogtreecommitdiff
path: root/schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs
diff options
context:
space:
mode:
Diffstat (limited to 'schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs')
-rw-r--r--schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs30
1 files changed, 24 insertions, 6 deletions
diff --git a/schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs b/schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs
index 5ed4b30..6580758 100644
--- a/schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs
+++ b/schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs
@@ -4,7 +4,7 @@ use iced::{
widget::{row, Container},
Element, Length,
};
-use schist_models::{Account, Bucket};
+use schist_models::{Account, AccountTransfer, Bucket, Transaction};
use crate::{
gui::components::{
@@ -35,7 +35,9 @@ pub enum Message {
TransactionsViewMessage(transactions_view::Message),
SelectView(View),
SetAccounts(Vec<Account>),
+ SetAccountTransfers(Vec<AccountTransfer>),
SetBuckets(Vec<Bucket>),
+ SetTransactions(Vec<Transaction>),
ViewNavigationMessage(navigation::Message<View>),
}
@@ -64,7 +66,7 @@ impl<'a> Viewable<'a, Message> for MainScreen {
]
.align_y(alignment::Vertical::Center)
.height(Length::Fill)
- .spacing(SPACING_LG)
+ .spacing(u32::from(SPACING_LG))
.into()
}
}
@@ -108,7 +110,9 @@ impl<'a> Component<'a, Message, Action> for MainScreen {
self.balances_view
.update(balances_view::Message::SetBuckets(buckets.clone()));
self.buckets_view
- .update(buckets_view::Message::SetBuckets(buckets));
+ .update(buckets_view::Message::SetBuckets(buckets.clone()));
+ self.transactions_view
+ .update(transactions_view::Message::SetBuckets(buckets));
Action::None
}
@@ -118,6 +122,20 @@ impl<'a> Component<'a, Message, Action> for MainScreen {
Action::None
}
+ Message::SetAccountTransfers(account_transfers) => {
+ self.transactions_view
+ .update(transactions_view::Message::SetAccountTransfers(
+ account_transfers,
+ ));
+ Action::None
+ }
+
+ Message::SetTransactions(transactions) => {
+ self.transactions_view
+ .update(transactions_view::Message::SetTransactions(transactions));
+ Action::None
+ }
+
Message::NextItem => match self.active_view {
View::Balances => {
self.balances_view
@@ -130,7 +148,7 @@ impl<'a> Component<'a, Message, Action> for MainScreen {
}
View::Transactions => {
self.transactions_view
- .update(transactions_view::Message::SelectNextTransaction);
+ .update(transactions_view::Message::SelectNextAccount);
Action::None
}
},
@@ -147,7 +165,7 @@ impl<'a> Component<'a, Message, Action> for MainScreen {
}
View::Transactions => {
self.transactions_view
- .update(transactions_view::Message::SelectPrevTransaction);
+ .update(transactions_view::Message::SelectPrevAccount);
Action::None
}
},
@@ -197,7 +215,7 @@ impl MainScreen {
balances_view: BalancesView::new(Vec::new()),
buckets: Vec::new(),
buckets_view: BucketsView::new(Vec::new(), "Hello, buckets!"),
- transactions_view: TransactionsView::new(Vec::new(), "Hello, transactions!"),
+ transactions_view: TransactionsView::new(&[], &[], &[], &[]),
active_view: View::Balances,
view_navigation: Navigation::new(Some(View::Balances), View::views()),
}