diff --git a/liana-gui/src/app/state/settings/bitcoind.rs b/liana-gui/src/app/state/settings/bitcoind.rs index 9be01bb5..cd4f78b1 100644 --- a/liana-gui/src/app/state/settings/bitcoind.rs +++ b/liana-gui/src/app/state/settings/bitcoind.rs @@ -5,7 +5,7 @@ use std::str::FromStr; use std::sync::Arc; use chrono::{NaiveDate, Utc}; -use iced::Command; +use iced::{clipboard, Command}; use tracing::info; use liana::miniscript::bitcoin::Network; @@ -361,6 +361,7 @@ impl BitcoindSettings { }); } } + view::SettingsEditMessage::Clipboard(text) => return clipboard::write(text), }; Command::none() } diff --git a/liana-gui/src/app/view/message.rs b/liana-gui/src/app/view/message.rs index c726b5fc..eb5ee1cb 100644 --- a/liana-gui/src/app/view/message.rs +++ b/liana-gui/src/app/view/message.rs @@ -91,6 +91,7 @@ pub enum SettingsEditMessage { BitcoindRpcAuthTypeSelected(RpcAuthType), Cancel, Confirm, + Clipboard(String), } #[derive(Debug, Clone)] diff --git a/liana-gui/src/app/view/settings.rs b/liana-gui/src/app/view/settings.rs index 72d986e0..4cd920f8 100644 --- a/liana-gui/src/app/view/settings.rs +++ b/liana-gui/src/app/view/settings.rs @@ -507,7 +507,14 @@ pub fn bitcoind<'a>( col_fields = col_fields.push( Row::new() .push(Container::new(text(k).bold().small()).width(Length::Fill)) - .push(text(v).small()), + .push(text(v.clone()).small()) + .push(Space::with_width(10)) + .push( + Button::new(icon::clipboard_icon()) + .style(theme::Button::TransparentBorder) + .on_press(SettingsEditMessage::Clipboard(v.to_string())), + ) + .align_items(Alignment::Center), ); }