aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/add_conversation/add_conference_dialog.vala
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2019-11-24 14:02:45 +0100
committerfiaxh <git@lightrise.org>2019-11-24 14:59:48 +0100
commit7624f349dea57083a92b817351515d15fa3c5f41 (patch)
tree8f25503edf8f238535816c56b1e23a9619ff0887 /main/src/ui/add_conversation/add_conference_dialog.vala
parent10402f7b04da906e90165b5a86e7d259a89b8718 (diff)
downloaddino-7624f349dea57083a92b817351515d15fa3c5f41.tar.gz
dino-7624f349dea57083a92b817351515d15fa3c5f41.zip
Fix join dialog when having been invited to a MUC
fixes #661
Diffstat (limited to 'main/src/ui/add_conversation/add_conference_dialog.vala')
-rw-r--r--main/src/ui/add_conversation/add_conference_dialog.vala14
1 files changed, 3 insertions, 11 deletions
diff --git a/main/src/ui/add_conversation/add_conference_dialog.vala b/main/src/ui/add_conversation/add_conference_dialog.vala
index 9639eed3..ce88faec 100644
--- a/main/src/ui/add_conversation/add_conference_dialog.vala
+++ b/main/src/ui/add_conversation/add_conference_dialog.vala
@@ -37,8 +37,6 @@ public class AddConferenceDialog : Gtk.Dialog {
setup_jid_add_view();
setup_conference_details_view();
show_jid_add_view();
-
- stream_interactor.get_module(MucManager.IDENTITY).joined.connect(on_joined);
}
private void show_jid_add_view() {
@@ -51,6 +49,7 @@ public class AddConferenceDialog : Gtk.Dialog {
ok_button.label = _("Next");
ok_button.sensitive = select_fragment.done;
ok_button.clicked.connect(on_next_button_clicked);
+ details_fragment.fragment_active = false;
details_fragment.notify["done"].disconnect(set_ok_sensitive_from_details);
select_fragment.notify["done"].connect(set_ok_sensitive_from_select);
}
@@ -69,6 +68,7 @@ public class AddConferenceDialog : Gtk.Dialog {
ok_button.label = _("Join");
ok_button.sensitive = details_fragment.done;
ok_button.clicked.disconnect(on_next_button_clicked);
+ details_fragment.fragment_active = true;
select_fragment.notify["done"].disconnect(set_ok_sensitive_from_select);
details_fragment.notify["done"].connect(set_ok_sensitive_from_details);
}
@@ -133,6 +133,7 @@ public class AddConferenceDialog : Gtk.Dialog {
private void setup_conference_details_view() {
details_fragment = new ConferenceDetailsFragment(stream_interactor) { ok_button=ok_button };
+ details_fragment.joined.connect(() => this.close());
Box wrap_box = new Box(Orientation.VERTICAL, 0) { visible=true };
wrap_box.add(details_fragment);
@@ -180,15 +181,6 @@ public class AddConferenceDialog : Gtk.Dialog {
show_conference_details_view();
}
- private void on_joined(Account account, Jid jid, string nick) {
- if (account.equals(details_fragment.account) && jid.equals_bare(new Jid(details_fragment.jid))) {
- Conversation conversation = stream_interactor.get_module(ConversationManager.IDENTITY).create_conversation(jid, account, Conversation.Type.GROUPCHAT);
- stream_interactor.get_module(ConversationManager.IDENTITY).start_conversation(conversation);
- conversation_opened(conversation);
- close();
- }
- }
-
private void on_cancel() {
close();
}