diff options
author | fiaxh <git@mx.ax.lt> | 2017-06-13 18:14:59 +0200 |
---|---|---|
committer | fiaxh <git@mx.ax.lt> | 2017-06-13 20:12:40 +0200 |
commit | 7bbbb738fdb233f4ad91ffdd7d9247b28849d715 (patch) | |
tree | 649ac26e3feef6bae614442a7f3d6ee1057336e0 /main/src | |
parent | dabc2a8b1d2a7bf2019e5f913c736d80f11ceb53 (diff) | |
download | dino-7bbbb738fdb233f4ad91ffdd7d9247b28849d715.tar.gz dino-7bbbb738fdb233f4ad91ffdd7d9247b28849d715.zip |
Get rid of manual storage objects for delegates
Diffstat (limited to 'main/src')
-rw-r--r-- | main/src/ui/add_conversation/conference/conference_list.vala | 14 | ||||
-rw-r--r-- | main/src/ui/contact_details/muc_config_form_provider.vala | 13 |
2 files changed, 11 insertions, 16 deletions
diff --git a/main/src/ui/add_conversation/conference/conference_list.vala b/main/src/ui/add_conversation/conference/conference_list.vala index ac74fa3a..1f4abfa3 100644 --- a/main/src/ui/add_conversation/conference/conference_list.vala +++ b/main/src/ui/add_conversation/conference/conference_list.vala @@ -29,7 +29,7 @@ protected class ConferenceList : FilterableList { }); foreach (Account account in stream_interactor.get_accounts()) { - stream_interactor.get_module(MucManager.IDENTITY).get_bookmarks(account, on_conference_bookmarks_received, Tuple.create(this, account)); + stream_interactor.get_module(MucManager.IDENTITY).get_bookmarks(account, (stream, conferences) => { on_conference_bookmarks_received(stream, account, conferences); }); } } @@ -42,13 +42,11 @@ protected class ConferenceList : FilterableList { } } - private static void on_conference_bookmarks_received(Core.XmppStream stream, Gee.List<Xep.Bookmarks.Conference> conferences, Object? o) { + private void on_conference_bookmarks_received(Core.XmppStream stream, Account account, Gee.List<Xep.Bookmarks.Conference> conferences) { Idle.add(() => { - Tuple<ConferenceList, Account> tuple = o as Tuple<ConferenceList, Account>; - ConferenceList list = tuple.a; - Account account = tuple.b; - list.lists[account] = conferences; - list.refresh_conferences(); return false; + lists[account] = conferences; + refresh_conferences(); + return false; }); } @@ -102,4 +100,4 @@ internal class ConferenceListRow : ListRow { } } -}
\ No newline at end of file +} diff --git a/main/src/ui/contact_details/muc_config_form_provider.vala b/main/src/ui/contact_details/muc_config_form_provider.vala index 2986134a..41df4465 100644 --- a/main/src/ui/contact_details/muc_config_form_provider.vala +++ b/main/src/ui/contact_details/muc_config_form_provider.vala @@ -18,19 +18,16 @@ public class MucConfigFormProvider : Plugins.ContactDetailsProvider { if (conversation.type_ == Conversation.Type.GROUPCHAT) { Xmpp.Core.XmppStream? stream = stream_interactor.get_stream(conversation.account); if (stream == null) return; - stream_interactor.get_module(MucManager.IDENTITY).get_config_form(conversation.account, conversation.counterpart, (jid, data_form, store) => { - Plugins.ContactDetails contact_details_ = store as Plugins.ContactDetails; - contact_details_.save.connect(() => { - data_form.submit(); - }); + stream_interactor.get_module(MucManager.IDENTITY).get_config_form(conversation.account, conversation.counterpart, (jid, data_form) => { + contact_details.save.connect(() => { data_form.submit(); }); Idle.add(() => { for (int i = 0; i < data_form.fields.size; i++) { DataForms.DataForm.Field field = data_form.fields[i]; - add_field(field, contact_details_); + add_field(field, contact_details); } return false; }); - }, contact_details); + }); } } @@ -128,4 +125,4 @@ public class MucConfigFormProvider : Plugins.ContactDetailsProvider { } } -}
\ No newline at end of file +} |