aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/add_conversation/conference_details_fragment.vala
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/ui/add_conversation/conference_details_fragment.vala')
-rw-r--r--main/src/ui/add_conversation/conference_details_fragment.vala11
1 files changed, 10 insertions, 1 deletions
diff --git a/main/src/ui/add_conversation/conference_details_fragment.vala b/main/src/ui/add_conversation/conference_details_fragment.vala
index 47cf228f..4fd1e608 100644
--- a/main/src/ui/add_conversation/conference_details_fragment.vala
+++ b/main/src/ui/add_conversation/conference_details_fragment.vala
@@ -10,6 +10,8 @@ namespace Dino.Ui {
[GtkTemplate (ui = "/im/dino/Dino/add_conversation/conference_details_fragment.ui")]
protected class ConferenceDetailsFragment : Box {
+ public signal void joined();
+
public bool done {
get {
Jid? parsed_jid = Jid.parse(jid);
@@ -55,6 +57,8 @@ protected class ConferenceDetailsFragment : Box {
}
}
+ public bool fragment_active { get; set; default=true; }
+
[GtkChild] private Stack accounts_stack;
[GtkChild] private Button accounts_button;
[GtkChild] private Label accounts_label;
@@ -137,6 +141,8 @@ protected class ConferenceDetailsFragment : Box {
}
private async void on_ok_button_clicked() {
+ if (!fragment_active) return;
+
ok_button.label = _("Joining…");
ok_button.sensitive = false;
@@ -144,7 +150,10 @@ protected class ConferenceDetailsFragment : Box {
ok_button.label = _("Join");
ok_button.sensitive = true;
- if (join_result == null || join_result.nick != null) return;
+ if (join_result == null || join_result.nick != null) {
+ joined();
+ return;
+ }
string label_text = "";
if (join_result.muc_error != null) {