From f3418c42e92dc75738996f8cda26543e0fd8386d Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Wed, 12 Jul 2023 15:53:38 -0700 Subject: [PATCH] sysprof: hide utility when there is no sidebar widget --- src/sysprof/sysprof-window.c | 14 ++++++++++++++ src/sysprof/sysprof-window.ui | 1 + 2 files changed, 15 insertions(+) diff --git a/src/sysprof/sysprof-window.c b/src/sysprof/sysprof-window.c index 5f54e8e1..1e60f4ee 100644 --- a/src/sysprof/sysprof-window.c +++ b/src/sysprof/sysprof-window.c @@ -114,6 +114,18 @@ sysprof_window_set_document (SysprofWindow *self, } } +static void +main_view_notify_sidebar (SysprofWindow *self, + GParamSpec *pspec, + AdwOverlaySplitView *main_view) +{ + g_assert (SYSPROF_IS_WINDOW (self)); + g_assert (ADW_IS_OVERLAY_SPLIT_VIEW (main_view)); + + if (adw_overlay_split_view_get_sidebar (main_view) == NULL) + adw_overlay_split_view_set_show_sidebar (main_view, FALSE); +} + static void sysprof_window_dispose (GObject *object) { @@ -193,6 +205,8 @@ sysprof_window_class_init (SysprofWindowClass *klass) gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/sysprof/sysprof-window.ui"); + gtk_widget_class_bind_template_callback (widget_class, main_view_notify_sidebar); + gtk_widget_class_install_action (widget_class, "win.open-capture", NULL, sysprof_window_open_capture_action); gtk_widget_class_install_action (widget_class, "win.record-capture", NULL, sysprof_window_record_capture_action); diff --git a/src/sysprof/sysprof-window.ui b/src/sysprof/sysprof-window.ui index d74646bb..3cd9a532 100644 --- a/src/sysprof/sysprof-window.ui +++ b/src/sysprof/sysprof-window.ui @@ -62,6 +62,7 @@ end 200 +