aboutsummaryrefslogtreecommitdiff
path: root/libdino/src/ui/conversation_summary/status_item.vala
diff options
context:
space:
mode:
Diffstat (limited to 'libdino/src/ui/conversation_summary/status_item.vala')
-rw-r--r--libdino/src/ui/conversation_summary/status_item.vala29
1 files changed, 29 insertions, 0 deletions
diff --git a/libdino/src/ui/conversation_summary/status_item.vala b/libdino/src/ui/conversation_summary/status_item.vala
new file mode 100644
index 00000000..5918d008
--- /dev/null
+++ b/libdino/src/ui/conversation_summary/status_item.vala
@@ -0,0 +1,29 @@
+using Gtk;
+using Markup;
+
+using Dino.Entities;
+
+namespace Dino.Ui.ConversationSummary {
+
+private class StatusItem : Grid {
+
+ private Image image = new Image();
+ private Label label = new Label("");
+
+ private StreamInteractor stream_interactor;
+ private Conversation conversation;
+
+ public StatusItem(StreamInteractor stream_interactor, Conversation conversation, string? text) {
+ Object(column_spacing : 7);
+ set_hexpand(true);
+ this.stream_interactor = stream_interactor;
+ this.conversation = conversation;
+ image.set_from_pixbuf((new AvatarGenerator(30, 30)).set_greyscale(true).draw_conversation(stream_interactor, conversation));
+ attach(image, 0, 0, 1, 1);
+ attach(label, 1, 0, 1, 1);
+ string display_name = Util.get_display_name(stream_interactor, conversation.counterpart, conversation.account);
+ label.set_markup(@"<span foreground=\"#B1B1B1\"> $(escape_text(display_name)) $text </span>");
+ show_all();
+ }
+}
+} \ No newline at end of file