Browse Source

misc: Prefer connect_*_notify to connect_notify_local

fractal-6
Kévin Commaille 2 years ago
parent
commit
4332c8a413
No known key found for this signature in database
GPG Key ID: 29A48C1F03620416
  1. 6
      src/session/model/user.rs
  2. 8
      src/session/model/verification/identity_verification.rs
  3. 5
      src/session/view/content/mod.rs
  4. 10
      src/session/view/content/room_history/message_row/text.rs
  5. 8
      src/session/view/content/room_history/read_receipts_list/mod.rs
  6. 9
      src/session/view/content/room_history/verification_info_bar.rs

6
src/session/model/user.rs

@ -362,6 +362,12 @@ pub trait UserExt: IsA<User> {
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<F: Fn(&Self) + 'static>(&self, f: F) -> glib::SignalHandlerId {
self.upcast_ref()
.connect_display_name_notify(move |user| f(user.downcast_ref().unwrap()))
}
}
impl<T: IsA<User>> UserExt for T {}

8
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::<Member>() {
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);
}

5
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::<IdentityVerification>() {
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::<glib::Object>);
}

10
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());
}),
);

8
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);

9
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));

Loading…
Cancel
Save