Commit Graph

128 Commits

Author SHA1 Message Date
Chun-wei Fan
b5258d9d76 gio: Build the portal code only on *NIX
xdg-desktop-portal support is only usable on *NIX platforms, so don't build
them on non-*NIX platforms.  Also clean up gio/Makefile.am a bit to split out
the listings for the platform-specific sources from the platform-neutral
sources, and assemble them for the final list of sources required for libgio.

https://bugzilla.gnome.org/show_bug.cgi?id=768498
2016-07-13 10:43:05 +08:00
Cosimo Cecchi
62bd8f54bb appinfo: support opening files through document portal
In addition to URIs, we now also support opening files internal to the
sandboxed application through the document portal.
2016-07-11 18:20:48 -07:00
Chun-wei Fan
d896ad269e gio/gappinfo.c: Don't include unistd.h
Functions from unistd.h seems not to be used in commit 5b77a19, and
unistd.h is not universally available, so don't include it.
2016-07-11 15:18:09 +08:00
Matthias Clasen
5b77a19fe1 Add portal support to g_app_info_launch_default_for_uri
We need to patch in the portal support at a high enough
level that GAppInfo is not involved - a sandboxed app may
not be able to see any applications, so it can only launch
the defaults.

Note that even though the API is called launch_default...,
the portal may still offer the user to choose the application
to launch.

https://bugzilla.gnome.org/show_bug.cgi?id=768498
2016-07-07 23:47:36 -04:00
Christoph Reiter
9ec74d20a7 Partly revert "gio: Add filename type annotations"
Revert all annotation changes for environment variables and command line
arguments.

See commit f8189ddf98.
2016-06-07 19:50:03 +02:00
Christoph Reiter
f8189ddf98 gio: Add filename type annotations
https://bugzilla.gnome.org/show_bug.cgi?id=767245
2016-06-04 20:38:42 +02:00
Matthias Clasen
9acd0ddbf3 gio: Intern all signal names beforehand
This avoids pointless copying of static strings.
2015-09-12 11:13:45 -04:00
Ryan Lortie
720274511b GAppInfoMonitor: port to GContextSpecificGroup
https://bugzilla.gnome.org/show_bug.cgi?id=742599
2015-03-02 15:10:46 -05:00
Xavier Claessens
74c22150cf docs: fix up docs issues in gio/ 2015-02-05 16:20:43 +01:00
Volker Sobek
a0b932ac8b docs: Remove escaping '\' from literals
commit 35066ed6c6 replaced entities, but
escaped the replacement text also inside literals, which resulted in the
escaping '\' to also appear in the documentation.

https://bugzilla.gnome.org/show_bug.cgi?id=727320
2014-03-30 08:37:23 -04:00
Bastien Nocera
8792609e15 gio: Add names to idles and timeouts
This isn't too useful for some of the "return result in idle"
functions, but it's better than nothing.

https://bugzilla.gnome.org/show_bug.cgi?id=726872
2014-03-27 12:53:00 +01:00
William Jon McCann
20f4d1820b docs: use "Returns:" consistently
Instead of "Return value:".
2014-02-19 19:41:52 -05:00
Matthias Clasen
bc6ee788b4 docs: let go of *
Since we are no longer using sgml mode, using /* */ to
escape block comments inside examples does not work anymore.
Switch to using line comments with //
2014-02-14 21:33:36 -05:00
Matthias Clasen
35066ed6c6 Docs: Drop entities, switch away from sgml mode
Since all element markup is now gone from the doc comments,
we can turn off the gtk-doc sgml mode, which means that from
now on, docbook markup is no longer allowed in doc comments.

To make this possible, we have to replace all remaining
entities in doc comments by their replacement text, & -> &
and so on.
2014-02-09 02:07:26 -05:00
Matthias Clasen
3232425785 Docs: replace <literal> by ` 2014-02-06 08:07:16 -05:00
Matthias Clasen
cb588d4532 Convert external links to markdown syntax 2014-02-05 21:23:28 -05:00
Matthias Clasen
111803030d Don't use <envar> in docs
Switch to simpler markdown, `foo`.
2014-02-05 19:32:41 -05:00
Matthias Clasen
42cf80780b Docs: Big entity cleanup
Strip lots of entity use from |[ ]| examples (which are now
implicit CDATA). Also remove many redundant uses of <!-- -->.
2014-02-01 12:00:30 -05:00
Daniel Mustieles
078dbda148 Updated FSF's address 2014-01-31 14:31:55 +01:00
Ryan Lortie
bda60c3e8b GAppInfoMonitor: don't try to use NULL hash table
Don't g_hash_table_iter_init() on a NULL table if we see the app info
monitoring but no monitors have been created yet.

https://bugzilla.gnome.org/show_bug.cgi?id=711632
2013-11-07 13:56:56 -05:00
Ryan Lortie
e55d33edc1 Add GAppInfoMonitor
This is a simple object that emits a "change" signal when the installed
applications may have changed in some way.

https://bugzilla.gnome.org/show_bug.cgi?id=711556
2013-11-06 11:26:53 -05:00
Emmanuele Bassi
54cc43630d Rename the generated private data getter function
As it turns out, we have examples of internal functions called
type_name_get_private() in the wild (especially among older libraries),
so we need to use a name for the per-instance private data getter
function that hopefully won't conflict with anything.
2013-06-24 15:43:04 +01:00
Emmanuele Bassi
32747def4b gio: Use the new private instance data declaration
Use the newly added macros, and remove the explicit calls to
g_type_class_add_private().

https://bugzilla.gnome.org/show_bug.cgi?id=700035
2013-06-24 14:18:01 +01:00
Matthias Clasen
bace1822d7 GAppLaunchContext: make it possible ot get the effective startup id
gnome-session needs to know the startup id that was given to
a started app; this was not available via GAppLaunchContext.
This commit adds a ::launched signal to get this information.
At the same time, turn the launch_failed vfunc into a signal
as well.

https://bugzilla.gnome.org/show_bug.cgi?id=688497
2012-11-21 21:20:25 -05:00
Matthias Clasen
344066e0c1 Fix gio docs 2012-09-23 02:18:56 -04:00
Paolo Borelli
2d85894bc5 Fix gtk-doc for g_app_info_get_supported_types 2012-09-02 12:25:50 +02:00
Cosimo Cecchi
9bca5bb49f appinfo: fix annotations for g_app_info_launch and g_app_info_launch_uris
The files/uris parameters for these functions can be NULL, so we need an
allow-none annotation here.
2012-08-29 14:46:11 -04:00
Colin Walters
175864b83c gappinfo: Fix uninitialized-variable gcc warning 2012-05-26 11:53:14 -04:00
Dan Winship
555cd1923f g_app_info_launch_default_for_uri: don't use GFile if we don't have to
GFile doesn't handle some "real" URIs, so check if there's a default
handler for the URI scheme first, and only use g_file_new_for_uri()
and g_file_query_default_handler() if not. Eg, this fixes the case of
opening http URIs with "%2F" in the path.

https://bugzilla.gnome.org/show_bug.cgi?id=666386
2012-05-18 12:17:28 -04:00
Giovanni Campagna
0417ddab6f GAppInfo: add a mechanism to query supported content types
This essentially adds an accessor for the MimeType field in desktop files,
to retrieve the list of all mime types supported by an application.
The interface though is part of GAppInfo, so it could be implemented
in the future by other backends.

https://bugzilla.gnome.org/show_bug.cgi?id=674111
2012-05-16 12:42:12 +02:00
Dan Winship
de834bed30 GAppLaunchContext: add environment-manipulating functions
Add functions for manipulating the environment under which a
GAppLaunchContext will launch its children, to avoid thread-related
bugs with using setenv() directly.

FIXME: win32 side isn't implemented yet

https://bugzilla.gnome.org/show_bug.cgi?id=659326
2011-10-15 17:30:55 -04:00
Richard Hughes
8152e3f54e Fix the description for g_app_info_get_icon()
It can return NULL when there is no default icon.
2011-09-13 16:38:40 +01:00
Murray Cumming
bbe7eb09ec Docs: Fixed a typo. 2011-07-12 12:09:31 +02:00
Matthias Clasen
01f63b19f9 Fix links in gio docs 2011-06-04 18:48:19 -04:00
Pavel Holejsovsky
1f84c5b72f Add GI annotations to GAppInfo and GDesktopAppInfo 2010-12-27 15:40:07 +01:00
Cosimo Cecchi
678bcad92c appinfo: add g_app_info_set_as_last_used_for_type()
This commit also changes (maintaining compatibility) the way
user-specified default applications are stored (as in, those for which
g_app_info_set_as_default_for_type() has been called.

We now store the default application for a content type in a new group
in the mimeapps.list keyfile, and "Added Associations" tracks only the
applications that have been added by the user, following a
most-recently-used first order.

This is useful in GtkAppChooser-like widgets to pre-select the last used
application when constructing a widget.

https://bugzilla.gnome.org/show_bug.cgi?id=636311
2010-12-20 15:43:58 +01:00
Javier Jardón
ee94915d0b docs: gappinfo: Fix typo <envvar> -> <envar> 2010-11-24 18:47:09 +01:00
Matthias Clasen
b49ae16461 Various documentation fixes 2010-10-31 22:41:00 -04:00
Johan Dahlin
30132c44c1 Add a lot of missing annotations 2010-09-24 18:24:41 -03:00
Johan Dahlin
835f9cb310 [introspection] Move over annotations
Move all the annotations over from gobject-introspection.

They will not be used directly by the introspection scanner for now,
instead they will be extracted by a script and updated manually
until introspection is properly integrated into the glib build
2010-09-24 15:52:38 -03:00
Ryan Lortie
5b946e0504 gio/: fully remove gioalias hacks 2010-07-07 19:53:22 -04:00
Matthias Clasen
211210c1ce Fix a typo 2010-07-05 02:36:48 -04:00
Colin Walters
7c36619d26 [Gio] Merge in introspection annotations from gobject-introspection gio-2.0.c
This is not an exhaustive set, but covers everything we have so far.
2010-06-10 14:03:02 -04:00
Matthias Clasen
6427e93757 Merge the wip/gapplication branch
This adds a GApplication object to GIO, which is the core of
an application support class, supporting
- uniqueness
- exporting actions (simple scripting)
- standard actions (quit, activate)

The implementation for Linux uses D-Bus, takes a name on the
session bus, and exports a org.gtk.Application interface.

Implementations for Win32 and OS X are still missing.
2010-06-07 13:48:42 -04:00
Dan Winship
39cd766e8e Use G_DEFINE_INTERFACE in gio
Note: Since we export types with Iface in the name rather than
Interface we have to use some typedefs to make this work. New
interfaces should probably use Interface as the public name.
2009-12-01 10:44:42 +01:00
Vincent Untz
3257e8ebe4 Bug 600620 - Add g_app_info_get_display_name()
This new API can make use of X-GNOME-FullName in .desktop files, to have
the full name of applications.
2009-11-19 09:47:46 -06:00
Mart Raudsepp
c755a7fd11 gio: Fix some typos in G*AppInfo documentation 2009-09-22 11:22:44 +03:00
Matthias Clasen
a44f5f6aaa Add g_app_info_get_commandline. Requested by Hans Petter Jansson.
* gio.symbols:
        * gappinfo.[hc]: Add g_app_info_get_commandline. Requested
        by Hans Petter Jansson.

        * gdesktopappinfo.c: And implement it here.


svn path=/trunk/; revision=7706
2008-11-28 23:16:45 +00:00
Christian Dywan
b5321fe34c Fix a typo, s/detext/detect. Patch by Enrico Tröger.
2008-11-28  Christian Dywan  <christian@imendio.com>

	* gappinfo.c: Fix a typo, s/detext/detect. Patch by Enrico Tröger.

svn path=/trunk/; revision=7700
2008-11-28 09:43:10 +00:00
David Zeuthen
04f0742818 If possible, always pass FUSE file:// URIs (such as
2008-10-01  David Zeuthen  <davidz@redhat.com>

	* gdesktopappinfo.c (expand_macro): If possible, always pass FUSE
	file:// URIs (such as '/home/davidz/.gvfs/sftp on foo/file.avi')
	instead of the gio URI (such as sftp://foo/file.avi) when using
	g_app_info_launch() and friends. With a sufficiently recent gvfs,
	apps using gio+gvfs will map the FUSE file:// URI back to the gio
	URI (and thus bypass the fuse daemon) thanks the patch from bug
	#530654.  Since Nautilus is an user of g_app_info_launch() it
	means that non-gio POSIX apps, such as mplayer, will Just Work(tm)
	when launced via the file manager. Win. Fixes bug #528670.

	* gappinfo.c: Add some notes about the FUSE POSIX URI <-> GIO URI
	mapping to the description of GAppInfo.

2008-10-01  David Zeuthen  <davidz@redhat.com>

	* README.in: Add "Notes about glib 2.20" section detailing the
	ramifications of the patch from bug #528670.


svn path=/trunk/; revision=7566
2008-10-01 17:46:57 +00:00
Matthias Clasen
764e187fd9 Bug 545350 – GAppInfo deletion Bug 545351 – Reset associations for
2008-09-26  Matthias Clasen  <mclasen@redhat.com>

        Bug 545350 – GAppInfo deletion
        Bug 545351 – Reset associations for content type

        * gio.symbols:
        * gappinfo.[hc]: New functions g_app_info_can_delete,
        g_app_info_delete and g_app_info_reset_type_associations.

        * gdesktopappinfo.c:
        * gwin32appinfo.c: Implementations of these.

        * tests/Makefile.am:
        * tests/desktop-app-info.c: Tests for GAppInfo functionality.


svn path=/trunk/; revision=7554
2008-09-26 19:57:36 +00:00
Matthias Clasen
acb7f6449a 543504 – crash in Epiphany Web Browser: Opening local file
2008-07-19  Matthias Clasen  <mclasen@redhat.com>

        543504 – crash in Epiphany Web Browser: Opening local file

        * gappinfo.c:
        * gasyncresult.c:
        * gdesktopappinfo.c:
        * gdrive.c:
        * gfile.c:
        * gicon.c:
        * gloadableicon.c:
        * gmount.c:
        * gseekable.c:
        * gvolume.c: Register types thread-safely.
        Patch by Christian Persch


svn path=/trunk/; revision=7208
2008-07-20 00:34:58 +00:00
Matthias Clasen
532e476d62 More doc tweaks
svn path=/trunk/; revision=7167
2008-07-06 22:11:58 +00:00
Matthias Clasen
c7a067e211 Clarify some docs
svn path=/trunk/; revision=7162
2008-07-06 00:07:50 +00:00
Wouter Bolsterlee
952923ca11 Fix ulink in doc to make gtk-doc happy.
2008-07-02  Wouter Bolsterlee  <wbolster@svn.gnome.org>

	* gappinfo.c: Fix ulink in doc to make gtk-doc happy.


svn path=/trunk/; revision=7138
2008-07-02 13:17:23 +00:00
Johan Dahlin
761424465a Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch


svn path=/trunk/; revision=7092
2008-06-22 15:10:51 +00:00
Christian Persch
9c17697b56 Use g_set_error_literal where appropriate. Patch from bug #535947.
svn path=/trunk/; revision=7051
2008-06-16 16:53:58 +00:00
Matthias Clasen
f3144c7efe Doc fixes
svn path=/trunk/; revision=6554
2008-02-21 18:20:17 +00:00
Matthias Clasen
826d8c5b41 Documentation additions
svn path=/trunk/; revision=6492
2008-02-11 07:12:56 +00:00
Alexander Larsson
a7749bab36 Actually call the launch_uris method, not launch.
2008-02-01  Alexander Larsson  <alexl@redhat.com>

	* gappinfo.c (g_app_info_launch_uris):
	Actually call the launch_uris method, not
	launch.

2008-02-01  Alexander Larsson  <alexl@redhat.com>

	* gdesktopappinfo.c (g_desktop_app_info_equal):
	Ensure appinfos with no id but same pointer value
	compare equal



svn path=/trunk/; revision=6440
2008-02-01 12:02:52 +00:00
Alexander Larsson
d9b8be3b5c Don't leak appinfo.
2008-02-01  Alexander Larsson  <alexl@redhat.com>

	* gappinfo.c (g_app_info_launch_default_for_uri): 
	Don't leak appinfo.


svn path=/trunk/; revision=6439
2008-02-01 11:42:25 +00:00
Alexander Larsson
feb28ce3a7 Oops, fix last commit.
svn path=/trunk/; revision=6438
2008-02-01 11:30:37 +00:00
Alexander Larsson
a00c11f08a Add g_app_info_launch_default_for_uri utility function. (#513256)
2008-02-01  Alexander Larsson  <alexl@redhat.com>

        * gappinfo.[ch]:
        * gio.symbols:
        Add g_app_info_launch_default_for_uri utility
	function. (#513256)


svn path=/trunk/; revision=6437
2008-02-01 11:21:37 +00:00
Alexander Larsson
692e9086b4 Add doc comment about uris vs GFiles to g_app_info_launch()
2008-01-30  Alexander Larsson  <alexl@redhat.com>

        * gappinfo.c:
	Add doc comment about uris vs GFiles to
	g_app_info_launch()
	
        * gdesktopappinfo.c:
	Ensure uris passed to g_app_info_launch_uris()
	are not roundtriped through GFile (as that
	may be slightly destructive for e.g. mailto: links)



svn path=/trunk/; revision=6424
2008-01-30 11:27:02 +00:00
Murray Cumming
0108d39d02 Fixed some minor typos in the documentation.
2008-01-18  Murray Cumming  <murrayc@murrayc.com>

* gappinfo.c:
* gcancellable.c:
* gfile.c: Fixed some minor typos in the 
documentation. 

svn path=/trunk/; revision=6331
2008-01-18 09:41:09 +00:00
Murray Cumming
f0749cc896 Corrected some typos in the documentation: occured -> occurred. its ->
2008-01-16  Murray Cumming  <murrayc@murrayc.com>

* gappinfo.c:
* gdatainputstream.c:
* gfile.c:
* gfileoutputstream.c:
* ginputstream.c:
* gmount.c:
* goutputstream.c:
* gseekable.c:
* gunixmounts.c: Corrected some typos in the documentation:
occured -> occurred.
its -> it's (where appropriate).

svn path=/trunk/; revision=6322
2008-01-16 20:00:23 +00:00
Alexander Larsson
8af463f939 Add g_app_info_supports_files() Remove desktop arg from
2008-01-04  Alexander Larsson  <alexl@redhat.com>

        * gappinfo.[ch]:
        * gwin32appinfo.c:
        * gio.symbols:
	Add g_app_info_supports_files() 
        Remove desktop arg from g_app_info_should_show().
	
        * gdesktopappinfo.[ch]:
	Implement g_app_info_supports_files() and new should_show()
	Add g_desktop_app_info_set_desktop_env() to set the desktop
	for should_show(). (This will be set by gtk+ later)


svn path=/trunk/; revision=6242
2008-01-04 10:51:56 +00:00
Matthias Clasen
c009b04f42 Fix a cross-reference
svn path=/trunk/; revision=6217
2007-12-30 06:15:12 +00:00
Matthias Clasen
1daa618e05 Doc improvements
2007-12-22  Matthias Clasen  <mclasen@redhat.com>

        * gio/gappinfo.c: Doc improvements

        * gio/gdesktopappinfo.c (g_app_info_get_all): Return app infos,
        not ids.


svn path=/trunk/; revision=6188
2007-12-22 18:15:57 +00:00
Matthias Clasen
0debd52858 Fix up includes in section docs
svn path=/trunk/; revision=6149
2007-12-18 02:52:11 +00:00
Alexander Larsson
41d1650c9b Fix up a bunch of details in the docs.
2007-12-12  Alexander Larsson  <alexl@redhat.com>

        * gappinfo.[ch]:
        * gasyncresult.c:
        * gbufferedinputstream.c:
        * gbufferedoutputstream.c:
        * gcancellable.c:
        * gcontenttype.c:
        * gdatainputstream.[ch]:
        * gdesktopappinfo.c:
        * gdirectorymonitor.c:
        * gfile.[ch]:
        * gfileattribute.[ch]:
        * gfileicon.[ch]:
        * gfileinfo.h:
        * gfileinputstream.h:
        * gfilemonitor.[ch]:
        * gfileoutputstream.[ch]:
        * gfilterinputstream.h:
        * gfilteroutputstream.h:
        * gicon.h:
        * gioscheduler.c:
        * gloadableicon.[ch]:
        * gmemoryinputstream.c:
        * gmountoperation.c:
        * gthemedicon.c:
	Fix up a bunch of details in the docs.

        * glocalfileinfo.c:
	CR/LF -> LF fixups


svn path=/trunk/; revision=6100
2007-12-12 12:19:02 +00:00
Andrew Walton
0c867d3444 Fixes unknown meaning in GAppLaunchContext docs. Clarify asynchronous ops.
* gappinfo.c:
	  Fixes unknown meaning in GAppLaunchContext docs.
	* gfile.c:
	  Clarify asynchronous ops.
	* gfileattribute.c:
	  Fix entity tag docs.
	* gicon.c:
	* gthemedicon.c:
	  Provides missing gtk-doc section, fixes API docs slighly.
	* gsimpleasyncresult.c:
	  Fill in missing info in docs.
	* gunixinputstream.c:
	* gunixoutputstream.c:
	  Be more expressive in short description.
	* gunixvolume.c:
	  Remove gtk-doc stubs for non-public API.


svn path=/trunk/; revision=5994
2007-11-29 10:18:55 +00:00
Matthias Clasen
09471fec46 Coding style fixups
svn path=/trunk/; revision=5993
2007-11-29 07:17:59 +00:00
Alexander Larsson
7f3280230b Added. Added. Added. Added.
2007-11-28  Alexander Larsson  <alexl@redhat.com>

        * Makefile.am:
        * abicheck.sh: Added.
        * makegioalias.pl: Added.
        * pltcheck.sh: Added.
        * gio.symbols: Added.
	* *.c:
        * inotify/*.c
	Initial work on adding symbol handling.

	* gvfs.h:
	Correct ifdef guard name

        * fam/Makefile.am:
        * inotify/Makefile.am:
        * xdgmime/Makefile.am:
	Include toplevel Makefile.decl


svn path=/trunk/; revision=5972
2007-11-28 12:39:07 +00:00
Matthias Clasen
61582bd91c Another round of trivial doc fixes
svn path=/trunk/; revision=5970
2007-11-28 06:43:33 +00:00
Matthias Clasen
54e52e099e More trivial doc fixes
svn path=/trunk/; revision=5968
2007-11-28 06:01:13 +00:00
Andrew Walton
5247f12f36 Bumps documentation to 93% symbol coverage, touching most
of the public files. Fixes broken function documentation prototypes. 
	Fixes GCancellable inaccuracies. Removes unnecessary incomplete 
	gtk-doc headers in private files.

svn path=/trunk/; revision=5953
2007-11-27 14:00:13 +00:00
Alexander Larsson
3781343738 gio/ docs/reference/gio Merged gio-standalone into glib.
2007-11-26  Alexander Larsson  <alexl@redhat.com>

        * Makefile.am:
        * configure.in:
        * gio-2.0-uninstalled.pc.in:
        * gio-2.0.pc.in: 
        * gio-unix-2.0-uninstalled.pc.in:
        * gio-unix-2.0.pc.in:
	* gio/
	* docs/reference/gio
	Merged gio-standalone into glib.
	
        * glib/glibintl.h:
        * glib/gutils.c:
	Export glib_gettext so that gio can use it
	Add P_ (using same domain for now)
	Add I_ as g_intern_static_string


svn path=/trunk/; revision=5941
2007-11-26 16:13:05 +00:00