From 523bcbdb1f1e2ca43894e8d5b380178e90bd75be Mon Sep 17 00:00:00 2001 From: pythcoiner Date: Tue, 5 Nov 2024 04:44:29 +0100 Subject: [PATCH] gui(settings): add a copy button to auth fields --- liana-gui/src/app/state/settings/bitcoind.rs | 3 ++- liana-gui/src/app/view/message.rs | 1 + liana-gui/src/app/view/settings.rs | 9 ++++++++- 3 files changed, 11 insertions(+), 2 deletions(-) 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), ); }