[gnome-panel] menu: add gp_menu_utils_show_uri



commit 93f3eca9f01bf18743911db1e766c2a4a356f304
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Sun Feb 4 18:39:06 2018 +0200

    menu: add gp_menu_utils_show_uri

 modules/menu/gp-menu-utils.c |   27 +++++++++++++++++++++++++++
 modules/menu/gp-menu-utils.h |    5 +++++
 2 files changed, 32 insertions(+), 0 deletions(-)
---
diff --git a/modules/menu/gp-menu-utils.c b/modules/menu/gp-menu-utils.c
index cdaace2..8e038d9 100644
--- a/modules/menu/gp-menu-utils.c
+++ b/modules/menu/gp-menu-utils.c
@@ -324,6 +324,33 @@ gp_menu_utils_launch_app_info (GDesktopAppInfo *app_info)
   g_clear_error (&error);
 }
 
+void
+gp_menu_utils_show_uri (const gchar *uri,
+                        GtkWindow   *parent,
+                        guint32      timestamp)
+{
+  GError *error;
+  GtkWidget *dialog;
+
+  error = NULL;
+  if (gtk_show_uri_on_window (parent, uri, timestamp, &error))
+    return;
+
+  dialog = gtk_message_dialog_new (NULL, 0,
+                                   GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
+                                   _("Could not open location '%s'"),
+                                   uri);
+
+  if (error != NULL)
+    gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
+                                              "%s", error->message);
+
+  g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
+  gtk_window_present (GTK_WINDOW (dialog));
+
+  g_clear_error (&error);
+}
+
 GIcon *
 gp_menu_utils_get_icon_for_file (GFile *file)
 {
diff --git a/modules/menu/gp-menu-utils.h b/modules/menu/gp-menu-utils.h
index 987ff5f..fd68e6b 100644
--- a/modules/menu/gp-menu-utils.h
+++ b/modules/menu/gp-menu-utils.h
@@ -19,11 +19,16 @@
 #define GP_MENU_UTILS_H
 
 #include <gio/gdesktopappinfo.h>
+#include <gtk/gtk.h>
 
 G_BEGIN_DECLS
 
 void   gp_menu_utils_launch_app_info    (GDesktopAppInfo *app_info);
 
+void   gp_menu_utils_show_uri           (const gchar     *uri,
+                                         GtkWindow       *parent,
+                                         guint32          timestamp);
+
 GIcon *gp_menu_utils_get_icon_for_file  (GFile           *file);
 
 gchar *gp_menu_utils_get_label_for_file (GFile           *file);


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