aboutsummaryrefslogtreecommitdiff
path: root/main/src/view_model/conversation_details.vala
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2023-09-24 19:54:04 +0200
committerfiaxh <git@lightrise.org>2023-09-24 19:54:04 +0200
commite2c34bf2235c9f85fc91de9c0f1b74858f4ef89e (patch)
treef5565f57a7cbea8a13748e8a1c613540bbb4d76c /main/src/view_model/conversation_details.vala
parent9eafe4139d6b2c0cabe3c77a903d6ae931a26975 (diff)
downloaddino-e2c34bf2235c9f85fc91de9c0f1b74858f4ef89e.tar.gz
dino-e2c34bf2235c9f85fc91de9c0f1b74858f4ef89e.zip
Rewrite contact details dialog
Diffstat (limited to 'main/src/view_model/conversation_details.vala')
-rw-r--r--main/src/view_model/conversation_details.vala49
1 files changed, 49 insertions, 0 deletions
diff --git a/main/src/view_model/conversation_details.vala b/main/src/view_model/conversation_details.vala
new file mode 100644
index 00000000..15bf7535
--- /dev/null
+++ b/main/src/view_model/conversation_details.vala
@@ -0,0 +1,49 @@
+using Dino.Entities;
+using Xmpp;
+using Xmpp.Xep;
+using Gee;
+using Gtk;
+
+public class Dino.Ui.ViewModel.ConversationDetails : Object {
+ public signal void pin_changed();
+ public signal void block_changed();
+ public signal void notification_flipped();
+ public signal void notification_changed(NotificationSetting setting);
+
+ public enum NotificationOptions {
+ ON_OFF,
+ ON_HIGHLIGHT_OFF
+ }
+
+ public enum NotificationSetting {
+ DEFAULT,
+ ON,
+ HIGHLIGHT,
+ OFF
+ }
+
+ public ViewModel.CompatAvatarPictureModel avatar { get; set; }
+ public string name { get; set; }
+ public bool pinned { get; set; }
+
+ public NotificationSetting notification { get; set; }
+ public NotificationOptions notification_options { get; set; }
+ public bool notification_is_default { get; set; }
+
+ public bool show_blocked { get; set; }
+ public bool blocked { get; set; }
+
+ public GLib.ListStore preferences_rows = new GLib.ListStore(typeof(PreferencesRow.Any));
+ public GLib.ListStore about_rows = new GLib.ListStore(typeof(PreferencesRow.Any));
+ public GLib.ListStore encryption_rows = new GLib.ListStore(typeof(PreferencesRow.Any));
+ public GLib.ListStore settings_rows = new GLib.ListStore(typeof(PreferencesRow.Any));
+ public GLib.ListStore room_configuration_rows { get; set; }
+}
+
+public class Dino.Ui.Model.ConversationDetails : Object {
+ public Conversation conversation { get; set; }
+ public Dino.Model.ConversationDisplayName display_name { get; set; }
+ public DataForms.DataForm? data_form { get; set; }
+ public string? data_form_bak;
+ public bool blocked { get; set; }
+} \ No newline at end of file