[libadwaita/wip/exalm/pref-window: 15/19] preferences-window: Use gtk_widget_get_ancestor()
- From: Adrien Plazas <aplazas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libadwaita/wip/exalm/pref-window: 15/19] preferences-window: Use gtk_widget_get_ancestor()
- Date: Fri, 2 Apr 2021 10:31:27 +0000 (UTC)
commit 5e85299837b4dd35d797d56d29370db3cc8fd1c2
Author: Alexander Mikhaylenko <alexm gnome org>
Date: Mon Mar 29 13:48:28 2021 +0500
preferences-window: Use gtk_widget_get_ancestor()
Don't reimplement it.
Fixes https://gitlab.gnome.org/exalm/libadwaita/-/issues/83
src/adw-preferences-window.c | 22 ++++++++--------------
1 file changed, 8 insertions(+), 14 deletions(-)
---
diff --git a/src/adw-preferences-window.c b/src/adw-preferences-window.c
index 4400a3f..c2c047d 100644
--- a/src/adw-preferences-window.c
+++ b/src/adw-preferences-window.c
@@ -153,12 +153,10 @@ new_search_row_for_preference (AdwPreferencesRow *row,
{
AdwPreferencesWindowPrivate *priv = adw_preferences_window_get_instance_private (self);
AdwActionRow *widget;
- AdwPreferencesGroup *group;
- AdwPreferencesPage *page;
+ GtkWidget *group, *page;
const char *group_title;
g_autofree char *page_title = NULL;
gboolean page_title_use_underline;
- GtkWidget *parent;
g_assert (ADW_IS_PREFERENCES_ROW (row));
@@ -167,22 +165,18 @@ new_search_row_for_preference (AdwPreferencesRow *row,
g_object_bind_property (row, "title", widget, "title", G_BINDING_SYNC_CREATE);
g_object_bind_property (row, "use-underline", widget, "use-underline", G_BINDING_SYNC_CREATE);
- for (parent = gtk_widget_get_parent (GTK_WIDGET (row));
- parent != NULL && !ADW_IS_PREFERENCES_GROUP (parent);
- parent = gtk_widget_get_parent (parent));
- group = parent != NULL ? ADW_PREFERENCES_GROUP (parent) : NULL;
- group_title = group != NULL ? adw_preferences_group_get_title (group) : NULL;
+ group = gtk_widget_get_ancestor (GTK_WIDGET (row), ADW_TYPE_PREFERENCES_GROUP);
+ g_assert (group == NULL || ADW_IS_PREFERENCES_GROUP (group));
+ group_title = group != NULL ? adw_preferences_group_get_title (ADW_PREFERENCES_GROUP (group)) : NULL;
if (g_strcmp0 (group_title, "") == 0)
group_title = NULL;
- for (parent = gtk_widget_get_parent (GTK_WIDGET (group));
- parent != NULL && !ADW_IS_PREFERENCES_PAGE (parent);
- parent = gtk_widget_get_parent (parent));
- page = parent != NULL ? ADW_PREFERENCES_PAGE (parent) : NULL;
+ page = gtk_widget_get_ancestor (group, ADW_TYPE_PREFERENCES_PAGE);
+ g_assert (page == NULL || ADW_IS_PREFERENCES_PAGE (page));
if (page) {
- page_title = adw_preferences_page_get_title (page);
- page_title_use_underline = adw_preferences_page_get_use_underline (page);
+ page_title = adw_preferences_page_get_title (ADW_PREFERENCES_PAGE (page));
+ page_title_use_underline = adw_preferences_page_get_use_underline (ADW_PREFERENCES_PAGE (page));
} else {
page_title = NULL;
page_title_use_underline = FALSE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]