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 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 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 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
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-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-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-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-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-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 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-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-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
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-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 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-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-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-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-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-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-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-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-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-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-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*.