using Adw; using Gtk; namespace Publicate { public class CollectionView : Box { private Adw.HeaderBar header_bar; private MenuButton menu_button; private ListBox publication_list; private WindowTitle header_title; private ProgressBar osd_bar; private ViewerWindow window; public CollectionView(ViewerWindow win) { window = win; orientation = Orientation.VERTICAL; vexpand = true; add_css_class("view"); header_bar = new Adw.HeaderBar (); header_bar.show_end_title_buttons = true; header_bar.title_widget = new Adw.WindowTitle ("", ""); header_title = new WindowTitle("", ""); header_bar.title_widget = header_title; menu_button = new MenuButton(); menu_button.icon_name = "open-menu-symbolic"; header_bar.pack_end(menu_button); menu_button.menu_model = win.window_menu; append(header_bar); osd_bar = new ProgressBar(); osd_bar.add_css_class("osd"); append(osd_bar); var scroll_window = new ScrolledWindow(); scroll_window.hscrollbar_policy = PolicyType.NEVER; scroll_window.propagate_natural_width = true; scroll_window.vexpand = true; append(scroll_window); publication_list = new ListBox (); scroll_window.child = publication_list; } public async void show_collection(CollectionConfig config) { header_title.title = config.name; header_title.subtitle = @"via $(config.domain)"; } } }