[gnome-panel] clock: avoid deprecated gtk_show_uri



commit a43bf6daa42ff0fb0526dd9711ef9e318ac2e2cc
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Thu Jan 11 19:10:02 2018 +0200

    clock: avoid deprecated gtk_show_uri

 modules/clock/clock-applet.c |   64 ++++++++++++++++++++++++++++++++++++++-
 modules/clock/clock-utils.c  |   68 ------------------------------------------
 modules/clock/clock-utils.h  |    4 --
 3 files changed, 63 insertions(+), 73 deletions(-)
---
diff --git a/modules/clock/clock-applet.c b/modules/clock/clock-applet.c
index 20964fe..68aa969 100644
--- a/modules/clock/clock-applet.c
+++ b/modules/clock/clock-applet.c
@@ -1511,11 +1511,73 @@ prefs_hide_event (GtkWidget   *widget,
 }
 
 static void
+clock_utils_display_help (GtkWidget   *widget,
+                          const gchar *doc_id,
+                          const gchar *link_id,
+                          GtkWindow   *parent)
+{
+       GError *error = NULL;
+       char   *uri;
+
+       if (link_id)
+               uri = g_strdup_printf ("help:%s/%s", doc_id, link_id);
+       else
+               uri = g_strdup_printf ("help:%s", doc_id);
+
+       gtk_show_uri_on_window (parent, uri, gtk_get_current_event_time (), &error);
+       g_free (uri);
+
+       if (error &&
+           g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+               g_error_free (error);
+       else if (error) {
+               GtkWidget *dialog;
+               char      *primary;
+
+               primary = g_markup_printf_escaped (
+                               _("Could not display help document '%s'"),
+                               doc_id);
+               dialog = gtk_message_dialog_new (
+                               parent,
+                               GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
+                               GTK_MESSAGE_ERROR,
+                               GTK_BUTTONS_CLOSE,
+                               "%s", primary);
+
+               gtk_message_dialog_format_secondary_text (
+                                       GTK_MESSAGE_DIALOG (dialog),
+                                       "%s", error->message);
+
+               g_error_free (error);
+               g_free (primary);
+
+               g_signal_connect (dialog, "response",
+                                 G_CALLBACK (gtk_widget_destroy),
+                                 NULL);
+
+               gtk_window_set_icon_name (GTK_WINDOW (dialog), CLOCK_ICON);
+               gtk_window_set_screen (GTK_WINDOW (dialog),
+                                      gtk_widget_get_screen (widget));
+
+               if (parent == NULL) {
+                       /* we have no parent window */
+                       gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog),
+                                                         FALSE);
+                       gtk_window_set_title (GTK_WINDOW (dialog),
+                                             _("Error displaying help document"));
+               }
+
+               gtk_widget_show (dialog);
+       }
+}
+
+static void
 prefs_help (GtkWidget   *widget,
             ClockApplet *cd)
 {
        clock_utils_display_help (cd->prefs_window,
-                                 "clock", "clock-settings");
+                                 "clock", "clock-settings",
+                                 GTK_WINDOW (cd->prefs_window));
 }
 
 static void
diff --git a/modules/clock/clock-utils.c b/modules/clock/clock-utils.c
index f3416d8..84a78dc 100644
--- a/modules/clock/clock-utils.c
+++ b/modules/clock/clock-utils.c
@@ -55,71 +55,3 @@ clock_locale_format (void)
                G_DESKTOP_CLOCK_FORMAT_12H :
                G_DESKTOP_CLOCK_FORMAT_24H;
 }
-
-void
-clock_utils_display_help (GtkWidget  *widget,
-                         const char *doc_id,
-                         const char *link_id)
-{
-       GError *error = NULL;
-       char   *uri;
-
-       if (link_id)
-               uri = g_strdup_printf ("help:%s/%s", doc_id, link_id);
-       else
-               uri = g_strdup_printf ("help:%s", doc_id);
-
-       gtk_show_uri (gtk_widget_get_screen (widget), uri,
-                     gtk_get_current_event_time (), &error);
-
-       g_free (uri);
-
-       if (error &&
-           g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
-               g_error_free (error);
-       else if (error) {
-               GtkWidget *parent;
-               GtkWidget *dialog;
-               char      *primary;
-
-               if (GTK_IS_WINDOW (widget))
-                       parent = widget;
-               else
-                       parent = NULL;
-
-               primary = g_markup_printf_escaped (
-                               _("Could not display help document '%s'"),
-                               doc_id);
-               dialog = gtk_message_dialog_new (
-                               parent ? GTK_WINDOW (parent) : NULL,
-                               GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
-                               GTK_MESSAGE_ERROR,
-                               GTK_BUTTONS_CLOSE,
-                               "%s", primary);
-
-               gtk_message_dialog_format_secondary_text (
-                                       GTK_MESSAGE_DIALOG (dialog),
-                                       "%s", error->message);
-
-               g_error_free (error);
-               g_free (primary);
-
-               g_signal_connect (dialog, "response",
-                                 G_CALLBACK (gtk_widget_destroy),
-                                 NULL);
-
-               gtk_window_set_icon_name (GTK_WINDOW (dialog), CLOCK_ICON);
-               gtk_window_set_screen (GTK_WINDOW (dialog),
-                                      gtk_widget_get_screen (widget));
-
-               if (parent == NULL) {
-                       /* we have no parent window */
-                       gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog),
-                                                         FALSE);
-                       gtk_window_set_title (GTK_WINDOW (dialog),
-                                             _("Error displaying help document"));
-               }
-
-               gtk_widget_show (dialog);
-       }
-}
diff --git a/modules/clock/clock-utils.h b/modules/clock/clock-utils.h
index c008d51..b0c17c6 100644
--- a/modules/clock/clock-utils.h
+++ b/modules/clock/clock-utils.h
@@ -33,10 +33,6 @@ G_BEGIN_DECLS
 gboolean clock_locale_supports_am_pm (void);
 GDesktopClockFormat clock_locale_format (void);
 
-void clock_utils_display_help (GtkWidget  *widget,
-                              const char *doc_id,
-                              const char *link_id);
-
 G_END_DECLS
 
 #endif /* __CLOCK_UTILS_H__ */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]