gtkshow: Prefer gtk_show_uri_on_window() which works for sandboxed apps

gtk_show_uri_on_window() will pass enough information for Portal helpers
to allow dialogue parenting in Flatpak, gtk_show_uri() won't, so
deprecate it.

https://bugzilla.gnome.org/show_bug.cgi?id=778678
This commit is contained in:
Bastien Nocera 2017-02-15 13:35:13 +01:00
parent 922156d05a
commit 22ea1a535e
2 changed files with 22 additions and 15 deletions

View File

@ -33,18 +33,13 @@
* @timestamp: a timestamp to prevent focus stealing * @timestamp: a timestamp to prevent focus stealing
* @error: a #GError that is returned in case of errors * @error: a #GError that is returned in case of errors
* *
* This is a convenience function for launching the default application * A convenience function for launching the default application
* to show the uri. The uri must be of a form understood by GIO (i.e. you * to show the uri. Like gtk_show_uri_on_window(), but takes a screen
* need to install gvfs to get support for uri schemes such as http:// * as transient parent instead of a window.
* or ftp://, as only local files are handled by GIO itself).
* Typical examples are
* - `file:///home/gnome/pict.jpg`
* - `http://www.gnome.org`
* - `mailto:me@gnome.org`
* *
* Ideally the timestamp is taken from the event triggering * Note that this function is deprecated as it does not pass the necessary
* the gtk_show_uri() call. If timestamp is not known you can take * information for helpers to parent their dialog properly, when run from
* %GDK_CURRENT_TIME. * sandboxed applications for example.
* *
* Returns: %TRUE on success, %FALSE on error * Returns: %TRUE on success, %FALSE on error
* *
@ -114,9 +109,21 @@ window_handle_exported (GtkWindow *window,
* @timestamp: a timestamp to prevent focus stealing * @timestamp: a timestamp to prevent focus stealing
* @error: a #GError that is returned in case of errors * @error: a #GError that is returned in case of errors
* *
* A convenience function for launching the default application * This is a convenience function for launching the default application
* to show the uri. Like gtk_show_uri(), but takes a window * to show the uri. The uri must be of a form understood by GIO (i.e. you
* as transient parent instead of a screen. * need to install gvfs to get support for uri schemes such as http://
* or ftp://, as only local files are handled by GIO itself).
* Typical examples are
* - `file:///home/gnome/pict.jpg`
* - `http://www.gnome.org`
* - `mailto:me@gnome.org`
*
* Ideally the timestamp is taken from the event triggering
* the gtk_show_uri() call. If timestamp is not known you can take
* %GDK_CURRENT_TIME.
*
* This is the recommended call to be used as it passes information
* necessary for sandbox helpers to parent their dialogs properly.
* *
* Returns: %TRUE on success, %FALSE on error * Returns: %TRUE on success, %FALSE on error
* *

View File

@ -29,7 +29,7 @@
G_BEGIN_DECLS G_BEGIN_DECLS
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_3_22_FOR(gtk_show_uri_on_window)
gboolean gtk_show_uri (GdkScreen *screen, gboolean gtk_show_uri (GdkScreen *screen,
const gchar *uri, const gchar *uri,
guint32 timestamp, guint32 timestamp,