Private
Public Access
1
0

reorg: message-list-view -> transcript-view

This commit is contained in:
2025-05-04 00:13:47 -07:00
parent 3e9e8fb3d0
commit d4cc3358b7
2 changed files with 2 additions and 3 deletions

View File

@@ -0,0 +1,57 @@
using Adw;
using Gtk;
using Gee;
public class TranscriptView : Adw.Bin
{
public MessageListModel? model {
get {
return _model;
}
set {
_model = value;
if (model != null) {
// Reset scroll position
scrolled_window.vadjustment = new Gtk.Adjustment(0, 0, 0, 0, 0, 0);
model.messages_changed.connect(reload_messages);
model.load_messages();
} else {
transcript_drawing_area.set_messages(new TreeSet<Message>());
}
}
}
public string title {
get { return title_label.label; }
set { title_label.label = value; }
}
private MessageListModel? _model = null;
private Adw.ToolbarView container;
private Label title_label = new Label("Messages");
private TranscriptDrawingArea transcript_drawing_area = new TranscriptDrawingArea();
private ScrolledWindow scrolled_window = new ScrolledWindow();
public TranscriptView(MessageListModel? model = null) {
this.model = model;
container = new Adw.ToolbarView();
set_child(container);
scrolled_window.set_child(transcript_drawing_area);
scrolled_window.add_css_class("message-list-scroller");
container.set_content(scrolled_window);
var header_bar = new Adw.HeaderBar();
header_bar.set_title_widget(title_label);
container.add_top_bar(header_bar);
}
private void reload_messages() {
transcript_drawing_area.show_sender = _model.is_group_chat;
transcript_drawing_area.set_messages(_model.messages);
}
}