Commit Graph

142 Commits

Author SHA1 Message Date
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
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +00:00
Alexander Larsson
c459feaab1 Fix build errors.
2006-05-12  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkrecentmanager.c:
	Fix build errors.

	* gtk/gtk.symbols:
	* demos/gtk-demo/printing.c:
	* gtk/gtkprintoperation-win32.c:
	* gtk/gtkprintoperation.[ch]:
	* gtk/gtkprintsettings.[ch]:
	* modules/printbackends/cups/gtkprintbackendcups.c:
	* modules/printbackends/lpr/gtkprintbackendlpr.c:
	* modules/printbackends/pdf/gtkprintbackendpdf.c:
	* tests/print-editor.c:
	* tests/testnouiprint.c:
	* tests/testprint.c:
	* tests/testprintfileoperation.c:
	Rename functions from nr_of_pages to n_pages, and num_copies to
	n_copies to match other gtk+ names.

	* gtk/gtkmenu.c: (gtk_menu_popdown):
	Only re-set window group on popdown if we set it on popup (i.e.
	if there is a parent menu shell).
	Fixed part of bug #340401

	* gtk/gtkwindow.c:
	Add (contruct) property "transient-for" to GtkWindow. This
	is needed for the fix to bug #340401.

	* gtk/gtkprintunixdialog.c:
	Use the transient-for property on construction and populate the dialog
	with widgets after that. This fixes bug #340401.
	More n_pages renames.
2006-05-12 09:47:58 +00:00
Emmanuele Bassi
f8cfd44ff8 Remove the error parameter to the gtk_recent_manager_add() and
2006-05-11  Emmanuele Bassi  <ebassi@cvs.gnome.org>

	* gtk/gtkrecentmanager.h: Remove the error parameter to the
	gtk_recent_manager_add() and gtk_recent_manager_add_full()
	functions; remove the unneeded error codes from the error
	enumeration.  (#336774).

	* gtk/gtkrecentmanager.c: Make gtk_recent_manager_add() and
	gtk_recent_manager_add_full() complain loudly about wrong or
	missing meta-data, instead of using a GError.  (#336774)
2006-05-12 08:37:07 +00:00
Francisco Javier F. Serrador
ed63dcb594 Corrected a typo.
2006-05-08  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* gtk/gtkrecentmanager.c (gtk_recent_manager_add_full): Corrected
	a typo.
2006-05-08 00:03:14 +00:00
Matthias Clasen
dcbe7f4719 Fix 336772 2006-04-16 03:55:07 +00:00
Emmanuele Bassi
82cda93923 Remove the unneeded setting of the storage file inside the constructor.
2006-04-11  Emmanuele Bassi  <ebassi@cvs.gnome.org>

	* gtk/gtkrecentmanager.c (gtk_recent_manager_init)
	(gtk_recent_manager_new): Remove the unneeded setting of the
	storage file inside the constructor. (Murray Cumming)
	(build_recent_items_list): Reset the dirty bit when done rebuilding
	the list from the storage file.
2006-04-11 21:04:15 +00:00
Matthias Clasen
8c8a4c89b8 No point in making the error path fast by caching quarks.
2006-04-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkrecentchooser.c (gtk_recent_chooser_error_quark):
        * gtk/gtkrecentmanager.c (gtk_recent_manager_error_quark):
        * gtk/gtkfilechooser.c (gtk_file_chooser_error_quark):
        * gtk/gtkfilesystem.c (gtk_file_system_error_quark):
        * gtk/gtkicontheme.c (gtk_icon_theme_error_quark): No point
        in making the error path fast by caching quarks.
2006-04-04 03:25:16 +00:00
Emmanuele Bassi
d86b57208f Build the items list after setting the storage file.
2006-04-02  Emmanuele Bassi  <ebassi@cvs.gnome.org>

	* gtk/gtkrecentmanager.c (gtk_recent_manager_set_filename): Build
	the items list after setting the storage file.

	* gtk/gtkrecentmanager.c (display_closed): Use the right string
	for unsetting the default manager object from the screen.
2006-04-02 21:33:43 +00:00
Behdad Esfahbod
103c3781a3 Convert filenames to UTF-8 before printing them out in warning messages.
2006-03-31  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/gtkrecentmanager.c: Convert filenames to UTF-8 before printing
        them out in warning messages. (#336770, Morten Welinder)
2006-04-01 04:48:31 +00:00
Behdad Esfahbod
5e3fbe78cc Update last_stamp inside the look. (#336771, Morten Welinder)
2006-03-31  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/gtkrecentmanager.c (gtk_recent_info_last_application): Update
        last_stamp inside the look. (#336771, Morten Welinder)
2006-04-01 00:44:55 +00:00
Matthias Clasen
e20b86320a Don't assert that the age is positive. (#336773, Morten Welinder)
2006-03-31  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkrecentmanager.c (gtk_recent_info_get_age): Don't
	assert that the age is positive.  (#336773, Morten Welinder)
2006-03-31 21:20:14 +00:00
Matthias Clasen
6205777cda Fix the doc comment format.
2006-03-30  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkrecentmanager.h (struct _GtkRecentData): Fix the doc
	comment format.

	* gtk/gtkrecentmanager.c (gtk_recent_manager_has_item)
	(gtk_recent_manager_purge_items, gtk_recent_manager_lookup_item)
	(gtk_recent_manager_get_limit, gtk_recent_manager_add_full)
	(gtk_recent_manager_get_items, gtk_recent_manager_remove_item):

	* gtk/gtkrecentfilter.c (gtk_recent_filter_add_age):
	* gtk/gtkrecentchooser.c (gtk_recent_chooser_set_show_numbers)
	(gtk_recent_chooser_set_sort_func):
	* gtk/gtknotebook.h (gtk_notebook_set_tab_detachable): Sync
	parameter names between .c and .h files to help gtk-doc.
2006-03-30 21:30:37 +00:00
Emmanuele Bassi
056f6db533 Import GtkRecent* from libegg.
2006-03-29  Emmanuele Bassi  <ebassi@cvs.gnome.org>

	Import GtkRecent* from libegg.

	* gtk/gtkrecentmanager.[ch]: Add GtkRecentManager, an object
	for managing a list of recently used resources.

	* gtk/gtkrecentchooser.[ch]:
	* gtk/gtkrecentchooserdefault.[ch]:
	* gtk/gtkrecentchooserdialog.[ch]:
	* gtk/gtkrecentchoosermenu.[ch]:
	* gtk/gtkrecentchooserprivate.h:
	* gtk/gtkrecentchooserutils.[ch]:
	* gtk/gtkrecentchooserwidget.[ch]: Add GtkRecentChooser, a
	GTypeInterface for widgets implementing viewers for recently
	used resources.

	* gtk/gtkrecentfilter.[ch]: GtkRecentFilter, a filter object
	for GtkRecentChooser implementations.

	* gtk/gtk.h:
	* gtk/gtk.symbols:
	* gtk/Makefile.am: Build glue for GtkRecent*.
2006-03-29 20:16:44 +00:00