From 4332c8a4133447968245ffec52a1216cedeef6c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Commaille?= Date: Tue, 9 Jan 2024 12:52:17 +0100 Subject: [PATCH] misc: Prefer connect_*_notify to connect_notify_local --- src/session/model/user.rs | 6 ++++++ .../model/verification/identity_verification.rs | 8 +++----- src/session/view/content/mod.rs | 5 ++--- .../view/content/room_history/message_row/text.rs | 10 ++++------ .../content/room_history/read_receipts_list/mod.rs | 8 +++----- .../view/content/room_history/verification_info_bar.rs | 9 +++------ 6 files changed, 21 insertions(+), 25 deletions(-) diff --git a/src/session/model/user.rs b/src/session/model/user.rs index 7cbdee5c..8c1b01a6 100644 --- a/src/session/model/user.rs +++ b/src/session/model/user.rs @@ -362,6 +362,12 @@ pub trait UserExt: IsA { fn is_ignored(&self) -> bool { self.upcast_ref().is_ignored() } + + /// Conntect to the signal emitted when the display name changes. + fn connect_display_name_notify(&self, f: F) -> glib::SignalHandlerId { + self.upcast_ref() + .connect_display_name_notify(move |user| f(user.downcast_ref().unwrap())) + } } impl> UserExt for T {} diff --git a/src/session/model/verification/identity_verification.rs b/src/session/model/verification/identity_verification.rs index b294b725..c0b3c85f 100644 --- a/src/session/model/verification/identity_verification.rs +++ b/src/session/model/verification/identity_verification.rs @@ -276,12 +276,10 @@ mod imp { // to keep track of their name since it's used as the display name. if user.is::() { let obj = self.obj(); - let display_name_handler = user.connect_notify_local( - Some("display-name"), - clone!(@weak obj => move |_, _| { + let display_name_handler = + user.connect_display_name_notify(clone!(@weak obj => move |_| { obj.notify_display_name(); - }), - ); + })); handlers.push(display_name_handler); } diff --git a/src/session/view/content/mod.rs b/src/session/view/content/mod.rs index a9b84e38..fbc0452e 100644 --- a/src/session/view/content/mod.rs +++ b/src/session/view/content/mod.rs @@ -145,9 +145,8 @@ mod imp { self.signal_handler.replace(Some(handler_id)); } else if let Some(verification) = item.downcast_ref::() { - let handler_id = verification.connect_notify_local( - Some("state"), - clone!(@weak obj => move |verification, _| { + let handler_id = verification.connect_state_notify( + clone!(@weak obj => move |verification| { if verification.is_finished() { obj.set_item(None::); } diff --git a/src/session/view/content/room_history/message_row/text.rs b/src/session/view/content/room_history/message_row/text.rs index 8844a23e..4831cd11 100644 --- a/src/session/view/content/room_history/message_row/text.rs +++ b/src/session/view/content/room_history/message_row/text.rs @@ -151,9 +151,8 @@ impl MessageText { self.set_is_html(true); self.set_format(format); - let handler = sender.connect_notify_local( - Some("display-name"), - clone!(@weak self as obj, @weak room => move |sender, _| { + let handler = sender.connect_display_name_notify( + clone!(@weak self as obj, @weak room => move |sender| { obj.update_emote(&room, &sender.display_name()); }), ); @@ -181,9 +180,8 @@ impl MessageText { self.set_is_html(false); self.set_format(format); - let handler = sender.connect_notify_local( - Some("display-name"), - clone!(@weak self as obj, @weak room => move |sender, _| { + let handler = sender.connect_display_name_notify( + clone!(@weak self as obj, @weak room => move |sender| { obj.update_emote(&room, &sender.display_name()); }), ); diff --git a/src/session/view/content/room_history/read_receipts_list/mod.rs b/src/session/view/content/room_history/read_receipts_list/mod.rs index 54268167..8d888ebf 100644 --- a/src/session/view/content/room_history/read_receipts_list/mod.rs +++ b/src/session/view/content/room_history/read_receipts_list/mod.rs @@ -227,12 +227,10 @@ impl ReadReceiptsList { .and_then(|r| r.member()) { // Listen to changes of the display name. - let handler_id = member.connect_notify_local( - Some("display-name"), - clone!(@weak self as obj => move |member, _| { + let handler_id = + member.connect_display_name_notify(clone!(@weak self as obj => move |member| { obj.update_member_tooltip(member); - }), - ); + })); imp.receipt_member.set(&member, vec![handler_id]); self.update_member_tooltip(&member); diff --git a/src/session/view/content/room_history/verification_info_bar.rs b/src/session/view/content/room_history/verification_info_bar.rs index 3fecc7d3..b6a853be 100644 --- a/src/session/view/content/room_history/verification_info_bar.rs +++ b/src/session/view/content/room_history/verification_info_bar.rs @@ -114,12 +114,9 @@ mod imp { } if let Some(verification) = &verification { - let handler = verification.connect_notify_local( - Some("state"), - clone!(@weak obj => move |_, _| { - obj.update_view(); - }), - ); + let handler = verification.connect_state_notify(clone!(@weak obj => move |_| { + obj.update_view(); + })); self.state_handler.replace(Some(handler));