[libadwaita/wip/exalm/pref-window: 1/5] preferences-window: Use gtk_widget_get_ancestor()
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libadwaita/wip/exalm/pref-window: 1/5] preferences-window: Use gtk_widget_get_ancestor()
- Date: Fri, 2 Apr 2021 10:55:56 +0000 (UTC)
commit 7ca8e641281469ce0ff10e8fa7a604df0588ae50
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 | 20 ++++++--------------
1 file changed, 6 insertions(+), 14 deletions(-)
---
diff --git a/src/adw-preferences-window.c b/src/adw-preferences-window.c
index 4400a3f..0949e94 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,16 @@ 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);
+ 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);
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]