Commit Graph

81 Commits

Author SHA1 Message Date
Colin Walters
f552689058 [GDesktopAppInfo] New function g_desktop_app_info_get_filename
This allows access to the full file path, where possible.

https://bugzilla.gnome.org/show_bug.cgi?id=612832
2010-03-14 15:45:46 -04:00
Matthias Clasen
b00c6d7fb5 Fix a memleak
An early exit in expand_application_parameters forgot to free
a GString. Reported by Steve Grubb.
2010-01-05 18:18:55 -05: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
Christian Dywan
77baa70eda Bug 600550 - (...) doesn't treat arguments properly
Add some additional checking to g_app_info_create_from_commandline to
make it handle strange inputs more elegantly.
2009-11-19 10:00:38 -06: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
Javier Jardón
00a331f970 Fix compilation warning: cast to (GCompareFunc) 2009-11-17 20:44:01 +01:00
Matthias Clasen
6555e0171d Fix mime_info_cache_dir_add_desktop_entries
This function tried to avoid adding duplicate entries, but failed
due to using the wrong search function. See bug 595972.
2009-09-29 20:52:26 -04:00
Mart Raudsepp
c755a7fd11 gio: Fix some typos in G*AppInfo documentation 2009-09-22 11:22:44 +03:00
Matthias Clasen
80fd5ed402 Don't evaluate an uninitialized value
Bug found by clang.
2009-09-07 02:50:51 -04:00
Benjamin Otte
3e3e3c2946 don't make strings const when they are not
gets rid of compiler warnings
2009-06-12 15:57:12 +02:00
Matthias Clasen
a402875de1 Fix an oversight in the previous commit
We don't want to unset DISPLAY etc, if none is specified in the
app launch context.
2009-06-11 12:41:16 -04:00
Matthias Clasen
d3d81f74c5 Make setting DISPLAY work
And remove a bunch of grotty code to manipulate an environment
array at the same time. Instead, simply call setenv in the child_setup
function.
2009-06-10 16:20:51 -04:00
Paul Pogonyshev
2fff3026ef Don't try to ref NULL pointer in g_desktop_app_info_dup()
Fixes bug #573246.
2009-05-05 22:16:59 +03:00
Alexander Larsson
896c3d1b2c Bug 561172 – gnome-open fails on local URIs with anchors
2009-03-03  Alexander Larsson  <alexl@redhat.com>

	Bug 561172 – gnome-open fails on local URIs with anchors

        * gdesktopappinfo.c:
	Don't force uris to filenames if the uri has an anchor, because
	that would strip the anchor.

        * glocalvfs.c:
	Strip anchor from file:// uris when creating GFile, since
	g_filename_from_uri doesn't handle them.



svn path=/trunk/; revision=7953
2009-03-03 19:02:16 +00:00
Alexander Larsson
fa558d00c3 Support desktop file key X-GIO-NoFuse which disables use of fuse pathnames
2009-02-26  Alexander Larsson  <alexl@redhat.com>

	* gdesktopappinfo.c:
	Support desktop file key X-GIO-NoFuse which disables
	use of fuse pathnames for %u and %U arguments.



svn path=/trunk/; revision=7914
2009-02-26 14:59:16 +00:00
Matthias Clasen
f548330275 Fix "it's" vs "its" confusion throughout the source. Patch by Will
* Fix "it's" vs "its" confusion throughout the source. Patch
        by Will Thompson.


svn path=/trunk/; revision=7897
2009-02-23 04:30:06 +00:00
Matthias Clasen
ce9729b2fb Expand docs
svn path=/trunk/; revision=7822
2009-01-19 22:58:38 +00:00
Matthias Clasen
2479abee27 Add a G_IO_ERROR_TOO_MANY_OPEN_FILES error code. Requested by Olivier
* gioenums.h: Add a G_IO_ERROR_TOO_MANY_OPEN_FILES error code.
        Requested by Olivier Sessink.

        * gioerror.c: Translate EMFILE to G_IO_ERROR_TOO_MANY_OPEN_FILES.

        * glocalfileenumerator.c: Translate G_FILE_ERROR_MFILE to
        G_IO_ERROR_TOO_MANY_OPEN_FILES.


svn path=/trunk/; revision=7782
2009-01-08 01:32:15 +00:00
Dan Winship
7943f976d4 cast a "char **" to "const char **" to avoid a warning.
* gdesktopappinfo.c (update_mimeapps_list): cast a "char **" to
	"const char **" to avoid a warning.

	* gemblem.c (g_emblem_from_tokens):
	* gemblemedicon.c (g_emblemed_icon_from_tokens):
	* xdgmime/xdgmime.c (xdg_mime_get_icon): remove unused
	variables

svn path=/trunk/; revision=7775
2009-01-05 16:57:55 +00:00
Matthias Clasen
782fe440ef Add notes about being UNIX-specific
svn path=/trunk/; revision=7756
2008-12-31 07:47:19 +00: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
Matthias Clasen
5e6aea1b2f Bug 559633 – gtk_image_new_from_gicon does not always work for .desktop
2008-11-28  Matthias Clasen  <mclasen@redhat.com>

        Bug 559633 – gtk_image_new_from_gicon does not always work for
        .desktop files

        * gdesktopappinfo.c (g_desktop_app_info_new_from_keyfile): Ignore
        extensions on icon names.  Proposed by Axel von Bertoldi.


svn path=/trunk/; revision=7698
2008-11-28 08:28:39 +00:00
Matthias Clasen
688b2e0ed2 Only allow deleting files that have been created by
* gdesktopappinfo.c (g_app_info_can_delete): Only allow deleting
        files that have been created by g_app_info_create_from_commandline.


svn path=/trunk/; revision=7693
2008-11-28 07:27:13 +00:00
Matthias Clasen
da2ee0c57f Fix docs
svn path=/trunk/; revision=7622
2008-10-24 03:52:02 +00:00
Alexander Larsson
6eb38fb4db When adding an application as handling a mime type (but not as the
2008-10-13  Alexander Larsson  <alexl@redhat.com>

        * gdesktopappinfo.c:
	When adding an application as handling a mime type (but
	not as the default), copy the full list of desktop ids handling
	that type in before adding the new one on the end of the list.
	This means we're not accidentally changing the default by overriding
	the info from the later directories in the search path.
	
	Also, fixes small leak of removed_entries.



svn path=/trunk/; revision=7595
2008-10-13 10:02:30 +00:00
Pascal Terjan
d8b489853c Bug 554970 – segfault when update-desktop-database is not available
2008-10-05  Pascal Terjan  <pterjan@linuxfr.org>

	Bug 554970 – segfault when update-desktop-database is not available
	on the system

	* gdesktopappinfo.c (run_update_command): Have the error set before 
	using it.


svn path=/trunk/; revision=7570
2008-10-05 00:33:43 +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
Dan Winship
5360907e9e add a cast to stop a gcc warning
* gdesktopappinfo.c (get_all_desktop_entries_for_mime_type): add a
	cast to stop a gcc warning

	* gfile.c (g_file_copy_attributes): add parens to stop a gcc
	warning

svn path=/trunk/; revision=7550
2008-09-26 16:00:17 +00:00
Matthias Clasen
130d8f010f Plug a memory leak
svn path=/trunk/; revision=7520
2008-09-21 00:00:18 +00:00
Wouter Bolsterlee
1d627b703f Fix trivial typo to unbreak the build (there was a colon instead of a
2008-09-16  Wouter Bolsterlee  <wbolster@svn.gnome.org>

	* gdesktopappinfo.c (g_desktop_app_info_new_from_keyfile):
	Fix trivial typo to unbreak the build (there was a colon
	instead of a semicolon at the end of a statement).


svn path=/trunk/; revision=7500
2008-09-16 09:13:19 +00:00
Matthias Clasen
cdded60e29 Ignore an empty Path value
svn path=/trunk/; revision=7492
2008-09-15 16:26:38 +00:00
Cosimo Cecchi
6e3f927901 Bug 551887 – Docs for g_desktop_app_info_new_from_filename () aren't
2008-09-14  Cosimo Cecchi  <cosimoc@gnome.org>

	Bug 551887 – Docs for g_desktop_app_info_new_from_filename ()
	aren't clear.

	* gdesktopappinfo.c: add a note in the docs clarifying what the
	"filename" parameter really is.

svn path=/trunk/; revision=7481
2008-09-13 23:47:41 +00:00
Matthias Clasen
3d5a13121d Remove debug spew
svn path=/trunk/; revision=7282
2008-08-01 21:18:02 +00:00
Matthias Clasen
b51d77011c Bug 545157 – wrong/no list of "open with" applications for .cc and .cpp
2008-07-28  Matthias Clasen  <mclasen@redhat.com>

        Bug 545157 – wrong/no list of "open with" applications for .cc and
        .cpp files

        * gdesktopappinfo.c (get_all_desktop_entries_for_mime_type):
        Collect all ancestors, not just direct parents. Pointed
        out by Bastien Nocera


svn path=/trunk/; revision=7268
2008-07-28 18:58:34 +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
548b2bd02b Fix a stupid crash
svn path=/trunk/; revision=7155
2008-07-03 22:57:55 +00:00
Matthias Clasen
9d82224015 Add a function to create a GDesktopAppInfo from a GKeyFile. Proposed by
* gio.symbols:
        * gdesktopappinfo.[hc]: Add a function to create a
        GDesktopAppInfo from a GKeyFile. Proposed by Josselin Mouette.


svn path=/trunk/; revision=7143
2008-07-02 16:23:23 +00:00
Cody Russell
3d93bf6968 Moved all relevant typedefs into these files.
2008-07-01  Cody Russell  <bratsche@gnome.org>

        * gio/gioenums.h:
        * gio/giotypes.h:
	Moved all relevant typedefs into these	files.

        * gio/*.[ch]:
	Updated wrt added files.

        Split types into separate file	for easier maintainership. (#538564)


svn path=/trunk/; revision=7127
2008-07-01 06:32:35 +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
Michael Meeks
8e964bf99a tolerate an empty TryExec= line without failing; nautilus used to create
2008-04-16  Michael Meeks  <michael.meeks@novell.com>

        * gdesktopappinfo.c (g_desktop_app_info_new_from_filename): 
        tolerate an empty TryExec= line without failing; nautilus used
        to create launchers with these in previous versions. Fixes #528433


svn path=/trunk/; revision=6853
2008-04-16 16:48:23 +00:00
Padraig O'Briain
105dc15a03 In g_app_info_create_from_commandline set comment after name. Fixes
2008-04-09  Padraig O'Briain  <padraig.obriain@sun.com>

	* gdesktopappinfo.c: In g_app_info_create_from_commandline set comment
	after name. Fixes #527132.


svn path=/trunk/; revision=6844
2008-04-09 14:53:05 +00:00
Alexander Larsson
5241d96b21 Fix sparse warnings (#519489)
2008-03-06  Alexander Larsson  <alexl@redhat.com>

        * gdesktopappinfo.c:
        * gfilemonitor.c:
        * gthemedicon.c:
        * gunionvolumemonitor.c:
        * gunixmounts.c:
        * tests/g-file.c:
        * tests/live-g-file.c:
        * xdgmime/xdgmimecache.c:
	Fix sparse warnings (#519489)


svn path=/trunk/; revision=6632
2008-03-06 09:53:35 +00:00
Alexander Larsson
d07d500f0a Minor docs cleanup
2008-02-11  Alexander Larsson  <alexl@redhat.com>

        * gdesktopappinfo.c:
	Minor docs cleanup


svn path=/trunk/; revision=6495
2008-02-11 08:47:17 +00:00
Matthias Clasen
826d8c5b41 Documentation additions
svn path=/trunk/; revision=6492
2008-02-11 07:12:56 +00:00
Christian Persch
37ac644bd1 Save errno before calling other funcs that potentially alter it. Bug
* gio/gdesktopappinfo.c: (ensure_dir):
	* gio/glocalfile.c: (g_local_file_query_filesystem_info),
	(g_local_file_read), (g_local_file_delete), (g_local_file_trash),
	(g_local_file_move):
	* gio/glocalfileinfo.c: (set_xattr), (_g_local_file_info_get),
	(_g_local_file_info_get_from_fd), (set_unix_mode),
	(set_unix_uid_gid), (set_symlink), (set_mtime_atime):
	* gio/glocalfileinputstream.c: (g_local_file_input_stream_read),
	(g_local_file_input_stream_skip),
	(g_local_file_input_stream_close),
	(g_local_file_input_stream_seek):
	* gio/glocalfileoutputstream.c:
	(g_local_file_output_stream_write),
	(g_local_file_output_stream_close),
	(g_local_file_output_stream_seek),
	(g_local_file_output_stream_truncate), (copy_file_data),
	(handle_overwrite_open):
	* gio/gunixinputstream.c: (g_unix_input_stream_read),
	(g_unix_input_stream_close), (read_async_cb), (close_async_cb):
	* gio/gunixoutputstream.c: (g_unix_output_stream_write),
	(g_unix_output_stream_close), (write_async_cb), (close_async_cb):
	Save
	errno before calling other funcs that potentially alter it. Bug
	#514766.

svn path=/trunk/; revision=6466
2008-02-06 15:10:08 +00:00
Alexander Larsson
b4a7d48aad Update to use both mimeapps.list and defaults.list as discussed on xdg
2008-02-06  Alexander Larsson  <alexl@redhat.com>

	* gdesktopappinfo.c:
	Update to use both mimeapps.list and
	defaults.list as discussed on xdg list.



svn path=/trunk/; revision=6461
2008-02-06 10:57:27 +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
Cosimo Cecchi
cebfe57343 Doc fix for g_app_info_get_default_for_uri_scheme () Bug #513483.
2008-02-01  Cosimo Cecchi  <cosimoc@svn.gnome.org>

	* gdesktopappinfo.c:
	Doc fix for g_app_info_get_default_for_uri_scheme ()
	Bug #513483.

svn path=/trunk/; revision=6436
2008-02-01 11:21:01 +00:00