aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/conversation_titlebar/view_csd.vala
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/ui/conversation_titlebar/view_csd.vala')
-rw-r--r--main/src/ui/conversation_titlebar/view_csd.vala38
1 files changed, 38 insertions, 0 deletions
diff --git a/main/src/ui/conversation_titlebar/view_csd.vala b/main/src/ui/conversation_titlebar/view_csd.vala
new file mode 100644
index 00000000..83a1a474
--- /dev/null
+++ b/main/src/ui/conversation_titlebar/view_csd.vala
@@ -0,0 +1,38 @@
+using Gtk;
+using Gee;
+
+using Dino.Entities;
+
+namespace Dino.Ui {
+
+public class ConversationTitlebarCsd : Gtk.HeaderBar {
+
+ private StreamInteractor stream_interactor;
+ private Window window;
+ private Conversation? conversation;
+
+ public ConversationTitlebarCsd(StreamInteractor stream_interactor, Window window) {
+ this.stream_interactor = stream_interactor;
+ this.window = window;
+
+ this.get_style_context().add_class("dino-right");
+ show_close_button = true;
+ hexpand = true;
+
+ Application app = GLib.Application.get_default() as Application;
+ ArrayList<Plugins.ConversationTitlebarWidget> widgets = new ArrayList<Plugins.ConversationTitlebarWidget>();
+ foreach(var e in app.plugin_registry.conversation_titlebar_entries) {
+ Plugins.ConversationTitlebarWidget widget = e.get_widget(Plugins.WidgetType.GTK);
+ if (widget != null) {
+ widgets.insert(0, widget);
+ }
+ }
+ foreach (var w in widgets) {
+ Button gtk_widget = (Gtk.Button)w;
+ gtk_widget.relief = ReliefStyle.NONE;
+ this.pack_end(gtk_widget);
+ }
+ }
+}
+
+}