diff options
Diffstat (limited to 'src/gl-window.c')
-rw-r--r-- | src/gl-window.c | 56 |
1 files changed, 14 insertions, 42 deletions
diff --git a/src/gl-window.c b/src/gl-window.c index 6dd4363..e45fa2c 100644 --- a/src/gl-window.c +++ b/src/gl-window.c @@ -36,8 +36,7 @@ typedef struct { GtkWidget *event_toolbar; GtkWidget *event_list; - GtkWidget *info_bar; - GtkLabel *message_label; + AdwBanner *banner; } GlWindowPrivate; G_DEFINE_TYPE_WITH_PRIVATE (GlWindow, gl_window, ADW_TYPE_APPLICATION_WINDOW) @@ -271,38 +270,13 @@ on_category_list_changed (GlCategoryList *list, } static void -on_help_button_clicked (GlWindow *window, - gint response_id, - gpointer user_data) +on_help_button_clicked (GlWindow *window, + AdwBanner *banner) { - GlWindowPrivate *priv; - GtkWindow *parent; - - parent = GTK_WINDOW (window); - priv = gl_window_get_instance_private (GL_WINDOW (window)); - - gtk_show_uri (parent, "help:gnome-logs/permissions", + gtk_show_uri (window, "help:gnome-logs/permissions", GDK_CURRENT_TIME); - gtk_widget_hide (priv->info_bar); -} - -static void -on_ignore_button_clicked (GlWindow *window, - gint response_id, - gpointer user_data) -{ - GlWindowPrivate *priv; - GSettings *settings; - - priv = gl_window_get_instance_private (GL_WINDOW (window)); - - settings = g_settings_new (SETTINGS_SCHEMA); - g_settings_set_boolean (settings, IGNORE_WARNING, TRUE); - - gtk_widget_hide (priv->info_bar); - - g_object_unref (settings); + adw_banner_set_revealed (banner, FALSE); } void @@ -339,12 +313,10 @@ gl_window_class_init (GlWindowClass *klass) gtk_widget_class_bind_template_child_private (widget_class, GlWindow, event_list); gtk_widget_class_bind_template_child_private (widget_class, GlWindow, - info_bar); + banner); gtk_widget_class_bind_template_callback (widget_class, on_help_button_clicked); - gtk_widget_class_bind_template_callback (widget_class, - on_ignore_button_clicked); } void @@ -470,16 +442,16 @@ gl_window_init (GlWindow *window) { if (!gl_util_can_read_system_journal (GL_JOURNAL_STORAGE_PERSISTENT)) { - gtk_label_set_label (priv->message_label, _("Unable to read system logs")); + adw_banner_set_title (priv->banner, _("Unable to read system logs")); - gtk_widget_show (priv->info_bar); + adw_banner_set_revealed (ADW_BANNER (priv->banner), TRUE); } if (!gl_util_can_read_user_journal ()) { - gtk_label_set_label (priv->message_label, _("Unable to read user logs")); + adw_banner_set_title (priv->banner, _("Unable to read user logs")); - gtk_widget_show (priv->info_bar); + adw_banner_set_revealed (ADW_BANNER (priv->banner), TRUE); } break; } @@ -487,17 +459,17 @@ gl_window_init (GlWindow *window) { if (!gl_util_can_read_system_journal (GL_JOURNAL_STORAGE_VOLATILE)) { - gtk_label_set_label (priv->message_label, _("Unable to read system logs")); + adw_banner_set_title (priv->banner, _("Unable to read system logs")); - gtk_widget_show (priv->info_bar); + adw_banner_set_revealed (ADW_BANNER (priv->banner), TRUE); } break; } case GL_JOURNAL_STORAGE_NONE: { - gtk_label_set_label (priv->message_label, _("No logs available")); + adw_banner_set_title (priv->banner, _("No logs available")); - gtk_widget_show (priv->info_bar); + adw_banner_set_revealed (ADW_BANNER (priv->banner), TRUE); break; } default: |