event-editor/attendee-details-page: Use AdwPreferencesGroup API

AdwPreferencesGroup now has the `bind_model()` method, so it's
best to just use that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/781>
This commit is contained in:
Hari Rana
2026-06-23 14:10:35 -04:00
parent cda1362c59
commit 3c67de4076
2 changed files with 35 additions and 75 deletions
@@ -12,69 +12,29 @@ template $GcalAttendeeDetailsPage: Adw.NavigationPage {
} }
content: Adw.PreferencesPage { content: Adw.PreferencesPage {
Adw.PreferencesGroup { Adw.PreferencesGroup group_accepted {
title: _("Accepted"); title: _("Accepted");
visible: bind template.model-accepted as <Gtk.FilterListModel>.n-items; visible: bind template.model-accepted as <Gtk.FilterListModel>.n-items;
ListBox list_accepted {
selection-mode: none;
styles [
"boxed-list",
]
}
} }
Adw.PreferencesGroup { Adw.PreferencesGroup group_tentative {
title: _("Tentative"); title: _("Tentative");
visible: bind template.model-tentative as <Gtk.FilterListModel>.n-items; visible: bind template.model-tentative as <Gtk.FilterListModel>.n-items;
ListBox list_tentative {
selection-mode: none;
styles [
"boxed-list",
]
}
} }
Adw.PreferencesGroup { Adw.PreferencesGroup group_declined {
title: _("Declined"); title: _("Declined");
visible: bind template.model-declined as <Gtk.FilterListModel>.n-items; visible: bind template.model-declined as <Gtk.FilterListModel>.n-items;
ListBox list_declined {
selection-mode: none;
styles [
"boxed-list",
]
}
} }
Adw.PreferencesGroup { Adw.PreferencesGroup group_delegated {
title: _("Delegated"); title: _("Delegated");
visible: bind template.model-delegated as <Gtk.FilterListModel>.n-items; visible: bind template.model-delegated as <Gtk.FilterListModel>.n-items;
ListBox list_delegated {
selection-mode: none;
styles [
"boxed-list",
]
}
} }
Adw.PreferencesGroup { Adw.PreferencesGroup group_not_responded {
title: _("Not responded"); title: _("Not responded");
visible: bind template.model-not-responded as <Gtk.FilterListModel>.n-items; visible: bind template.model-not-responded as <Gtk.FilterListModel>.n-items;
ListBox list_not_responded {
selection-mode: none;
styles [
"boxed-list",
]
}
} }
}; };
}; };
@@ -47,11 +47,11 @@ struct _GcalAttendeeDetailsPage
GtkCustomFilter *delegated_filter; GtkCustomFilter *delegated_filter;
GtkCustomFilter *not_responded_filter; GtkCustomFilter *not_responded_filter;
GtkWidget *list_accepted; GtkWidget *group_accepted;
GtkWidget *list_tentative; GtkWidget *group_tentative;
GtkWidget *list_declined; GtkWidget *group_declined;
GtkWidget *list_delegated; GtkWidget *group_delegated;
GtkWidget *list_not_responded; GtkWidget *group_not_responded;
GcalEventAttendeeTypeFilterFlags attendee_type_filter_flags; GcalEventAttendeeTypeFilterFlags attendee_type_filter_flags;
}; };
@@ -272,30 +272,30 @@ gcal_attendee_details_page_init (GcalAttendeeDetailsPage *instance)
gtk_widget_init_template (GTK_WIDGET (instance)); gtk_widget_init_template (GTK_WIDGET (instance));
gtk_list_box_bind_model (GTK_LIST_BOX (instance->list_accepted), adw_preferences_group_bind_model (ADW_PREFERENCES_GROUP (instance->group_accepted),
G_LIST_MODEL (instance->filter_list_accepted), G_LIST_MODEL (instance->filter_list_accepted),
create_attendee_row_widget, create_attendee_row_widget,
NULL, NULL); NULL, NULL);
gtk_list_box_bind_model (GTK_LIST_BOX (instance->list_tentative), adw_preferences_group_bind_model (ADW_PREFERENCES_GROUP (instance->group_tentative),
G_LIST_MODEL (instance->filter_list_tentative), G_LIST_MODEL (instance->filter_list_tentative),
create_attendee_row_widget, create_attendee_row_widget,
NULL, NULL); NULL, NULL);
gtk_list_box_bind_model (GTK_LIST_BOX (instance->list_declined), adw_preferences_group_bind_model (ADW_PREFERENCES_GROUP (instance->group_declined),
G_LIST_MODEL (instance->filter_list_declined), G_LIST_MODEL (instance->filter_list_declined),
create_attendee_row_widget, create_attendee_row_widget,
NULL, NULL); NULL, NULL);
gtk_list_box_bind_model (GTK_LIST_BOX (instance->list_delegated), adw_preferences_group_bind_model (ADW_PREFERENCES_GROUP (instance->group_delegated),
G_LIST_MODEL (instance->filter_list_delegated), G_LIST_MODEL (instance->filter_list_delegated),
create_attendee_row_widget, create_attendee_row_widget,
NULL, NULL); NULL, NULL);
gtk_list_box_bind_model (GTK_LIST_BOX (instance->list_not_responded), adw_preferences_group_bind_model (ADW_PREFERENCES_GROUP (instance->group_not_responded),
G_LIST_MODEL (instance->filter_list_not_responded), G_LIST_MODEL (instance->filter_list_not_responded),
create_attendee_row_widget, create_attendee_row_widget,
NULL, NULL); NULL, NULL);
} }
static void static void
@@ -376,11 +376,11 @@ gcal_attendee_details_page_class_init (GcalAttendeeDetailsPageClass *klass)
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/ui/event-editor/gcal-attendee-details-page.ui"); gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/ui/event-editor/gcal-attendee-details-page.ui");
gtk_widget_class_bind_template_child (widget_class, GcalAttendeeDetailsPage, list_accepted); gtk_widget_class_bind_template_child (widget_class, GcalAttendeeDetailsPage, group_accepted);
gtk_widget_class_bind_template_child (widget_class, GcalAttendeeDetailsPage, list_tentative); gtk_widget_class_bind_template_child (widget_class, GcalAttendeeDetailsPage, group_tentative);
gtk_widget_class_bind_template_child (widget_class, GcalAttendeeDetailsPage, list_declined); gtk_widget_class_bind_template_child (widget_class, GcalAttendeeDetailsPage, group_declined);
gtk_widget_class_bind_template_child (widget_class, GcalAttendeeDetailsPage, list_delegated); gtk_widget_class_bind_template_child (widget_class, GcalAttendeeDetailsPage, group_delegated);
gtk_widget_class_bind_template_child (widget_class, GcalAttendeeDetailsPage, list_not_responded); gtk_widget_class_bind_template_child (widget_class, GcalAttendeeDetailsPage, group_not_responded);
} }
/** /**