2005-10-27	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Add optional check for libstartup-notification-1.0.
	* thunar-vfs/thunar-vfs-exec.{c,h}, thunar-vfs/Makefile.am: Add optional
	  support for startup notification.
	* thunar-vfs/thunar-vfs-info.c,
	  thunar-vfs/thunar-vfs-mime-application.c: Use the thunar-vfs-exec
	  module.
	* thunar-vfs/thunar-vfs-transfer-job.c: Don't include
	  thunar-vfs-sysdep.h anymore.
	* po/POTFILES.in: Remove thunar-vfs-sysdep and add thunar-vfs-exec.

2005-10-22	Benedikt Meurer <benny@xfce.org>

	* thunarx/thunarx-config.c: Fix typo.
	* thunar-vfs/thunar-vfs-config.{c,h.in}, thunar-vfs/Makefile.am,
	  thunar-vfs/thunar-vfs.symbols, thunar-vfs/abicheck.sh,
	  thunar-vfs/thunar-vfs.h, configure.in.in: Add support for version
	  checking to the Thunar-VFS library.
	* thunar-vfs/*.[ch], thunar-vfs/Makefile.am,
	  thunar-vfs/thunar-vfs.symbols: Replace ThunarVfsURI with ThunarVfsPath
	  for the first version and thereby limit the functionality to local
	  files, which in turn means there's no trash and no computer folder.
	  This will increase the chance that Thunar will be ready for the Xfce
	  4.4.0 release.
	* thunar/*.[ch], thunar/Makefile.am: Use ThunarVfsPath instead of
	  ThunarVfsURI.
	* tests/test-thunar-vfs-path.c, tests/test-thunar-vfs-uri.c,
	  tests/Makefile.am: Replace the ThunarVfsURI test case with a new
	  ThunarVfsPath test case.
	* tests/test-thunar-vfs-volume-bsd.c: Properly initialize and shutdown
	  the Thunar-VFS library.
	* po/POTFILES.in: Update the file list.
	* docs/: Sync the documentation with the changes.
	* configure.in.in: Don't use -fvisibility=hidden as that causes trouble
	  with inline functions that are also implemented and exported by the
	  library. Instead we explicitly mark internal functions with
	  G_GNUC_INTERNAL.

2005-10-03	Benedikt Meurer <benny@xfce.org>

	* THANKS, configure.in.in, po/es.po: Add spanish translations, thanks
	  to Pablo Hernndez-M. Saiz <homeless3d@gmail.com>.

2005-10-02	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-monitor.c: Fire notifications asynchronously, so
	  events can be injected from threads other than the main thread. This
	  also fixes problems with Gamins kqueue/inotify backends.

2005-10-02	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-properties-dialog.c(thunar_properties_dialog_update):
	  Don't update the name label/window title unless the file name has
	  changed.

2005-09-28	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-launcher.c(thunar_launcher_update): Use mnemonics for
	  the "Open"/"Execute" action.
	* po/de.po: Add initial, incomplete translations.

2005-09-27	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Substitute platform flags properly.
	* thunar/Makefile.am: Don't delete thunar-thumbnail-frame.h.
	* thunar/thunar-standard-view.c(thunar_standard_view_selection_changed):
	  Use ngettext() for the Cut/Copy File(s) actions.
	* thunar/thunar-file.{c,h}: Add new virtual method get_actions(), which
	  is used to support custom actions for certain files (e.g. the Empty
	  Trash Bin action for the trash file).
	* thunar/thunar-application.{c,h}: Add thunar_application_delete_uris()
	  to be able to easily delete arbitrary files.
	* thunar/thunar-trash-file.c(thunar_trash_file_new): Use
	  thunar_file_destroy() instead of gtk_object_destroy().
	* thunar/thunar-trash-folder.c: Implement the get_actions() method with
	  the "Empty Trash Bin" action.
	* thunar/thunar-standard-view-ui.xml, thunar/thunar-standard-view.c:
	  Extend the extension menu merge mechanism to also load custom actions
	  provided by ThunarFile implementations.
	* thunar/thunar-file.c(thunar_file_accepts_uri_drop): Fix typo.
	* thunar/thunar-trash-folder.c: Watch files for changes.
	* thunar/thunar-favourites-view.c
	  (thunar_favourites_view_button_press_event): Add custom actions to the
	  favourite context menu.
	* TODO: Drop completed item.
	* configure.in.in: Disable strict aliasing if debugging is enabled and
	  the compiler supports the -fno-strict-aliasing switch.
	* po/*.po: Update translations.
	* main.c(main): Initialize file properly.
	* thunar/thunar-file.c(thunar_local_file_is_renameable): Don't permit
	  users to rename root nodes.
	* thunar/thunar-open-with-action.c(thunar_open_with_action_menu_mapped):
	  Use "Other Application..." instead of just "Other...".

2005-09-23	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-details-view.c(thunar_details_view_button_press_event),
	  thunar/thunar-icon-view.c(thunar_icon_view_button_press_event): Open
	  folders in new windows on double middle-click events.

2005-09-22	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Fix typo.

2005-09-22	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-*.c: Documentation tweaks.
	* configure.in.in, docs/reference/Makefile.am,
	  docs/reference/thunar-vfs/: Prepare Thunar-VFS reference manual.
	* thunar/thunar-list-model.c(thunar_list_model_get_statusbar_text):
	  Use ngettext() for the statusbar text.
	* thunar/thunar-launcher.c(thunar_launcher_update): Use ngettext() for
	  the "Open in n New Windows" menu label.
	* thunar/thunar-launcher.c(thunar_launcher_open_new_windows): Use
	  ngettext() for the question whether to open n separate windows.
	* thunar/thunar-launcher.c(thunar_launcher_open_uris): Use ngettext()
	  to format the error message when opening multiple URIs at once
	  failes.
	* po/*.po: Update po files.
	* configure.in.in, examples/open-terminal-here/Makefile.am,
	  thunar-vfs/Makefile.am, thunar/Makefile.am, thunarx/Makefile.am:
	  Don't add debugging and visibility flags to CFLAGS, CPPFLAGS and
	  LDFLAGS, but use PLATFORM_CFLAGS, PLATFORM_CPPFLAGS and
	  PLATFORM_LDFLAGS instead to avoid trouble with certain conftests
	  when checking the distribution.

2005-09-22	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-trash.h: Fix typo.
	* thunar/thunar-chooser-dialog.c(thunar_chooser_dialog_response): Handle
	  absolute paths properly for custom commands.

2005-09-20	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-mime-application.{c,h},
	  thunar-vfs/thunar-vfs.symbols: Load the supported mime types for the
	  applications.
	* thunar-vfs/thunar-vfs-mime-application.{c,h},
	  thunar-vfs/thunar-vfs.symbols: Add a new constructor
	  thunar_vfs_mime_application_new_from_file() for the special case
	  where a particular file should be loaded by path.
	* thunar-vfs/thunar-vfs-mime-application.c
	  (thunar_vfs_mime_application_equal): Properly initialize the
	  application variables.
	* thunar-vfs/thunar-vfs-mime-application.c
	  (thunar_vfs_mime_application_lookup_icon_name): Permit applications
	  to specify absolute paths for the icon name.
	* thunar-vfs/thunar-vfs-mime-database.{c,h},
	  thunar-vfs/thunar-vfs.symbols: Extend the mime database by a new
	  method thunar_vfs_mime_database_set_default_application(), which is
	  used to set the default application for a given mime type.
	* thunar-vfs/thunar-vfs-sysdep.c(_thunar_vfs_sysdep_parse_exec): Fix
	  typo to properly execute applications that require a terminal.
	* thunar-vfs/thunar-vfs-mime-database.c
	  (thunar_vfs_mime_database_get_applications): Always prepend the
	  default applications for the given mime info to the list returned
	  from this method.
	* thunar/thunar-favourites-model.c(thunar_favourites_model_save): Use
	  g_mkstemp() to create the temporary file.
	* thunar-vfs/thunar-vfs-mime-application.{c,h},
	  thunar-vfs/thunar-vfs.symbols: Add public flags to the mime
	  applications.
	* thunar-vfs/thunar-vfs-mime-application.c
	  (thunar_vfs_mime_application_new_from_file): Strip off known suffixes
	  for image files if a themed icon is specified. This way we can
	  work-around quite a few broken .desktop files.
	* thunar-vfs/thunar-vfs-mime-database.{c,h},
	  thunar-vfs/thunar-vfs.symbols: Support the addition of custom
	  applications using thunar_vfs_mime_database_add_application() in
	  a way compatible to what Nautilus does (which is actually quite a
	  mess).
	* thunar/thunar-chooser-dialog.{c,h}, thunar/thunar-chooser-model.{c,h},
	  thunar/Makefile.am: Import the "Open With" dialog based on the two
	  classes ThunarChooserDialog and ThunarChooserModel, which in turn are
	  based on the new functionality provided by Thunar-VFS, and thereby
	  permit the user to associate applications with files (actually mime
	  types) and add new applications.
	* thunar/thunar-launcher.c: Connect the "Open With Other" action to
	  the new ThunarChooserDialog.
	* thunar/thunar-favourites-model.c: Document the drag source functions.
	* README: Add a list of dependencies for Thunar.
	* TODO: Drop completed items.

2005-09-17	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-mime-database.c: Include exo/exo.h.

2005-09-15	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-volume-bsd.c,
	  thunar-vfs/thunar-vfs-volume-sysv.c: Include thunar-vfs-alias.h.

2005-09-15	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-progress-dialog.c: Use GObject for the job instead of
	  ExoObject.

2005-09-15	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-interactive-job.{c,h},
	  thunar-vfs/thunar-vfs-job.{c,h},
	  thunar-vfs/thunar-vfs-listdir-job.{c,h},
	  thunar-vfs/thunar-vfs-transfer-job.{c,h},
	  thunar-vfs/thunar-vfs-unlink-job.{c,h}: Allocate a new main loop for
	  every running job so we can terminate them properly and be sure to
	  run the finalize method in the main thread. This enables us to use
	  arbitrary GObjects within a job without having to worry about the
	  reference counting problem in GLib 2.6. The jobs are GObjects as well
	  now to easily support language bindings and allow us to drop the
	  problematic ExoObject class.

2005-09-14	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-launcher.c(thunar_launcher_open_files): Use
	  g_object_unref() instead of exo_object_unref().

2005-09-14	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-mime-application.{c,h},
	  thunar-vfs/thunar-vfs-mime-database.c, thunar-vfs/thunar-vfs.symbols,
	  thunar/thunar-launcher.c, thunar/thunar-marshal.list,
	  thunar/thunar-open-with-action.c: Turn ThunarVfsMimeApplication into
	  a boxed type.
	* thunar/thunar-window.c: Apply Daichis patch to make the dynamic
	  actions titles translatable (#1153).

2005-09-13	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-info.c, thunar-vfs/thunar-vfs-mime-database.c,
	  thunar-vfs/thunar-vfs-mime-info.{c,h}, thunar-vfs/thunar-vfs-thumb.c,
	  thunar-vfs/thunar-vfs.symbols: Turn ThunarVfsMimeInfo into a boxed
	  type.
	* thunar-vfs/thunar-vfs-mime-provider.c: No need to provide fallback
	  implementations for the virtual methods, as both providers implement
	  all virtual methods.
	* thunar-vfs/thunar-vfs-mime-provider.{c,h},
	  thunar-vfs/thunar-vfs-mime-cache.c,
	  thunar-vfs/thunar-vfs-mime-legacy.c,
	  thunar-vfs/thunar-vfs-mime-database.c: Derive the MIME providers from
	  GObject instead of ExoObject.
	* thunar-vfs/thunar-vfs-mime-database.c, thunar-vfs/thunar-vfs-info.c,
	  thunar-vfs/thunar-vfs-thumb.c, thunar-vfs/thunar-vfs.c,
	  thunar/thunar-computer-folder.c, thunar/thunar-file.c,
	  thunar/thunar-open-with-action.c, thunar/thunar-trash-folder.c:
	  Derive ThunarVfsMimeDatabase from GObject instead of ExoObject.

2005-09-13	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-sysdep.h: Add inline atomic operations.
	* thunar-vfs/thunar-vfs-info.c, thunar-vfs/thunar-vfs-listdir-job.c,
	  thunar-vfs/thunar-vfs-mime-application.c,
	  thunar-vfs/thunar-vfs-mime-database.c,
	  thunar-vfs/thunar-vfs-monitor.c,
	  thunar-vfs/thunar-vfs-sysdep.c, thunar-vfs/thunar-vfs-thumb.c,
	  thunar-vfs/thunar-vfs-transfer-job.c, thunar-vfs/thunar-vfs-trash.c,
	  thunar-vfs/thunar-vfs-uri.{c,h}, thunar-vfs/thunar-vfs.c,
	  thunar-vfs/thunar-vfs.symbols, thunar/thunar-clipboard-manager.c,
	  thunar/thunar-computer-folder.c, thunar/thunar-favourites-model.c,
	  thunar/thunar-favourites-view.c, thunar/thunar-file.c,
	  thunar/thunar-icon-factory.c, thunar/thunar-local-file.c,
	  thunar/thunar-local-folder.c, thunar/thunar-location-buttons.c,
	  thunar/thunar-path-entry.c, thunar/thunar-standard-view.c,
	  thunar/thunar-statusbar.c, thunar/thunar-trash-file.c, 
	  thunar/thunar-trash-folder.c: Turn ThunarVfsURI into a boxed type
	  to make language bindings easier and reduce the overhead. Drop the
	  foreign host support code, as we can't use it anyways, since nearly
	  every other existing application that handles file URIs is broken
	  when it comes to file URIs with authorities. Simplify the
	  thunar_vfs_uri_to_string() method again and return only escaped
	  versions of the URI.
	* thunar/thunar-path-entry.c(thunar_path_entry_set_current_file):
	  Display file URIs for non-UTF8 paths.
	* tests/test-thunar-vfs-uri.c, tests/test-thunar-vfs-volume-bsd.c:
	  Update the tests.
	* thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-info.h,
	  thunar-vfs/thunar-vfs-types.h: Move the system-dependent types to
	  thunar-vfs-types.h.
	* thunar-vfs/thunar-vfs-info.{c,h}, thunar-vfs/thunar-vfs.symbols:
	  Turn ThunarVfsInfo into a boxed type.

2005-09-11	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-standard-view.c: Sort the extension actions by their
	  names instead of their labels.
	* thunar/thunar-extension-manager.c(thunar_extension_class_init):
	  Properly initialize the parent class reference.
	* examples/open-terminal-here/Makefile.am: Don't specify CLEANFILES
	  explicitly.
	* thunar/thunar-file.c(thunar_file_get_mime_info): Documentation fix.
	* thunar-vfs/thunar-vfs-mime-database.c
	  (thunar_vfs_mime_database_get_info_for_file): When generating an
	  application/x-extension-<EXT> mime type and no valid extension is
	  found for the file name, fallback to the whole filename as suggested
	  by jrb. This way we can make sure that we will never return
	  application/octet-stream from this method and thereby allow the
	  program chooser to set default applications for every mime type
	  used in the file manager.
	* thunar/Makefile.am: Add $(top_builddir) to INCLUDES.

2005-09-11	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-standard-view.c: Sort the extension actions by their
	  labels prior to adding them to the UI manager.

2005-09-11	Benedikt Meurer <benny@xfce.org>

	* examples/open-terminal-here/open-terminal-here.c
	  (open_terminal_here_activate): Remove unused debug statement.

2005-09-09	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Substitute version information.
	* thunar/thunar-window.c(thunar_window_action_about): Escape the
	  copyright sign.
	* thunar/thunar-gdk-pixbuf-extensions.{c,h},
	  thunar/thunar-gtk-extensions.{c,h}, thunar/thunar-desktop-view.c,
	  thunar/thunar-icon-factory.c, thunar/thunar-icon-renderer.c,
	  thunar/thunar-standard-view.c, thunar/thunar-window.c,
	  thunar/Makefile.am: Merge the GdkPixbuf and GTK+ extensions into
	  the thunar namespace.
	* configure.in.in, thunarx/: Import the initial extensions library.
	* configure.in.in, docs/Makefile.am, Makefile.am, docs/reference/:
	  Import the reference manual for the extensions library.
	* thunar/thunar-file.c: Implement the ThunarxFileInfo interface.
	* thunar/thunar-extension-manager.{c,h}, thunar/Makefile.am: Import the
	  ThunarExtensionManager class.
	* thunar/thunar-standard-view-ui.xml, thunar/thunar-standard-view.c: Add
	  support for context menu providers to the standard views.
	* po/POTFILES.in: Add thunarx/thunarx-property-page.c here.
	* thunar/thunar-properties-dialog.c: Add support for property page
	  providers here.
	* Makefile.am, configure.in.in, examples/Makefile.am,
	  examples/open-terminal-here/: Add "Open Terminal Here" menu provider
	  example.

2005-09-06	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-list-model.c: Don't emit the "row-inserted" and
	  "row-deleted" signals when changing folders unless somebody
	  is actually interested in these signals.
	* thunar/thunar-list-model.c(thunar_list_model_set_folder): Actually
	  specify the correct path when deleting the previous items from the
	  model.
	* thunar/thunar-local-folder.c(thunar_local_folder_file_destroy): No
	  need to request a new list from GLib here.
	* thunar/thunar-local-folder.c(thunar_local_folder_infos_ready): Don't
	  add new files to two lists. Instead add them to one temporary list
	  and append the temporary list to the internal list later.
	* thunar/thunar-local-file.c(thunar_local_file_get_for_info): Fix an
	  invalid instance cast check.
	* thunar/thunar-file.c: Manage the file cache directly without using
	  weak references to avoid problems and save memory (weak references
	  are allocated in the GObject dataset).

2005-09-06	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-local-file.c: Store the VFS monitor handle in the
	  GObject dataset as it's used only for explicit file monitoring (e.g.
	  for the properties dialog).
	* thunar/thunar-list-model.c(thunar_list_model_get_iter): Skip every
	  second comparison for iter lookups.
	* icons/, configure.in.in, Makefile.am: Add the Thunar icon.

2005-09-06	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-uri.c: Invoke the parent's finalize method, as
	  that will be required for language bindings once we have weak/toggle
	  references for ExoObject.
	* thunar/thunar-local-file.c(thunar_local_file_rename): Re-register with
	  the VFS monitor if the rename succeeds.
	* thunar-vfs/thunar-vfs-uri.c(thunar_vfs_uri_hash): Don't hash the
	  hostname if it's NULL.
	* thunar-vfs/thunar-vfs-uri.c(thunar_vfs_uri_equal): We don't need to
	  query the hostname string here, as local files will always have host
	  set to NULL.
	* tests/test-thunar-vfs-uri.c(main): Extend the ThunarVfsURI test.
	* pixmaps/, Makefile.am, configure.in.in, thunar/thunar-window.c,
	  thunar/Makefile.am: Initial idea for the about dialog logo.

2005-09-05	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-info.{c,h}, thunar-vfs/thunar-vfs-listdir-job.c:
	  Use GList instead of GSList to manage ThunarVfsInfo lists, which
	  increases data locality and decreases memory usage (as there's no
	  need to keep another allocator around any more).
	* thunar/thunar-computer-folder.c, thunar/thunar-folder.{c,h},
	  thunar/thunar-list-model.c, thunar/thunar-local-folder.c,
	  thunar/thunar-trash-folder.c: Use GList instead of GSList to manage
	  the list of files for a folder for the same reason.
	* thunar/thunar-file.{c,h}, thunar/thunar-folder.c,
	  thunar/thunar-local-folder.c, thunar/thunar-local-file.c: ThunarFile
	  is derived from GObject now, instead of GtkObject.
	* thunar/thunar-list-model.c: No need to implement GtkTreeDragDest,
	  as that's handled in ThunarStandardView.

2005-09-05	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-launcher.c, thunar/thunar-list-model.c,
	  thunar/thunar-open-with-action.c, thunar/thunar-properties-dialog.c:
	  We don't need to check the result of thunar_file_get_mime_info() any
	  more as it's garantied to be a valid ThunarVfsMimeInfo.

2005-09-05	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-computer-folder.c, thunar/thunar-file.c,
	  thunar/thunar-list-model.c: Always return a valid ThunarVfsMimeInfo
	  from the get_mime_info() method.

2005-09-05	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-list-model.{c,h}: Drop the unused icon columns from the
	  ThunarListModel.

2005-09-04	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-icon-renderer.c(thunar_icon_renderer_render): Generate
	  the colorized/spotlighted version of the icon only if the icon area
	  is affected by expose event.

2005-09-04	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-uri.c(escape): And of course, we need to escape
	  the '+' and '%' characters in URIs.

2005-09-04	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-uri.c(escape): Also escape '&' in URIs.

2005-09-04	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-thumb.{c,h}: Implement the store thumbnail
	  functionality.
	* thunar-vfs/thunar-vfs-sysdep.c, thunar-vfs/thunar-vfs-trash.c,
	  thunar-vfs/thunar-vfs-uri.{c,h}, thunar-vfs/thunar-vfs.symbols,
	  thunar/thunar-clipboard-manager.c, thunar/thunar-favourites-model.c,
	  thunar/thunar-favourites-view.c, thunar/thunar-file.c,
	  thunar/thunar-location-buttons.c, thunar/thunar-path-entry.c,
	  thunar/thunar-standard-view.c, thunar/thunar-statusbar.c: Improve
	  the thunar_vfs_uri_to_string() method to support UTF-8 URI strings
	  and escaping of URIs, which is required for proper Drag'n'Drop
	  interaction with other applications.

2005-09-04	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-file.{c,h}: Store the watch count in the GObject data
	  list, as it seldomly used.
	* thunar/thunar-file.c(thunar_file_load_icon): Try to load the "loading"
	  icon directly instead of checking the icon theme first.
	* thunar/thunar-standard-view.c: Revert the "num-files" special handling
	  as it leads to a bug where the actions aren't updated properly when
	  changing directories.
	* thunar-vfs/thunar-vfs-sysdep.h: Fix typo.
	* thunar-vfs/thunar-vfs-transfer-job.c,
	  thunar-vfs/thunar-vfs-unlink-job.c: Unlink thumbnails after removing
	  a file to reduce the junk in ~/.thumbnails/.
	* thunar-vfs/thunar-vfs-uri.c(thunar_vfs_uri_get_md5sum): Escape the
	  path properly, so the thumbnail paths we determine are equal to those
	  of other file managers.

2005-09-04	Benedikt Meurer <benny@xfce.org>

	* thunar/Makefile.am: Add the thumbnail frame source image to the
	  distribution.
	* thunar/thunar-icon-factory.c: Add some more cleverness in determining
	  whether or not to add a frame to a thumbnail.

2005-09-03	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs.symbols, thunar-vfs/thunar-vfs-mime-info.{c,h},
	  thunar-vfs/thunar-vfs-mime-database.c: Determine media and subtype of
	  a ThunarVfsMimeInfo on-demand.
	* thunar-vfs/thunar-vfs-info.c(thunar_vfs_info_new_for_uri): Move the
	  .desktop file handling to the regular file case.
	* thunar-vfs/thunar-vfs-thumb.{c,h}, thunar-vfs/thunar-vfs.symbols,
	  thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs.h: Import the
	  ThunarVfsThumbFactory class, which implements the freedesktop
	  thumbnail management specification.
	* thunarx/thunarx-gdk-pixbuf-extensions.{c,h}: Add new helper function
	  thunarx_gdk_pixbuf_frame(), which is used to embed an arbitrary image
	  into a frame (e.g. for thumbnails).
	* thunar/thunar-favourites-model.c, thunar/thunar-file.c,
	  thunar/thunar-icon-factory.{c,h}, thunar/thunar-icon-renderer.c,
	  thunar/thunar-list-model.c, thunar/thunar-location-buttons.c,
	  thunar/thunar-window.c: Make sure we don't leak the default icon
	  factory instance on exit.
	* thunar/Makefile.am, thunar/thunar-thumbnail-frame.{h,png}: Import
	  the thumbnail frame image used by Nautilus.
	* thunar/thunar-icon-factory.{c,h}: Add thumbnail loading support to
	  the icon factory and reorganize the internals a bit.
	* thunar/thunar-file.c: Load thumbnails for regular if possible.

2005-09-02	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-icon-renderer.c(thunar_icon_renderer_render): Don't
	  scale the icon if it fits into the cell area.

2005-09-02	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-text-renderer.c: Select the text prior to the last
	  dot when starting to edit a cell.
	* thunar/thunar-properties-dialog.c(thunar_properties_dialog_update):
	  Place input focus on the name entry widget and select the text prior
	  to the last dot.

2005-09-02	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-open-with-action.c(thunar_open_with_action_activated):
	  Remove obsolete code.
	* thunar/thunar-standard-view.c
	  (thunar_standard_view_button_release_event): Don't popup the context
	  menu using the just released button, as that would render the items
	  unclickable.

2005-09-02	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-standard-view.c: Avoid going through the selection
	  changed handling whenever the number of files in a model changes,
	  as the only thing that needs updating here is the statusbar text.
	* thunar-vfs/thunar-vfs-mime-cache.c
	  (thunar_vfs_mime_cache_lookup_parents): Fix the offset from which the
	  parent mime type name is read.
	* thunar-vfs/thunar-vfs-mime-cache.c(cache_node_lookup_suffix):
	  Optimize the tail-recursive suffix lookup.
	* thunar-vfs/thunar-vfs-mime-database.c
	  (thunar_vfs_mime_database_get_info_for_file): Use fast stack memory
	  for the extattr and content lookups.

2005-09-02	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-icon-factory.c(thunar_icon_factory_lookup_icon): Add
	  support to load icons from absolute paths.
	* thunar/thunar-local-file.c(thunar_local_file_get_icon_name): Allow the
	  VFS layer to pass absolute paths for the file icon hint. This is
	  required for some .desktop files, that specify absolute icon paths
	  instead of themed icon names.
	* thunar/thunar-location-buttons.c(thunar_location_buttons_make_button):
	  Don't permit location buttons to grab the focus.

2005-09-02	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-standard-view.c: Be sure to override the default
	  drag-data-delete handler of ExoIconView/GtkTreeView.
	* thunar/thunar-icon-view.c(thunar_icon_view_get_path_at_pos): The
	  exo_icon_view_get_path_at_pos() method really accepts widget
	  coordinates now, like GtkTreeView does, so we don't need to translate
	  the widget coordinates to icon window coordinates first.

2005-09-02	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-standard-view.c(thunar_standard_view_get_dest_actions):
	  Set the drop-file icon renderer property only if we have a valid
	  drag action.
	* thunar/thunar-local-file.c(thunar_local_file_accepts_uri_drop): Do
	  not accept directory drops if the directory isn't writable.

2005-09-02	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-icon-renderer.c(thunar_icon_renderer_render): Prelight
	  drop destination icons.

2005-09-01	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-computer-folder.c, thunar/thunar-desktop-view.c,
	  thunar/thunar-favourites-model.c, thunar/thunar-file.{c,h},
	  thunar/thunar-list-model.c, thunar/thunar-local-file.c,
	  thunar/thunar-location-buttons.c, thunar/thunar-path-entry.c,
	  thunar/thunar-properties-dialog.c, thunar/thunar-standard-view.c,
	  thunar/thunar-statusbar.c, thunar/thunar-trash-file.c,
	  thunar/thunar-trash-folder.c, thunar/thunar-window.c: Add an icon
	  state parameter to the ThunarFile icon loader, which allows to grab
	  icons for a certain state from a given file.
	* thunar/thunar-file.c: Drop the cached icon, as the ThunarIconFactory
	  does this pretty well already and we don't need to keep an additional
	  cached version of every file's icon.
	* thunar/thunar-icon-renderer.c, thunar/thunar-standard-view.c: Use the
	  drop icon for the views while dragging over an item/row in the view.

2005-09-01	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-listdir-job.c: Fix the pre-sorting of files, so
	  upper layers always receive the info list sorted by name.
	* thunar/thunar-details-view.c(thunar_details_view_button_press_event),
	  thunar/thunar-icon-view.c(thunar_icon_view_button_press_event): Don't
	  popup the context menu immediately on right-clicks, but schedule the
	  menu popup using thunar_standard_view_queue_popup().
	* thunar/thunar-standard-view.{c,h}: Add the ability to start a drag
	  operation using the right mouse button.
	* thunar/thunar-file.{c,h}: Add virtual method accepts_uri_drop() and
	  method thunar_file_accepts_uri_drop(), which are used to determine
	  whether it is possible to drop a certain list of ThunarVfsURIs on
	  a given ThunarFile (using a set of actions specified by the drag
	  source).
	* thunar/thunar-local-file.c: Implement the accepts_uri_drop() method
	  for local file handling.
	* thunar/thunar-progress-dialog.c(thunar_progress_dialog_ask),
	  (thunar_progress_dialog_error): Be sure to display the progress dialog
	  prior to opening an error or question dialog.
	* thunar-vfs/thunar-vfs-info.c(thunar_vfs_info_rename): Fix gcc4
	  warning.
	* thunar-vfs/thunar-vfs.symbols: Add missing thunar_vfs_rename symbol.
	* thunar/thunar-favourites-model.c(thunar_favourites_model_get_value):
	  Work-around a compiler bug with newer gcc versions.
	* thunar/thunar-standard-view.{c,h}: Turn ThunarStandardView into a
	  valid drop site with support for text/uri-list drops.
	* thunar/Makefile.am, thunar/thunar-dnd.{c,h}: Add DnD helper functions,
	  which can be used by other modules as well (e.g. for the desktop
	  view).

2005-08-30	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-favourites-model.c: Drop the icon caching from the
	  favourites model as it causes trouble with icon theme changing and
	  is unnecessary since the ThunarIconFactory already performs quite
	  well at caching icons.
	* thunar/thunar-location-buttons.c: Reload the icons for the location
	  buttons when the active icon/gtk theme is changed.

2005-08-30	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-local-file.c(thunar_local_folder_infos_ready): Do not
	  compare the newly inserted files, as they are garantied to be
	  different from each other.
	* thunar-vfs/thunar-vfs-info.c(thunar_vfs_info_matches): Move the URI
	  comparison to the end as that takes most of the time.
	* thunar-vfs/thunar-vfs-listdir-job.c(thunar_vfs_listdir_job_execute):
	  Pre-sort the names in ascending order to get faster inserts for the
	  usual case where the user sorts its views by name.

2005-08-30	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-properties-dialog.c: Adjust the "editability" of the
	  name entry widget depending on whether the file can be renamed.
	* thunar-vfs/thunar-vfs-info.{c,h}: Add methd thunar_vfs_info_rename()
	  which supports renaming of regular files and .desktop files.
	* thunar/thunar-file.{c,h}: Add _thunar_file_cache_rename() to support
	  ThunarFile implementations that provide the thunar_file_rename()
	  method.
	* thunar/thunar-local-file.c: Add support to rename local files based
	  on thunar_vfs_info_rename().
	* thunar/thunar-properties-dialog.c: Allow users to rename files using
	  the name entry widget.
	* thunar/thunar-list-model.c(thunar_list_model_file_changed): Re-sort
	  the model as the file may have changed its name.
	* thunar/thunar-list-model.c(thunar_list_model_sort): Avoid the GArray
	  overhead and try to use stack memory if possible.
	* thunar/thunar-standard-view.h, thunar/thunar-details-view.c,
	  thunar/thunar-icon-view.c: Add virtual methods set_cursor() and
	  scroll_to_path() to the ThunarStandardView class and implement them
	  in ThunarDetailsView and ThunarIconView.
	* thunar/thunar-standard-view.c: Implement the "Rename" action based
	  on the inline editing capabilities of ThunarTextRenderer.

2005-08-30	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-favourites-view.c(thunar_favourites_view_init): Use
	  auto-sizing for the favourites column.
	* thunar/thunar-favourites-model.{c,h}, thunar/thunar-favourites-view.c:
	  Add support for Gtk+ 2.8 shortcuts, which allow the user to assign
	  aliases with mutable shortcuts.

2005-08-29	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-details-view.c, thunar/thunar-icon-view.c,
	  thunar/thunar-standard-view.{c,h}: Turn the name cell renderer into
	  a property of the ThunarStandardView class, so related functionality
	  can be easily shared between the icon and details views.
	* thunar/thunar-standard-view-ui.xml, thunar/thunar-window-ui.xml: Add
	  placeholder for alteration actions to the "Edit" menu in the thunar
	  window and fill this placeholder with the "Rename" action in the
	  standard view. In addition, add the "Rename" action to the file
	  context menu.
	* thunar/thunar-file.{c,h}: Add rename functionality to the ThunarFile
	  interface.
	* thunar/thunar-standard-view.c(thunar_standard_view_selection_changed):
	  Enable the "Rename" action if exactly one file is selected and that
	  file is renameable.

2005-08-29	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-favourites-model.c: Use GLib linked lists to manage
	  the favourites.
	* thunar/thunar-favourites-model.c: Monitor the bookmarks file for
	  changes.

2005-08-29	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-window-ui.xml, thunar/thunar-window.c: Add side pane
	  selection to the View menu.

2005-08-29	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Check for Intel MMX Intrinsics header.
	* thunarx/thunarx-gdk-pixbuf-extensions.c: Use Intel MMX Intrinsics to
	  speed up pixbuf operations, if supported by the compiler (the -mmmx
	  option in gcc).
	* thunar/thunar-window.c(thunar_window_action_location_bar_changed):
	  Apply the location bar patch submitted by Jeffs Franks
	  <jcfranks@tpg.com.au> in a slightly modified form.

2005-08-28	Benedikt Meurer <benny@xfce.org>

	* po/POTFILES.in: Remove thunar-vfs-mime.{c,h}.
	* po/*.po: Update .po files.

2005-08-28	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-list-model.c(thunar_list_model_sort): Use temporary
	  storage on the stack, rather than the heap.
	* thunar/thunar-list-model.c: Derive from GObject rather than
	  GtkObject, as we don't need GtkObject's features anymore in
	  ThunarListModel.
	* thunar/thunar-list-model.c(thunar_list_model_class_init): Use
	  EXO_PARAM_* macros rather than G_PARAM_*.
	* thunar-vfs/thunar-vfs-uri.c(thunar_vfs_uri_equal): Add a check to
	  see whether the compared references refer to the same object, which
	  can happen quite often (in case of a positive match).
	* thunar-vfs/thunar-vfs-uri.c(thunar_vfs_uri_list_to_string): Prealloc
	  a buffer of 512 bytes for the URI list string representation.
	* thunar-vfs/thunar-vfs-uri.c(thunar_vfs_uri_list_free): Use
	  g_list_foreach() to unref the URIs.
	* thunar/thunar-local-file.c(thunar_local_file_get_emblem_names):
	  Properly verify the parent uri when testing for the Desktop
	  directory.
	* thunar-vfs/thunar-vfs.{c,h}, thunar-vfs/Makefile.am: Drop the
	  thunar_vfs_mime_info_get() and thunar_vfs_mime_info_get_for_file()
	  methods, and merge the thunar-vfs-mime initialization into the
	  thunar-vfs initialization routines.

2005-08-28	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-file.{c,h}, thunar/thunar-local-file.c,
	  thunar/thunar-standard-view.c: Rename can_execute(), can_read() and
	  can_write() to is_executable(), is_readable() and is_writable() to
	  get consistent naming.
	* thunar-vfs/thunar-vfs-info.{c,h}: Add THUNAR_VFS_FILE_FLAGS_EXECUTABLE
	  to the ThunarVfsFileFlags, which will be set if a ThunarVfsInfo
	  can be executed, either as regular binary or as .desktop file.
	* thunar-vfs/thunar-vfs-mime-application.c,
	  thunar-vfs/thunar-vfs-sysdep.{c,h}: Move the Exec parsing code from
	  ThunarVfsMimeApplication to thunar-vfs-sysdep, so it can be used by
	  other modules as well.
	* thunar-vfs/thunar-vfs-info.{c,h}, thunar-vfs/thunar-vfs.symbols: Add
	  new method thunar_vfs_info_execute(), which is used to execute
	  files with a list of URIs. These method can handle both regular
	  executable files as well as .desktop files.
	* thunar/thunar-file.{c,h}, thunar/thunar-launcher.c,
	  thunar/thunar-local-file.c: Add support to execute files that are
	  marked as executable by the ThunarVfsInfo module.
	* thunar-vfs/thunar-vfs-mime-database.c
	  (thunar_vfs_mime_database_get_info_locked),
	  (thunar_vfs_mime_database_get_infos_for_info_locked): Be sure to
	  always unalias MIME-types prior to returning them from the mime
	  database instance. This way we don't need to care for unaliasing
	  when determining the MIME-type comment or MIME-type icon.
	* thunar-vfs/thunar-vfs-mime-database.{c,h},
	  thunar-vfs/thunar-vfs.symbols: Add new method
	  thunar_vfs_mime_database_get_infos_for_info() to the public API, to
	  allow other components to access the subclassing information.
	* FAQ, Makefile.am: Add initial items for the list of frequently asked
	  questions.
	* TODO: Remove obsolete items.

2005-08-27	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-info.{c,h}: Add support to pass hints from the
	  ThunarVfsInfo to the upper layers. Use these hints to pass icon and
	  name information from .desktop files.
	* thunar-vfs/thunar-vfs.symbols: Add new symbols.
	* thunar/thunar-local-file.c: Use the new hints to display appropriate
	  names and icons for .desktop files.

2005-08-27	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-trash.c: Use ThunarVfsMonitor instead of
	  polling the trash files/ directories manually.

2005-08-27	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-mime-legacy.c: Add support for MIME-type
	  aliases and parents to the legacy implementation.
	* configure.in.in, thunar-vfs/thunar-vfs-mime-database.c: Add support
	  for determining the MIME type from an extended attribute on SunOS
	  and Linux.

2005-08-22	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-path-entry.c: Add drag support for the path entry icon.
	* thunar/thunar-window-ui.xml, thunar/thunar-window.c: Add view
	  selection to the "View" menu.
	* thunar/thunar-icon-view.c(thunar_icon_view_button_press_event): Use
	  gtk_accelerator_get_default_mod_mask() rather than hardcoding
	  GDK_CONTROL_MASK.
	* thunar/thunar-details-view.c(thunar_details_view_button_press_event):
	  Add support to open the folder menu by right-clicking on an empty
	  area in the tree view.
	* thunar/thunar-details-view.c: Work-around the problem that GtkTreeView
	  resets the search column whenever the model changes.
	* thunar/thunar-standard-view.c(thunar_standard_view_grab_focus):
	  Properly forward any grab-focus request to the child view.
	* thunar/thunar-marshal.list, thunar/Makefile.am,
	  thunar/thunar-text-renderer.c: Add initial cell editing support to
	  the text renderer. We'll need a multiline entry widget for the
	  icon view.
	* thunar/thunar-details-view.c, thunar/thunar-icon-view.c,
	  thunar/thunar-standard-view.c, thunar/thunar-standard-view.h: Add
	  drag source support to the standard views.
	* thunar/thunar-list-model.c: Don't implement GtkTreeDragSource, as
	  that's handled by ThunarStandardView now.

2005-08-20	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-job.c(thunar_vfs_job_emit): Use G_VA_COPY to
	  copy variable argument lists in a portable manner.

2005-08-19	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-standard-view.{c,h}: Allow derived classes to add
	  custom actions to the user interface.
	* thunar/thunar-standard-view-ui.xml, thunar/thunar-window-ui.xml: Add
	  support for custom view item actions.
	* thunar/Makefile.am, thunar/thunar-icon-view-ui.xml,
	  thunar/thunar-icon-view.c: Add support to arrange items within the
	  icon view.
	* thunar/thunar-file.h, thunar/thunar-local-file.c: Provide an emblem
	  for the desktop folder in regular file listings.
	* thunar/thunar-icon-view.c(thunar_icon_view_init): Add 3 pixel padding
	  in vertical direction to the icon cell, to allow better placement
	  of the emblems.
	* thunar/thunar-icon-renderer.c(thunar_icon_renderer_render): Improve
	  the emblem placement and drawing code to work-around issues with
	  most icon themes, that don't provide emblems in the appropriate
	  sizes.

2005-08-19	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-statusbar.c: Drop the dependency on X11.
	* thunar/thunar-desktop-window.c: Include <gdk/gdkx.h> explicitly (since
	  that's no longer done by libexo -> libxfcegui4).

2005-08-18	Benedikt Meurer <benny@xfce.org>

	* thunarx/thunarx-gdk-pixbuf-extensions.{c,h}: Add new function
	  thunarx_gdk_pixbuf_spotlight(), which is used to create a
	  special icon for the Gtk prelight state.
	* thunar/thunar-icon-renderer.{c,h}, thunar/Makefile.am,
	  thunar/thunar-details-view.c, po/POTFILES.in: Rename
	  ThunarDetailsViewIconRenderer to ThunarIconRenderer, as
	  it will also be used by the icon view now.
	* thunar/thunar-text-renderer.{c,h}, thunar/Makefile.am,
	  thunar/thunar-details-view.c, po/POTFILES.in: Rename
	  ThunarDetailsViewTextRenderer to ThunarTextRenderer,
	  as it will also be used by the icon view now.
	* thunar/thunar-icon-renderer.{c,h}, thunar/thunar-text-renderer.{c,h}:
	  Add required functionality to use these renderers with the new
	  ExoIconView.
	* thunar/thunar-icon-view.c: Update to use the new ExoIconView class,
	  with the modified ThunarIconRenderer and ThunarTextRenderer.
	* thunar/thunar-launcher.h, thunar/thunar-open-with-action.h: Use
	  G_GNUC_MALLOC instead of EXO_GNUC_MALLOC.
	* thunar/thunar-window.c(thunar_window_init): Use the icon view by
	  default for testing now.
	* configure.in.in: Bump version to 0.1.2.
	* thunar/thunar-window.c(thunar_window_action_about): Switch to
	  GtkAboutDialog.

2005-08-18	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-list-model.c(thunar_list_model_files_added): Speed up
	  inserts if the order of the files match the current sort order, which
	  is usually the case with sorting by name.

2005-08-18	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-list-model.c(thunar_list_model_set_folder): Speed up
	  the removal of existing rows when changing folders. It's now O(n)
	  instead of O(n^2).
	* thunar/thunar-list-model.c: The memory chunk used for the rows is
	  now an object attribute, rather than a global variable.

2005-08-11	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-mime-application.c
	  (thunar_vfs_mime_application_new_from_desktop_id): Use "Name" instead
	  of "GenericName" for the application's name, as the "Name" usually
	  includes the project name in addition to the functional description
	  of the application, which provides better results than having several
	  applications named "Text Editor", etc.
	* configure.in.in: Prefer Gamin over FAM to avoid the C++ dependency
	  if possible. Besides that, Gamin offers several other advantages over
	  FAM, which makes it better suitable to be used in Thunar.
	* po/POTFILES.in: Add missing source files here, and remove obsolete
	  files.
	* Thunar.desktop.in, Makefile.am, configure.in.in, po/POTFILES.in: Add
	  desktop file for Thunar.

2005-08-10	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-jobs.{c,h}, thunar-vfs/Makefile.am,
	  thunar-vfs/thunar-vfs.{c,h}: Merge thunar-vfs-jobs.[ch] into
	  thunar-vfs.[ch].
	* thunar-vfs/thunar-vfs-mime-database.c, thunar/thunar-local-folder.c,
	  thunar-vfs/thunar-vfs-monitor.{c,h}, thunar/thunar-local-file.c:
	  Rename thunar_vfs_monitor_get() to thunar_vfs_monitor_get_default().
	* thunar-vfs/thunar-vfs-mime-database.{c,h},
	  thunar-vfs/thunar-vfs-mime.c, thunar-vfs/thunar-vfs-info.c,
	  thunar/thunar-launcher.c, thunar/thunar-open-with-action.c,
	  thunar/thunar-trash-folder.c: Rename thunar_vfs_mime_database_get()
	  to thunar_vfs_mime_database_get_default().
	* thunar-vfs/, thunar/Makefile.am, tests/Makefile.am, configure.in.in:
	  Turn libthunar-vfs into a shared library, so we can use it in other
	  applications/plugins as well.

2005-08-10	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Bump version to 0.1.1.
	* thunar-vfs/thunar-vfs-mime-info.h: Add list handling method
	  thunar_vfs_mime_info_list_free().
	* thunar-vfs/thunar-vfs-mime-info.c(thunar_vfs_mime_info_get_comment):
	  Automatically generate a comment for 'application/x-extension-<EXT>'
	  types if no comment is found on the disk.
	* thunar-vfs/thunar-vfs-mime-database.c
	  (thunar_vfs_mime_database_get_info_for_file): Automatically generate
	  an 'application/x-extension-<EXT>' type on the fly if all other
	  checks fail and the file name has an extension.
	* thunar-vfs/thunar-vfs-mime-cache.c,
	  thunar-vfs/thunar-vfs-mime-legacy.c,
	  thunar-vfs/thunar-vfs-mime-database.c,
	  thunar-vfs/thunar-vfs-mime-provider.{c,h}: Add provider methods to
	  unalias mime types and to determine the parents of a given mime
	  type. Use these information to query additional MIME applications.

2005-08-10	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-mime-database.c
	  (thunar_vfs_mime_database_get_default_application): Fall back to the
	  first available application if no explicit default application is
	  set by the user.
	* thunar/thunar-file.{c,h}, thunar/thunar-launcher.c: Rename
	  thunar_file_list_dup() to thunar_file_list_copy() to get
	  consistent naming.
	* thunar-vfs/thunar-vfs-mime-application.{c,h}: Add support methods
	  required for hashing.
	* thunar-vfs/thunar-vfs-mime-application.{c,h}: Add methods to launch
	  an application on a given list of URIs on a specific screen. Implement
	  the Desktop Entry Specification 0.9.4, except for startup notification
	  support, which will be added soon.
	* thunar/thunar-launcher.c, thunar/thunar-open-with-action.c: Allow
	  users to open files using the newly added ThunarVfsMimeApplication
	  functionality.

2005-08-10	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-mime-database.c: According to the specification
	  the defaults.list may specify more than one desktop-id per MIME type,
	  where the first available application should be used.

2005-08-10	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-mime-info.{c,h}: Add support methods required
	  for hashing.
	* thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-mime-application.{c,h},
	  thunar-vfs/thunar-vfs-mime-database.{c,h}: Add initial MIME
	  application support to the MIME database.
	* thunar/thunar-launcher.{c,h}: Add ThunarLauncher class, which provides
	  actions to launch files using appropriate MIME applications. The
	  ThunarLauncher class will also be used by the desktop view.
	* thunar/thunar-open-with-action.{c,h}: Add special action class
	  ThunarOpenWithAction, which provides a GtkAction implementation, that
	  - when used as menu - displays a submenu with all available MIME
	  applications for a given file.
	* thunar/thunar-window-ui.xml: Add a placeholder to include the launcher
	  support in the "File" menu on the main menu bar.
	* thunar/thunar-standard-view.c, thunar/thunar-standard-view-ui.xml,
	  thunar/thunar-icon-view.c, thunar/thunar-details-view.c: Add file
	  launcher support based on the new ThunarLauncher class.
	* thunar/thunar-file.{c,h}: Add methods to handle lists of ThunarFile
	  items easily.
	* thunar/thunar-icon-factory.c(thunar_icon_factory_load_icon): Handle
	  the case of passing a NULL or empty name properly.

2005-08-07	Benedikt Meurer <benny@xfce.org>

	* configure.in.in, po/ja.po, THANKS: Add initial japanese translations,
	  thanks to Daichi Kawahata <daichik@users.sourceforge.net>. This
	  fixes #1004.

2005-08-06	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-mime-legacy.c: Add support for the various
	  globs to the legacy mime provider.
	* thunar-vfs/thunar-vfs-mime-database.c(thunar_vfs_mime_database_init):
	  Read atleast 64 bytes from every file to reliably detect text files.
	* thunar-vfs/thunar-vfs-mime-database.c: When looking up the MIME info
	  for a given file, and the magic check doesn't return a match, we'll
	  return "application/x-executable" for every regular file that is
	  atleast 1 byte in size and has the executable bit set, as this is
	  more precise than "application/octet-stream".

2005-08-06	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Use AC_TRY_LINK() to avoid trouble with funky
	  systems.

2005-08-06	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Add some autoconf magic to get posix_madvise()
	  working with glibc.

2005-08-06	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-info.{c,h}: Determine the display_name for
	  each file info.
	* thunar-vfs/thunar-vfs-info.c(thunar_vfs_info_new_for_uri): Hand the
	  display name to thunar_vfs_mime_database_get_info_for_file(), so
	  we don't need to determine it again.
	* thunar-vfs/thunar-vfs-uri.c(thunar_vfs_uri_get_display_name): Don't
	  use g_filename_display_basename(), because it may returned a somehow
	  translated file name.
	* thunar/thunar-local-file.c: Use the display_name supplied with the
	  ThunarVfsInfo rather than determining it again.

2005-08-06	Benedikt Meurer <benny@xfce.org>

	* configure.in.in, thunar-vfs/thunar-vfs-mime-database.c: Add support
	  to query the MIME type stored in the extended attribute
	  "user.mime_type" as specified in the Shared MIME-info spec.
	* docs/design/mime.xmi, docs/design/Makefile.am: Import description for
	  the ThunarVFS mime module.
	* thunar-vfs/thunar-vfs-mime-cache.c(thunar_vfs_mime_cache_lookup_glob):
	  Use correct offset when iterating over the GlobEntries.
	* thunar-vfs/thunar-vfs-mime-cache.c
	  (thunar_vfs_mime_cache_lookup_literal): Fix the offset returned for
	  the MIME-type name.

2005-08-06	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Check for fnmatch.h and sys/mman.h. Add checks for
	  working mmap and posix_madvise.
	* configure.in.in, thunar-vfs/xdgmime/, thunar-vfs/Makefile.am: Drop
	  the xdgmime library.
	* thunar-vfs/thunar-vfs-mime-cache.{c,h},
	  thunar-vfs/thunar-vfs-mime-database.{c,h},
	  thunar-vfs/thunar-vfs-mime-info.{c,h},
	  thunar-vfs/thunar-vfs-mime-legacy.{c,h},
	  thunar-vfs/thunar-vfs-mime-provider.{c,h},
	  thunar-vfs/thunar-vfs-mime.{c,h}: Import thread-safe replacement for
	  the xdgmime library. Works only with very recent shared-mime-info
	  right now.
	* thunar-vfs/Makefile.am: Add new files to the build framework.
	* thunar-vfs/thunar-vfs-job.c, thunar-vfs/thunar-vfs-mime.c,
	  thunar-vfs/thunar-vfs.c, thunar-vfs/thunar-vfs.h, thunar/main.c: Add
	  ability to shutdown the VFS library.

2005-08-04	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Add "r" in front of the revision for the version
	  string.
	* thunar-vfs/thunar-vfs-job.{c,h}, thunar-vfs/thunar-vfs-listdir-job.c,
	  thunar-vfs/thunar-vfs-mime.{c,h}, thunar-vfs/thunar-vfs-unlink-job.c,
	  thunar-vfs/thunar-vfs-uri.{c,h}, thunar-vfs/thunar-vfs-transfer-job.c,
	  thunar/thunar-progress-dialog.c: Use ExoObject as base class for
	  ThunarVfsJob, ThunarVfsMimeInfo and ThunarVfsUri, which were fun-
	  damental types previously. ExoObject does exactly what we need
	  here, without any additional overhead. In particular, the ref-
	  counting is atomic, even with GLib < 2.7.4.
	* configure.in.in: Connect greek translations, previously committed
	  by Stavros Giannouris <stavrosg2002@freemail.gr>.
	* thunar/thunar-file.c: Use exo-noops for the defaults where possible
	  instead of providing several fallback implementations.
	* configure.in.in: Bump version number to 0.1.0.

2005-08-03	Benedikt Meurer <benny@xfce.org>

	* thunar/main.c(main): Connect the translation domain and setup the
	  application name.
	* thunar/thunar-standard-view.c(thunar_standard_view_init): Setup the
	  translation domain for the action group.
	* thunar/thunar-window.c(thunar_window_init): Setup the translation
	  domain for the action group.
	* po/hu.po, configure.in.in, THANKS: Add hungarian translations, thanks
	  to Szervác Attila <sas@321.hu>.

2005-08-03	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-folder.c(thunar_folder_files_removed): Update docu-
	  mentation.
	* thunar/thunar-local-folder.c(thunar_local_folder_file_destroy): In-
	  voke the "files-removed" signal when a file in this folder is de-
	  stroyed.
	* thunar/thunar-list-model.c: Do not connect the "destroy" signal of
	  ThunarFile anymore, but instead we rely on the folder to emit
	  "files-removed" appropriately.
	* thunar/thunar-list-model.c(thunar_list_model_class_init): Increase
	  the number of preallocated rows.
	* po/, Makefile.am, configure.in.in: Add i18n support.

2005-08-03	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-details-view-text-renderer.c: Calculating the approxi-
	  mate sizes based on the font metrics requires way too much additional
	  data memory (because Pango loads the whole fontset for this calcu-
	  lation), so we base our calculation on a sample text instead.

2005-08-03	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-job.c(thunar_vfs_job_emit_valist): Lower the
	  Job signal priority to increase the responsiveness of the user
	  interface.

2005-08-03	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-details-view-text-renderer.{c,h}: Fast text cell
	  renderer, which provides less accurate cell area size calculation.
	* thunar/Makefile.am: Add ThunarDetailsViewTextRenderer to the build
	  framework.
	* thunar/thunar-details-view.c: Use the new text renderer.

2005-08-02	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-monitor.c: Implement the
	  thunar_vfs_monitor_feed() method in a reentrant way.

2005-08-02	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-list-model.c: Add sort_by_name() calls missing from the
	  initial patch.

2005-08-02	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-local-file.c(thunar_local_file_monitor): Actually
	  reload the file info when the VFS monitor notices a change.
	* thunar/thunar-list-model.c: Apply Jens Luedickes patch to add
	  sub-sorting on the filename.
	* thunar-vfs/thunar-vfs-monitor.c: Add missing header files.
	* configure.in.in: Drop the kevent related checks.

2005-08-02	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Add check for the FAM/Gamin library.
	* thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-monitor.{c,h}: Redesign
	  the VFS monitor to use FAM if available. It also provides an interface
	  to feed the monitor with external events, which will be used by the
	  VFS jobs, which know for sure that they changed/created/deleted a
	  file. The interface is not yet implemented.
	* thunar/thunar-file.{c,h}: Add a virtual method reload(), which allows
	  external entities to trigger a reload on a ThunarFile.
	* thunar/thunar-local-file.c: Implement the reload() method.
	* thunar/thunar-local-file.c, thunar/thunar-local-folder.c: Add support
	  for the new VFS monitor.

2005-08-01	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-list-model.{c,h}: Add new method
	  thunar_list_model_get_paths_for_pattern(), which is used to
	  generate a list of GtkTreePaths for all rows matching a
	  certain pattern.
	* thunar/thunar-details-view.c, thunar/thunar-icon-view.c,
	  thunar/thunar-standard-view.h: Add virtual methods select_all(),
	  unselect_all() and select_path(), and implement them in the details
	  and icon views.
	* thunar/thunar-standard-view-ui.xml, thunar/thunar-standard-view.c,
	  thunar/thunar-window-ui.xml: Add actions "select-all" and
	  "select-by-pattern" to the "Edit" menu.
	* thunar-vfs/thunar-vfs-trash.c: Cosmetic fix.

2005-07-31	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-local-folder.c: Properly disconnect all signal handlers
	  prior to releasing the job.
	* TODO: Remove completed items. Add note about the copy&paste behaviour
	  within the same folder.
	* thunar-vfs/thunar-vfs-transfer-job.c
	  (thunar_vfs_transfer_job_insert_base): Fix the check whether source
	  and target directory are equal.
	* thunar-vfs/thunar-vfs-user.c(thunar_vfs_user_local_class_init): Fix
	  a crash, where the thunar_vfs_local_user_parent_class wasn't initia-
	  lized properly.
	* thunar/thunar-location-buttons.c: Allow users to automatically enter
	  directories while dragging a text/uri-list over one of the folder
	  buttons.

2005-07-31	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-transfer-job.c: Include <time.h> since we
	  use the time() library call. g_chmod() will be introduced with GLib
	  2.8.0, so adjust the check.

2005-07-31	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-clipboard-manager.c
	  (thunar_clipboard_manager_contents_received): Properly clear the
	  CLIPBOARD selection after a paste on "cutted data". Manually trigger
	  an "owner-changed" after a successfully initiating the paste operation
	  if either the Xserver or the GTK+ version doesn't support the XFixes
	  extension.
	* thunar-vfs/thunar-vfs-transfer-job.c, configure.in.in: Add work-around
	  for systems that lack the lchmod() system call.
	* thunar/thunar-standard-view.{c,h}: Query all actions from the group
	  when initializing the view to speed up access later.
	* thunar/thunar-standard-view-ui.xml, thunar/thunar-standard-view.c:
	  Add a "paste-into-folder" action, which is only available from the
	  context menu.
	* autogen.sh, configure.in.in: Adopt the version numbering scheme from
	  libexo and ditch the date.

2005-07-31	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-clipboard-manager.{c,h}: Implement paste support based
	  on the recent API additions to ThunarApplication.
	* thunar/thunar-standard-view.c(thunar_standard_view_action_paste):
	  Implement the paste action based on the new functionality in
	  ThunarClipboardManager.

2005-07-31	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-unlink-job.c: Allocate dirent buffer for
	  the job instead of the stack on every thunar_vfs_unlink_item_collect
	  call to reduce the stack overhead for the threads.
	* thunar-vfs/thunar-vfs-interactive-job.c: Check the cancellation
	  state prior to invoking the "ask" signal.
	* thunar-vfs/thunar-vfs-interactive-job.{c,h}: Reduce the number
	  of "percent" signal invokations to one per second to reduce the
	  overall load on the main thread.
	* thunar-vfs/thunar-vfs-job.c(thunar_vfs_job_emit_valist): Lower
	  the priority of inter-thread signals.
	* thunar/thunar-progress-dialog.c(thunar_progress_dialog_init): Use
	  an ellipsizing label for the progress info message to avoid
	  automatic resizing of the progress dialog.
	* thunar/thunar-application.{c,h}: Add "copy" and "move" actions. Drop
	  "unlink" action, will be replaced with "trash" and "empty-trash-bin"
	  later.
	* thunar-vfs/thunar-vfs-transfer-job.{c,h}: Import the
	  ThunarVfsTransferJob class, which can only handle 'file:'-URI
	  transfers right now.

2005-07-30	Benedikt Meurer <benny@xfce.org>

	* thunarx/thunarx-gtk-extensions.{c,h}, thunarx/Makefile.am: Add a
	  helper function thunarx_gtk_action_group_set_action_sensitive(),
	  which is used to easily change the sensitivity of a GtkAction
	  within a GtkActionGroup.
	* thunar/thunar-window.c, thunar/thunar-standard-view.c: Use the newly
	  added thunarx_gtk_action_group_set_action_sensitive() method.
	* thunar/thunar-window-ui.xml, thunar/thunar-window.c: Add new actions
	  "open-new-window" and "close-all-windows".
	* thunar/thunar-application.{c,h}: Add support for progress dialogs
	  based on the ThunarVfsInteractiveJob. Turn the ThunarApplication
	  class into a single-instance class. Add support to open new windows
	  and querying the list of currently open windows.
	* thunar/thunar-progress-dialog.{c,h}: GtkWindow already provides the
	  "icon-name" property (since Gtk 2.6), no need to duplicate that.
	* thunar/main.c: Switch to ThunarApplication.

2005-07-30	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-clipboard-manager.c, thunar/thunar-favourites-view.c,
	  thunar/thunar-location-buttons.c, thunar/thunar-statusbar.c: Fix
	  GCC 4.0 cast warnings, thanks to Jeff Franks <jcfranks@tpg.com.au>.

2005-07-30	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-job.c: Emit signals independant of the
	  cancellation state of the current job.
	* thunar-vfs/thunar-vfs-trash.{c,h}: Add a way to query the absolute
	  path to the .trashinfo file. Support relative paths and not just
	  filenames for several trash methods.
	* thunar-vfs/thunar-vfs-interactive-job.{c,h}: Import the
	  ThunarVfsInteractiveJob class, which provides the base for all
	  jobs, that require extended user interaction.
	* thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-marshal.list: Add
	  required marshallers, which are not provided by GObject out of
	  the box.
	* thunar-vfs/thunar-vfs-unlink-job.{c,h}: Import ThunarVfsUnlinkJob
	  class, which is used to unlink a bunch of local or trashed files.
	* thunar-vfs/thunar-vfs-jobs.{c,h}: Add public interface to the
	  various jobs provided by Thunar-VFS.
	* thunar-vfs/thunar-vfs.h: Remove the listdir job from the public
	  interface. Add the jobs and the interactive job headers.
	* thunar/thunar-progress-dialog.{c,h}: Add ThunarProgressDialog class,
	  which provides a dialog, that monitors the progress of an interactive
	  and supports the required user interaction.
	* thunar/Makefile.am, thunar/thunar-local-folder.c: Catch up with
	  Thunar-VFS changes.

2005-07-29	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-job.{c,h}, thunar-vfs/thunar-vfs-listdir-job.c:
	  Move "error" signal to the ThunarVfsJob class. Make proper use of the
	  virtual finalize method.
	* thunar/thunar-local-folder.c: Catch up with the ThunarVfsJob
	  interface changes.

2005-07-29	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-job.{c,h}: Add a parameter spec for
	  ThunarVfsJob and derived types. Add support methods to handle
	  GValues easily.
	* thunar-vfs/thunar-vfs-listdir-job.{c,h}, thunar-vfs/Makefile.am,
	  thunar-vfs/thunar-vfs.h, thunar/thunar-local-folder.c: Rename the
	  ThunarVfsJobListdir class to ThunarVfsListdirJob.

2005-07-25	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-sysdep.{c,h}: Add _thunar_vfs_sysdep_readdir()
	  as a portable, thread-safe readdir replacement.
	* thunar-vfs/thunar-vfs-job-listdir.c(thunar_vfs_job_listdir_execute):
	  Use _thunar_vfs_sysdep_readdir().
	* thunar-vfs/Makefile.am: Add the sysdep component to the build
	  framework.

2005-07-24	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-desktop-view.c,
	  thunar/thunar-details-view-icon-renderer.c,
	  thunar/thunar-favourites-model.c, thunar/thunar-file.{c,h},
	  thunar/thunar-list-model.c, thunar/thunar-location-buttons.c,
	  thunar/thunar-path-entry.c, thunar/thunar-properties-dialog.c,
	  thunar/thunar-statusbar.c, thunar/thunar-window.c: Do not hardcode
	  the default icon factory in thunar_file_load_icon. Instead the icon
	  factory is now a parameter to that function, which permits for proper
	  multi-screen support.

2005-07-24	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-icon-factory.c(thunar_icon_factory_load_icon): Handle
	  the case where no XSETTINGS manager is running on one of the
	  connected screens.

2005-07-24	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-file.c(thunar_file_load_icon): Actually cache the result
	  of an icon lookup.
	* thunarx/, thunarx/Makefile.am, configure.in.in: Add "thunarx"
	  namespace, which contains extensions to existing frameworks and
	  various helper functions that don't fit anywhere else.
	* thunarx/thunarx-gdk-pixbuf-extensions.{c,h}: Add a method to colorize
	  a GdkPixbuf to a given GdkColor.
	* thunar/main.c, thunar/thunar-desktop-model.{c,h}, thunar/Makefile.am,
	  thunar/thunar-desktop-window.{c,h}, thunar/thunar-desktop-view.{c,h}:
	  Add proof-of-concept for the desktop support.

2005-07-23	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-list-model.c: Fix incorrect ThunarVfsMimeInfo -> GObject
	  casts.

2005-07-22	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Add -O0 if debugging is enabled.
	* thunar-vfs/thunar-vfs-job.{c,h}, thunar/thunar-local-folder.c,
	  thunar-vfs/thunar-vfs-job-listdir.{c,h}: Do the ThunarVfsJob
	  communication based on GSignals to provide more flexibility for
	  the various upcoming jobs.

2005-07-22	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-clipboard-manager.c, thunar/thunar-standard-view.c,
	  thunar/thunar-window.c: Remove duplicate "const"s.

2005-07-22	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-uri.{c,h}: Use "const" parameters if possible
	  to give more hints to the compiler.
	* thunar-vfs/thunar-vfs-uri.{c,h}: Add thunar_vfs_uri_get_md5sum()
	  method to calculate the MD5 digest of an URI.
	* thunar/thunar-local-file.c: Preallocate 512 instances of the
	  ThunarLocalFile class to speed up the creation of new objects.
	* thunar/thunar-details-view.c(thunar_details_view_init): Do not
	  allow reordering of treeview columns.

2005-07-22	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Add --disable-debug option, which can be used to
	  disable all kinds of debugging support, and thereby may speed up
	  the whole application in certain cases.
	* thunar/thunar-statusbar.c: Use the foreground color from the selected
	  style instead of hard coding black for the animation.

2005-07-21	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-favourites-view.c: Add support for the LINK DnD action.
	* thunar/thunar-location-buttons.c(thunar_location_buttons_init): Use
	  GDK_ACTION_LINK instead of GDK_ACTION_COPY to avoid accident copying
	  of directories.
	* thunar/thunar-statusbar.{c,h}: Implement the ThunarNavigator
	  interface.
	* thunar/thunar-statusbar.{c,h}: Add a "loading" indicator to the
	  statusbar. Add support to dnd from the shortcut indicator to the
	  favourites list.
	* thunar/thunar-window.c(thunar_window_init): Connect the statusbar as
	  a navigator. Forward the "loading" property from the view to the
	  statusbar.
	* configure.in.in: Check for additional headers. Add optional
	  dependency on cairo.

2005-07-20	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Rename to "thunar" again, as this is now the main
	  development line.
	* thunar/thunar-standard-view-ui.xml, thunar/thunar-standard-view.{c,h}:
	  Add context-menu support to the standard view's action framework.
	* thunar/thunar-details-view.c: Implement context-menu support for
	  right-button click and "Menu"/"<Shift>F10" keyboard shortcuts.

2005-07-18	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-job-listdir.c(thunar_vfs_job_listdir_execute):
	  Always ignore the "." and ".." entries for directories.
	* thunar/thunar-location-bar.{c,h}: Add virtual method accept_focus(),
	  which tries to transfer keyboard focus to the location bar if it
	  provides a way for the user to enter the location as text. Else
	  the method returns FALSE and the window will open a separate dialog.
	* thunar/thunar-location-buttons.c, thunar/thunar-location-entry.c:
	  Implement the accept_focus() method on the ThunarLocationBar
	  interface appropriately.
	* thunar/thunar-window-ui.xml, thunar/thunar-window.c: Make the
	  location bar configurable using the action system.

2005-07-17	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-path-entry.c: Do not handle the focus-out-event here,
	  as it's better to handle it in the upper layers.
	* thunar/thunar-path-entry.c(thunar_path_entry_set_current_file): Set
	  the cursor to the end and queue a redraw on the whole widget.
	* thunar/thunar-window.c: Include <thunar/thunar-location-entry.h>.
	* thunar/thunar-location-entry.{c,h}, thunar/Makefile.am: Add
	  ThunarLocationEntry, which implements ThunarLocationBar using a
	  ThunarPathEntry widget.

2005-07-17	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-path-entry.{c,h}: Add ThunarPathEntry class, which
	  implements a widget to which the user can enter paths. The auto
	  completion support is not yet provided.
	* thunar/thunar-location-dialog.{c,h}: Add ThunarLocationDialog class,
	  which provides a "Open Location"-dialog similar to the one found in
	  GtkFileChooser.
	* thunar/Makefile.am: Add new classes to the build framework.
	* thunar/thunar-window-ui.xml, thunar/thunar-window.c: Add "Open
	  Location" action to the window, which will bring up a
	  ThunarLocationDialog.

2005-07-17	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Use "thunar-threaded" instead of "Thunar-threaded".
	* tests/test-thunar-vfs-volume-bsd.c(main): Get this test working again.

2005-07-17	Benedikt Meurer <benny@xfce.org>

	* TODO: Add note to based the ThunarVfsJob communication on the GSignal
	  mechanism.
	* configure.in.in: Set tarname to be "Thunar-threaded".
	* thunar-vfs/thunar-vfs-info.{c,h}: Let thunar_vfs_info_list_free()
	  return NULL.
	* thunar-vfs/thunar-vfs-job-listdir.c: Invoke the callback every two
	  seconds, so for large directories, the user does not need to wait for
	  the whole folder to be loaded. Also sort the item names prior to
	  loading the infos.
	* thunar/thunar-local-folder.c: Support partial loading, as implemented
	  for ThunarVfsJobListdir.

2005-07-17	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-volume-sysv.c: Fix compile warning with wrong
	  parameters to thunar_vfs_volume_manager_sysv_get_volume_by_info().
	  This fixes bug #1083.

2005-07-17	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/xdgmime/: Import the XDG mime implementation with the
	  patches from libexo.
	* thunar-vfs/: The ThunarVfsInfo framework is now thread-safe, using
	  the ThunarVfsMime framework provided by ThunarVFS.
	* thunar/: Turn Thunar into a threaded application.

2005-07-16	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-folder.{c,h}: Add a "files-removed" signal, which can
	  be used by ThunarFolder implementation to solve the reload problem,
	  and probably other problems as well (like asynchronous loading).
	* thunar/thunar-local-folder.c(thunar_local_folder_rescan): Use
	  "files-removed" instead of destroying the no longer present files,
	  so we don't accidently terminate other stuff here.
	* thunar/thunar-list-model.c: Handle the "files-removed" signal of the
	  ThunarFolder.

2005-07-15	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-details-view.c: Unselect all selected items if the
	  user clicks on an empty area of the treeview and neither Control
	  nor Shift is active.
	* thunar/thunar-properties-dialog.{c,h}: Add the first draft for the
	  ThunarPropertiesDialog class, which implements a properties dialog for
	  a single file.
	* thunar/Makefile.am: Add ThunarPropertiesDialog to the build framework.
	* thunar/thunar-standard-view-ui.xml, thunar/thunar-standard-view.c,
	  thunar/thunar-window-ui.xml: Add the "properties" action to the
	  menu structure, which displays a properties dialog for the selected
	  file.

2005-07-15	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-volume.{c,h}: Extend the ThunarVfsVolumeManager
	  interface to be able to query the ThunarVfsVolume for a given
	  ThunarVfsInfo.
	* thunar-vfs/thunar-vfs-volume-{bsd,sysv}.c: Catch up with the latest
	  ThunarVfsVolumeManager changes.
	* thunar-vfs/thunar-vfs-volume-bsd.c(thunar_vfs_volume_bsd_new): Add
	  support for SCSI direct access devices.
	* thunar/thunar-file.{c,h}: Add thunar_file_get_volume() to be able
	  to query the ThunarVfsVolume for a given ThunarFile, if possible.
	* thunar/thunar-local-file.c: Implement the newly added get_volume()
	  method based on the ThunarVfsVolumeManager.
	* thunar/thunar-list-model.c: Use the new volume related functionality
	  to display the free space of the currently active directory in the
	  statusbar.

2005-07-15	Benedikt Meurer <benny@xfce.org>

	* docs/papers/HackingOnThunar.odt: Improve the "Hacking on Thunar"
	  guide.
	* thunar-vfs/thunar-vfs-volume.{c,h}: Change the icon lookup mechanism
	  to return an icon name instead of a GtkIconInfo object. Also allow
	  the ThunarVfsVolume implementation to specify a custom icon by
	  overriding the lookup_icon_name() method. Add a new method
	  get_free_space() which can be used to determine the amount of free
	  space on a given volume.
	* thunar-vfs/thunar-vfs-volume-bsd.c: Catch up with the changes to
	  ThunarVfsVolume.
	* thunar/thunar-favourites-model.c: Cache icons for the favourites and
	  reload them whenever the file/volume changes. Adopt the new icon
	  lookup mechanism for ThunarVfsVolume.

2005-07-14	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-standard-view.c(thunar_standard_view_init): Add frame
	  shadow to the standard views.

2005-07-13	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-clipboard-manager.c: Fake an "owner-changed" event
	  for the clipboard if either GDK or the Xserver do not support the
	  XFixes extension.
	* thunar/thunar-standard-view.c: Monitor the associated clipboard for
	  changes. Enable the "paste" action only if the both the current
	  directory is writable and the clipboard contents are pastable.

2005-07-13	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-user.c(thunar_vfs_user_manager_init): Use
	  direct hashing instead of int hashing.
	* thunar/thunar-local-file.c(thunar_local_file_get_emblem_names): If
	  the file cannot be written, return the "noread" emblem as well.
	* thunar/thunar-file.{c,h}: Add can_execute(), can_read() and
	  can_write() methods, and a default implementation, so not every
	  class derived from ThunarFile needs to implement these methods of
	  its own.
	* thunar/thunar-standard-view.c(thunar_standard_view_selection_changed):
	  Update the "cut" and "paste" actions depending on whether the
	  current directory is writable.

2005-07-12	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-vfs-uri.c(thunar_vfs_uri_list_to_string): Use GString
	  to build the URI list string.
	* thunar/thunar-vfs-uri.{c,h}: Add a method thunar_vfs_uri_list_copy()
	  which duplicates a list of ThunarVfsURIs.
	* thunar-vfs/thunar-vfs-volume-bsd.c(thunar_vfs_volume_bsd_finalize):
	  Properly remove the update timer here.
	* thunar/thunar-list-model.c(thunar_list_model_remove): Perform the
	  GtkTreeModel delete operation prior to notifying the "num-files"
	  property to make sure the selection of the view is updated before
	  the standard-view requests the statusbar text for the selection.
	* TODO: Add another two issues.
	* thunar/thunar-clipboard-manager.{c,h}, thunar/Makefile.am: Add the new
	  ThunarClipboardManager class, which does the interaction with the
	  clipboard.
	* thunar/thunar-standard-view.{c,h}: Implement Copy/Cut operations based
	  on the newly added ThunarClipboardManager class.
	* thunar/thunar-standard-view-ui.xml, thunar/thunar-window-ui.xml: Add
	  clipboard operations to the "Edit" menu.

2005-07-12	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-window.c: Add a readonly property "ui-manager" to the
	  ThunarWindow and use property binding to sync the UI manager with
	  the ThunarView.

2005-07-12	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-standard-view-ui.xml, thunar/thunar-window-ui.xml:
	  Specify the name in addition to the action.

2005-07-11	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-navigator.c(thunar_navigator_class_init): Use
	  EXO_PARAM_READWRITE instead of G_PARAM_READWRITE.
	* thunar/thunar-list-model.c: Fix several bugs related to incorrect
	  signal registration/removal in the hidden files handling.
	* thunar/thunar-view.{c,h}: Add a new "ui-manager" property, which is
	  set by the surrounding window for the view in question. The view in
	  turn can hook its own actions - and thereby menu and toolbar items -
	  into the ui manager, using GtkUIManager's merging capabilities.
	* thunar/thunar-window.c(thunar_window_init): Tell the main view about
	  our UI manager.
	* thunar/thunar-window-ui.xml, thunar/thunar-standard-view-ui.xml,
	  thunar/thunar-standard-view.{c,h}, thunar/Makefile.am: Add initial
	  support for menu merging to the standard view class - and thereby to
	  the icon and details view. You can now control the "show-hidden"
	  property of the main view's model from the menu bar.

2005-07-10	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-list-model.{c,h}: Readd the get_statusbar_text() method.
	* thunar/thunar-favourites-view.c(thunar_favourites_view_row_activated):
	  Make sure the activated row is not the separator row, as calling
	  thunar_navigator_change_directory() with NULL for the directory
	  parameter will lead to a crash.
	* thunar/thunar-standard-view.{c,h}, thunar/thunar-details-view.{c,h},
	  thunar/thunar-icon-view.{c,h}, thunar/Makefile.am: Add a new abstract
	  base class ThunarStandardView, which is inherited by ThunarIconView
	  and ThunarDetailsView. ThunarStandardView itself is derived from
	  GtkScrolledWindow. This change was made to reduce the amount of
	  duplicated code in ThunarIconView and ThunarDetailsView, and to
	  workaround the problem that Gtk style properties don't pickup the
	  custom properties for certain widgets once you have a derived class.
	* thunar/thunar-statusbar.{c,h}: Revert to the previous ThunarStatusbar
	  implementation, which has a single "text" property that is bound to
	  the "statusbar-text" property of the active view.
	* thunar/thunar-view.{c,h}: ThunarView now inherits (in terms of
	  interface inheritance) from ThunarNavigator, which will allow for
	  unified handling in ThunarWindow. In addition, the ThunarView now
	  provides a "loading" and a "statusbar-text" property (both readonly)
	  to put the view back in control of the loading process.

2005-07-07	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-uri.c: Be sure to register the type in a
	  thread-safe manner.

2005-07-05	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-favourites-model.{c,h}, thunar/thunar-favourites-view.c:
	  Also provide a GtkWindow instance to the action list generator, so
	  actions can fire dialogs if necessary.

2005-07-05	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-favourites-model.{c,h}, thunar/thunar-favourites-view.c:
	  Add possibility to remove user-defined shortcuts from the list.

2005-07-03	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-favourites-model.c(thunar_favourites_model_get_value):
	  The ThunarVfsVolume interface does no longer provide the "name"
	  property.
	* thunar-vfs/thunar-vfs-volume-bsd.c: Read the label from the ISO9660
	  volume descriptor block whenever a new medium is inserted and use
	  this label as name.

2005-07-02	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-window-ui.xml, thunar/Makefile.am,
	  thunar/thunar-window.c: The UI description for the ThunarWindow is
	  now placed in a separate XML file for easier editing, and compiled
	  into the binary using the exo-csource utility.

2005-07-02	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Add checks for functions used in the user module.
	* thunar-vfs/thunar-vfs-user.{c,h}: Add a user module to the VFS
	  library, which is extensible and performs some caching to reduce
	  the overhead caused by the underlying NSS implementation.
	* docs/papers/HackingOnThunar.odt: Add comments about the newly added
	  ThunarVfsUser module.
	* thunar-vfs/thunar-vfs-info.h: Add ThunarVfsUserId and ThunarVfsGroupId
	  typedefs.
	* thunar-vfs/thunar-vfs.h, thunar-vfs/Makefile.am: Add the new
	  ThunarVfsUser module to the build framework.
	* thunar/thunar-file.{c,h}, thunar/thunar-local-file.c,
	  thunar/thunar-trash-file.c: Add two new methods to the ThunarFile
	  class - get_group() and get_user() - and add an implementation of
	  these methods to the local and trash backends.

2005-06-29	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-details-view-icon-renderer.c
	  (thunar_details_view_icon_renderer_render): Add support to render
	  the primary emblem of the given file.
	* thunar/thunar-file.{c,h}: Add support to query the list of emblems
	  for a given ThunarFile.
	* thunar/thunar-local-file.c: Implement the ThunarFile emblem support
	  for symbolic links.

2005-06-29	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-details-view-icon-renderer.{c,h}: Add a custom icon
	  renderer for the details view.
	* thunar/thunar-list-model.{c,h}: Allow consumers of this model to
	  query the file for a given row.
	* thunar/Makefile.am: Add the new ThunarDetailsViewIconRenderer class
	  to the build framework.
	* thunar/thunar-details-view.c(thunar_details_view_init): Use the custom
	  icon renderer instead of the generic pixbuf renderer provided by Gtk+.

2005-06-29	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-location-buttons.c: Make this behave like GtkFileChooser
	  again.

2005-06-28	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-volume-bsd.c, thunar-vfs/thunar-vfs-volume.c:
	  Remove the GObject properties from the ThunarVfsVolume interface.

2005-06-26	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-info.{c,h}: Do not automatically determine the
	  link target for ThunarVfsInfo objects. Instead, we'll add a method
	  to ThunarVfsInfo later, so modules can do this on-demand. This speeds
	  up loading directories with lots of symlinks within.
	* TODO: Remove the ThunarVfsInfo symlink item.

2005-06-26	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-uri.{c,h}: Don't use a GObject for the
	  ThunarVfsURI class. GObject is really overhead here, as we don't need
	  anything of whats provided by GObject.
	* TODO: Add note about missing GValue handling for ThunarVfsURI.
	* TODO: Add note to fix ThunarVfsInfo to not implicitly query the
	  link target.
	* thunar-vfs/*.[ch], thunar/*.[ch]: Use thunar_vfs_uri_unref() and
	  thunar_vfs_uri_ref() instead of g_object_unref() and g_object_ref(),
	  as ThunarVfsURI is no longer a GObject derived type.
	* thunar/thunar-window.c: Make loading new directories look and feel
	  "smoother". Still not perfect.

2005-06-25	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-local-file.c: Use a static variable for the VFS monitor
	  instead of a class variable, that never gets freed with static types.
	* thunar/thunar-favourites-model.c: Watch the files in the favourites
	  list for changes, so that folders that no longer exists are
	  automatically removed from the list.

2005-06-25	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-navigator.c(thunar_navigator_get_type): Do not require
	  derived classes to inherit GtkWidget. This enables us to let arbitrary
	  classes implement the ThunarNavigator interface and therefore reduce
	  the amount of hardcoded knowledge in ThunarWindow.
	* thunar/thunar-side-pane.c(thunar_side_pane_get_type): Require derived
	  classes to inhert GtkWidget.

2005-06-25	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-details-view.c(thunar_details_view_init): Use a
	  GtkCellRendererText instead of an ExoCellRendererEllipsizedText
	  for the name column.
	* thunar/thunar-details-view.c, thunar/thunar-icon-view.c: Set proper
	  ATK name and descriptions here.

2005-06-25	Benedikt Meurer <benny@xfce.org>

	* thunar/main.c(main): Disable thread support for now, as it's not used
	  and just slows down stuff.
	* thunar/thunar-file.{c,h}, thunar/thunar-local-file.{c,h},
	  thunar/thunar-local-folder.c, thunar/thunar-trash-file.c: Watch local
	  directories and trashed files for changes.

2005-06-25	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-location-buttons.c
	  (thunar_location_buttons_set_current_directory): Don't display the
	  real root node - the 'computer:'-node - if a sub-node is active. So
	  currently we have four distinctive possible roots for the location
	  buttons bar, which are the home directory of the user, the file system
	  root node ('file:/'), the trash root ('trash:') and the real computer
	  root node ('computer:'), which are checked in the given order.
	* thunar/thunar-list-model.c(thunar_list_model_get_value): Use slightly
	  larger icons for the details view.
	* thunar/thunar-window.c: Add preliminary menu support with 'Close'
	  and 'Go up'.

2005-06-24	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-uri.{c,h}: Add support for the 'computer://'
	  URI.
	* thunar/thunar-trash-folder.c, thunar/thunar-local-folder.c,
	  thunar/thunar-folder.c: Drop the GObject properties, as they are
	  mostly useless here.
	* thunar/main.c(main): Use thunar_vfs_uri_new() for the optional
	  command line parameter to be able to open arbitrary URIs from the
	  command line.
	* thunar/Makefile.am: Add new class ThunarComputerFolder to the build
	  framework.
	* thunar/thunar-computer-folder.{c,h}: Add ThunarComputerFolder class,
	  which implements the 'computer:' URI. This vfolder is the root of all
	  other root folders, currently 'file:/' and 'trash:'.
	* thunar/thunar-file.{c,h}, thunar/thunar-folder.c,
	  thunar/thunar-list-model.c, thunar/thunar-local-file.c,
	  thunar/thunar-local-folder.c, thunar/thunar-statusbar.c,
	  thunar/thunar-trash-file.c, thunar/thunar-trash-folder.c: Add support
	  for the 'computer:' vfolder as overall root node. Rearrange the
	  get_size() method to be able to support objects for which no size
	  is known, currently vfolders and directories in general. The virtual
	  get_mime_info() method now automatically takes a reference on the
	  returned object for the caller.

2005-06-24	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Add check for localtime_r.
	* thunar/thunar-file.{c,h}: Add support to query accessed, changed and
	  modified dates of ThunarFiles.
	* thunar/thunar-local-file.c, thunar/thunar-trash-file.c: Implement
	  the virtual get_date() method.
	* thunar/thunar-list-model.{c,h}: Add new columns accessed date,
	  modified date and mime type. Fix the sorting for the mime comment
	  column.
	* thunar/thunar-details-view.c: Display type and date modified columns
	  as well.

2005-06-23	Benedikt Meurer <benny@xfce.org>

	* docs/papers/HackingOnThunar.odt, docs/papers/Makefile.am,
	  configure.in.in, docs/Makefile.am: Add initial draft of the "Hacking
	  on Thunar" paper.

2005-06-22	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-local-file.c, thunar/thunar-local-folder.c: If for
	  some reason the constructor fails, we need to make sure to handle
	  the floating reference correctly, therefore we call gtk_object_sink()
	  instead of g_object_unref() in this case now.

2005-06-22	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-file.c, thunar/thunar-local-folder.c: Add an assertion
	  to verify that an object has a floating reference before we call
	  gtk_object_sink() on it.

2005-06-22	Benedikt Meurer <benny@xfce.org>

	* TODO: Addd new TODO items and remove solved issues.
	* thunar/Makefile.am: Add new class ThunarTrashFile to the build
	  framework.
	* thunar-vfs/thunar-vfs-monitor.c(thunar_vfs_monitor_add_info): Do not
	  use kevent for symlinks, it's way easier to watch them using regular
	  polling. This shouldn't be a problem anyways, as watching symlinks
	  is not a common case.
	* thunar-vfs/thunar-vfs-trash.{c,h}: Add functionality to handle trash:
	  URIs and determine the real path for a file in a particular trash
	  can.
	* thunar-vfs/thunar-vfs-trash.c(thunar_vfs_trash_manager_get_trashes):
	  Fix a typo where the order of arguments to the g_list_prepend()
	  function was wrong.
	* thunar/thunar-trash-file.{c,h}: Add a ThunarTrashFile class, which
	  represents a trashed file.
	* thunar/thunar-trash-folder.c: Add support for listing the contents
	  of the various trash cans, and also provide a simple proxy mechanism,
	  that automatically forwards the constructor invokation to the
	  ThunarTrashFile class if required. The trash can handling must be
	  improved, see bug #1027.

2005-06-21	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-window.c(thunar_window_set_current_directory): Use
	  thunar_file_open_as_folder() to open new folders.
	* thunar/thunar-folder.{c,h}: ThunarFolder is now an interface, which
	  can be implemented in different ways.
	* thunar/thunar-local-folder.{c,h}: The previous ThunarFolder is now
	  named ThunarLocalFolder.
	* thunar/thunar-file.{c,h}: Add thunar_file_open_as_folder() virtual
	  method, which allows the ThunarFile implementation to choose an
	  appropriate ThunarFolder implementation and thereby removes the
	  need for the surrounding modules to "guess" the correct ThunarFolder.
	* thunar/thunar-local-file.c: Implement the open_as_folder() method
	  for local files by simply instantiating a ThunarLocalFolder on the
	  file in question.
	* thunar/thunar-trash-folder.{c,h}: The ThunarTrashFile class is now
	  named ThunarTrashFolder as it really represents the trash toplevel
	  folder. It also implements the ThunarFolder interface now. The real
	  folder implementation is missing currently.
	* thunar/Makefile.am: Sync the build framework with the changes
	  described above.

2005-06-20	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-monitor.c(thunar_vfs_monitor_event): Remove
	  unused variables.
	* thunar/thunar-folder.c: Apply the same optimization concerning signal
	  id lookups and closure generations as done with ThunarListModel
	  earlier.
	* thunar/thunar-folder.c: Actually react to events on the corresponding
	  file. We still need a mode in which we'll handle errors in async
	  folder reloads.
	* thunar/thunar-local-file.c: Drop the cached MIME type whenever the
	  file changes. The MIME type will be recalculated on demand when
	  needed.
	* thunar/thunar-icon-factory.c: Instead of binding to the icon theme
	  instance's "changed" signal and risking that somebody else already
	  registered a handler earlier, we use a signal emission hook now, which
	  is garantied to be fired before any of the signal handlers are
	  invoked. See the code for details and additional comments.

2005-06-20	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-local-file.h: Add missing THUNAR_LOCAL_FILE_GET_CLASS().
	* configure.in.in: Add checks for kqueue() and required headers.
	* thunar-vfs/thunar-vfs-info.{c,h}: thunar_vfs_info_update() is now
	  part of the public API as it's used by monitor and will be used
	  by the ThunarLocalFile implementation later as well.
	* thunar-vfs/thunar-vfs-monitor.{c,h}: Add implementation for most
	  of the ThunarVfsMonitor. The current implementation uses kqueue()
	  if available with a fallback to regular polling.

2005-06-20	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-list-model.c: Instead of resolving the ids for the
	  "destroy" and "changed" signals on ThunarFile everytime we need to
	  register it, we query the signal id in the constructor and remember
	  it. In addition, instead of creating a closure for every signal
	  registration on a ThunarFile, we create a closure for "changed" and
	  a closure for "destroy" in the constructor and reuse that closure
	  everytime we need to register a signal handler.
	* thunar/thunar-list-model.c: Watch hidden files for "destroy" condition
	  as well.
	* thunar/thunar-trash-file.c: Emit the "changed" signal whenever the
	  "empty" property on the trash manager changes.
	* thunar/thunar-file.{c,h}: Add a method thunar_file_changed(), which
	  is used by derived classes to emit the "changed" signal on a given
	  ThunarFile.

2005-06-19	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-trash.{c,h}: Import first implementation of a
	  trash manager into thunar-vfs. Does currently only support the "home
	  trash", but will be extended to use the volume manager in order to
	  support foreign trashes as well.
	* thunar-vfs/Makefile.am: Add the trash manager to the build framework.
	* thunar-vfs/thunar-vfs.h: Include the trash manager header.
	* thunar/thunar-trash-file.c: Make use of the experimental trash
	  manager to display the proper icon depending on whether the trash
	  is full or empty.

2005-06-19	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-statusbar.c, thunar/thunar-list-model.c,
	  thunar/thunar-favourites-model.c: Fix bug, where Thunar crashed when
	  NULL was returned for a mime info.
	* thunar/thunar-file.{c,h}: Turn this into an abstract base class, which
	  can be implemented in different ways.
	* thunar/thunar-local-file.{c,h}: Implementation of the abstract
	  ThunarFile class for local files handled by the 'file:///' URI
	  scheme.
	* thunar/thunar-trash-file.{c,h}: Implementation of the abstract
	  ThunarFile class for trashed files handled by the 'trash:///' URI
	  scheme and the trash can itself. This is currently only a boilerplate
	  and waiting for the trash backend to show up.
	* thunar/Makefile.am: Add new classes to the build framework.

2005-06-17	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-details-view.c(thunar_details_view_init): Use the
	  ellipsizing text renderer for the name column and get the sizing
	  correct.

2005-06-17	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-view.{c,h}: Further improve the interface to ease the
	  implementation and reduce the amount of duplicated code in the view
	  implementations.
	* thunar/thunar-details-view.{c,h}: Add a first implementation for a
	  details view.
	* thunar/thunar-icon-view.c: Catch up with the changes to ThunarView.
	* thunar/thunar-window.c: Test the new ThunarDetailsView.
	* thunar/Makefile.am: Add ThunarDetailsView class to the build
	  framework.

2005-06-17	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-view.{c,h}: Adjust the interface for views to be more
	  like the FilerView interface, which makes things slightly easier and
	  adds more flexibility for the statusbar. Also the "list-model"
	  property is now named "model", which is the easiest way for both
	  ExoIconView and GtkTreeView, and it's safe to name it that way, as
	  the ThunarView interface is the only way to change models anyways.
	* thunar/thunar-list-model.{c,h}: Drop the statusbar text generator.
	  It's now handled completely within the ThunarStatusbar class, which
	  provides more flexibility.
	* thunar/thunar-statusbar.{c,h}: Each statusbar instance is now
	  associated with a ThunarView instance and automatically updates the
	  status text according to the view.
	* thunar/thunar-icon-view.c: Implement modified ThunarView interface,
	  which makes things very easy here for now.
	* thunar/thunar-window.c: Catch up with the changes to the other
	  classes.

2005-06-15	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-icon-factory.c: Implement the recently used list using
	  a circular buffer. This saves us from having to memmove() the list
	  content on every icon lookup.
	* thunar/thunar-window.c(thunar_window_set_current_directory): Use
	  a simple optimization when loading new folders into a view. See the
	  code comments for details about the trick.

2005-06-14	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Depend on GLib 2.6 for now.

2005-06-14	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-volume-sysv.{c,h}: Add no-op implementation
	  to make it possible to compile Thunar on non-BSD systems again.
	* configure.in.in, thunar-vfs/Makefile.am,
	  thunar-vfs/thunar-vfs-volume.c, thunar-vfs/thunar-vfs-volume-bsd.c:
	  Add a rather hacky way to support different system flavours based
	  on AC_CONFIG_LINKS(). Needs to be replaced by a real solution at
	  some time.
	* TODO: Add note about the wacky AC_CONFIG_LINKS() hacks mentioned
	  above.

2005-06-14	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-uri.c(thunar_vfs_uri_new_for_path): Add some
	  code to automatically remove trailing slashes from path names, which
	  would otherwise confuse the whole file manager.
	* thunar/thunar-fallback-icon.{h,png}, thunar/Makefile.am: The fallback
	  icon is now stored in a C file and automatically generated at compile
	  time if maintainer mode is enabled, while dist tarballs will ship the
	  generated C file.
	* thunar/thunar-icon-factory.{c,h}: Add new class ThunarIconFactory,
	  which provides caching of themed icons. The basic concept is based
	  on the NautilusIconFactory class, but the implementation is simpler
	  and faster than the implementation found in Nautilus.
	* thunar/thunar-file.c: Use the new ThunarIconFactory class and the
	  new exo_mime_info_lookup_icon_name() method to lookup and cache icons
	  for files. This speeds up folder loading quite a lot.
	* docs/design/overview.xmi: Add ThunarIconFactory diagram.

2005-06-13	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Add header checks required for the BSD volume
	  manager implementation.
	* thunar/thunar-window.c: Display the current folder's special name.
	* thunar/thunar-file.{c,h}: Add property "special-name", which contains
	  the special name of a given file if any, else it contains the same
	  value as the "display-name" property.
	* thunar/thunar-location-buttons.c: Use the home directory as root.
	  Don't display a label for the 'Filesystem' node, similar to how it
	  is done with GtkFileChooser.
	* thunar-vfs/thunar-vfs-volume.{c,h},
	  thunar-vfs/thunar-vfs-volume-bsd.c: Try more advanced features, like
	  detecting whether a medium is present for a given volume. This is
	  currently just testing, based on what is provided by the BSD
	  interface. The final design may look different, maybe even a
	  D-BUS based thunar-volume-manager service, which can be run with
	  special permissions in order to be able to query device stats and
	  mount volumes.
	* thunar/thunar-favourites-model.c: Use the new features provided by
	  the volume manager to dynamically display volumes when a medium is
	  inserted.

2005-06-12	Benedikt Meurer <benny@xfce.org>

	* docs/design/overview.xmi: Refined the basic ideas for the volume
	  manager, which will provide core functionality required by the
	  trash system. The ThunarVfsVolume and ThunarVfsVolumeManager concepts
	  are interfaces now, which will be implemented by the backend (usually
	  one backend per operating system family).
	* tests/data/test-thunar-vfs-volume-bsd.fstab, tests/data/Makefile.am,
	  tests/test-thunar-vfs-volume-bsd.c, tests/Makefile.am: Add test case
	  for the BSD specific implementation of the ThunarVfsVolumeManager
	  module.
	* tests/test-thunar-vfs-uri.c: Fix copyright and includes.
	* TODO: Add item about possible improvements of the BSD specific
	  volume manager implementation.
	* thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs.h, configure.in.in: Add
	  new classes and interfaces to the build framework.
	* thunar-vfs/thunar-vfs-volume.{c,h}: Import the basic interfaces to
	  the volume manager module, with a minimum set of methods and signals,
	  which will be extended later.
	* thunar-vfs/thunar-vfs-volume-bsd.{c,h}: Add first try of an
	  implementation of the the volume manager interfaces for BSD systems.

2005-06-11	Benedikt Meurer <benny@xfce.org>

	* docs/design/overview.xmi: Extend the ThunarVfsURI functionality.
	* thunar-vfs/thunar-vfs-uri.{c,h}: Add host handling to ThunarVfsURI.
	  Add support for different URI schemes, currently 'file://' and
	  'trash://'.
	* thunar/thunar-favourites-model.c, thunar/thunar-favourites-view.c, 
	  thunar/thunar-location-buttons.c: Sync with the little API change
	  to ThunarVfsURI.
	* tests/Makefile.am: Delete core files on `make clean'.
	* tests/test-thunar-vfs-uri.c(main): Add test cases for the trash:
	  scheme.

2005-06-11	Benedikt Meurer <benny@xfce.org>

	* configure.in.in, Makefile.am, tests/: Import first test program for
	  ThunarVfsURI validation.

2005-06-11	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-uri.{c,h}: Add functions to ease the handling
	  of URI lists, specifically to automatically parse and generate
	  string representations of URI lists that conform to the
	  text/uri-list mime type.
	* thunar/thunar-location-buttons.c
	  (thunar_location_buttons_drag_data_get): Use new ThunarVfsURI list
	  handling functions instead.
	* thunar/thunar-favourites-model.c
	  (thunar_favourites_model_file_destroy): Handle the case where a
	  directory referenced by a favourite disappears from the backend media.
	* thunar/thunar-favourites-model.c
	  (thunar_favourites_model_file_changed): Remove a given favourite if
	  the system notices that the favourite's file no longer refers to a
	  directory.
	* thunar/thunar-favourites-model.c(thunar_favourites_model_init): Do
	  not re-add favourites initially, that do not refer to a directory.
	* thunar/thunar-favourites-model.{c,h}: Add a new method
	  thunar_favourites_model_add(), which is used by the
	  ThunarFavouritesView to add new favourites to the list and
	  automatically sync the changes with the Gtk+ bookmarks list.
	* thunar/thunar-favourites-view.c: Handle "text/uri-list" drops,
	  adding new favourites as appropriate. Add note, that the initial
	  idea is based on the GtkFileChooser written by Red Hat for Gtk+.
	* TODO: Remove the 'text/uri-list'-handling for ThunarFavouritesView.
	  Add item concerning the Trash in the favourites list.

2005-06-10	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-favourites-model.{c,h},
	  thunar/thunar-favourites-view.c: Add initial drag&drop-support for
	  the favourites view. This is currently limited to rearranging
	  favourites in the list. Support for adding new favourites by
	  dropping text/uri-list's will be added soon. Also, the
	  ThunarFavouritesModel also saves changes made by the user back to
	  the .gtk-bookmarks file now.
	* TODO: Add note about missing text/uri-list support in
	  ThunarFavouritesView, and missing .gtk-bookmarks monitor support.

2005-06-08	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-favourites-model.c: Use a signed gint for the number
	  of favourites to be compatible with the Gtk+ API.

2005-06-08	Benedikt Meurer <benny@xfce.org>

	* autogen.sh: Better determine the file dynamically, which is used to
	  query the sandbox revision.

2005-06-08	Benedikt Meurer <benny@xfce.org>

	* autogen.sh, configure.in.in: Add build number to the version during
	  development.

2005-06-08	Benedikt Meurer <benny@xfce.org>

	* docs/design/overview.xmi: All navigational UI elements in a
	  ThunarWindow now implement the ThunarNavigator interface, which
	  defines the "current-directory" property and the "change-directory"
	  signal. See the ThunarNavigator gtk-docs for details about the
	  behaviour.
	* thunar/thunar-navigator.{h,c}: Provide source code for the current
	  ThunarNavigator interface.
	* thunar/thunar-side-pane.{h,c}, thunar/thunar-favourites-pane.c:
	  Changed to use ThunarNavigator instead. ThunarSidePane is currently
	  an empty interface.
	* thunar-vfs/thunar-vfs-uri.{h,c}: Add a thunar_vfs_uri_to_string()
	  method, which transform a ThunarVfsURI into a file:// uri.
	* thunar/thunar-location-bar.{h,c}: Provide source code for the
	  ThunarLocationBar interface, which extends the ThunarNavigator
	  interface. The ThunarLocationBar interface does not add anything new
	  currently, but that will change in future revisions.
	* thunar/thunar-location-buttons.{c,h}: Add location path buttons
	  implementation of the ThunarLocationBar interface. The layouting
	  code was mostly copied from gtkpathbar.c, which was initially
	  written by Jonathan Blandford. The implementation is not complete
	  yet, and the layouting code is still very buggy.
	* TODO: Add a bunch of TODO items for Thunar 1.0.

2005-06-07	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-list-model.c(thunar_list_model_set_folder): Fix a bug
	  where the signals for the ThunarFolder weren't connected if the
	  folder contained no files initially.
	* thunar/thunar-side-pane.c(thunar_side_pane_class_init): Fix typo in
	  the documentation.
	* thunar/thunar-file.{c,h}: Add new method thunar_file_get_parent() to
	  figure out the parent directory for a given ThunarFile.

2005-06-06	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-uri.c(thunar_vfs_uri_finalize): Use the
	  parent_class variable set by G_DEFINE_TYPE instead of dynamically
	  querying the parent class on-demand.
	* thunar/thunar-application.c, thunar/thunar-desktop-view.c,
	  thunar/thunar-favourites-model.c, thunar/thunar-favourites-pane.c,
	  thunar/thunar-favourites-view.c, thunar/thunar-file.c,
	  thunar/thunar-folder.c, thunar/thunar-icon-view.c,
	  thunar/thunar-preferences.c, thunar/thunar-statusbar.c,
	  thunar/thunar-window.c: G_DEFINE_TYPE and G_DEFINE_TYPE_WITH_CODE
	  already generate a parent_class variable, so we don't need to do
	  that manually as well. It looks like this was added with GLib 2.4.x
	  and I somehow missed that change. Thanks to Jeff Franks for pointing
	  this out.

2005-06-05	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-uri.c: Fix a bug in the thunar_vfs_uri_parent()
	  and thunar_vfs_uri_relative() methods, where the name attribute of
	  the newly created objects wasn't initialized properly.
	* thunar-vfs/thunar-vfs-uri.c(thunar_vfs_uri_equal): Instead of always
	  comparing the full path of both URIs, a simple optimization was
	  introduced, which checks the basenames first, if they are equal,
	  it'll check whether the dirnames have the same length, and as the
	  last fallback, it'll compare the dirnames char by char. This way we
	  can optimize the common case - with GHashTable - that two URIs
	  differ.

2005-06-05	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-favourites-model.{c,h}: Add new method
	  thunar_favourites_model_file_for_iter() to be able to easily
	  determine the ThunarFile for a given favourite.
	* thunar/thunar-file.c(thunar_file_class_init): Fix a type in the
	  "changed" signal definition.
	* thunar/thunar-file.c(thunar_file_finalize): Fix a bug where the
	  ThunarVfsURI was freed first, and then an attempt was made to remove
	  the ThunarFile from the file_cache using the previously freed
	  ThunarVfsURI as key.
	* thunar/thunar-view.{c,h}: Add the "change-directory" signal, which
	  is emitted by ThunarIconView and ThunarListView whenever the user
	  double clicks a folder (or otherwise requests a directory change
	  from within the view).
	* thunar/thunar-list-model.{c,h}: Add a thunar_list_model_new()
	  default constructor, which does not take a ThunarFolder instance.
	* thunar/thunar-icon-view.c: Implement the "change-directory" signal
	  in ThunarView.
	* thunar/thunar-favourites-view.c, thunar/thunar-favourites-pane.c:
	  Double-clicking a favourite now opens the associated directory (using
	  the "current-directory" property, which is linked to the
	  "current-directory" property of ThunarWindow).
	* thunar/thunar-window.{c,h}: Add a "current-directory" property,
	  which describes the directory currently displayed in this window.
	  Remove the thunar_window_new_with_folder() constructor and replace
	  it by a default constructor. Automatically synchronize the current
	  directory with both the view and the side pane.
	* thunar/main.c(main): ThunarWindow now uses ThunarFile to refer to
	  the active directory and so we do here as well.

2005-06-05	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Bumped version to 0.0.2.
	* docs/design/overview.xmi: Fix some issues, see the code changes
	  below.
	* thunar-vfs/Makefile.am: Don't install the thunar-vfs library for
	  now. Makes debugging easier.
	* thunar/Makefile.am: Add new classes to the build framework.
	* thunar/thunar-view.{c,h}: Implement first draft for the ThunarView
	  interface, which is to beimplemented by all views.
	* thunar/thunar-icon-view.{c,h}: Implement first draft for the
	  ThunarIconView class, which implements the ThunarView interface to
	  provide an icon view of the current folder.
	* thunar/thunar-statusbar.{c,h}: Add basic implementation of the
	  ThunarStatusbar class. In order to avoid an association between the
	  ThunarView or ThunarListModel classes and the ThunarStatusbar and in
	  order to provide more flexibility about what is to be displayed in
	  the statusbar, we use a write-only property "text" for the
	  ThunarStatusbar, which can be connected to another string property
	  using the ExoBindings module.
	* thunar/thunar-list-model.{c,h}: The number of rows should be a gint
	  rather than a guint, as that's what GtkTreeModel uses. Add a new
	  method thunar_list_model_get_statusbar_text(), that will be used by
	  both ThunarIconView and ThunarListView to determine the proper
	  statusbar text that should be displayed for a given selection. Add a
	  new column THUNAR_LIST_MODEL_COLUMN_TYPE, which provides a string
	  representation of the MIME-Type (using the comment set for the
	  MIME-Type). The sort function is not yet implemented tho.

2005-06-05	Benedikt Meurer <benny@xfce.org>

	* thunar/thunar-favourites-model.c(thunar_favourites_model_get_value):
	  The display_name's of ThunarFile's can be considered static (as the
	  name cannot change during the ThunarFile's life-time), so we don't
	  need to take a copy here.
	* thunar/thunar-list-model.c(thunar_list_model_get_value): Same here,
	  the ThunarFile's display_name is static.
	* thunar/thunar-file.c: Add the simple caching on the ThunarFile
	  level. If a ThunarFile for the same ThunarVfsURI is requested
	  multiple times, the same ThunarFile instance will be used, instead
	  of allocating a new one. Future versions will extend this scheme
	  using a smarter caching mechanism.
	* thunar/thunar-side-pane.{c,h}: Add implementation for the
	  ThunarSidePane interface, which is to be implemented by all widgets
	  that can be placed on the right side. The interface currently
	  includes only the "current-directory" property, which is the most
	  important communication mechanism. We'll need some way to pass in
	  other per-window settings here (e.g. "show-hidden" and such).
	  Hopefully somebody will pick up the preferences task soon.
	* thunar/thunar-favourites-model.{c,h},
	  thunar/thunar-favourites-view.{c,h},
	  thunar/thunar-favourites-pane.{c,h}: More work on the
	  ThunarFavourites module. The ThunarFavouritesPane class implements
	  the ThunarSidePane interface and acts as a bridge to the underlying
	  ThunarFavouritesView.
	* thunar/thunar-window.c: Test the new ThunarFavouritesPane class.
	* thunar/Makefile.am: Add the new classes to the build framework.

2005-06-05	Benedikt Meurer <benny@xfce.org>

	* thunar-vfs/thunar-vfs-uri.{c,h}: Add thunar_vfs_uri_new()
	  constructor, that creates a new ThunarVfsURI object from a resource
	  identifier string.
	* thunar-vfs/thunar-vfs-uri.{c,h}: Add thunar_vfs_uri_is_home(), which
	  determines whether a given ThunarVfsURI referes to the home
	  directory of the current user.
	* thunar/thunar-file.c(thunar_file_load_icon): Pay attention to
	  special icons for the home folder and the file system root.
	* thunar/thunar-favourites-model.{c,h},
	  thunar/thunar-favourites-view.{c,h}: Add experimental
	  ThunarFavouritesModel and ThunarFavouritesView classes, that will be
	  used in the implementation of the ThunarFavouritesPane class. Other
	  than with the mockups, I've skipped the 'Desktop' favourite for now,
	  as it does not make much sense. The usablity team should evaluate
	  this at some time.
	* thunar/thunar-window.c: Add ThunarFavouritesView on the left side
	  for testing.
	* thunar/Makefile.am: Add ThunarFavouritesModel and
	  ThunarFavouritesView to the build system.

2005-06-04	Benedikt Meurer <benny@xfce.org>

	* configure.in.in: Fix copyright texts.
	* docs/design/overview.xmi: Add is_local() and is_root() for
	  ThunarVfsURI, which were missing.
	* thunar-vfs/thunar-vfs-uri.{c,h}: Implemented the missing
	  thunar_vfs_uri_is_root() and thunar_vfs_uri_parent() methods.

2005-06-04	Benedikt Meurer <benny@xfce.org>

	* COPYING.LIB: Add license text for the thunar-vfs library (which is
	  licensed under the LGPL).
	* HACKING: Add information for people that plan to hack on Thunar.
	* AUTHORS: Add Jeff Franks.
	* THANKS: Import the THANKS template.
	* README: Add some basic information about Thunar. Needs more details.
	* docs/design/overview.xmi: Import the current overview diagram for
	  Thunar.
	* Makefile.am, configure.in.in, docs/Makefile.am,
	  docs/design/Makefile.am: Include the docs/ tree with the build
	  framework.
	* configure.in.in, thunar/Makefile.am, thunar-vfs/Makefile.am: Link
	  against GThread (not yet required from what is coded so far).
	* configure.in.in: Check for several required header files.
	* thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-info.{c,h},
	  thunar-vfs/thunar-vfs-monitor.{c,h},
	  thunar-vfs/thunar-vfs-uri.{c,h}, thunar-vfs/thunar-vfs-util.{c,h},
	  thunar-vfs/thunar-vfs.h: Add some experimental source code to
	  implement parts of the VFS module.
	* thunar/fallback-icon.h, thunar/fallback-icon.png: Import the
	  fallback icon.
	* thunar/thunar-application.{c,h}: Import Jeff's ThunarApplication
	  boilerplate (adjusting style as required).
	* thunar/thunar-desktop-view.{c,h}: Boilerplate for the
	  ThunarDesktopView class with the very basic requirements.
	* thunar/thunar-file.{c,h}, thunar/thunar-folder.{c,h}: Experimental
	  implementation of ThunarFile and ThunarFolder based on the
	  experimental source for the VFS module.
	* thunar/thunar-list-model.{c,h}: Sample implementation of the
	  ThunarListModel class, based on an earlier implementation found in
	  Filer.
	* thunar/thunar-preferences.{c,h}: Template for the ThunarPreferences
	  class.
	* thunar/thunar-window.{c,h}: Quick-and-dirty ThunarWindow
	  implementation to be able to roughly test the ThunarListModel class.
	* thunar/main.c: Add code to start a single ThunarWindow.
	* autogen.sh: Copyright fixes. Substitute date to make it easier to
	  identify snapshots during the early development stages.

2005-05-30	Benedikt Meurer <benny@xfce.org>

	* Initial import.

# vi:set ts=8 sw=8 noet ai nocindent:
