diff --git a/src/ui.rs b/src/ui.rs index e11c0bde..d0546573 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -23,7 +23,8 @@ use gtk::{ DropDown, Label, ListItem, - ListView, + ColumnView, + ColumnViewColumn, ProgressBar, ScrolledWindow, Separator, @@ -383,10 +384,11 @@ pub fn activate(application: &Application) -> Result<(), Error> { } fn create_view( + title: &str, capture: &CaptureReader, #[cfg(any(feature="test-ui-replay", feature="record-ui-test"))] recording_args: (&Rc>, &'static str)) - -> (Model, ListView) + -> (Model, ColumnView) where Item: Copy + 'static, Model: GenericModel + IsA + IsA, @@ -494,7 +496,10 @@ fn create_view( factory.connect_bind(move |_, item| display_error(bind(item))); factory.connect_unbind(move |_, item| display_error(unbind(item))); - let view = ListView::new(Some(selection_model), Some(factory)); + let view = ColumnView::new(Some(selection_model)); + let column = ColumnViewColumn::new(Some(title), Some(factory)); + view.append_column(&column); + view.add_css_class("data-table"); #[cfg(any(feature="test-ui-replay", feature="record-ui-test"))] model.connect_items_changed(move |model, position, removed, added| @@ -509,12 +514,14 @@ pub fn reset_capture() -> Result { with_ui(|ui| { let (traffic_model, traffic_view) = create_view::( + "Traffic", &reader, #[cfg(any(feature="test-ui-replay", feature="record-ui-test"))] (&ui.recording, "traffic") ); let (device_model, device_view) = create_view::( + "Devices", &reader, #[cfg(any(feature="test-ui-replay", feature="record-ui-test"))] (&ui.recording, "devices")