Commit Graph

63 Commits

Author SHA1 Message Date
Martin Pitt
e48f5b4073 Backport a lot of GI transfer annotations
This dramatically improves using GTK2 with g-i.

Taken from master commit e0aa12eb0a without the non-documentation changes.
2011-01-10 14:43:00 -06:00
Emmanuele Bassi
7825f01b2f recent-manager: Add migration to the new storage file location
The recently-used.xbel file location has been moved from $HOME to
$XDG_DATA_DIR, to be compliant with the desktop bookmark specification
and with other desktop environments following it.

The effective change was done in gtk+-3, but we need a migration path
for gtk+-2.

The possible cases are:

  • the old file is not present, so we just switch to the new one;
  • the old file is present, but the new one is not; in this case
    we rename the old file to the new one.
  • both the old file and the new file are present; in this case,
    we try a simple merge of the contents and remove the old file.

The merge is the (obviously) more expensive option, but it should only
happen once.

https://bugzilla.gnome.org/show_bug.cgi?id=633242
2010-10-31 14:30:59 +00:00
Emmanuele Bassi
81321b7d55 docs: Fix GtkRecentManager:limit annotation
Fix a typo in the name that prevented cross-linking, and remove the
redundant deprecation text (which is added by gtk-doc by default).
2010-07-15 09:55:49 +01:00
Javier Jardón
838dfd50ac Deprecate GtkRecenManager::limit property
The :limit property of GtkRecentManager does not serve any useful
purpose: the length of the list should be managed by the view
(implementing GtkRecentChooser), and not by the model (the recent
manager).

https://bugzilla.gnome.org/show_bug.cgi?id=624333
2010-07-15 02:50:49 +02:00
Johan Dahlin
fe85272112 [annotations] Add allow-none
This commit was created using a script that searched for all docstrings
containing a parameter and the string 'or %NULL'.
Gdk backends and demos excluded as they are not part of a public API

https://bugzilla.gnome.org/show_bug.cgi?id=610474
2010-02-19 17:57:51 -02:00
Colin Walters
6529c07614 [introspection] Merge in Gtk-custom.c annotations
The Gtk-custom.c file in gir-repository contained a number of
introspection annotations.  Merge those into the GTK source files.

Some documentation was moved from the tmpl/ files to accomodate
the addition of annotations.
2009-12-16 17:22:01 -02:00
Matthias Clasen
362127c33c Fix the docs for gtk_recent_info_get_application_info()
The documentation for the function says that the app_exec string
should be freed, but we return a pointer to the internal string
without duplicating it. Since the app_exec string is valid as long
as the GtkRecentInfo is valid the documentation should be fixed
and the out argument should be constified. Fixes #584832.
2009-06-15 18:25:04 -04:00
Emmanuele Bassi
66459b2502 Bug 545031 – list of recently used files is created world-readable
2008-08-07  Emmanuele Bassi  <ebassi@gnome.org>

	Bug 545031 – list of recently used files is created world-readable

	* gtk/gtkrecentmanager.c:
	(gtk_recent_manager_real_changed): Set the recently-used.xbel
	file to 0600. (Guido Berhoerster)

svn path=/trunk/; revision=21028
2008-08-07 00:54:01 +00:00
Emmanuele Bassi
1db0192042 Use GSlice to allocate the application data for recently used resources;
2008-07-21  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c:
	(recent_app_info_new), (recent_app_info_free): Use GSlice to
	allocate the application data for recently used resources;
	do not call time() to initialize the timestamp, as it will
	be overwritten anyway later. (#535223, Michael Meeks)

svn path=/trunk/; revision=20884
2008-07-21 13:37:15 +00:00
Cody Russell
57223c9a05 Revert name change
svn path=/trunk/; revision=20724
2008-07-01 22:57:50 +00:00
Cody Russell
fce9c8b7d4 Practically everything changed.
2008-06-30  Cody Russell  <bratsche@gnome.org>

        * Practically everything changed.

        Change	all references	of GIMP	Toolkit	(and variations	of it)
        to GTK+	Toolkit, showing no mercy at all to our	beloved
	ancestry. (#540529)


svn path=/trunk/; revision=20709
2008-06-30 23:01:56 +00:00
Carlos Garnacho
b3bb8c47b5 Fix two potential critical warnings. Bug #539470.
2008-06-27  Carlos Garnacho  <carlos@imendio.com>

        * gtk/gtkrecentmanager.c (get_icon_for_mime_type): Fix two potential
        critical warnings. Bug #539470.

svn path=/trunk/; revision=20696
2008-06-27 15:33:42 +00:00
Matthias Clasen
e1c47e2ee0 Use GIO for this.
* gtk/gtkrecentmanager.c (get_icon_for_mime_type): Use GIO
        for this.

svn path=/trunk/; revision=20472
2008-06-19 19:04:22 +00:00
Emmanuele Bassi
21284ce95f Fix dumb typo in the previous commit.
2008-06-17  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c:
	(gtk_recent_manager_remove_item): Fix dumb typo in the previous
	commit.

svn path=/trunk/; revision=20425
2008-06-17 13:46:48 +00:00
Emmanuele Bassi
8bab0d7d03 Increase the consistency of the errors returned by GtkRecentManager.
2008-06-17  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c:
	(gtk_recent_manager_remove_item),
	(gtk_recent_manager_move_item): Increase the consistency of the
	errors returned by GtkRecentManager. (Paolo Borelli)

svn path=/trunk/; revision=20424
2008-06-17 13:42:53 +00:00
Emmanuele Bassi
88c469420d Consistently use the same error when removing a URI from an empty
2008-06-17  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c:
	(gtk_recent_manager_remove_item): Consistently use the same
	error when removing a URI from an empty GtkRecentManager.

svn path=/trunk/; revision=20422
2008-06-17 13:15:45 +00:00
Matthias Clasen
e0ca75c120 Replace uses of xdgmime with g_content_type.
2008-06-08  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkrecentmanager.c:
        * gtk/gtkrecentfilter.c:
        * gtk/gtkfilefilter.c: Replace uses of xdgmime with
        g_content_type.


svn path=/trunk/; revision=20332
2008-06-08 05:50:46 +00:00
Emmanuele Bassi
c515ec92e8 Bug 535830 – wrong content type adding an item
2008-05-31  Emmanuele Bassi  <ebassi@gnome.org>

	Bug 535830 – wrong content type adding an item

	* gtk/gtkrecentmanager.c:
	(gtk_recent_manager_add_item_query_info): Use the correct API
	for retrieving the fast MIME type of a URI. (Carlos Garcia
	Campos)

svn path=/trunk/; revision=20262
2008-05-31 18:52:50 +00:00
Emmanuele Bassi
6d683653db Keep the default storage file in $HOME, as we don't have a migration code
2008-04-18  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c:
	(gtk_recent_manager_set_filename): Keep the default storage
	file in $HOME, as we don't have a migration code in place yet.

svn path=/trunk/; revision=20020
2008-04-18 13:25:49 +00:00
Michael Natterer
60b839bda8 g_strfreev() the uris returned by g_bookmark_file_get_uris().
2008-04-18  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkrecentmanager.c (gtk_recent_manager_clamp_to_age):
	g_strfreev() the uris returned by g_bookmark_file_get_uris().


svn path=/trunk/; revision=20019
2008-04-18 13:05:56 +00:00
Emmanuele Bassi
7b93b76efa Fix last commit, and complete the gtk-recent-files-max-age semantics: if
2008-04-15  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c:
	(gtk_recent_manager_real_changed): Fix last commit, and
	complete the gtk-recent-files-max-age semantics: if the
	property is set to 0 then purge the list.

svn path=/trunk/; revision=20007
2008-04-15 22:46:15 +00:00
Emmanuele Bassi
beb54a9b39 Bug 488507 – boundless growth of .recently-used.xbel file slows down
2008-04-15  Emmanuele Bassi  <ebassi@gnome.org>

	Bug 488507 – boundless growth of .recently-used.xbel file
	slows down applications

	* gtk/gtkrecentmanager.c:
	(gtk_recent_manager_init),
	(gtk_recent_manager_real_changed),
	(gtk_recent_manager_set_filename),
	(gtk_recent_manager_clamp_to_age): Clamp the recently
	used resources list by the age of its items, using
	the newly added GtkSettings property.

	* gtk/gtksettings.c (gtk_settings_class_init): Add the
	gtk-recent-files-max-age property, controlling the
	maximum age of the items in the recently used resources
	list.

svn path=/trunk/; revision=20006
2008-04-15 22:37:32 +00:00
Emmanuele Bassi
c31e252030 Emit the ::changed signal at the end of the asynchronous MIME type query.
2008-04-15  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c:
	(gtk_recent_manager_add_item_query_info),
	(gtk_recent_manager_add_item): Emit the ::changed signal
	at the end of the asynchronous MIME type query.

svn path=/trunk/; revision=20005
2008-04-15 22:31:01 +00:00
Emmanuele Bassi
afdb3f5a39 Bug 487375 – gtkrecent apps poll ~/.recently-used.xbel every 5 seconds
2008-04-15  Emmanuele Bassi  <ebassi@gnome.org>

	Bug 487375 – gtkrecent apps poll ~/.recently-used.xbel
	every 5 seconds

	* gtk/gtkrecentmanager.c: Use GFileMonitor to check for
	changes in the recently used resources storage file, and
	drop the timeout-based poll.

	* ChangeLog: Fix attribution of the patch of the previous
	commit.

svn path=/trunk/; revision=20004
2008-04-15 22:22:44 +00:00
Emmanuele Bassi
9b2656f793 Bug 506062 – gtk_recent_manager_add_item does not detect mime type on
2008-04-15  Emmanuele Bassi  <ebassi@gnome.org>

	Bug 506062 – gtk_recent_manager_add_item does not detect mime
	type on Windows

	* configure.in: Depend on gio-2.0

	* gtk/gtkrecentmanager.c:
	(gtk_recent_manager_add_item_query_info_cb),
	(gtk_recent_manager_add_item): Use GIO to (asynchronously) query
	the MIME type of the passed URI.

svn path=/trunk/; revision=20003
2008-04-15 22:00:17 +00:00
Emmanuele Bassi
3ca1e0cd2d Document that you need to unref the returned GdkPixbuf. (#484132,
2007-10-10  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c (gtk_recent_info_get_icon): Document
	that you need to unref the returned GdkPixbuf. (#484132,
	Christian Persch)

	(build_recent_info): Use g_slist_prepend() when building
	the applications list.

svn path=/trunk/; revision=18904
2007-10-10 09:31:36 +00:00
Emmanuele Bassi
ba56e7dd57 Remove the stat() time barrier, as it seems to cause bug #463907 (thanks
2007-09-03  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c
	(gtk_recent_manager_poll_timeout): Remove the stat() time barrier,
	as it seems to cause bug #463907 (thanks to Sebastien Bacher).

svn path=/trunk/; revision=18713
2007-09-03 09:49:59 +00:00
Matthias Clasen
13277b42e2 Apply a patch by Emmanuele Bassi to limit the number of shown recent
2007-07-20  Matthias Clasen  <mclasen@redhat.com>

        Apply a patch by Emmanuele Bassi to limit the number
        of shown recent files.  (#439715)

        * gtk/gtksettings.c: Add a setting for the number
        of recent files to display by default.

        * gtk/gtkrecentchooserdefault.c:
        * gtk/gtkfilechooserdefault.c: Respect the limit.

        * gtk/gtkrecentmanager.c: Remove the poll timeout in
        dispose, and do not stat more often than every 5 seconds.

        * gtk/gtkrecentchooserutils.c:
        * gtk/gtkrecentchoosermenu.c: Cleanups

        * tests/testrecentchoosermenu.c: Test limits.


svn path=/trunk/; revision=18510
2007-07-20 10:39:03 +00:00
Matthias Clasen
a6f92ce4b0 Avoid gratitious use of g_strdup_printf().
2007-07-13  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkrecentmanager.c (get_uri_shortname_for_display): Avoid
        gratitious use of g_strdup_printf().

        * gtk/gtkrecentchooserdefault.c:
        * gtk/gtkrecentchoosermenu.c: Mark some strings for
        translation.  (#439480, Murray Cumming)



svn path=/trunk/; revision=18465
2007-07-13 16:34:05 +00:00
Matthias Clasen
eac947deea Fix doc formatting
svn path=/trunk/; revision=18430
2007-07-10 05:40:05 +00:00
Emmanuele Bassi
612d8729a2 Do not cache the icon pixbufs but rely on the GtkIconTheme not to hit the
2007-06-29  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c (get_icon_for_mime_type): Do not
	cache the icon pixbufs but rely on the GtkIconTheme not to
	hit the disk cache too much (should tentatively fix #426987).

svn path=/trunk/; revision=18288
2007-06-29 14:51:13 +00:00
Emmanuele Bassi
970988756e building a GtkRecentInfo can never fail.
2007-06-25  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c:
	(build_recent_info): building a GtkRecentInfo can never fail.

	(gtk_recent_manager_get_items): Clamp the list while building
	it so we don't need to traverse it more than once. (#446532,
	Philip Withnall)

svn path=/trunk/; revision=18228
2007-06-25 16:15:21 +00:00
Emmanuele Bassi
ca0ad88892 Use g_timeout_add_seconds_full() for the timed poll of the storage file,
2007-06-19  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c: Use g_timeout_add_seconds_full() for
	the timed poll of the storage file, since we are using multiple
	seconds intervals and we don't actually care about millisecond
	precision.

	(threads_dispatch), (threads_free), (gtk_recent_manager_init),
	(gtk_recent_manager_set_filename): Roll our own version of
	gdk_threads_add_timeout() using g_timeout_add_seconds_full()
	while holding the GDK main lock.

svn path=/trunk/; revision=18185
2007-06-19 10:59:37 +00:00
Emmanuele Bassi
232e79a6d7 Use a static variable to hold the singleton and remove the code that binds
2007-06-19  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c: Use a static variable to hold the
	singleton and remove the code that binds a recent manager to
	a GdkScreen.

	(gtk_recent_manager_set_screen): Make it a NOOP.
	(gtk_recent_manager_get_for_screen): Proxy for
	gtk_recent_manager_get_default().

	* gtk/gtk.symbols:
	* gtk/gtkrecentmanager.h: Deprecate gtk_recent_manager_set_screen()
	and gtk_recent_manager_get_for_screen().

	* gtk/gtkmain.c: Force a synchronisation of the GtkRecentManager
	singleton (if any) when reaching main loop depth of 0.

	* gtk/gtkrecentchooserdefault.c:
	(gtk_recent_chooser_default_dispose): Disconnect the changed
	signal only if we have a manager and we are connected to it.

	(set_recent_manager): Ditto.

	* README.in: Document the deprecations.

svn path=/trunk/; revision=18184
2007-06-19 10:29:55 +00:00
Emmanuele Bassi
130541af8d Return GTK_STOCK_DIRECTORY for entries with MIME type
2007-05-09  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c:
	(gtk_recent_info_get_icon): Return GTK_STOCK_DIRECTORY for entries
	with MIME type "x-directory/normal", instead of GTK_STOCK_FILE.

svn path=/trunk/; revision=17804
2007-05-09 10:59:15 +00:00
Matthias Clasen
2824f4597d Internalize some strings, pointed out by Damon Chaplin.
2007-04-27  Matthias Clasen  <mclasen@redhat.com>

        * gtkassistant.c:
        * gtkiconfactory.c:
        * gtkiconview.c:
        * gtkpapersize.c:
        * gtkrecentmanager.c:
        * gtktextiter.c: Internalize some strings, pointed out
        by Damon Chaplin.



svn path=/trunk/; revision=17661
2007-04-27 23:10:38 +00:00
Emmanuele Bassi
b235fff0bf Fix a leak by not increasing the refcount of the GtkRecentInfo object when
2007-04-18  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c (gtk_recent_manager_lookup_item): Fix
	a leak by not increasing the refcount of the GtkRecentInfo
	object when returning it (thanks to Matthias Clasen).

svn path=/trunk/; revision=17606
2007-04-18 14:37:49 +00:00
Emmanuele Bassi
51aba36991 Remove unused GError; do not allocate GtkRecentData and use a variable on
2007-03-15  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c (gtk_recent_manager_add_item): Remove
	unused GError; do not allocate GtkRecentData and use a variable
	on the stack. (#418673, Morten Welinder)

svn path=/trunk/; revision=17525
2007-03-15 19:58:00 +00:00
Emmanuele Bassi
ef9ffb8751 Fix documentation errors. (Morten Welinder)
2007-03-15  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c: Fix documentation errors. (Morten
	Welinder)

svn path=/trunk/; revision=17519
2007-03-15 17:13:28 +00:00
Matthias Clasen
82ce59cd0f Remove unnecessary NULL checks before g_free(). (#369666, Morten Welinder,
2007-03-09  Matthias Clasen <mclasen@redhat.com>

        * Everywhere: Remove unnecessary NULL checks before
        g_free().  (#369666, Morten Welinder, Djihed Afifi)

        * configure.in: Check for ftw.h



svn path=/trunk/; revision=17444
2007-03-09 21:57:37 +00:00
Bastien Nocera
5a64bf97e1 Fix typo (s/expansive/expensive) (#389183)
2006-12-24  Bastien Nocera  <hadess@hadess.net>

	* gtk/gtkrecentmanager.c: Fix typo (s/expansive/expensive)
	(#389183)
2006-12-24 15:57:01 +00:00
Matthias Clasen
721c3bc101 Replace a lot of idle and timeout calls by the new gdk_threads api.
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * *.c: Replace a lot of idle and timeout calls by
        the new gdk_threads api.
2006-12-22 19:10:43 +00:00
Emmanuele Bassi
bf68a296f8 g_filename_from_uri() might fail; catch the failure and fall back to the
2006-11-21  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c:
	(get_uri_shortname_for_display): g_filename_from_uri() might
	fail; catch the failure and fall back to the non-local URI
	case. (#363437)
2006-11-22 09:12:49 +00:00
Emmanuele Bassi
af6b361d6b Return the URI of the GtkRecentInfo object (upgraded to UTF-8 if needed)
2006-11-16  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c:
	(gtk_recent_info_get_uri_display): Return the URI
	of the GtkRecentInfo object (upgraded to UTF-8 if
	needed) in case of non-local file. (#351945)
2006-11-16 11:12:12 +00:00
Emmanuele Bassi
cbf6d898fb Provide a fast path returning NULL when the limit is set to 0.
2006-11-16  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c: Provide a fast path returning
	NULL when the limit is set to 0.

	* gtk/gtkrecentchooserdefault.c:
	* gtk/gtkrecentchoosermenu.c: Add the same fast path
	inside the RecentChooser implementation; add a check
	in the list clamping code. (#373466 and duplicates)
2006-11-16 09:57:45 +00:00
Matthias Clasen
a2cb34336a fix recent files issues 2006-08-18 15:30:57 +00:00
Matthias Clasen
e1bace1c9e Add since tags 2006-08-16 03:42:23 +00:00
Emmanuele Bassi
770599e349 Add the timeout for polling the file; change the default polling delta to
2006-07-28  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c (gtk_recent_manager_init): Add the
	timeout for polling the file; change the default polling
	delta to 2000 msec.
2006-07-28 20:37:58 +00:00
Emmanuele Bassi
caf6c4196d Fix a typo (spotted by Paolo Borelli and coverity).
2006-06-02  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c
	(gtk_recent_info_get_application_info): Fix a typo (spotted by
	Paolo Borelli and coverity).
2006-06-02 11:45:58 +00:00
Emmanuele Bassi
4636fa7efe Don't mask "time" with the "time" argument.
2006-05-22  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.h:
	* gtk/gtkrecentmanager.c
	(gtk_recent_info_get_application_info): Don't mask "time" with
	the "time" argument.
2006-05-22 17:02:54 +00:00