summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Davis <christopherdavis@gnome.org>2022-12-22 15:10:26 -0600
committerChristopher Davis <christopherdavis@gnome.org>2022-12-23 12:54:28 -0600
commitbed12335ed041317e9383e3512fb6f4da22ddaeb (patch)
tree793d860cfc0cb8e0e6d058cf5d11dc9b8f880c98
parent137353d3bc1e977f42711aec5f0d9964d5685ec4 (diff)
downloadgnome-logs-bed12335ed041317e9383e3512fb6f4da22ddaeb.tar.gz
general: Use g_app_info_launch_default_for_uri ()
gtk_show_uri () is deprecated.
-rw-r--r--src/gl-application.c24
-rw-r--r--src/gl-window.c22
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);
}