diff --git a/crates/core/src/node/mod.rs b/crates/core/src/node/mod.rs index 24287a2..dd13fa0 100644 --- a/crates/core/src/node/mod.rs +++ b/crates/core/src/node/mod.rs @@ -169,16 +169,6 @@ impl NodeInterface { } } - pub fn with_sender(chain_type: global::ChainTypes, ui_sender: Option>) -> Self { - NodeInterface { - chain_type: None, - config: None, - ui_sender, - node_started: false, - tx_controller: None, - } - } - pub fn set_ui_sender(&mut self, ui_sender: iced_mpsc::Sender) { self.ui_sender = Some(ui_sender) } diff --git a/locale/de.json b/locale/de.json index 1590c29..5ac76ba 100644 --- a/locale/de.json +++ b/locale/de.json @@ -191,6 +191,7 @@ "transaction-pool-title": "Transaction Pool", "transaction-pool-size-label": "Size", "stem-pool-size-label": "Stem Pool Size", - "status-line-title": "Status", + "status-line-title-main": "Status (Mainnet)", + "status-line-title-test": "Status (Testnet)", "use-testnet": "This is a testnet wallet" } \ No newline at end of file diff --git a/locale/en.json b/locale/en.json index e84d276..366eb92 100644 --- a/locale/en.json +++ b/locale/en.json @@ -191,7 +191,8 @@ "transaction-pool-title": "Transaction Pool", "transaction-pool-size-label": "Size", "stem-pool-size-label": "Stem Pool Size", - "status-line-title": "Status", + "status-line-title-main": "Status (Mainnet)", + "status-line-title-test": "Status (Testnet)", "wallet-list": "Wallets", "cancel":"Cancel", "display-name":"Display Name", diff --git a/src/gui/element/node/embedded/mod.rs b/src/gui/element/node/embedded/mod.rs index 4f545a7..0c59120 100644 --- a/src/gui/element/node/embedded/mod.rs +++ b/src/gui/element/node/embedded/mod.rs @@ -5,7 +5,7 @@ use { crate::gui::{style, GrinGui, Message}, crate::Result, grin_gui_core::theme::ColorPalette, - grin_gui_core::{config::Config, wallet::WalletInterface}, + grin_gui_core::{config::Config, wallet::WalletInterface, node::ChainTypes}, grin_gui_core::node::ServerStats, iced::{Column, Command, Container, Length, Space}, }; @@ -47,9 +47,11 @@ pub fn handle_message( pub fn data_container<'a>( color_palette: ColorPalette, state: &'a mut StateContainer, + chain_type: ChainTypes, + ) -> Container<'a, Message> { let content = match state.mode { - Mode::Summary => summary::data_container(color_palette, &mut state.summary_state, &state.server_stats), + Mode::Summary => summary::data_container(color_palette, &mut state.summary_state, &state.server_stats, chain_type), _ => Container::new(Column::new()) }; diff --git a/src/gui/element/node/embedded/summary.rs b/src/gui/element/node/embedded/summary.rs index 083bce2..8e221fe 100644 --- a/src/gui/element/node/embedded/summary.rs +++ b/src/gui/element/node/embedded/summary.rs @@ -17,7 +17,7 @@ use { grin_gui_core::theme::ColorPalette, grin_gui_core::{ fs::PersistentData, - node::{ServerStats, SyncStatus}, + node::{ServerStats, SyncStatus, ChainTypes}, wallet::{StatusMessage, WalletInfo, WalletInterface}, }, iced::{ @@ -194,6 +194,7 @@ pub fn data_container<'a>( color_palette: ColorPalette, state: &'a mut StateContainer, stats: &'a Option, + chain_type: ChainTypes, ) -> Container<'a, Message> { @@ -239,8 +240,13 @@ pub fn data_container<'a>( .push(Space::new(Length::Fill, Length::Units(0))) .align_items(Alignment::Center); + let status_line_title = match chain_type { + ChainTypes::Testnet => localized_string("status-line-title-test"), + _ => localized_string("status-line-title-main"), + }; + let status_line_card = Card::new( - Text::new(localized_string("status-line-title")).size(DEFAULT_HEADER_FONT_SIZE), + Text::new(status_line_title).size(DEFAULT_HEADER_FONT_SIZE), status_line_row, ) .style(style::NormalModalCardContainer(color_palette)); diff --git a/src/gui/element/node/mod.rs b/src/gui/element/node/mod.rs index 7180cfa..26fd6ba 100644 --- a/src/gui/element/node/mod.rs +++ b/src/gui/element/node/mod.rs @@ -4,7 +4,7 @@ use { super::super::{DEFAULT_FONT_SIZE, DEFAULT_PADDING}, crate::gui::{style, GrinGui, Message}, crate::Result, - grin_gui_core::theme::ColorPalette, + grin_gui_core::{theme::ColorPalette, node::ChainTypes}, iced::{Column, Command, Container, Length, Space}, }; @@ -36,9 +36,10 @@ impl StateContainer { pub fn data_container<'a>( color_palette: ColorPalette, state: &'a mut StateContainer, + chain_type: ChainTypes, ) -> Container<'a, Message> { let content = match state.mode { - Mode::Embedded => embedded::data_container(color_palette, &mut state.embedded_state), + Mode::Embedded => embedded::data_container(color_palette, &mut state.embedded_state, chain_type), _ => Container::new(Column::new()), }; diff --git a/src/gui/mod.rs b/src/gui/mod.rs index 355a432..9cd512b 100644 --- a/src/gui/mod.rs +++ b/src/gui/mod.rs @@ -117,10 +117,20 @@ impl Application for GrinGui { fn new(config: Config) -> (Self, Command) { let mut grin_gui = GrinGui::default(); + + // default Mainnet + global::set_local_chain_type(ChainTypes::Mainnet); + if let Some(wallet_index) = config.current_wallet_index { let wallet = config.wallets[wallet_index].clone(); - // is tesnet and embedded node?? - } + + // is tesnet + if wallet.is_testnet { + global::set_local_chain_type(ChainTypes::Testnet); + } + + // if embedded node ?? + } let wallet_interface = grin_gui.wallet_interface.clone(); let mut w = wallet_interface.write().unwrap(); @@ -228,9 +238,11 @@ impl Application for GrinGui { content = content.push(setup_container) } element::menu::Mode::Node => { + let chain_type = self.node_interface.read().unwrap().chain_type.unwrap_or_else( || ChainTypes::Mainnet); let node_container = element::node::data_container( color_palette, &mut self.node_state, + chain_type, ); content = content.push(node_container) }