diff --git a/liana-gui/src/app/state/label.rs b/liana-gui/src/app/state/label.rs index e451c621..72f58c5c 100644 --- a/liana-gui/src/app/state/label.rs +++ b/liana-gui/src/app/state/label.rs @@ -5,7 +5,7 @@ use std::{collections::HashMap, iter::IntoIterator, sync::Arc}; use crate::{ app::{error::Error, message::Message, view}, daemon::{ - model::{LabelItem, Labelled}, + model::{LabelItem, Labelled, LabelsLoader}, Daemon, }, }; diff --git a/liana-gui/src/daemon/mod.rs b/liana-gui/src/daemon/mod.rs index 383abfcb..b6ca2890 100644 --- a/liana-gui/src/daemon/mod.rs +++ b/liana-gui/src/daemon/mod.rs @@ -333,7 +333,7 @@ pub trait Daemon: Debug { } } -async fn load_labels( +async fn load_labels( daemon: &D, targets: &mut Vec, ) -> Result<(), DaemonError> { diff --git a/liana-gui/src/daemon/model.rs b/liana-gui/src/daemon/model.rs index 582868d0..b69069b6 100644 --- a/liana-gui/src/daemon/model.rs +++ b/liana-gui/src/daemon/model.rs @@ -447,6 +447,16 @@ impl Labelled for HistoryTransaction { pub trait Labelled { fn labelled(&self) -> Vec; fn labels(&mut self) -> &mut HashMap; +} + +pub trait LabelsLoader { + fn load_labels(&mut self, new_labels: &HashMap>); +} + +impl LabelsLoader for T +where + T: Labelled, +{ fn load_labels(&mut self, new_labels: &HashMap>) { let items = self.labelled(); let labels = self.labels();