diff options
author | Christopher Davis <christopherdavis@gnome.org> | 2022-12-22 15:10:26 -0600 |
---|---|---|
committer | Christopher Davis <christopherdavis@gnome.org> | 2022-12-23 12:54:28 -0600 |
commit | bed12335ed041317e9383e3512fb6f4da22ddaeb (patch) | |
tree | 793d860cfc0cb8e0e6d058cf5d11dc9b8f880c98 | |
parent | 137353d3bc1e977f42711aec5f0d9964d5685ec4 (diff) | |
download | gnome-logs-bed12335ed041317e9383e3512fb6f4da22ddaeb.tar.gz |
general: Use g_app_info_launch_default_for_uri ()
gtk_show_uri () is deprecated.
-rw-r--r-- | src/gl-application.c | 24 | ||||
-rw-r--r-- | src/gl-window.c | 22 |
2 files changed, 36 insertions, 10 deletions
diff --git a/src/gl-application.c b/src/gl-application.c index 2067239..f480a8b 100644 --- a/src/gl-application.c +++ b/src/gl-application.c @@ -73,14 +73,26 @@ on_help (GSimpleAction *action, GVariant *parameter, gpointer user_data) { - GtkApplication *application; - GtkWindow *parent; + GtkApplication *self = GTK_APPLICATION (user_data); + GtkWindow *active_window = gtk_application_get_active_window (self); + GtkWidget *error_dialog; + g_autoptr (GError) error = NULL; - application = GTK_APPLICATION (user_data); - parent = gtk_application_get_active_window (application); + g_app_info_launch_default_for_uri ("help:gnome-logs", NULL, &error); - gtk_show_uri (parent, "help:gnome-logs", - GDK_CURRENT_TIME); + if (error != NULL) + { + error_dialog = adw_message_dialog_new (active_window, + _("Failed To Open Help"), + NULL); + adw_message_dialog_format_body (ADW_MESSAGE_DIALOG (error_dialog), + _("Failed to open the given help URI: %s"), + error->message); + adw_message_dialog_add_response (ADW_MESSAGE_DIALOG (error_dialog), + "close", _("_Close")); + adw_message_dialog_choose (ADW_MESSAGE_DIALOG (error_dialog), + NULL, NULL, NULL); + } } static void diff --git a/src/gl-window.c b/src/gl-window.c index 90db518..3c439cb 100644 --- a/src/gl-window.c +++ b/src/gl-window.c @@ -276,13 +276,27 @@ on_help_button_clicked (GlWindow *window, gpointer user_data) { GlWindowPrivate *priv; - GtkWindow *parent; + GtkWidget *error_dialog; + g_autoptr (GError) error = NULL; - parent = GTK_WINDOW (window); priv = gl_window_get_instance_private (GL_WINDOW (window)); - gtk_show_uri (parent, "help:gnome-logs/permissions", - GDK_CURRENT_TIME); + g_app_info_launch_default_for_uri ("help:gnome-logs/permissions", + NULL, &error); + + if (error != NULL) + { + error_dialog = adw_message_dialog_new (GTK_WINDOW (window), + _("Failed To Open Help"), + NULL); + adw_message_dialog_format_body (ADW_MESSAGE_DIALOG (error_dialog), + _("Failed to open the given help URI: %s"), + error->message); + adw_message_dialog_add_response (ADW_MESSAGE_DIALOG (error_dialog), + "close", _("_Close")); + adw_message_dialog_choose (ADW_MESSAGE_DIALOG (error_dialog), + NULL, NULL, NULL); + } gtk_widget_set_visible (priv->info_bar, FALSE); } |