Remove bitcoind from settings panel if remote backend
This commit is contained in:
parent
5e2fe3b6c1
commit
3b60a57bd4
@ -58,6 +58,7 @@ impl Panels {
|
||||
cache: &Cache,
|
||||
wallet: Arc<Wallet>,
|
||||
data_dir: PathBuf,
|
||||
daemon_backend: DaemonBackend,
|
||||
internal_bitcoind: Option<&Bitcoind>,
|
||||
) -> Panels {
|
||||
Self {
|
||||
@ -77,6 +78,7 @@ impl Panels {
|
||||
settings: state::SettingsState::new(
|
||||
data_dir,
|
||||
wallet.clone(),
|
||||
daemon_backend,
|
||||
internal_bitcoind.is_some(),
|
||||
),
|
||||
}
|
||||
@ -134,7 +136,13 @@ impl App {
|
||||
data_dir: PathBuf,
|
||||
internal_bitcoind: Option<Bitcoind>,
|
||||
) -> (App, Command<Message>) {
|
||||
let mut panels = Panels::new(&cache, wallet.clone(), data_dir, internal_bitcoind.as_ref());
|
||||
let mut panels = Panels::new(
|
||||
&cache,
|
||||
wallet.clone(),
|
||||
data_dir,
|
||||
daemon.backend(),
|
||||
internal_bitcoind.as_ref(),
|
||||
);
|
||||
let cmd = panels.home.reload(daemon.clone(), wallet.clone());
|
||||
(
|
||||
Self {
|
||||
|
||||
@ -21,15 +21,22 @@ pub struct SettingsState {
|
||||
data_dir: PathBuf,
|
||||
wallet: Arc<Wallet>,
|
||||
setting: Option<Box<dyn State>>,
|
||||
daemon_backend: DaemonBackend,
|
||||
internal_bitcoind: bool,
|
||||
}
|
||||
|
||||
impl SettingsState {
|
||||
pub fn new(data_dir: PathBuf, wallet: Arc<Wallet>, internal_bitcoind: bool) -> Self {
|
||||
pub fn new(
|
||||
data_dir: PathBuf,
|
||||
wallet: Arc<Wallet>,
|
||||
daemon_backend: DaemonBackend,
|
||||
internal_bitcoind: bool,
|
||||
) -> Self {
|
||||
Self {
|
||||
data_dir,
|
||||
wallet,
|
||||
setting: None,
|
||||
daemon_backend,
|
||||
internal_bitcoind,
|
||||
}
|
||||
}
|
||||
@ -97,7 +104,7 @@ impl State for SettingsState {
|
||||
if let Some(setting) = &self.setting {
|
||||
setting.view(cache)
|
||||
} else {
|
||||
view::settings::list(cache)
|
||||
view::settings::list(cache, self.daemon_backend == DaemonBackend::RemoteBackend)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ use crate::{
|
||||
hw::HardwareWallet,
|
||||
};
|
||||
|
||||
pub fn list(cache: &Cache) -> Element<Message> {
|
||||
pub fn list(cache: &Cache, is_remote_backend: bool) -> Element<Message> {
|
||||
dashboard(
|
||||
&Menu::Settings,
|
||||
cache,
|
||||
@ -44,23 +44,27 @@ pub fn list(cache: &Cache) -> Element<Message> {
|
||||
Button::new(text("Settings").size(30).bold())
|
||||
.style(theme::Button::Transparent)
|
||||
.on_press(Message::Menu(Menu::Settings)))
|
||||
.push(
|
||||
Container::new(
|
||||
Button::new(
|
||||
Row::new()
|
||||
.push(badge::Badge::new(icon::bitcoin_icon()))
|
||||
.push(text("Bitcoin Core").bold())
|
||||
.padding(10)
|
||||
.spacing(20)
|
||||
.align_items(Alignment::Center)
|
||||
.width(Length::Fill),
|
||||
.push_maybe(
|
||||
if !is_remote_backend {
|
||||
Some(Container::new(
|
||||
Button::new(
|
||||
Row::new()
|
||||
.push(badge::Badge::new(icon::bitcoin_icon()))
|
||||
.push(text("Bitcoin Core").bold())
|
||||
.padding(10)
|
||||
.spacing(20)
|
||||
.align_items(Alignment::Center)
|
||||
.width(Length::Fill),
|
||||
)
|
||||
.width(Length::Fill)
|
||||
.style(theme::Button::TransparentBorder)
|
||||
.on_press(Message::Settings(SettingsMessage::EditBitcoindSettings))
|
||||
)
|
||||
.width(Length::Fill)
|
||||
.style(theme::Button::TransparentBorder)
|
||||
.on_press(Message::Settings(SettingsMessage::EditBitcoindSettings))
|
||||
)
|
||||
.width(Length::Fill)
|
||||
.style(theme::Container::Card(theme::Card::Simple))
|
||||
.style(theme::Container::Card(theme::Card::Simple)))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
)
|
||||
.push(
|
||||
Container::new(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user