2006-09-14 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-io-local.c(_thunar_vfs_io_local_get_info): Properly validate the Name of .desktop files. Bug #2227. 2006-09-14 Benedikt Meurer <benny@xfce.org> * thunarx/thunarx-config.h.in, thunarx/thunarx-file-info.h: Fix build with GLib 2.6.x. Bug #2317. 2006-09-14 Benedikt Meurer <benny@xfce.org> * thunarx/thunarx-menu-provider.{c,h}, thunarx/thunarx.symbols: Add a new method get_dnd_actions() to the ThunarxMenuProvider, which allows menu providers to install additional actions into the Drag'n'Drop menu of the file manager. * docs/reference/thunarx/: Update the thunarx reference manual. * thunar/thunar-dnd.{c,h}, thunar/thunar-location-button.c, thunar/thunar-shortcuts-view.c, thunar/thunar-standard-view.c, thunar/thunar-tree-view.c: Insert the additional actions supplied by the installed menu providers into the Drag'n'Drop menu. 2006-09-13 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-monitor.c, thunar/thunar-standard-view.c: Fix several race conditions that were introduced over time and prevented the "new-files" job handling from working properly with Gamin and automatic folder reload. Bug #2199. * thunar/thunar-file.c: The file must not be dropped from the hash table in the dispose() function, but only when finalize is called, because dispose() may be invoked more than once and hence we might drop a newly created ThunarFile object with the same path from the hash table. 2006-09-13 Benedikt Meurer <benny@xfce.org> * configure.in.in, Makefile.am: Place automake options into configure.in.in instead of Makefile.am and add the tar-ustar option to fix building distributions on system where tar defaults to the deprecated V7 format. Bug #2304. 2006-09-13 Benedikt Meurer <benny@xfce.org> * thunar/thunar-dbus-client.c: Use default dbus connection timeout. Bug #2243. 2006-09-12 Benedikt Meurer <benny@xfce.org> * thunar/thunar-renamer-model.c(thunar_renamer_model_iter_n_children): Fix typo. 2006-09-11 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-io-local-xfer.c (_thunar_vfs_io_local_xfer_next_path): Remove duplicate const. Bug #2300. 2006-09-10 Benedikt Meurer <benny@xfce.org> * plugins/thunar-uca/uca.xml.in: Use exo-open for the default "Open Terminal Here" action. Bug #2256. 2006-09-10 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-info.{c,h}, thunar-vfs/thunar-vfs-io-local.c, thunar-vfs/thunar-vfs-private.{c,h}, thunar-vfs/thunar-vfs.symbols, thunar/thunar-file.{c,h}, thunar/thunar-properties-dialog.c: Allow to change the icon of .desktop files. Bug #2150. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-09-09 Benedikt Meurer <benny@xfce.org> * configure.in.in, thunar-vfs/thunar-vfs-io-local-xfer.c: Keep the modification time when copying files. Bug #2244. * thunar-vfs/thunar-vfs-io-local-xfer.c (_thunar_vfs_io_local_xfer_next_path): Further reduce the number of relocations. 2006-09-09 Benedikt Meurer <benny@xfce.org> * configure.in.in: Add missing check for setmntent(). 2006-09-08 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-os-bsd.c(_thunar_vfs_os_scandir): Allocate the directory scan buffer on the heap rather than the stack to avoid crashes on systems with very small thread stacks. Bug #2269. 2006-09-08 Benedikt Meurer <benny@xfce.org> * acinclude.m4, configure.in.in, thunar-vfs/thunar-vfs-volume-hal.c: Add support for FreeBSD to the HAL based volume manager. 2006-09-06 Benedikt Meurer <benny@xfce.org> * configure.in.in: Fix typo, -DNDEBUG instead of -NDEBUG. 2006-09-05 Benedikt Meurer <benny@xfce.org> * thunar/thunar-session-client.c(thunar_session_client_connect): Make sure Thunar is restarted prior to xfdesktop, so the trash support in xfdesktop works as expected even if D-Bus autoactivation is not setup properly. 2006-09-05 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-mime-info.c: Update the icon mime icon lookup to try icon names from Icon Naming Spec first, and fallback to legacy GNOME icon names. * thunar/thunar-icon-factory.c: Use the thumbnail database to load SVG icons from the icon theme, because loading SVG is quite slow and takes a lot more memory than loading and scaling PNG icons from the thumbnail database. * thunar/thunar-properties-dialog.c(thunar_properties_dialog_init): Ellipsize the kind label at the end. * thunar/thunar-properties-dialog.c: No need to keep the "reload" signal id around. 2006-09-02 Benedikt Meurer <benny@xfce.org> * configure.in.in: Post-release version bump. 2006-09-02 Benedikt Meurer <benny@xfce.org> * === Released 0.4.0rc1 === * configure.in.in, NEWS: Bump version. * configure.in.in, README: Depend on libexo 0.3.1.10rc1. * THANKS: Add missing translator credits. * po/*.po: Update Project-Id-Version. 2006-09-02 Benedikt Meurer <benny@xfce.org> * docs/reference/thunar-vfs/, thunar-vfs/: Update the thunar-vfs reference manual. * po/cs.po: Update czech translations by Michal Várady <miko.vaji@gmail.com>. * po/it.po: Update italian translations by Roberto Pariset <robdebian@gmail.com>. * po/pl.po: Update polish translations by Szymon Kałasz <szymon_maestro@gazeta.pl>. 2006-09-01 Benedikt Meurer <benny@xfce.org> * thunar/thunar-list-model.c: GMemChunk in GLib 2.10 and above is not only inefficient, but also continously leaks memory. Therefore we don't use GMemChunk anymore, but use GSList directly. 2006-09-01 Benedikt Meurer <benny@xfce.org> * docs/Thunar.xml, docs/Makefile.am: Add manual page for Thunar. Bug #1650. 2006-08-31 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-volume-hal.c(thunar_vfs_volume_hal_eject): Unmount volumes prior to ejecting them if they are currently mounted. Bug #2236. 2006-08-30 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-io-local.c, thunar-vfs/thunar-vfs-os-generic.c, thunar/thunar-shortcuts-view.c(thunar_shortcuts_view_drag_leave), thunar/thunar-tree-view.c(thunar_tree_view_drag_leave): Enable compilation with Sun Studio Pro. Bug #1852. 2006-08-30 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view-ui.xml, thunar/thunar-window-ui.xml, thunar/thunar-window.c: Add "Empty Trash" action to "File" and folder context menu, which is only visible when displaying the trash root folder. Bug #2238. 2006-08-29 Benedikt Meurer <benny@xfce.org> * thunar/thunar-column-editor.c, thunar/thunar-preferences-dialog.c, thunar/thunar-gtk-extensions.{c,h}, thunar/thunar-location-dialog.c, thunar/thunar-permissions-chooser.c, thunar/thunar-create-dialog.c: Add helper function thunar_gtk_label_set_a11y_relation(), which sets up the ATK_RELATION_LABEL_FOR for a label and a widget, so we don't need to repeat the same code over and over again. 2006-08-29 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.{c,h}, thunar/thunar-location-button.c, thunar/thunar-shortcuts-model.c: Add desktop shortcut to the shortcuts pane, and use a special icon for the desktop folder. Bug #2235. * thunar/thunar-chooser-button.c, thunar/thunar-chooser-dialog.c, thunar/thunar-gtk-extensions.{c,h}, thunar/thunar-location-buttons.c, thunar/thunar-renamer-dialog.c, thunar/thunar-shortcuts-view.c, thunar/thunar-standard-view.c, thunar/thunar-tree-view.c: Add helper method thunar_gtk_menu_run(), which takes care of running a GtkMenu in a separate main loop, placing the menu on the appropriate screen first. 2006-08-29 Benedikt Meurer <benny@xfce.org> * docs/README.gtkrc, docs/README.thunarrc, thunar/: Revert location bar related changes to the previous user interface, because the new user interface wastes too much space, and makes the file manager look busy. * po/POTFILES.in: Synchronize file list. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-08-28 Benedikt Meurer <benny@xfce.org> * thunar/thunar-window.c: Add warning text to the window when running as super user. Bug #2218. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-08-28 Benedikt Meurer <benny@xfce.org> * thunar/thunar-window.c(action_entries), thunar/thunar-stock.{c,h}: Use "gnome-fs-home" instead of "gtk-home" as icon for Home for consistency. * thunar/thunar-window.c(action_entries): Fix a mnemonic clash. * thunar/thunar-window.c(thunar_window_current_directory_changed): Use "<folder> - File Manager" for the title to make it easier to indentify file manager windows in the taskbar. * thunar/thunar-create-dialog.c, thunar/thunar-permissions-chooser.c, thunar/thunar-standard-view.c: No need to include thunar-stock.h here anymore. * thunar/thunar-history.c(thunar_history_init): Consider "back" as an important action wrt to the appearance in the toolbar. * thunar/thunar-window-ui.xml, thunar/thunar-window.c: Decouple the location bar from the toolbar by separating them into "Location Bar" and "Main Toolbar". Bug #1349. * thunar/thunar-preferences.c, docs/README.thunarrc: Add new options LastLocationBarVisible and LastToolbarVisible, which control the visibility of the "Location Bar" and "Main Toolbar". Add new option LastNavigationBarEntry, which controls whether the navigation bar will display the path entry widget by default. * thunar/thunar-gtk-extensions.{c,h}: Add new helper function thunar_gtk_action_set_tooltip(), which changes the tooltip of a GtkAction. * thunar/thunar-navigation-bar.{c,h}, thunar/thunar-path-button.{c,h}, thunar/thunar-navigation-bar-ui.xml, thunar/thunar-path-bar.{c,h}, thunar/thunar-location-button.{c,h}, thunar/thunar-location-bar.{c,h}, thunar/thunar-location-buttons-ui.xml, docs/README.gtkrc, thunar/thunar-location-buttons.{c,h}, thunar/Makefile.am, thunar/thunar-location-entry.{c,h}, thunar/thunar-marshal.list, thunar/thunar-shortcuts-pane.c, thunar/thunar-shortcuts-view.c, thunar/thunar-tree-pane.c, thunar/thunar-tree-view.c, thunar/thunar-window-ui.xml, thunar/thunar-window.c: Synchronize the latest user interface changes in GtkFileChooser. This way the location bar will be used for both the path bar and the path entry widgets, and a simple toggle button controls whether the path entry is visible. This way (nearly) the full width of the window is avail- able for the path bar. Bug #2060. * thunar/thunar-gtk-extensions.{c,h}: Drop now obsolete helper function thunar_gtk_action_group_create_tool_item() as it's no longer used. * thunar/thunar-location-dialog.c(thunar_location_dialog_init): Reduce translation overhead and don't use a mnemonic here. It was pretty useless anyway. * thunar/thunar-preferences.c, docs/README.thunarrc: Remove now obsolete option LastLocationBar. * po/POTFILES.in: Synchronize file list. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-08-26 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c(action_entries): Do not register an additional accelerator for "Select all Files", instead rely on the key bindings registered by ExoIconView/GtkTreeView. Bug #2036. 2006-08-26 Benedikt Meurer <benny@xfce.org> * plugins/thunar-uca/thunar-uca-model.c(thunar_uca_model_parse_argv): Substitute %d properly. Bug #2214. * thunar/thunar-gdk-pixbuf-extensions.{c,h}, thunar/Makefile.am, thunar/thunar-icon-factory.c, thunar/thunar-icon-renderer.c: Use exo_gdk_pixbuf_frame() instead of thunar_gdk_pixbuf_frame() and drop the GdkPixbuf extensions. * thunar-vfs/thunar-vfs-pixbuf-thumbnailer.c, thunar/Makefile.am: Use exo_gdk_pixbuf_new_from_file_at_max_size() for the pixbuf thumbnai- ler. * configure.in.in, README, thunar-vfs/thunar-vfs-font-thumbnailer.c, thunar-vfs/thunar-vfs-update-thumbnailers-cache.c, thunar-vfs/Makefile.am: Import the font thumbnailer, which uses freetype 2.x (if available) to generate a thumbnail of a font file. * plugins/thunar-uca/thunar-uca-editor.c: Use ExoIconChooserDialog to select an icon for a custom action. * po/POTFILES.in: Add new files here. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-08-24 Benedikt Meurer <benny@xfce.org> * thunar/thunar-renamer-model.c, thunar/thunar-shortcuts-model.c: Fix two typos in the tree model implementations. * configure.in.in, thunar-vfs/thunar-vfs-private.h, thunar/thunar-private.h: Use -DNDEBUG in release builds and -GG_ENABLE_DEBUG only for full debug builds. 2006-08-14 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-path.c(thunar_vfs_path_list_to_string): Use CRLF for text/uri-list, as specified by RFC 2483. Bug #2166. 2006-08-13 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-private.h, thunar-vfs/*.c: Several cleanups in the error handling. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-08-12 Benedikt Meurer <benny@xfce.org> * thunar/thunar-history-action.{c,h}, thunar/thunar-history.c, thunar/Makefile.am: Add "back" and "forward" menus to the history support module. Bug #1782. * thunar/thunar-create-dialog.c, thunar/thunar-standard-view.c, thunar/thunar-stock.{c,h}: We don't really need stock items for create and rename. Instead use labels with mnemonics. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-08-11 Benedikt Meurer <benny@xfce.org> * thunar/Makefile.am: Fix typo. 2006-08-09 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-exec.c(tvsn_get_active_workspace_number), configure.in.in: Enable compilation with -fstrict-aliasing without breaking the strict aliasing rules of the compiler. * configure.in.in: Enable compilation with --enable-debug=yes or --enable-debug=full and compilers other than gcc. * configure.in.in, thunar/thunar-private.h, thunar/thunar-*.c: Disable extra debugging in release builds, Thunar received quite a lot of stabilization now. This affects only the internals of the binary. The public API is still fully sanity checked. * thunar/thunar-column-model.c, thunar/thunar-renamer-model.c, thunar/thunar-shortcuts-model.c, thunar/thunar-tree-model.c: Remove unused variables when building with --enable-debug=no or --enable-debug=minimum now. 2006-08-09 Benedikt Meurer <benny@xfce.org> * thunar/thunar-details-view.c(thunar_details_view_init): Enable rubberband selection with GTK+ 2.9.0 and above. Bug #1996. * configure.in.in: Depend on exo 0.3.1.9svn. 2006-08-08 Benedikt Meurer <benny@xfce.org> * configure.in.in, docs/ThumbnailersCacheFormat.txt, docs/Makefile.am, thunar-vfs/thunar-vfs-thumb.c, thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-update-thumbnailers-cache.c: Drop the dependen- cy of libthunar-vfs on GConf, which was required to load the GNOME thumbnailers. Instead there's now an external program, which genera- tes an mmap()able file that contains a mapping between a mime type and the thumbnailer used to generate thumbnails for that mime type. Bug #2131. * thunar-vfs/thunar-vfs-pixbuf-thumbnailer.c, thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-thumb-pixbuf.{c,h}, thunar-vfs/thunar-vfs-thumb.c: Put the gdk-pixbuf thumbnailer into a separate program, which gets registered via the thumbnailers.cache file, so we don't need any extra overhead for thumbnails that can be generated using gdk-pixbuf. * thunar-vfs/thunar-vfs-monitor-private.h, thunar-vfs/thunar-vfs-monitor.c: Add a simple helper method _thunar_vfs_monitor_handle_get_path() that returns the path for a given monitor handle so we don't need to keep around both the path and the handle. * thunar-vfs/thunar-vfs-mime-database.c: Do not keep both the handle and the path around for monitored resources. * thunar-vfs/thunar-vfs-io-jobs.c(_thunar_vfs_io_jobs_chown): Fix typo. Thanks to Roberto Pariset <robdebian@gmail.com> for the hint. * po/POTFILES.in: Remove no longer existing file. * po/Thunar.pot, po/*.po: Update translations. * po/de.po: Update german translations. * po/it.po: Update italian translations by Roberto Pariset <robdebian@gmail.com>. 2006-08-06 Benedikt Meurer <benny@xfce.org> * thunar/thunar-launcher.c(thunar_launcher_update): Place additional "Open With" action into a submenu if either more than 2 are available or the default action for the file is "Execute". 2006-08-06 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-thumb.c (thunar_vfs_thumb_factory_lookup_thumbnail): Fix an invalid return value. * thunar-vfs/thunar-vfs-thumb.c (thunar_vfs_thumb_factory_generate_thumbnail), thunar/thunar-icon-factory.c(thunar_icon_factory_load_file_icon): Add support for generating and loading thumbnails for files in the trash. * thunar-vfs/thunar-vfs-info.c(_thunar_vfs_io_local_rename), thunar-vfs/thunar-vfs-mime-application.c (thunar_vfs_mime_application_new_from_file), thunar-vfs/thunar-vfs-mime-cleaner.c(main), thunar-vfs/thunar-vfs-mime-handler.c (thunar_vfs_mime_handler_set_icon), thunar/thunar-dialogs.c(thunar_dialogs_show_job_error), thunar/thunar-launcher.c, thunar/thunar-path-entry.c(thunar_path_entry_check_completion_idle): Use strncmp() instead of g_str_has_prefix() where it makes sense. Try to avoid g_str_has_suffix() if checking only for a single character. * thunar/thunar-standard-view.c(thunar_standard_view_drag_motion): Deny XdndDirectSave0 and _NETSCAPE_URL drops to locations in the trash. 2006-08-05 Benedikt Meurer <benny@xfce.org> * thunar/thunar-application.c(thunar_application_unlink_files): Unlink permanently if atleast one non-local (not necessary trash) file is included in the file list. * thunar/thunar-path-entry.c(thunar_path_entry_changed): Do not try to autocomplete non-local paths, as that's not going to work pro- perly with trash paths anyway. 2006-08-04 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.c(thunar_file_info_get_uri_scheme): Use a more generic implementation here. * thunar/thunar-location-button.c(thunar_location_button_file_changed): Hide the label only for the file system root node. 2006-08-04 Benedikt Meurer <benny@xfce.org> * configure.in.in, thunar-vfs/thunar-vfs-os-bsd.c: OpenBSD doesn't support getdents() and whiteout inodes, instead getdirentries() will be used on OpenBSD. 2006-08-04 Benedikt Meurer <benny@xfce.org> * thunar/thunar-util.c(thunar_util_time_from_rfc3339): Fix typo. 2006-08-04 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.c, thunar/thunar-util.{c,h}: Add new helper method thunar_util_time_from_rfc3339(), which parses a date string to a time value, using strptime() if available. Use the method to parse the deletion date string for trashed resources, so the deletion date will be displayed properly even on systems that lack strptime(). * thunar/thunar-util.c(thunar_util_humanize_file_time): Use g_date_set_time() to enable compilation with GLib 2.6/2.8. Hopefully nobody will still use GLib 2.6/2.8 in 2038. 2006-07-31 Benedikt Meurer <benny@xfce.org> * configure.in.in, thunar-vfs/thunar-vfs-io-local-xfer.c, thunar-vfs/thunar-vfs-io-local.c: Use statvfs1()/fstatvfs1() on NetBSD 2.99 and above. 2006-07-31 Benedikt Meurer <benny@xfce.org> * thunar/thunar-permissions-chooser.c (thunar_permissions_chooser_file_changed): Make sure that the file's group is included in the "Group" box. Bug #1838. 2006-07-31 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-transfer-job.c, thunar/thunar-dialogs.c: Add "No to all" response to the transfer progress dialog, which allows to skip all further overwrite dialogs. Bug #1666. 2006-07-31 Benedikt Meurer <benny@xfce.org> * thunar/thunar-dbus-service-infos.xml, thunar/thunar-dbus-service.c: Add DisplayChooserDialog() to the org.xfce.FileManager interface, which pops up the "Open With" dialog, optionally allowing the user to open the file with the choosen application. Bug #1811. 2006-07-31 Benedikt Meurer <benny@xfce.org> * configure.in.in, plugins/thunar-sendto-email/main.c: Check for missing mkdtemp, and use a fallback implementation if missing from the system. Bug #2070. 2006-07-30 Benedikt Meurer <benny@xfce.org> * thunar/thunar-tree-model.c: Emit "row-deleted" prior to deleting the node from the tree structure, as required for GTK+ 2.10. 2006-07-30 Benedikt Meurer <benny@xfce.org> * acinclude.m4(BM_THUNAR_PLUGIN_TPA): Display "no" if the tpa plugin should not be build. * configure.in.in: Finally fix the glibc detection. 2006-07-29 Benedikt Meurer <benny@xfce.org> * thunar/thunar-application.c(thunar_application_collect_and_launch): Always sanity check the list of paths when collecting files for a copy or move operation, as applications might provide invalid URI lists during a DnD operation. 2006-07-28 Benedikt Meurer <benny@xfce.org> * thunar/thunar-icon-factory.c(thunar_icon_factory_load_file_icon): Do not try to load or generate thumbnails for files in the trash. 2006-07-28 Benedikt Meurer <benny@xfce.org> * thunar/thunar-dbus-service.c, thunar/thunar-tree-model.c: Monitor the trash bin for changes. 2006-07-28 Benedikt Meurer <benny@xfce.org> * thunar/thunar-tree-model.c(thunar_tree_model_node_drop_dummy): We can avoid an additional path lookup here. 2006-07-27 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-thumb-pixbuf.c(thunar_vfs_thumb_pixbuf_load): Properly close the pixbuf loader prior to releasing it, even if the pixbuf wasn't loaded successfully. * configure.in.in: The glibc specified work-arounds break other the build on other systems. Instead try to guess whether glibc-style work-arounds are required. 2006-07-27 Benedikt Meurer <benny@xfce.org> * configure.in.in, thunar-vfs/thunar-vfs-io-local-xfer.c, tdb/Makefile.am: Work-around various glibc oddities. 2006-07-27 Benedikt Meurer <benny@xfce.org> * README, acinclude.m4, configure.in.in, thunar-vfs/, thunar/, plugins/thunar-apr/thunar-apr-provider.c, plugins/thunar-uca/thunar-uca-model.c: Import the trash framework, based on the XDG trash specification, but currently limited to the home trash. * thunar/thunar-file.{c,h}, thunar/thunar-standard-view.c (thunar_standard_view_merge_custom_actions): Remove obsolete thunar_file_get_actions(). Bug #1241. * thunar/thunar-file.c, thunar/thunar-util.{c,h}: Use localized human readable format for file dates. Bug #2057. * thunar/thunar-private.h, thunar/thunar-tree-model.c, thunar/thunar-thumbnail-generator.c, thunar/thunar-shortcuts-model.c, thunar/thunar-renamer-pair.c, thunar/thunar-renamer-model.c, thunar/thunar-clipboard-manager.c: Use the slice allocator to reduce the memory overhead. * thunar/thunar-gtk-extensions.{c,h}, thunar/thunar-chooser-button.c, thunar/thunar-permissions-chooser.c, thunar/thunar-chooser-dialog.c, thunar/thunar-preferences-dialog.c, thunar/thunar-renamer-dialog.c, thunar/thunar-size-label.c: Use a single shared GtkTooltips instance for the whole application. * thunar/thunar-path-entry.c: Update the path entry icon and text whenever the current file changes. * README, acinclude.m4, configure.in.in, plugins/thunar-tpa/: Add a trash panel applet, that communicates with Thunar via D-BUS to display the current state of the trash can and move files to the trash by dropping them to the panel applet. * thunar/thunar-preferences.c(thunar_preferences_class_init), docs/README.thunarrc: Disable case-sensitive sorting of the files by default. Bug #2064. * docs/reference/thunar-vfs/: Update the API documentation. * po/POTFILES.in: Add new files here. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-07-22 Benedikt Meurer <benny@xfce.org> * thunar/thunar-renamer-progress.c(thunar_renamer_progress_next_idle): Pass the error pointer to thunar_file_rename(). 2006-07-21 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-mime-handler.h(ThunarVfsMimeHandlerFlags): Add THUNAR_VFS_MIME_HANDLER_SUPPORTS_URIS to indicate that the handler supports URIs. * thunar-vfs/thunar-vfs-mime-application.c (thunar_vfs_mime_application_new_from_file): Test whether the application launcher and the associated desktop actions support URIs. 2006-07-14 Benedikt Meurer <benny@xfce.org> * plugins/thunar-apr/thunar-apr-image-page.c: Add ISO Speed Ratings to the Image page. * thunar/thunar-preferences-dialog.c(thunar_preferences_dialog_init): Avoid duplication in the user interface, as suggested by Eugenia Loli-Queru <eloli@hotmail.com>. 2006-07-10 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-thumb-pixbuf.c: sys/types.h must be included before sys/mman.h to compile properly on OpenBSD. * thunar/thunar-progress-dialog.c(thunar_progress_dialog_percent): Do not truncate the text in the progress bar. Bug #2003. * thunar/thunar-list-model.c: Fix improper behaviour of ThunarListModel with GtkEntryCompletion and GtkTreeView. Bug #1891. 2006-07-09 Benedikt Meurer <benny@xfce.org> * configure.in.in: Post-release version bump. 2006-07-09 Benedikt Meurer <benny@xfce.org> * === Released 0.3.2beta2 === * configure.in.in: Bump version. * configure.in.in, README: Depend on libexo 0.3.1.8beta2. * THANKS: Add missing translator credits. * NEWS: Add missing news items. * po/*.po: Update Project-Id-Version. * po/*.po: Update translations. 2006-07-08 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-path.c(thunar_vfs_path_escape_uri): Fix alignment issues for Linux/sparc. Bug #1983. 2006-07-06 Benedikt Meurer <benny@xfce.org> * thunar/thunar-list-model.c(thunar_list_model_get_sort_column_id): Fix a crash with GTK+ 2.10. Bug #1995. 2006-07-01 Benedikt Meurer <benny@xfce.org> * docs/README.thunarrc, thunar/thunar-preferences.c: Add a new option MiscRememberGeometry, which controls whether Thunar will store the window size whenever the user resizes the window. * thunar/thunar-window.c: Don't save the window geometry unless the MiscRememberGeometry setting is TRUE. 2006-06-14 Benedikt Meurer <benny@xfce.org> * thunar/thunar-renamer-dialog-ui.xml, thunar/thunar-renamer-dialog.c: Add missing "sendto-menu" action. Bug #1921. 2006-06-14 Benedikt Meurer <benny@xfce.org> * thunar-vfs/: Reduce the number of relocations. 2006-06-13 Benedikt Meurer <benny@xfce.org> * configure.in.in: Use --as-needed if supported by the linker. * thunar/thunar-properties-dialog.c(thunar_properties_dialog_init): Use GtkLabel instead of ExoEllipsizedLabel here. * plugins/thunar-sendto/main.c(tse_ask_compress): Initialize info properly here. 2006-06-11 Benedikt Meurer <benny@xfce.org> * plugins/thunar-sendto-email/main.c(tse_ask_compress): Do not try to create an archive for a list of archive files, but always attach these files directly. 2006-06-11 Benedikt Meurer <benny@xfce.org> * thunar/thunar-gtk-extensions.{c,h}, thunar/thunar-launcher.c: Add utility function thunar_gtk_icon_factory_insert_icon(), which inserts a named icon or an icon file to a GtkIconFactory with a given name. This is used in ThunarLauncher to add icons for the various launcher GtkAction's. * thunar/thunar-sendto-model.{c,h}, thunar/Makefile.am: Import class ThunarSendtoModel, which provides access to additional "Send To" targets registered as .desktop files in $XDG_DATA_DIRS/Thunar/sendto. * icons/16x16/Makefile.am, icons/16x16/stock_thunar-shortcuts.png: Add stock icon for the shortcuts pane. * thunar/thunar-stock.{c,h}: Add stock icons for the desktop and shortcuts side pane "Send To" targets. * thunar/thunar-launcher-ui.xml, thunar/thunar-launcher.c, thunar/thunar-shortcuts-pane-ui.xml, thunar/thunar-shortcuts-pane.c, thunar/thunar-window-ui.xml, thunar/thunar-window.c: Add "Send To" sub menu to the "File" and file context menus. Turn "Add Folder to Shortcuts" into a sendto target, named "Side Pane (Create Shortcut)". Use ThunarSendtoModel to load additional sendto targets, represented as ThunarVfsMimeHandlers, and add them to the "Send To" menu (will be loaded only on-demand). * configure.in.in, plugins/thunar-sendto-email/, plugins/Makefile.am: Import the sendto-email plugin, which adds an entry to the new "Send To" menu, named "Mail Recipient", and allows to attach files to mails from within the file manager. * po/POTFILES.in: Add new files here. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-06-11 Daichi Kawahata <daichi@xfce.org> * plugins/thunar-sbr/thunar-sbr-remove-renamer.c, thunar/thunar-permissions-chooser.c: Fixed typos, modified string suggested by Misu Moldovan <dumol@gnome.ro>. * po/Thunar.pot, po/*.po: Updated. 2006-05-30 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c(thunar_standard_view_drag_drop): Fix signedness warning introduced with the previous commit. 2006-05-30 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c(thunar_standard_view_drag_drop): Don't crash if the XDS drag site provides an invalid filename. 2006-05-29 Benedikt Meurer <benny@xfce.org> * thunar/thunar-location-button.c, thunar/thunar-location-buttons.c: Cleanup location buttons properly when a directory is unmounted or otherwise destroyed. Bug #1752. 2006-05-23 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-volume-hal.c(thunar_vfs_volume_hal_mount): Fix memory leak introduced by the previous commit. 2006-05-23 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-volume-hal.c(thunar_vfs_volume_hal_mount): pmount-hal returns an error if the volume is already mounted. Bug #1833. 2006-05-23 Daichi Kawahata <daichi@xfce.org> * configure.in.in, docs/manual/Makefile.am, docs/manual/zh_TW/Thunar.xml.in, docs/manual/zh_TW/images/Makefile.am, docs/manual/zh_TW/Makefile.am, po-doc/ChangeLog, po-doc/LINGUAS, po-doc/zh_TW.po: Import initial Traditional Chinese translations by Cosmo Chene <cosmolax@gmail.com>. 2006-05-17 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-mime-application.{c,h}, thunar-vfs/thunar-vfs.symbols: Add new method thunar_vfs_mime_application_is_usercreated(), which tells whether a given mime application was automatically created by the user via the "custom command" box in the file manager(s). * thunar-vfs/thunar-vfs-mime-database.{c,h}, thunar-vfs/thunar-vfs.symbols: Add new method thunar_vfs_mime_database_remove_application() to remove a previously added mime application (user-created) from the mime database. * thunar/thunar-chooser-dialog.c, thunar/thunar-chooser-model.{c,h}: Add a context menu to the chooser dialog with a "Remove Launcher" item, which allows to remove previously added (user-created) application launchers from the mime database. Bug #1814. * docs/reference/thunar-vfs/: Update the API documentation. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-05-15 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.h: Add convenience macro thunar_file_dup_uri(). * thunar/thunar-ice.{c,h}, thunar/thunar-session-client.{c,h}, thunar/main.c, thunar/Makefile.am, configure.in.in: Add session management support, based on XSM. Bug #1415. 2006-05-14 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-job.c: Fix compile warning. Bug #1756. 2006-05-11 Benedikt Meurer <benny@xfce.org> * configure.in.in: Check for both libpng.pc and libpng12.pc. 2006-05-08 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-user.c(thunar_vfs_user_manager_get_all_groups): Properly rewind/close the groups database before iterating over the groups. Bug #1772. 2006-05-07 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c: Allow dropping URLs from web browsers to a file manager window, which results in popping up the "Create Link" dialog in the appropriate folder. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-05-07 Benedikt Meurer <benny@xfce.org> * plugins/thunar-uca/thunar-uca-editor.c (thunar_uca_editor_icon_clicked): Use gtk_file_filter_add_pixbuf_formats(). * THANKS: Update translator credits. 2006-05-05 Benedikt Meurer <benny@xfce.org> * thunar/thunar-location-buttons.c (thunar_location_buttons_action_create_folder): Fix double unref. 2006-05-04 Daichi Kawahata <daichi@xfce.org> * configure.in.in, docs/manual/Makefile.am, docs/manual/ru/Makefile.am, docs/manual/ru/Thunar.xml.in, docs/manual/ru/images/Makefile.am, po-doc/LINGUAS, po-doc/ru.po: Import initial Russian translations by Andrey Fedoseev <andrey.fedoseev@gmail.com>, Maxim Zenin <webmechanics@gmail.com>. 2006-05-02 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-mime-cleaner.c: Apply patch from Oliver Lehmann <oliver@freebsd.org> to fix compilation on older FreeBSD systems. 2006-05-02 Benedikt Meurer <benny@xfce.org> * configure.in.in: Don't set G_DISABLE_DEPRECATED. * thunar-vfs/thunar-vfs-monitor.c: Fix compilation with older gcc releases. 2006-05-01 Benedikt Meurer <benny@xfce.org> * thunar/thunar-path-entry.c: Handle Tab key properly when the comple- tion popup window is shown. * thunar/thunar-path-entry.c: Popup the completion window when the Tab key is pressed. Bug #1745. 2006-05-01 Benedikt Meurer <benny@xfce.org> * plugins/thunar-apr/thunar-apr-desktop-page.c (thunar_apr_desktop_page_save), thunar-vfs/thunar-vfs-info.c(thunar_vfs_info_rename): Avoid race condition between g_file_set_content() and inotify. Bug #1701. 2006-05-01 Benedikt Meurer <benny@xfce.org> * thunar/thunar-path-entry.c(thunar_path_entry_activate): Activate if only a single item matches. Bug #1747. 2006-05-01 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-job.c: Fix a possible race condition when emit- ting signals from another thread, and make sure the prepare source method doesn't return -1 for the timeout if the source is ready to be dispatched. Bug #1743. 2006-04-30 Benedikt Meurer <benny@xfce.org> * plugins/thunar-apr/thunar-apr-desktop-page.c: Use g_access() on Win32. * plugins/thunar-apr/thunar-apr-private.{c,h}, plugins/thunar-apr/thunar-apr-abstract-page.c, plugins/thunar-apr/Makefile.am: Properly initialize the i18n support for the Advanced Properties plugin. * plugins/thunar-uca/thunar-uca-private.{c,h}, plugins/thunar-uca/thunar-uca-provider.c, plugins/thunar-uca/Makefile.am: Properly initialize the i18n support for the User Customizable Actions plugin. 2006-04-26 Benedikt Meurer <benny@xfce.org> * thunar/thunar-folder.c: No need to reset the folder in the dispose() method, instead we can do that when finalize() is called. * thunar/thunar-standard-view.c (thunar_standard_view_set_current_directory): Resetting the folder for the model with a view connected can take a lot of time, so we temporarily disconnect the model from the view while resetting the folder. 2006-04-26 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.c(thunar_file_accepts_drop): Ups, no need to check the suggested action twice. 2006-04-26 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.c(thunar_file_accepts_drop): Be a bit smarter in guessing the default action for a folder drop operation. For example it will default to move now if both the source and the target are on the same disk and the user owns the source files. * NEWS: Update news. 2006-04-25 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-job.c: Improve the asynchronous job handling to avoid two possible race conditions. In addition, jobs are launched instantely now, instead of having to wait for the next main loop iteration. 2006-04-25 Benedikt Meurer <benny@xfce.org> * thunar/thunar-properties-dialog.c: Improve the properties dialog. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-04-24 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-thumb-pixbuf.{c,h}, thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-thumb.c: Improve the GdkPixbuf fallback thumb- nail generator. Bug #1703. 2006-04-24 Benedikt Meurer <benny@xfce.org> * thunar/thunar-launcher.c, thunar/thunar-permissions-chooser.c: Revert typos. The whole change didn't make sense at all. 2006-04-24 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c(thunar_standard_view_action_delete): Fix typo. * docs/README.thunarrc: Add link to "Advanced Settings" page on the project wiki. * docs/Makefile.am, docs/README.gtkrc, thunar/thunar-compact-view.c, thunar/thunar-abstract-icon-view.c: Add style properties "row-spacing" and "column-spacing" to ThunarAbstractIconView to allow customizing the spacings in the icon/compact views. Bug #1698. 2006-04-24 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-info.c, thunar-vfs/thunar-vfs-link-job.c, thunar-vfs/thunar-vfs-mime-cache.c, thunar-vfs/thunar-vfs-scandir.c, thunar-vfs/thunar-vfs-mime-database.c, thunar-vfs/thunar-vfs-thumb.c, thunar-vfs/thunar-vfs-transfer-job.c, thunar-vfs/thunar-vfs-xfer.c, thunar-vfs/thunar-vfs-unlink-job.c, configure.in.in: Properly use GLib replacements for POSIX functions on Windows. Properly check whether symlinks and named pipes are supported on the target platform. * thunar-vfs/thunar-vfs-types.h, thunar-vfs/thunar-vfs-info.c, thunar/thunar-file.{c,h}: Determine the real access permissions for files and add them as flags to the ThunarVfsInfo, instead of guessing them from the mode and the uid/gid. Bug #1670. * docs/reference/thunar-vfs/tmpl/thunar-vfs-types.sgml: Update API docs. 2006-04-24 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-info.c: No need to cache inode/symlink, as users file systems shouldn't be full of broken links. 2006-04-23 Benedikt Meurer <benny@xfce.org> * thunar/thunar-launcher.c, thunar/thunar-permissions-chooser.c, thunar/thunar-standard-view.c: Use indirect string passing for gtk_message_dialog_new() in case the strings (i.e. filenames) contain printf() parameter specifications. Bug #1704. 2006-04-23 Benedikt Meurer <benny@xfce.org> * thunar/thunar-properties-dialog.c: Add reload keyboard shortcuts to the properties dialog. Bug #1674. 2006-04-23 Benedikt Meurer <benny@xfce.org> * thunar/thunar-folder.c(thunar_folder_finished): Finally fix the merging step when reloading the folder content. 2006-04-23 Benedikt Meurer <benny@xfce.org> * thunar/thunar-tree-view.c: Allow to delete folders in the tree view using the context menu or the usual keyboard shortcuts. Bug #1712. * thunar/thunar-folder.c: Do not try to process the new files before the job finishes. This fixes a possible race condition. * thunar/thunar-window.c: Go to the parent folder when the current directory is deleted. 2006-04-20 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-info.c(_thunar_vfs_info_new_internal): Be sure to check names extracted from the .desktop file first before passing them to thunar_vfs_mime_database_get_info_for_name(). Bug #1696. 2006-04-20 Benedikt Meurer <benny@xfce.org> * thunar/thunar-create-dialog.c(thunar_create_dialog_set_filename): Properly select the whole filename in the create dialog if it doesn't contain a dot. Bug #1679. 2006-04-19 Benedikt Meurer <benny@xfce.org> * thunar/thunar-location-buttons.c: Add "Properties" to the path bar context menu. Bug #1675. * thunar/thunar-location-button.c(thunar_location_button_set_file): Watch folders in the path bar for changes. Bug #1686. 2006-04-19 Benedikt Meurer <benny@xfce.org> * thunar/thunar-size-label.c: Add possibility to stop calculating the folder size in the properties dialog by clicking on the animated throbber. Bug #1673. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-04-19 Benedikt Meurer <benny@xfce.org> * configure.in.in: Check for paths.h. * plugins/thunar-uca/thunar-uca-model.c: Run the action commands using the bourne shell (or the systems replacement), so environment variables and backticks can be used. * NEWS: Update NEWS. 2006-04-18 Benedikt Meurer <benny@xfce.org> * thunar/thunar-dialogs.c(thunar_dialogs_show_about): Use (translatable) license GPL text provided by libxfce4util. 2006-04-17 Benedikt Meurer <benny@xfce.org> * docs/manual/es/Thunar.xml.in, po-doc/es.po: Update spanish translations by Jos� M <josem88@gmail.com>. 2006-04-16 Benedikt Meurer <benny@xfce.org> * configure.in.in: Post-release version bump. 2006-04-16 Benedikt Meurer <benny@xfce.org> * === Released 0.3.0beta1 === * configure.in.in: Bump version. * configure.in.in, README: Depend on libexo 0.3.1.6beta1. * Makefile.am, configure.in.in, Thunar.spec.in: Add RPM spec file for Thunar. 2006-04-16 Benedikt Meurer <benny@xfce.org> * thunar/main.c(main): Use g_print() instead of g_printf() to print the version information. 2006-04-16 Benedikt Meurer <benny@xfce.org> * docs/manual/es/, docs/manual/fr/, configure.in.in, docs/manual/Makefile.am: Apply Daichi's patch to properly build and install the spanish and french translations of the user manual. 2006-04-16 Benedikt Meurer <benny@xfce.org> * po-doc/LINGUAS, po-doc/fr.po, docs/manual/fr/Thunar.xml.in: Import initial french translations for the user manual by josem <josem88@gmail.com>. 2006-04-16 Benedikt Meurer <benny@xfce.org> * po-doc/LINGUAS, po-doc/fr.po, docs/manual/fr/Thunar.xml.in: Import initial french translations for the user manual by Stephane Roy <sroy@j2n.net>. 2006-04-16 Benedikt Meurer <benny@xfce.org> * po/Thunar.pot, po/*.po: Updated. * po/de.po: Update german translations. * po-doc/Thunar.pot, po-doc/*.po, docs/manual/ja/Thunar.xml.in: Updated. 2006-04-16 Benedikt Meurer <benny@xfce.org> * thunar/thunar-window.c: Bind "zoom-reset" to Ctrl+KP_0 and Ctrl+KP_Insert. 2006-04-16 Benedikt Meurer <benny@xfce.org> * docs/manual/C/Thunar.xml.in: Update documentation date. * TODO: Clean up TODO. 2006-04-16 Benedikt Meurer <benny@xfce.org> * docs/reference/thunar-vfs/tmpl/thunar-vfs-types.sgml: Update API docs. * icons/16x16/Makefile.am: stock/generic is no longer present in hicolor, use stock/navigation instead. 2006-04-16 Benedikt Meurer <benny@xfce.org> * configure.in.in: Update PACKAGE_BUGREPORT. * thunar/main.c: Add --version switch. 2006-04-15 Benedikt Meurer <benny@xfce.org> * po/LINGUAS, po/he.po: Import initial hebrew translations by Yo'av Moshe <bjesus@gmail.com>. * THANKS: Add translator credits for Yo'av Moshe <bjesus@gmail.com>. 2006-04-15 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c(thunar_standard_view_drag_scroll_timer): Add support for horizontal drag-scrolling in the compact list view. 2006-04-14 Benedikt Meurer <benny@xfce.org> * Thunar-folder-handler.desktop.in.in: Use a more specific Name, as suggested by Jaap Karssenberg. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-04-14 Benedikt Meurer <benny@xfce.org> * po/de.po: Update german translations, thanks to Fabian Nowak and Jannis Pohlmann. 2006-04-14 Benedikt Meurer <benny@xfce.org> * plugins/thunar-apr/thunar-apr-desktop-page.c (thunar_apr_desktop_page_save): Fix invalid parameter to fopen() in GTK+ 2.6 codepath. 2006-04-14 Benedikt Meurer <benny@xfce.org> * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-04-14 Benedikt Meurer <benny@xfce.org> * thunar/thunar-preferences-dialog.c: Add "Compact List View" to the preferences dialog. 2006-04-14 Benedikt Meurer <benny@xfce.org> * docs/README.thunarrc, thunar/thunar-preferences.c: Add new option LastCompactViewZoomLevel. * thunar/thunar-abstract-icon-view-ui.xml, thunar/Makefile.am, thunar/thunar-abstract-icon-view.{c,h}, thunar/thunar-window.c thunar/thunar-compact-view.{c,h}, thunar/thunar-window-ui.xml, thunar/thunar-icon-view.{c,h}: Add a "Compact View", which uses ExoIconView with EXO_ICON_VIEW_LAYOUT_COLS layout mode. Based on patches from Matt McClinch <mattmcclinch@gmail.com>. * THANKS: Add Matt McClinch. * po/POTFILES.in: Add new files. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-04-12 Benedikt Meurer <benny@xfce.org> * plugins/thunar-apr/, acinclude.m4, plugins/Makefile.am, configure.in.in: Import the "Advanced Properties" plugin. * README: Add note about optional pcre and libexif dependencies. * po/POTFILES.in: Add new files. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-04-11 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-deep-count-job.c (thunar_vfs_deep_count_job_status_ready): Be sure to use 64bit unsigned integers for the time comparison. Fix another typo. * plugins/thunar-uca/thunar-uca-plugin.c(thunar_extension_initialize): Fix typo. * thunar-vfs/thunar-vfs-info.c: Try to identify malicious .desktop files that try to look like a regular document. 2006-04-09 Benedikt Meurer <benny@xfce.org> * icons/Makefile.am: Be sure to run gtk-update-icon-cache after installing new icons into the hicolor icon theme (skipped if $DESTDIR is set). 2006-04-09 Benedikt Meurer <benny@xfce.org> * docs/README.thunarrc, thunar/thunar-preferences.c: Add new option "MiscSingleClickTimeout", which specifies the delay after which items are automatically selected in single-click mode. * thunar/thunar-preferences-dialog.c(thunar_preferences_dialog_init): Add "MiscSingleClickTimeout" setting to the preferences dialog. * thunar/thunar-standard-view.c(thunar_standard_view_constructor): Apply global single-click timeout setting to the view. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-04-08 Benedikt Meurer <benny@xfce.org> * *.desktop.in.in: It's a FileManager. 2006-04-08 Benedikt Meurer <benny@xfce.org> * po/de.po: Improve german translations, based on suggestions by Fabian Novak. 2006-04-08 Benedikt Meurer <benny@xfce.org> * thunar/thunar-location-buttons.c: Add "Create Folder" action to the path bar button context menu. 2006-04-08 Benedikt Meurer <benny@xfce.org> * thunar/thunar-renamer-dialog.c: Fix tooltips for "add-files" and "remove-files" as pointed out by Jari Rahkonen. * po/Thunar.pot, po/*.po: Merge changed strings. * po/de.po: Update german translations. 2006-04-05 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-info.c, thunar-vfs/thunar-vfs-types.h, thunar/thunar-file.c(thunar_file_get_mode_string): Add support for special Solaris file types (doors and event ports). 2006-04-05 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-info.c(thunar_vfs_info_get_free_space): Use statvfs() on Solaris. * thunar-vfs/thunar-vfs-scandir.c: Solaris also lacks dirfd(). * plugins/thunar-uca/thunar-uca-model.c(thunar_uca_model_item_reset): Use memset() instead of bzero(). 2006-04-04 Benedikt Meurer <benny@xfce.org> * docs/manual/ja/Thunar.xml.in: Update the docbook version of the japanese user manual. 2006-04-04 Benedikt Meurer <benny@xfce.org> * po-doc/ja.po: Update japanese translations for the user manual, Daichi Kawahata <daichi@xfce.org>. Bug #1366. 2006-04-04 Benedikt Meurer <benny@xfce.org> * thunar/thunar-list-model.c(thunar_list_model_get_statusbar_text): Include a size summary in the statusbar text if no items are selected as suggested by Fabian Novak. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-04-04 Benedikt Meurer <benny@xfce.org> * thunar/thunar-tree-model.{c,h}, thunar/thunar-tree-view.c: Add removable volumes to the tree view. Bug #1636. * po/Thunar.pot, po/*.po: Update translations. 2006-04-03 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c(thunar_standard_view_class_init): Shift Delete/KP_Delete now also emits "delete-selected-files". Bug #1631. 2006-03-31 Benedikt Meurer <benny@xfce.org> * thunar/thunar-list-model.c(thunar_list_model_file_changed): Do not re-sort the model unless the name of the file (and thereby its position) has changed. Greatly improves the performance of the internal bulk renamer. * thunar/thunar-list-model.c(thunar_list_model_sort): Reuse the memory of the sort_array for new_order to reduce stack usage with large folders. 2006-03-30 Benedikt Meurer <benny@xfce.org> * thunar/thunar-folder.c: Reload the folder when the corresponding file changes. Use the ThunarFileMonitor to stay informed about changes to the corresponding rather than connecting additional signal handlers to the file. * plugins/thunar-uca/thunar-uca-provider.c: Schedule a "changed" event for the working directory once the custom command terminates. Bug #1625. 2006-03-28 Benedikt Meurer <benny@xfce.org> * configure.in.in: Check for limits.h and localeconv(). * thunar/thunar-size-label.c: Format the size summary string properly according to the current locale. 2006-03-28 Benedikt Meurer <benny@xfce.org> * docs/README.thunarrc, thunar/thunar-preferences.c: Add new hidden setting MiscCaseSensitive, which controls whether sorting is done in a case-sensitive manner. * configure.in.in: Check for strcoll(). * thunar/thunar-file.{c,h}: Add thunar_file_compare_by_name(), which implements a rather complex but very efficient and smart comparison function for file names. * thunar/thunar-tree-model.c(thunar_tree_model_cmp_array): Use thunar_file_compare_by_name() here. * thunar/thunar-list-model.{c,h}: Add "case-sensitive" property and use thunar_file_compare_by_name(). * thunar/thunar-standard-view.c(thunar_standard_view_init): Synchronize the "misc-case-sensitive" preference with the "case-sensitive" pro- perty of the list model. * thunar/thunar-tree-model.{c,h}: Add "case-sensitive" property and synchronize with the global "misc-case-sensitive" preference. 2006-03-26 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-xfer.c(thunar_vfs_xfer_copy_regular): Use a better error message for the case that the target file already exists. * thunar/thunar-progress-dialog.c(thunar_progress_dialog_ask): Improve the confirmation dialog as suggested by Fabian Novak. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations, thanks to Fabian Novak. 2006-03-26 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-volume-hal.c: Add support for gnome-mount based on an initial patch by Roman Moravcik <roman.moravcik@gmail.com>. 2006-03-25 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c (thunar_standard_view_action_select_by_pattern): Fix the appearance of the "Select by Pattern" dialog. * thunar/thunar-renamer-dialog.c: Need to grab a reference on the ThunarIconFactory instance for the screen of the dialog, else the standalone dialog will not generate thumbnails properly. * plugins/thunar-sbr/thunar-sbr-enum-types.c (thunar_sbr_register_enum_types): Improve the offset mode labels. * plugins/thunar-sbr/: Import the last pending renamer, the "Numbering" renamer. Bug #1609. * po/POTFILES.in: Add new files. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-03-25 Benedikt Meurer <benny@xfce.org> * thunar/thunar-window.c: Add F9 shortcut to toggle the visibility of the side pane. Bug #1568. 2006-03-25 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-deep-count-job.{c,h}, thunar-vfs/thunar-vfs-types.h, thunar-vfs/thunar-vfs.{c,h}, thunar-vfs/thunar-vfs.symbols: Allow caller to specify whether the ThunarVfsDeepCountJob should follow symlinks to folders. Bug #1606. * thunar/thunar-size-label.c(thunar_size_label_file_changed): Do not follow symlinks when calculating the size of folders. Bug #1606. 2006-03-25 Benedikt Meurer <benny@xfce.org> * Thunar.desktop.in.in(Exec): Support dragging files and folders to the Thunar application icon, which will then be opened using Thunar. 2006-03-25 Benedikt Meurer <benny@xfce.org> * thunar/thunar-renamer-dialog.c: Add support for dropping files to the bulk rename dialog. Bug #1605. 2006-03-24 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-marshal.list: Add a marshaller for the "status-ready" signal for the upcoming ThunarVfsDeepCountJob. * thunar-vfs/thunar-vfs.{c,h}, thunar-vfs/thunar-vfs.symbols, thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-deep-count-job.{c,h}: Add ThunarVfsDeepCountJob, which calculates the number of items and the total size of the items in a given directory. Bug #1603. * thunar/Makefile.am, thunar/thunar-size-label.{c,h}, thunar/thunar-properties-dialog.c: Add ThunarSizeLabel widget class, which handles the ThunarVfsDeepCountJob and displays the total size of a file for the properties dialog. Bug #1603. * thunar/thunar-gtk-extensions.c: Make sure tooltips are shown for the toolbar items. Bug #1593. * po/POTFILES.in: Add new files. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-03-24 Benedikt Meurer <benny@xfce.org> * plugins/thunar-sbr/thunar-sbr-case-renamer.h, plugins/thunar-sbr/thunar-sbr-insert-renamer.h, plugins/thunar-sbr/thunar-sbr-remove-renamer.h, plugins/thunar-sbr/thunar-sbr-replace-renamer.h: Fix typos. * docs/reference/thunarx/tmpl/thunarx-file-info.sgml, thunarx/thunarx-file-info.c: Register the "changed" and "renamed" signals right after the type is registered. This way gtk-doc will properly display the signals (gtk-doc doesn't invoke base_init() for interfaces). Bug #1418. * docs/reference/thunarx/tmpl/thunarx-property-page-provider.sgml, docs/reference/thunarx/tmpl/thunarx-property-page.sgml, thunarx/thunarx-property-page-provider.c: Properly document ThunarxPropertyPage and ThunarxPropertyPageProvider. Bug #1456. 2006-03-24 Benedikt Meurer <benny@xfce.org> * thunar/thunar-renamer-progress.{c,h}: Add new helper method thunar_renamer_progress_running(), which tells whether the rename operation is currently in progress. * thunar/thunar-renamer-dialog.c(thunar_renamer_dialog_response): Fix the Cancel/Close button handling. * examples/nautilus-bulk-rename.py, examples/Makefile.am: Add an ex- ample how to use Thunar Bulk Rename as Nautilus extension. Bug #1597. 2006-03-24 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.{c,h}: Add wrapper method thunar_file_get_for_uri() which is a rather common operation. * thunar/thunar-dbus-service.c (thunar_dbus_service_parse_uri_and_display): Use the newly added method thunar_file_get_for_uri(). * thunar/thunar-launcher.c: If no current directory is set, directories will always be opened in new windows. * thunar/thunar-renamer-progress.{c,h}: Add support for explicit cancellation of the rename operation. * thunar/thunar-renamer-dialog-ui.xml,thunar/thunar-renamer-model.{c,h}, thunar/thunar-renamer-dialog.{c,h}, thunar/Makefile.am: Some polish on the dialog and the model. Allow users to add/remove files using the context menu. Add a standalone mode in which the bulk rename dialog appears as standalone application and which can be invoked through the D-BUS service. Bug #1597. * thunar/thunar-standard-view.c(thunar_standard_view_action_rename): Keep up with the ThunarRenamerDialog changes. * thunar/main.c, thunar/thunar-application.{c,h}, thunar/thunar-dbus-client.{c,h}, thunar/thunar-dbus-service-infos.xml, thunar/thunar-dbus-service.c: Add BulkRename() method to the D-BUS interface org.xfce.Thunar and add command line option -B to Thunar, which allows to open the bulk rename dialog directly. Bug #1597. * Thunar-folder-handler.desktop.in.in, Thunar.desktop.in.in, Makefile.am: Rearrange the .desktop file handling. * Makefile.am, Thunar-bulk-rename.desktop.in.in, ThunarBulkRename.in: Add launcher for the bulk rename utility. Bug #1597. * examples/thunar-file-manager.py, examples/Makefile.am: Add example for the usage of the org.xfce.Thunar interface. * thunarx/thunarx-renamer.{c,h}, thunarx/thunarx.symbols: Add new method get_actions() to ThunarxRenamer, as discussed with Jannis, to allow plugin writers to add custom actions to the renamers tree view context menu (i.e. "Edit Tags" for the thunar-media-tag-plugin). First part of bug #1602. * docs/reference/thunarx/: Update the API docs. * thunar/thunar-renamer-dialog.c(thunar_renamer_dialog_context_menu), thunar/thunar-renamer-dialog-ui.xml: Add custom actions provided by the active ThunarxRenamer to the file context menu in the renamer dialog. Second part of bug #1602. * po/POTFILES.in: Add new files. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-03-23 Benedikt Meurer <benny@xfce.org> * thunar/thunar-dialogs.c, thunar/thunar-window.{c,h}: Move the generic parts of the about dialog to thunar-dialogs.c. * thunar/thunar-properties-dialog.c (thunar_properties_dialog_update_providers): Fix missing gtk_widget_show() for the provided pages. 2006-03-22 Benedikt Meurer <benny@xfce.org> * docs/reference/thunarx/tmpl/thunarx-renamer.sgml: Fix a typo. * thunar/thunar-renamer-model.c: Only invalidate items on "file-changed" signals if the file changed on the disk, to avoid invalidating items constantly while generating thumbnails. * thunar/thunar-gobject-extensions.c: Register a transformation func- tion string->uint. * plugins/thunar-sbr/thunar-sbr-case-renamer.c (thunar_sbr_case_renamer_new): More consistent naming scheme for the renamer titles. * plugins/thunar-sbr/: Import additional renamers "Insert / Overwrite" and "Remove Characters". Bug #1599. * po/POTFILES.in: Add new files. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-03-22 Benedikt Meurer <benny@xfce.org> * docs/reference/thunarx/: Update the thunarx API documentation. 100% symbol docs coverage! 2006-03-21 Benedikt Meurer <benny@xfce.org> * plugins/thunar-uca/README: Fix typos. * thunarx/thunarx-private.{c,h}: Import new helper function thunarx_param_spec_get_option_name(). * thunarx/Makefile.am, thunarx/thunarx.h, thunarx/thunarx-renamer.{c,h}, thunarx/thunarx-renamer-provider.{c,h}, thunarx/thunarx.symbols: Merge the ThunarxRenamer extension point, which can be used to hook additional bulk renamers into Thunar. Bug #1416. * thunar/thunar-renamer-dialog.{c,h}, thunar/thunar-renamer-model.{c,h}, thunar/thunar-renamer-pair.{c,h},thunar/thunar-renamer-progress.{c,h}, thunar/Makefile.am, thunar/thunar-standard-view.c: Merge the bulk rename framework for Thunar, which uses the ThunarxRenamers to rename multiple files at once. Bug #1416. * acinclude.m4, configure.in.in, plugins/thunar-sbr/, plugins/Makefile.am: Merge stable version of the thunar-sbr exten- sion ("Simple Builtin Renamers"), which provides "Search & Replace", which optionally uses PCRE to support regular expressions, and "Convert upper/lowercase". Additional renamers will be merged once ready. Bug #1416. * po/POTFILES.in: Add new files. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-03-21 Benedikt Meurer <benny@xfce.org> * thunar/thunar-gobject-extensions.c (thunar_g_initialize_transformations): Register one string->enum transformation function that is used by all GEnum derived types. * thunar/thunar-enum-types.{c,h}: Import ThunarRenamerMode enum. Don't need to register a transformation for each and every enum type. * thunar/thunar-preferences.c(thunar_preferences_class_init), thunar/main.c(main): Initialize the additional GType transformations on startup, rather than in the ThunarPreferences class constructor. 2006-03-20 Benedikt Meurer <benny@xfce.org> * Makefile.am, acinclude.m4, configure.in.in, po/POTFILES.in, po/Thunar.pot, plugins/: Move thunar-uca to plugins/. 2006-03-20 Benedikt Meurer <benny@xfce.org> * thunar/thunar-icon-renderer.c(thunar_icon_renderer_render): Render the icon properly when the widget state is insensitive. 2006-03-18 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-xfer.c: Make sure the user can always read and write copied directories. 2006-03-16 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-volume.c(thunar_vfs_volume_lookup_icon_name): Fix typo, s/gnome-dev-dvdrom/gnome-dev-disc-dvdrom/. 2006-03-16 Benedikt Meurer <benny@xfce.org> * thunar/thunar-tree-view.c: gtk_tree_view_get_visible_range() is only available in GTK+ 2.8 and above. 2006-03-16 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-xfer.c: Also chmod u+rw the target file if we are not the owner of the source file. * thunar-vfs/thunar-vfs-path.c(thunar_vfs_path_to_uri): Double checking bufsize doesn't make much sense. 2006-03-16 Benedikt Meurer <benny@xfce.org> * thunar/thunar-window.c: Add backspace as shortcut for "Back". * thunar/thunar-application.c: Save accelerators on exit and restore them on startup. This way users can customize all shortcuts to their needs and Thunar will remember those shortcuts. * FAQ, docs/manual/C/Thunar.xml.in: Update the documentation. * po-doc/Thunar.pot, po-doc/*.po: Merge new strings. 2006-03-16 Benedikt Meurer <benny@xfce.org> * thunar/thunar-location-buttons.c, thunar/thunar-standard-view-ui.xml, thunar/thunar-standard-view.c: Yet another attempt to set appropriate labels/tooltips for the cut/copy/paste actions. Cut/copy/paste in file manager is really different to other applications, not the actual data is stored in the clipboard, but only the location where to find the data. * thunar/thunar-tree-view.c: Add drop site support and clipboard actions. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. Use "Ordner" instead of "Verzeichnis" to be consistent with the shared-mime-info and Gtk+ translations. 2006-03-15 Benedikt Meurer <benny@xfce.org> * thunar/thunar-debug.{c,h}, thunar/Makefile.am: Add THUNAR_DEBUG_MARK() which can be used to easily profile parts of Thunar. 2006-03-15 Benedikt Meurer <benny@xfce.org> * acinclude.m4(BM_THUNAR_VFS_VOLUME_IMPL): Handle "none" properly. * thunar-vfs/thunar-vfs-volume-manager.c, thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-volume-private.h, thunar-vfs/thunar-vfs.symbols, thunar-vfs/thunar-vfs-volume.c, thunar-vfs/thunar-vfs-volume-none.c, thunar-vfs/thunar-vfs-volume.h, thunar-vfs/thunar-vfs-volume-hal.c, thunar-vfs/thunar-vfs-volume-freebsd.c: Improve the volume manager implemenation. The ThunarVfsVolumeManager and ThunarVfsVolume inter- faces are now abstract base classes, with the implementation API completely separated from the public API. The HAL backend was fixed to work around a strange HAL bug, where 'volume.is_mounted' is FALSE for mounted volumes (instead of trusting HAL, we ask the kernel to make sure we always display the proper state). Also, new signals "mounted", "pre-unmount" and "unmounted" were added to both ThunarVfsVolume and ThunarVfsVolumeManager, to allow applications to perform certain actions for these events. * docs/reference/thunar-vfs/: Update the API documentation. * thunar/thunar-window.c: Whenever the user requests to unmount a volume, check if the window displays a folder on this volume and if so, go to the home folder, to make sure we don't display a probably no longer existing mount point afterwards. 2006-03-14 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-exec.{c,h}: Add thunar_vfs_exec_sync() helper function. * thunar-vfs/thunar-vfs-volume-freebsd.c: Use thunar_vfs_exec_sync(). 2006-03-14 Benedikt Meurer <benny@xfce.org> * thunar/thunar-details-view.c(thunar_details_view_zoom_level_changed): Fix bug in Gtk+ 2.6 version of this method. 2006-03-14 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-path.{c,h}, thunar-vfs/thunar-vfs.symbols: Add convenience method thunar_vfs_path_is_ancestor(), used to implement the auto-expand in the tree pane. * docs/reference/thunar-vfs/: Update thunar-vfs API docs. * thunar/thunar-file.h: Add thunar_file_is_ancestor(). * docs/README.thunarrc, thunar/thunar-preferences.c, thunar/thunar-window.c: Add new preference LastSeparatorPosition, which includes the last position of the gutter that separates the side pane and the main view. * docs/README.thunarrc, thunar/thunar-preferences.c, thunar/thunar-preferences-dialog.c: Add new preferences TreeIconEmblems and TreeIconSize, similar to their shortcuts counterparts. * thunar/thunar-tree-model.{c,h}, thunar/thunar-tree-pane.{c,h}, thunar/thunar-tree-view.{c,h}, thunar/Makefile.am, thunar/thunar-window-ui.xml, thunar/thunar-window.c: Initial import of the tree side pane. Still missing a lot of features, but the basics are in place and the performance and memory overhead is quite good already. Bug #1363. * po/POTFILES.in: Add new files. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-03-14 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-util.c: Do not include <libxfce4util/libxfce4util.h> directly. 2006-03-13 Benedikt Meurer <benny@xfce.org> * thunar/thunar-path-entry.c(thunar_path_entry_init): Always sort folders before files here, and always include hidden files in the entry completion. 2006-03-13 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c(thunar_standard_view_drag_motion): Add drag scroll support for XDS. 2006-03-13 Benedikt Meurer <benny@xfce.org> * thunar/thunar-location-button.c(thunar_location_button_init): Fix misalignment of the file system icon. Reported by Pablo Hdez-M. Saiz <homeless3d@gmail.com>. 2006-03-13 Benedikt Meurer <benny@xfce.org> * thunar/thunar-permissions-chooser.c (thunar_permissions_chooser_fixperm_clicked): Forgot to adjust the mode mask. 2006-03-12 Benedikt Meurer <benny@xfce.org> * thunar/thunar-permissions-chooser.c (thunar_permissions_chooser_fixperm_clicked): Make sure the owner can read and enter the folder after fixing folder permissions. 2006-03-12 Benedikt Meurer <benny@xfce.org> * thunar/thunar-details-view.c(thunar_details_view_init): Use 2px spacing for the name column. 2006-03-12 Benedikt Meurer <benny@xfce.org> * thunar/thunar-text-renderer.c: Don't setup a fixed height if text wrapping is enabled. * po/Thunar.pot, po/*.po: Update translations again. * po/de.po: Fix typo in german translations. 2006-03-12 Benedikt Meurer <benny@xfce.org> * thunar/thunar-column-editor.c(thunar_column_editor_init): Fix a typo. 2006-03-12 Benedikt Meurer <benny@xfce.org> * thunar/thunar-enum-types.{c,h}, thunar/thunar-list-model.c, thunar/thunar-path-entry.c: Rename THUNAR_COLUMN_REAL_NAME to THUNAR_COLUMN_FILE_NAME. * thunar/thunar-enum-types.{c,h}, thunar/thunar-list-model.c: Add new list model columns THUNAR_COLUMN_GROUP and THUNAR_COLUMN_OWNER. * thunar/thunar-enum-types.{c,h}: Divide ThunarColumns into visible and special columns. * thunar/thunar-text-renderer.c(thunar_text_renderer_get_size): Improve guessing the required width for text columns. * thunar/thunar-text-renderer.c(thunar_text_renderer_set_widget): Set fixed height for the text render. * thunar/thunar-preferences.c, docs/README.thunarrc: Add preferences for the configurable detailed list view columns. Bug #1351. * thunar/thunar-column-editor.{c,h}, thunar/thunar-column-model.{c,h}, thunar/Makefile.am: Import ThunarColumnModel and ThunarColumnEditor classes. The ThunarColumnModel class handles the order, visibility and fixed widths of columns. The ThunarColumnEditor class provides a dialog to configure the ThunarColumnModel. Bug #1351. * thunar/thunar-details-view.{c,h}, thunar/thunar-details-view-ui.xml, thunar/Makefile.am: Use column order and visibility from the ThunarColumnOrder. Add "Configure Columns..." menu item to "View", which pops up the ThunarColumnEditor. For fixed column mode, we use the fixed height mode provided by GtkTreeView, which speeds up the detailed list view a lot, esp. with older Pango version. Bug #1351. * po/POTFILES.in: Add new files here. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update the german translations. 2006-03-11 Benedikt Meurer <benny@xfce.org> * thunar-uca/thunar-uca-editor.c(thunar_uca_editor_command_clicked), thunar/thunar-chooser-dialog.c(thunar_chooser_dialog_browse): Try to resolve relative filenames in $PATH. * thunar/thunar-chooser-dialog.c: Allow users to specify whether or not an application should become the default for the given MIME type. * thunar/thunar-chooser-dialog.c: Add tooltips and improve the overall usability of the chooser dialog. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-03-09 Benedikt Meurer <benny@xfce.org> * thunar/thunar-shortcuts-view.c: Improve keyboard navigation. Remove the "Display Icon Emblems" menu item. Bug #1559. * thunar/thunar-preferences-dialog.c: Add options for the shortcuts pane to the preferences dialog. Improve the recursive permissions option in the preference dialog and avoid the term "recursive". * po/*.po, po/Thunar.pot: Merge new strings. * po/de.po: Update german translations. 2006-03-09 Benedikt Meurer <benny@xfce.org> * examples/xfce-file-manager.py: Add note about DisplayFolderAndSelect() to the example. 2006-03-09 Benedikt Meurer <benny@xfce.org> * thunar/thunar-shortcuts-view.c: Add support to drop files to folders listed in the shortcuts pane. Bug #1345. 2006-03-08 Benedikt Meurer <benny@xfce.org> * thunar/thunar-view.{c,h}: Add new methods get_visible_range() and scroll_to_file(). * thunar/thunar-standard-view.c: Implement get_visible_range() and scroll_to_file(). Drop the scroll_offsets, will be handled in ThunarWindow. * thunar/thunar-window.{c,h}: Remember the first visible file whenever leaving a directory and scroll to it when entering the directory again. * thunar/thunar-application.{c,h}: Return the created window from the thunar_application_open_window() method. * thunar/thunar-dbus-service-infos.xml, thunar/thunar-dbus-service.c: Add DisplayFolderAndSelect() to the org.xfce.FileManager interface. File managers that cannot scroll and select to a given file can silently ignore the filename parameter and handle it like an invocation of DisplayFolder(). Bug #1553. 2006-03-08 Benedikt Meurer <benny@xfce.org> * thunar/thunar-shortcuts-view.c: Fix shortcut rename. 2006-03-08 Benedikt Meurer <benny@xfce.org> * thunar/thunar-shortcuts-view.c: Always open shortcuts using single clicks. 2006-03-08 Benedikt Meurer <benny@xfce.org> * thunar-uca/thunar-uca-provider.c: Pass the correct working directory when launching folder actions. 2006-03-08 Benedikt Meurer <benny@xfce.org> * thunar/thunar-properties-dialog.c(thunar_properties_dialog_init): Properly synchronize the dialog title with the name entry box. * thunar/thunar-file.{c,h}: Add THUNAR_FILE_ICON_STATE_OPEN. * thunar/thunar-icon-renderer.c(thunar_icon_renderer_render): Use THUNAR_FILE_ICON_STATE_OPEN for expanded rows. * thunar/thunar-side-pane.{c,h}, thunar/thunar-shortcuts-pane.c: Add "show-hidden" property. 2006-03-07 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-mime-legacy.c: Fix gcc4 warnings. Bug #1556. * thunar-vfs/thunar-vfs-xfer.c: Prefer statvfs() over statfs() on systems that provide both. Bug #1556. 2006-03-07 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-mime-legacy.c: Implement magic handling for the legacy backend (shared-mime-info <= 0.16). Bug #1106. 2006-03-07 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-xfer.c: Automatically give write permissions to regular files and folders copied from read-only media. Bug #1555. 2006-03-06 Benedikt Meurer <benny@xfce.org> * autogen.sh, configure.in.in, po/LINGUAS: Read the set of available languages from po/LINGUAS and substitute them when autogen.sh is run. This way we can continue to use glib-gettext. * docs/manual/, po-doc/, configure.in.in, Makefile.am: Import Daichi's initial japanese translations for the user manual. 2006-03-05 Benedikt Meurer <benny@xfce.org> * po/POTFILES.in: Add Thunar-folder-handler.desktop.in here. * po/Thunar.pot, po/*.po: Merge new strings. 2006-03-05 Benedikt Meurer <benny@xfce.org> * Thunar-folder-handler.desktop.in, Makefile.am: Install folder handler .desktop file for Thunar. This way firefox and thunderbird can use Thunar to open folders. 2006-03-05 Benedikt Meurer <benny@xfce.org> * configure.in.in: Bump version to 0.2.3svn. 2006-03-05 Benedikt Meurer <benny@xfce.org> * configure.in.in: Depend on libexo >= 0.3.1.4. 2006-03-05 Benedikt Meurer <benny@xfce.org> * configure.in.in: Bump version to 0.2.2alpha2. * configure.in.in: Bump soname. 2006-03-05 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-xfer.c, thunar/thunar-preferences-dialog.c: Fix en_GB words to their american english counterparts. * po/*.po, po/Thunar.pot: Update translations. 2006-03-04 Benedikt Meurer <benny@xfce.org> * po/de.po: Update german translations. 2006-03-02 Benedikt Meurer <benny@xfce.org> * configure.in.in, thunar/thunar-gdk-pixbuf-extensions.{c,h}, thunar/thunar-icon-renderer.c: Some of the gdk-pixbuf extensions were moved to libexo. Use the libexo ones. 2006-03-02 Benedikt Meurer <benny@xfce.org> * thunar/thunar-stock.{c,h}, thunar/thunar-create-dialog.c, thunar/thunar-standard-view.c: Add stock items THUNAR_STOCK_RENAME and THUNAR_STOCK_CREATE and use them for the create and rename dialogs. Bug #1523. * po/de.po: Fix german translations. 2006-03-02 Benedikt Meurer <benny@xfce.org> * configure.in.in: Add zh_TW to XDT_I18N(). * THANKS: Add translator credits for Hydonsingore Cia <hydonsingore@mail.educities.edu.tw>. 2006-03-02 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c(thunar_standard_view_get_drop_file): Allow to drop into full details view. Thunar will accept drops to the current folder on all non-executable regular files. Bug #1343. 2006-03-02 Benedikt Meurer <benny@xfce.org> * po/de.po: Fix typo. 2006-03-02 Benedikt Meurer <benny@xfce.org> * po/*.po: Previous commit removed the semicolons from the "Recommended applications" and "Other applications" strings. Update the po files accordingly. 2006-03-02 Benedikt Meurer <benny@xfce.org> * thunar-uca/thunar-uca-chooser.c(thunar_uca_chooser_init): Fix the vertical icon alignment. * thunar-uca/thunar-uca-editor.c(thunar_uca_editor_command_clicked): Verify that an absolute filename is given. Else GtkFileChooser will complain. * thunar-uca/thunar-uca-editor.c(thunar_uca_editor_icon_clicked): Same story. * thunar/thunar-dialogs.c, thunar/thunar-dialogs.c, thunar-uca/thunar-uca-chooser.c, thunar-uca/thunar-uca-provider.c: "%s." is really not something that must be translated. * thunar/thunar-chooser-dialog.c, thunar/thunar-chooser-model.{c,h}: Use bold font for the titles. * po/Thunar.pot, po/*.po: Update po files. * po/de.po: Updated the german translations. Thanks to Fabian Nowak <timystery@arcor.de>. 2006-03-01 Benedikt Meurer <benny@xfce.org> * docs/manual/C/Thunar.xml.in: Add "Frequently Asked Questions". * thunar/thunar-location-buttons.c(thunar_location_buttons_clicked): Make sure the new active button is visible on the location button bar. * ThunarHelp.in, Makefile.am: Add ThunarHelp script, which is used to display the Thunar user manual. * thunar/thunar-dialogs.{c,h}, thunar/Makefile.am: Add new helper method thunar_dialogs_show_help(), which is used to open the documentation browser. * thunar/thunar-window-ui.xml, thunar/thunar-window.c: Add "Contents" item to the "Help" menu. * thunar/thunar-chooser-button.c(thunar_chooser_button_file_changed): Fix typo. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Updated the german translations. 2006-03-01 Benedikt Meurer <benny@xfce.org> * configure.in.in, docs/Makefile.am, docs/manual/: Import initial parts of the user manual. * HACKING: Update repository URLs. * docs/README.volumes: Update notes. 2006-02-28 Benedikt Meurer <benny@xfce.org> * thunar/thunar-details-view.c, thunar/thunar-icon-view.c, thunar/thunar-standard-view.{c,h}: Remember the scroll offset when changing directory and apply saved scroll offset once a folder is loaded again. 2006-02-27 Benedikt Meurer <benny@xfce.org> * thunar/thunar-path-entry.c(thunar_path_entry_common_prefix_append): Do not append a slash for the current directory. Otherwise a slash will automatically be appended while browsing folders under certain conditions, and the slash will be selected, but that is not what we want. 2006-02-27 Benedikt Meurer <benny@xfce.org> * thunar/thunar-create-dialog.c(thunar_create_dialog_init): Use "Create" instead of "Ok" for the button label. * thunar/thunar-standard-view.c: Add tooltip for the "Paste Files" action. Update the tooltip for the "Paste Files into Folder" action. * thunar/thunar-standard-view.c(thunar_standard_view_action_rename): Use "Rename" instead of "Ok" for the button label. 2006-02-27 Benedikt Meurer <benny@xfce.org> * thunar/main.c, thunar/thunar-application.{c,h}, thunar/thunar-dbus-client.{c,h}, thunar/thunar-dbus-service-infos.xml, thunar/thunar-dbus-service.c, po/Thunar.pot, po/*.po: Revert the previous commit. Lightweight session management won't work for Thunar, instead XSM should be implemented. Bug #1415. 2006-02-27 Benedikt Meurer <benny@xfce.org> * thunar/main.c, thunar/thunar-application.{c,h}, thunar/thunar-dbus-client.{c,h}, thunar/thunar-dbus-service-infos.xml, thunar/thunar-dbus-service.c: Add session management support based on the ExoXsessionClient class. Bug #1415. * po/Thunar.pot, po/*.po: Update translations. 2006-02-26 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c(thunar_standard_view_drag_begin): Release the drag path list, just in case drag_end() wasn't called before (Gtk+ is somewhat buggy here, but I wasn't able to locate the bug yet). * thunar/thunar-window.c(thunar_window_action_location_bar_changed): Add "reload" button to the toolbar. * thunar/thunar-shortcuts-view.c, thunar/thunar-details-view.c: Use ExoTreeView, which provides a tree view with single-click support. * thunar/thunar-standard-view.c, thunar/thunar-icon-view.c: The internal widgets now both provide the "single-click" property, so we can connect it in the ThunarStandardView constructor. 2006-02-25 Benedikt Meurer <benny@xfce.org> * configure.in.in: Bump soname. * thunar-vfs/thunar-vfs-info.{c,h}: Add working_directory parameter to thunar_vfs_info_execute() to allow xfdesktop to launch applications with $HOME as working directory, as requested on the xfce mailing list. Bug #1473. * docs/reference/thunar-vfs/tmpl/thunar-vfs-info.sgml: Update API docs. * thunar/thunar-file.c(thunar_file_execute): Update to the new API. 2006-02-25 Benedikt Meurer <benny@xfce.org> * configure.in.in: And of course eu and sv. * configure.in.in: Set PACKAGE_BUGREPORT to thunar-dev@xfce.org. 2006-02-25 Benedikt Meurer <benny@xfce.org> * configure.in.in: And add fi to XDT_I18N(). 2006-02-25 Benedikt Meurer <benny@xfce.org> * THANKS: Add translator credits for Jari Rahkonen (fi). 2006-02-24 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-volume-hal.c(thunar_vfs_volume_hal_update): All volumes provided by USB devices are now marked as removable. * thunar/thunar-shortcuts-model.c(thunar_shortcuts_model_iter_for_file): Also check volumes here. 2006-02-24 Benedikt Meurer <benny@xfce.org> * thunar-uca/thunar-uca-chooser.c: Fix two typos that already survived for too long. 2006-02-24 Benedikt Meurer <benny@xfce.org> * THANKS: Add translator credits for Piarres Beobide (eu) and Daniel Nylander (sv). 2006-02-24 Benedikt Meurer <benny@xfce.org> * thunar/thunar-details-view.c(thunar_details_view_button_press_event), thunar/thunar-shortcuts-view.c (thunar_shortcuts_view_button_press_event): Properly verify the event modifier state according to the default modifier mask. * thunar/thunar-icon-view.c: Add interactive search capabilities to the ThunarIconView based on the latest changes to ExoIconView. Bug #1359. 2006-02-24 Benedikt Meurer <benny@xfce.org> * autogen.sh: Be sure to run svn info with LC_ALL=C. 2006-02-24 Benedikt Meurer <benny@xfce.org> * thunar/thunar-shortcuts-model.{c,h}, thunar/thunar-shortcuts-view.c: Make sure the path is still valid when renaming. Update the shortcuts rename to alter the mode of ThunarTextRenderer, rather than the "editable" property, which is not valid for ThunarTextRenderer. 2006-02-24 Benedikt Meurer <benny@xfce.org> * thunar/thunar-location-bar.{c,h}, thunar/thunar-window.c, thunar/thunar-location-buttons.c, thunar/thunar-location-dialog.{c,h}, thunar/thunar-location-entry.c, thunar/thunar-standard-view.{c,h}: Focus the location selector when the user types "/" or "~" into the main view, to stay compatible with GtkFileChooser. 2006-02-24 Benedikt Meurer <benny@xfce.org> * thunar/thunar-window.c(thunar_window_action_about): Add credits for Young Hahn <youngjin.hahn@gmail.com> to the about dialog. * thunar/thunar-preferences.c, docs/README.thunarrc: Add new preference MiscSingleClick, which controls whether single click navigation should be used. * thunar/thunar-preferences-dialog.c(thunar_preferences_dialog_init): Add single/double-click options to the preferences dialog. * thunar/thunar-pango-extensions.{c,h}: Add new helper function thunar_pango_attr_list_underline_single(), which returns a Pango attribute list for single-underlined text rendering. * thunar/thunar-text-renderer.c: Add "follow-prelit" property, which controls whether the text renderer should highlight text using the single underline attribute when a row/item is highlighted. * thunar/thunar-details-view.c, thunar/thunar-icon-view.c, thunar/thunar-shortcuts-view.c, thunar/thunar-standard-view.c: Add support for single click navigation to the details and icon views, and also to the shortcuts view. Bug #1396. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. 2006-02-24 Benedikt Meurer <benny@xfce.org> * thunar/thunar-icon-view-ui.xml, thunar/thunar-launcher-ui.xml, thunar/thunar-shortcuts-pane-ui.xml, thunar/thunar-window-ui.xml, thunar/thunar-standard-view-ui.xml: Cleanup the ui description files. * thunar-vfs/thunar-vfs-link-job.c, thunar-vfs/thunar-vfs-util.c, thunar/thunar-create-dialog.c, thunar/thunar-icon-factory.c, thunar/thunar-location-entry.c, thunar/thunar-window.c, thunar/thunar-properties-dialog.c, thunar/thunar-standard-view.c, thunar-uca/thunar-uca-provider.c: Further string cleanups. * thunar/thunar-location-bar.{c.h}, thunar/thunar-window.c: ThunarLocationBar derives from ThunarComponent now, so the location bar widget is able to add its own custom actions to the ui manager. * thunar/thunar-location-entry.c: Implement ThunarComponent here. * thunar/Makefile.am, thunar/thunar-location-buttons-ui.xml, thunar/thunar-location-buttons.c, thunar/thunar-location-button.c: Let ThunarLocationButtons handle the menu for ThunarLocationButton managed by it. Also add a accelerator <Alt>Down for "down-folder", similar to GtkFileChooser. Bug #1472. * po/Thunar.pot, po/*.po: Merge new strings. 2006-02-24 Benedikt Meurer <benny@xfce.org> * THANKS, configure.in.in, icons/: Import new Thunar icon, designed by Young Hahn <youngjin.hahn@gmail.com>. 2006-02-19 Benedikt Meurer <benny@xfce.org> * thunar/thunar-window-ui.xml, thunar/thunar-window.c: Turn the side pane choice(s) into toggle actions and add <control>B as keyboard accelerator for the shortcuts pane, similar to the way its done in Firefox. 2006-02-18 Benedikt Meurer <benny@xfce.org> * thunar/thunar-location-button.c: Change icon to "drop icon" while dragging over a location button that can accept the drop. * thunar/thunar-location-button.c: Add context menu to the location buttons as requested on thunar-dev. 2006-02-18 Benedikt Meurer <benny@xfce.org> * thunar/thunar-location-button.c: Set toggle button state to inconsistent while holding down middle mouse button to give the user some visual feedback. 2006-02-18 Benedikt Meurer <benny@xfce.org> * thunar/thunar-location-button.{c,h}, thunar/Makefile.am, thunar/thunar-location-buttons.c: Put the location button stuff into a new class ThunarLocationButton. * po/POTFILES.in: Add thunar-location-button.c here. 2006-02-16 Benedikt Meurer <benny@xfce.org> * THANKS: Change Nick's email address as requested. * thunar-vfs/thunar-vfs-volume-none.h: Properly internalize the get_type() methods. 2006-02-15 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-unlink-job.c(thunar_vfs_unlink_job_execute): Ignore ENOENT errors returned by thunar_vfs_scandir() as well, to fix the problem with not being able to delete broken links on Linux. * thunar/thunar-application.c: Generate unique roles for the Thunar toplevel windows in preparation of session management support. * thunar/thunar-dbus-service-infos.xml, thunar/thunar-dbus-service.c: Add Terminate() method to the org.xfce.Thunar interface, which allows to properly shutdown a daemon instance. * thunar/main.c, thunar/thunar-dbus-client.{c,h}: Add -q/--quit command line option, which terminates a running daemon instance. Also cleanup the --daemon handling. 2006-02-15 Benedikt Meurer <benny@xfce.org> * FAQ, thunar/thunar-icon-view.c: Add mouse gesture for "Reload" as "move mouse down". The mouse gesture can still be canceled by placing the cursor back to its initial position (+/- 40px). 2006-02-15 Benedikt Meurer <benny@xfce.org> * THANKS, thunar-uca/thunar-uca-editor.c: Apply patch provided by Nick Schermer <nickschermer@gmail.com> to fix a crash in the thunar-uca plugin if the icon specified for an action cannot be loaded. Bug #1458. 2006-02-14 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-xfer.c, thunar-vfs/thunar-vfs-chmod-job.c, thunar-vfs/thunar-vfs-chown-job.c: Be more consistent with error messages. * thunar/thunar-shortcuts-view.c: Even more consistency. * thunar/thunar-abstract-dialog.{c,h}, thunar/Makefile.am: Add new abstract class ThunarAbstractDialog, which overrides GtkDialog::close and provides additional keybindings for the "close" action. Bug #1380. * thunar/thunar-chooser-dialog.c, thunar/thunar-create-dialog.c, thunar/thunar-location-dialog.c, thunar/thunar-preferences-dialog.c, thunar/thunar-properties-dialog.c: Derive from ThunarAbstractDialog, so all dialogs/windows in Thunar can be closed using the same keyboard shortcuts and people can customize these shortcuts using the standard GtkBindingSet mechanism. Bug #1380. * po/Thunar.pot, po/*.po: Update translations. * po/de.po: "Ger�t auswerfen" is probably not the best translation for "Eject Volume". ;-) * po/de.po: Even more love for the german translation. 2006-02-14 Benedikt Meurer <benny@xfce.org> * icons/16x16/Makefile.am, icons/16x16/stock_thunar-group.png, icons/16x16/stock_thunar-user.png: Remove the "thunar-user" and "thunar-group" stock icons. * thunar/thunar-permissions-chooser.c, thunar/thunar-stock.{c,h}: Do not display "thunar-user" and "thunar-group" stock icons in the permissions chooser any more, as it makes the dialog look busy. 2006-02-14 Benedikt Meurer <benny@xfce.org> * acinclude.m4, configure.in.in: Print build configuration summary. 2006-02-14 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.c(thunar_file_get_emblem_names): Use "cant-write" emblem for non-writable files owned by the user, to make it obvious why an application will not be able to save the file (unless the application uses a write to temporary, rename, unlink temporary procedure). * thunar/thunar-location-buttons.c(thunar_location_buttons_forall): Do not include the slider buttons unless include_internals is TRUE. * thunar/thunar-location-buttons.c: Remove buttons from the path bar whenever a displayed directory is deleted. Bug #1451. 2006-02-14 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-creat-job.c, thunar-vfs/thunar-vfs-info.c, thunar-vfs/thunar-vfs-mkdir-job.c, thunar-vfs/thunar-vfs-transfer-job.c, thunar-vfs/thunar-vfs-unlink-job.c, thunar-vfs/thunar-vfs-volume-hal.c, thunar/thunar-dnd.c, thunar/thunar-gdk-extensions.c, thunar/thunar-preferences.c: Cleanup error messages. * po/Thunar.pot, po/*.po: Update translations. 2006-02-14 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-volume-hal.c: Pass NULL for error on first attempt to launch pumount. * thunar/thunar-folder.c: Properly merge the current files with the previous files when reloading the folder content. This finally fixes bug #1457. 2006-02-14 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-volume-hal.c: Fallback to mount/umount if pmount is not available. Requires fstab-sync to synchronize with HAL volumes. 2006-02-14 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-volume-hal.c: Work-around HAL bug #5279, where the UDIs array returned by libhal_drive_find_all_volumes() is not properly NULL-terminated. 2006-02-14 Benedikt Meurer <benny@xfce.org> * thunar/thunar-shortcuts-model.c: Include non-removable volumes in the list of hidden volumes. * thunar-vfs/thunar-vfs-volume-hal.c: Determine the volumes from the drives on startup, instead of FindDeviceByCapability(volume), as that seems to be what GNOME does. Maybe one day, there'll be a usable HAL documentation, and hardware will really just work. 2006-02-13 Benedikt Meurer <benny@xfce.org> * acinclude.m4, configure.in.in, thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-volume-hal.c, thunar-vfs/thunar-vfs-volume.c, thunar-vfs/thunar-vfs-volume-freebsd.{c,h}, thunar-vfs/thunar-vfs-volume-none.{c,h}: Do not use AC_CONFIG_LINKS() anymore and let the user select it's preferred volume manager using the --with-volume-manager configure switch. * po/POTFILES.in: Update file list. * po/Thunar.pot, po/*.po: Update translations. 2006-02-13 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-volume-hal.c: Properly update volume state after eject and unmount. * README: List optional HAL dependency. 2006-02-13 Benedikt Meurer <benny@xfce.org> * thunar/thunar-dbus-service.c: Print a warning to stderr, instead of using g_warning() if unable to connect to the session bus. * configure.in.in, thunar-vfs/thunar-vfs-volume-hal.c: Update to use HAL 0.5.x API. 2006-02-13 Benedikt Meurer <benny@xfce.org> * thunar/thunar-folder.c(thunar_folder_reload): Properly cancel any previous job to make sure it will terminate as soon as possible. Bug #1457. 2006-02-13 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-info.c(_thunar_vfs_info_new_internal): Fix typo in hidden file detection. * thunar-vfs/thunar-vfs-volume.{c,h}: Add a few new volume types. * docs/reference/thunar-vfs/tmpl/thunar-vfs-volume.sgml: Update API docs. * thunar-vfs/thunar-vfs-volume-hal.{c,h}, thunar-vfs/Makefile.am, configure.in.in: Import the Linux/HAL implementation of the volume manager. It's still a bit rough, but it seems to work ok. Works only with pmount-hal currently, but that shouldn't be a problem. Bug #999. * thunar/thunar-shortcuts-model.c: Handle the addition/removal of volumes and do not open a file for volume shortcuts as that may prevent the volume from being unmounted properly. * thunar-vfs/thunar-vfs-volume.c: Setup a watch cursor on the given window when ejecting, mounting or unmounting a volume, so the user gets some feedback during the time it takes to perform the operation. * po/POTFILES.in: Add new file. * po/Thunar.pot, po/*.po: Merge new strings. 2006-02-13 Benedikt Meurer <benny@xfce.org> * thunar/thunar-enum-types.{c,h}, thunar/thunar-list-model.h: Rename ThunarListModelColumn to ThunarColumn and add an enum type for it. * thunar/thunar-details-view.c, thunar/thunar-icon-view.c, thunar/thunar-list-model.c, thunar/thunar-path-entry.c: Use the new ThunarColumn enum type. * thunar/thunar-gobject-extensions.c: Add transformation function for GtkSortType to string. * thunar/thunar-preferences.c, docs/README.thunarrc: Add LastSortColumn and LastSortOrder preferences, which contain the last selected sort settings. Bug #1342. * thunar/thunar-standard-view.c: Apply default sort settings on con- struction and save new defaults whenever the sort settings are changed by the user. Bug #1342. * po/Thunar.pot, po/*.po: Update translations. 2006-02-12 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file-monitor.{c,h}, thunar/Makefile.am: Add new class ThunarFileMonitor, which allows other objects stay informed about changes to ThunarFile's without having to connect signal handlers to every ThunarFile. Bug #1447. * thunar/thunar-file.c: Emit ThunarFileMonitor signals as appropriate. Bug #1447. * thunar/thunar-folder.c, thunar/thunar-list-model.c: Use the newly added ThunarFileMonitor to monitor files for changes and deletion without having to connect and disconnect signal handlers to each and every file. Bug #1447. 2006-02-12 Benedikt Meurer <benny@xfce.org> * thunar/thunar-throbber-fallback.png: Import better throbber fallback icon, thanks to Brian Schott <brian-schott@cox.net>. 2006-02-10 Benedikt Meurer <benny@xfce.org> * thunar/thunar-list-model.c(thunar_list_model_cmp): Remove the safety checks here, showing up too high in the profiler stats, and invalid arguments to this function will be detected earlier (for debug builds). 2006-02-10 Benedikt Meurer <benny@xfce.org> * docs/reference/thunar-vfs/: Update thunar-vfs API docs. * thunar/thunar-throbber-fallback.png, thunar/thunar-throbber.c: Use smaller throbber, so we don't increase the height of the menu bar. 2006-02-10 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-1.pc.in: Add gthread-2.0 to the dependencies. * thunar-vfs/thunar-vfs.c(thunar_vfs_init): Make sure the GThread system is initialized. * thunar/main.c(main): thunar_vfs_init() will initialize GThread. * thunar-vfs/thunar-vfs-info.c, thunar-vfs/thunar-vfs-types.h: Add flag THUNAR_VFS_FILE_FLAGS_HIDDEN, which tells whether a given file should be considered hidden. * thunar/thunar-file.{c,h}: Use the THUNAR_VFS_FILE_FLAGS_HIDDEN flag and implement thunar_file_is_hidden() as simple macro. * thunar/thunar-list-model.c(thunar_list_model_get_statusbar_text): Fix a typo in the multi-selection ngettext() call. * thunar/main.c(main): Call gdk_notify_startup_complete() if the remote LaunchFiles() succeeds. 2006-02-10 Benedikt Meurer <benny@xfce.org> * thunar/thunar-text-renderer.c(thunar_text_renderer_set_widget): Use the base text direction specified by Gtk+. Also, do not interpret line separators in file names. * thunar-vfs/thunar-vfs-listdir-job.c, thunar-vfs/thunar-vfs-marshal.list: Add boolean return value to the ThunarVfsListdirJob::infos-ready signal, and allow handlers to take over ownership of the infos list to avoid having to allocate a new list (which reduces both performance overhead and the negative effects on the data cache). Handlers must take care when using this feature, documentation has been updated to explain the details. * thunar/thunar-folder.c: Take over ownership of the list provided by "infos-ready" and just replace the ThunarVfsInfo's with ThunarFile's for the initial load case. For the reload case, there's no real gain in taking over ownership, so we keep the existing behaviour there. 2006-02-09 Benedikt Meurer <benny@xfce.org> * thunarx/thunarx-provider-factory.c: Initialize the factory on demand. * thunar-vfs/thunar-vfs-scandir.c(thunar_vfs_scandir_collect_fast): Use a larger buffer to speed up loading large directories. * thunar-vfs/thunar-vfs-mime-database.c: Initialize the MIME desktop stores on demand. 2006-02-09 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.h: Use cast checks instead of type checks here, as they will be optimized away with regular builds. Debug builds will still include the checks. * thunar/thunar-application.c, thunar/thunar-chooser-button.c, thunar/thunar-chooser-dialog.c, thunar/thunar-chooser-model.c, thunar/thunar-clipboard-manager.c, thunar/thunar-create-dialog.c, thunar/thunar-emblem-chooser.c, thunar/thunar-file.c, thunar/thunar-folder.c, thunar/thunar-gobject-extensions.h, thunar/thunar-history.c, thunar/thunar-icon-factory.c, thunar/thunar-icon-renderer.c, thunar/thunar-icon-view.c, thunar/thunar-launcher.c, thunar/thunar-list-model.c, thunar/thunar-location-buttons.c, thunar/thunar-location-entry.c, thunar/thunar-path-entry.c, thunar/thunar-permissions-chooser.c, thunar/thunar-progress-dialog.c, thunar/thunar-properties-dialog.c, thunar/thunar-shortcuts-icon-renderer.c, thunar/thunar-shortcuts-pane.c, thunar/thunar-standard-view.c, thunar/thunar-statusbar.c, thunar/thunar-text-renderer.c, thunar/thunar-throbber.c, thunar/thunar-window.c: We don't need to implement G_OBJECT_WARN_INVALID_PROPERTY_ID() for regular builds, as GObject will perform the required checks, but we need it for debug builds to make sure the switch statement is complete. 2006-02-08 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-util.{c,h}, thunar-vfs/thunar-vfs.symbols: Add new function thunar_vfs_canonicalize_filename(). * thunar-vfs/thunar-vfs-path.c(thunar_vfs_path_new): Use thunar_vfs_canonicalize_filename() on absolute paths. * docs/reference/thunar-vfs/: Update the thunar-vfs API docs. * thunar/thunar-dialogs.{c,h}: Use a generic parent parameter instead of a GtkWidget, so this method is also usable if no GtkWidget is none, but the dialog must appear on a specific screen. * thunar/thunar-application.{c,h}: Add a "daemon" property, which determines whether Thunar will exit once the last window is closed. Remove the D-BUS service here. Add process_filenames() method, to process the list of filenames given on the command line. Bug #1384. * thunar/main.c: Attach the D-BUS here. * Makefile.am, org.xfce.Thunar.service.in: Add Thunar specific service file. * thunar/thunar-dbus-service-infos.xml, thunar/thunar-dbus-service.c: Add the org.xfce.Thunar interface here, with currently only a LaunchFiles() method, which can process Thunar command line parameters in a remote instance. Bug #1384. * thunar/thunar-dbus-client.{c,h}, thunar/Makefile.am: Add convenience wrapper for the D-BUS LaunchFiles() of the org.xfce.Thunar interface, which is used on startup to first try to reuse an existing instance. This way new folder windows will popup instantly if an instance of Thunar is already running. * org.xfce.Thunar.service.in, org.xfce.FileManager.service.in, thunar/main.c: Add --daemon option and use it when starting from the message bus. Pass all additional parameters as file names to a run- ning remote instance or to ThunarApplication as fallback. Bug #1384. * examples/xfce-file-manager.py, examples/Makefile.am: Add a simple example how to communicate with the file manager using the D-BUS Python bindings. * po/Thunar.pot, po/*.po: Merge new strings. 2006-02-08 Benedikt Meurer <benny@xfce.org> * thunar/thunar-window.c(thunar_window_action_about): Fix the copyright date. 2006-02-07 Benedikt Meurer <benny@xfce.org> * thunar/thunar-application.{c,h}: Add thunar_application_take_window(), which is used to add a GtkWindow to the internal application windows list. The application will not exit until the last controlled window is closed by the user. * thunar/thunar-file.{c,h}: Use a generic parent parameter for the thunar_file_launch() method. * thunar/thunar-chooser-dialog.{c,h}: Use a generic parent paramter for the thunar_show_chooser_dialog() method, and let the application take over control of the dialog window. * thunar/thunar-gdk-extensions.{c,h}, thunar/Makefile.am: Import method thunar_gdk_screen_open() from Terminal, which opens a GdkScreen from a full qualified display name. * README, configure.in.in: Add optional check for D-BUS. * thunar/Makefile.am, org.xfce.FileManager.service.in, Makefile.am, thunar/thunar-dbus-service-infos.xml, thunar/thunar-application.{c,h}, thunar/thunar-dbus-service.{c,h}: Initial import of the basic D-BUS service for Thunar, the org.xfce.FileManager implementation. See the thunar-dbus-service-infos.xml file for a description of the current interface. * po/Thunar.pot, po/*.po: Update the translations. 2006-02-07 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-mime-cleaner.c: Also cleanup the defaults.list file, replacing previously merged desktop-ids and dropping references to no longer existing .desktop files. 2006-02-06 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-mime-cleaner.c, thunar-vfs/Makefile.am, configure.in.in: Add a simple utility program thunar-vfs-mime-cleaner, which cleans up the user's $XDG_DATA_HOME/applications directory and removes all automatically generated .desktop files (either generated by Thunar or Nautilus) whose associated program is no longer installed on the user's system. In addition, it tries to combine duplicated .desktop whose Exec values are equal to further the reduce the overhead. * thunar-vfs/thunar-vfs-mime-database.c: Invoke thunar-vfs-mime-cleaner every five minutes. * thunar-vfs/thunar-vfs.symbols, thunar-vfs/thunar-vfs-*.h: Add G_GNUC_WARN_UNUSED_RESULT to all methods, whose return value should never be ignored. This should help to avoid memory leaks in the future. 2006-02-06 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-chmod-job.c, thunar-vfs/thunar-vfs-chown-job.c, thunar-vfs/thunar-vfs-listdir-job.c, thunar-vfs/thunar-vfs-scandir.c, thunar-vfs/thunar-vfs-scandir.h, thunar-vfs/thunar-vfs-transfer-job.c, thunar-vfs/thunar-vfs-unlink-job.c: The directory scanning is now cancelable. Bug #1239. * thunar/thunar-icon-factory.c: Properly reload/regenerate thumbnails when image files are changed. Bug #1435. * thunar-vfs/thunar-vfs-mime-application.c (thunar_vfs_mime_application_new_from_file): Check TryExec (or Exec) first prior to allocating a ThunarVfsMimeApplication for a .desktop file, whose associated program cannot be run. Bug #1436. 2006-02-06 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c: Autoscroll while dragging to a ThunarStandardView widget. Bug #1304. 2006-02-06 Benedikt Meurer <benny@xfce.org> * thunar/thunar-templates-action.c: Use "show" instead of "map" to create the Templates menu, to make sure the menu position is determined properly. * README, configure.in.in, thunar/thunar-icon-view.c: Use cairo only with Gtk+ >= 2.7.1. * thunar/thunar-shortcuts-view.c(thunar_shortcuts_view_init): Display typeahead search for the shortcuts view. 2006-02-06 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-transfer-job.c(thunar_vfs_transfer_job_execute): Try to use g_rename() first when moving files, and only fallback to copy&delete if either the target exists (which requires user inter- action to resolve the issue) or the rename didn't work, i.e. source and target are not on the same filesystem. Bug #1229. * thunar-vfs/thunar-vfs-volume.{c,h}: Add thunar_vfs_volume_is_disc() to allow applications to decide whether to eject or unmount a volume. * thunar/thunar-shortcuts-view.c (thunar_shortcuts_view_button_press_event): Use the newly added method thunar_vfs_volume_is_disc() to determine whether to display Eject or Unmount. * thunar/thunar-side-pane.{c,h}: Derive ThunarSidePane from ThunarComponent instead of ThunarNavigator. * thunar/thunar-launcher.c, thunar/thunar-standard-view.c, thunar/thunar-window.c: Use the class name as name for the action groups. * thunar/thunar-shortcuts-pane-ui.xml, thunar/thunar-shortcuts-pane.c, thunar/thunar-window.c, thunar/thunar-window-ui.xml, thunar/Makefile.am: Add new action to add a folder (or a list of folders, depending on the selection content) to the shortcuts pane. Bug #1397. * thunar/thunar-throbber.c, thunar/thunar-throbber-fallback.{h,png}, thunar/Makefile.am: Use the "process-working" icon for the throbber, as specified by the Icon Naming Specification, with an internal fallback to a modified version of the Tango "process-working" icon. * configure.in.in, icons/Makefile.am, icons/scalable/, icons/16x16/Thunar.png, icons/16x16/Thunar.png, icons/24x24/Thunar.png, icons/48x48/Thunar.png: Revert to the previous Thunar icon. * po/Thunar.pot, po/*.po: Merge new strings. 2006-02-06 Benedikt Meurer <benny@xfce.org> * thunar/thunar-properties-dialog.c(thunar_properties_dialog_update): Use G_GINT64_FORMAT instead of "lld" as format for the file size. 2006-02-06 Benedikt Meurer <benny@xfce.org> * Thunar.desktop.in: Add "GTK" to the Categories. 2006-02-06 Benedikt Meurer <benny@xfce.org> * thunar/thunar-path-entry.c: Make sure to catch the tab key even for the ThunarLocationEntry case. This doesn't work if the completion list is visible, tho (Gtk+ bug/limitation). Bug #1346. 2006-02-05 Benedikt Meurer <benny@xfce.org> * thunar/thunar-chooser-dialog.{c,h}: Add a new convenience function thunar_show_chooser_dialog(). * thunar/thunar-launcher.c(thunar_launcher_open_files), thunar/thunar-file.c(thunar_file_launch): Use the new function thunar_show_chooser_dialog() here. * thunar/thunar-gtk-extensions.{c,h}: Add a new convenience function thunar_gtk_ui_manager_get_action_by_name(), which is unfortunately missing from GtkUIManager. * thunar/thunar-details-view.c, thunar/thunar-icon-view.c: Use thunar_gtk_ui_manager_get_action_by_name() to locate the launcher actions in the UI manager. * thunar/thunar-file.{c,h}: Add a new convenience function thunar_file_list_get_applications(), which can be used to determine the set of applications that can be used to open a given set of files. * thunar-uca/thunar-uca-chooser.c(thunar_uca_chooser_delete_clicked): Save the model after removing a custom action. * thunar/thunar-launcher.{c,h}, thunar/thunar-chooser-dialog.{c,h}, thunar/thunar-launcher-ui.xml, thunar/Makefile.am, thunar/thunar-standard-view-ui.xml, thunar/thunar-standard-view.c, thunar/thunar-window-ui.xml, thunar/thunar-window.c: Replace the previous ThunarLauncher class with a more advanced one, which has access to the GtkUIManager. The new implementation also displays which application will be used to open files, based on Jonathan Blandfords suggestion for Nautilus. Bug #1428. * thunar-vfs/thunar-vfs-mime-action-private.h, thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-mime-action.{c,h},thunar-vfs/thunar-vfs.symbols, thunar-vfs/thunar-vfs-mime-handler-private.h, thunar-vfs/thunar-vfs.h, thunar-vfs/thunar-vfs-mime-handler.{c,h}, thunar-vfs/thunar-vfs-mime-application.{c,h}, thunar-vfs/thunar-vfs-mime-database.c: Import ThunarVfsMimeAction class to support desktop actions in Thunar. The abstract base class ThunarVfsMimeHandler is used to avoid duplicating the existing code for ThunarVfsMimeApplication in ThunarVfsMimeAction, and it will also make it easier to handle both ThunarVfsMimeApplication's and ThunarVfsMimeAction's in the user interface code. Bug #1374. * docs/reference/thunar-vfs/: Update the Thunar-VFS API docs. * thunar/thunar-chooser-button.c, thunar/thunar-chooser-dialog.c, thunar/thunar-chooser-model.c, thunar/thunar-file.c, thunar/thunar-launcher.c: Update to the new ThunarVfsMimeHandler and ThunarVfsMimeApplication interface. * thunar/thunar-launcher.c: Display desktop actions in the file context menu and the "File" menu, based on the newly added ThunarVfsMimeAction class. Bug #1375. * po/POTFILES.in: Update the file list. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Update german translations. * configure.in.in, icons/: Change the Thunar icon to the new one provided by Young Hahn <youngjin.hahn@gmail.com>. Any artists around to make it look even better? 2006-02-04 Benedikt Meurer <benny@xfce.org> * thunar/thunar-permissions-chooser.c (thunar_permissions_chooser_file_changed): Display the program check box only for files which we will actually execute. * thunar/thunar-permissions-chooser.c: Add a warning text to the permissions chooser for folders, whose exec and read flags are inconsistent. Add a button to allow the user to fix the folder permissions automatically if inconsistent. * po/Thunar.pot, po/*.po: Merge new strings. 2006-02-04 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.{c,h}: Add method thunar_file_list_to_path_list(), which transforms a list of ThunarFile's to a list of ThunarVfsPath's. * thunar/thunar-clipboard-manager.c (thunar_clipboard_manager_get_callback): Use newly added function thunar_file_list_to_path_list() here. * thunarx/thunarx-file-info.c(thunarx_file_info_list_copy): Use a slightly more efficient implementation here. * thunarx/thunarx-file-info.{c,h}, thunarx/thunarx.symbols: Add a boxed type for a list of ThunarxFileInfo's. * docs/reference/thunarx/: Update the thunarx API docs. * thunar/thunar-launcher.c: Use the new boxed type for the list of selected files, rather than a pointer. * thunar/thunar-navigator.c(thunar_navigator_get_type): Add requirement on G_TYPE_OBJECT. * thunar/thunar-component.{c,h}: Add new interface ThunarComponent for those parts of a ThunarWindow that require access to both the UI manager and the currently selected files. ThunarComponent extends ThunarNavigator. * thunar/thunar-view.{c,h}: The ui-manager property is now in ThunarComponent and ThunarView inherits ThunarComponent. * thunar/thunar-standard-view.{c,h}: Implement ThunarComponent interface as required by ThunarView now. This way other components will be able to determine the selected files and set the selected files without having to interact with the ThunarView implementation directly. * thunar-vfs/thunar-vfs-info.c(thunar_vfs_info_get_free_space): Be sure to use statvfs(2) for IRIX. Bug #1425. * thunar-vfs/thunar-vfs-volume.h(ThunarVfsVolumeManagerIface): Reserve some space for future expansion now. * thunar-vfs/thunar-vfs-*.c, docs/reference/thunar-vfs/: Some updates to the Thunar-VFS API documentation. * po/Thunar.pot, po/*.po: Update translations. 2006-02-04 Benedikt Meurer <benny@xfce.org> * thunar/thunar-path-entry.c(thunar_path_entry_init): Update to the new show-hidden settings name. Bug #1424. 2006-02-02 Benedikt Meurer <benny@xfce.org> * configure.in.in: Check for statvfs() and statfs(), and required header files. * thunar-vfs/thunar-vfs-info.{c,h}, thunar-vfs/thunar-vfs-volume.{c,h}, thunar-vfs/thunar-vfs-volume-bsd.c, thunar-vfs/thunar-vfs.symbols: Move the get_free_space() method from ThunarVfsVolume to ThunarVfsInfo so we can use it even if no volume manager implementation is avail- able for the target system. Bug #1420. * thunar/thunar-file.h: Add get_free_space() method to ThunarFile, so we can easily determine the amount free space for a given volume based on a file located on that volume. Bug #1421. * thunar/thunar-list-model.c(thunar_list_model_get_statusbar_text): Use new method thunar_file_get_free_space(). * thunar/thunar-properties-dialog.c: Display the amount of free space on a certain volume in the properties dialog for folders. 2006-02-02 Benedikt Meurer <benny@xfce.org> * thunar/thunar-throbber.c: Fix typo in GDK_WINDOWING_X11. Cannot use gdk_cairo_region() with GDK < 2.7.1. 2006-02-02 Benedikt Meurer <benny@xfce.org> * thunar/thunar-icon-renderer.c(thunar_icon_renderer_render): Make it easier to distinguish hidden and backup files from regular files. * docs/README.thunarrc, thunar/thunar-preferences.c: Rename the DefaultShowHidden preference to LastShowHidden. * thunar/thunar-preferences-dialog.c, thunar/thunar-window.c: Drop the "Show hidden files" option from the preferences dialog. Instead Thunar now preserves the users last selection. This way, the "Show hidden files" behaviour is now consistent with the rest of the file manager. Bug #1417. 2006-02-02 Benedikt Meurer <benny@xfce.org> * thunar/thunar-shortcuts-model.{c,h}: Drop obsolete method thunar_shortcuts_model_file_for_iter() from ThunarShortcutsModel. * thunar-vfs/thunar-vfs-volume.{c,h}, thunar-vfs/thunar-vfs.symbols: Add eject(), mount() and unmount() methods to the ThunarVfsVolume interface. The interface is therefore mostly done now, maybe some small additions required for certain backends in the future. Bug #995. * docs/reference/thunar-vfs/: Update the API docs. * thunar-vfs/thunar-vfs-volume-bsd.c: Implement eject(), mount() and unmount() for the BSD backend. * thunar/thunar-shortcuts-view.c: Allow users to mount, unmount and eject volumes using the shortcuts pane. Volumes will also be mounted automatically if you select "Open", "Open in New Window" or just double click them. But all this is currently only available to BSD users. * docs/README.volumes: Add notes about the volume manager. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Another four strings translated! 2006-02-01 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c(thunar_standard_view_scroll_event): Zoom-in on scroll down, zoom-out on scroll up, to be compatible with Firefox. 2006-02-01 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c: Open a dialog when renaming a file. Bug #1413. * thunar/thunar-standard-view.c(thunar_standard_view_action_delete): Use "Cancel" and "Delete" buttons in the delete confirmation dialog, as suggested by Jasper. * thunar/thunar-progress-dialog.c(thunar_progress_dialog_error), thunar/thunar-permissions-chooser.c (thunar_permissions_chooser_job_error): Use "Close" button for the error dialogs. * po/Thunar.pot, po/*.po: Merge new strings. * po/de.po: Some work on the german translations. * docs/reference/thunar-vfs/tmpl/: Update thunar-vfs API docs. 2006-02-01 Benedikt Meurer <benny@xfce.org> * thunar/thunar-properties-dialog.c: Don't recreate plugin pages if the file changes, but instead let the plugins connect to the file's "changed" signal and update their user interface appropriately. Bug #1355. 2006-02-01 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.{c,h}, thunarx/thunarx-file-info.{c,h}, thunarx/thunarx.symbols: Move "changed" and "renamed" signals from ThunarFile to ThunarxFileInfo, so plugins can use these signals to stay informed about changes to files. First part of bug #1354. * docs/reference/thunarx/: Update the API documentation. * thunar-vfs/thunar-vfs-info.{c,h}, thunar-vfs/thunar-vfs-types.h: Drop the inode field from the ThunarVfsInfo struct, as we don't need it anyway and it can cause trouble with systems where ino_t's size depends on whether largefile support is active or not. 2006-02-01 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-scandir.c: Use g_access() if available. * thunar-vfs/thunar-vfs-info.c(_thunar_vfs_info_new_internal): Fix a bug where the path name was g_free()'d for .desktop files with non ASCII file names. * thunar-vfs/thunar-vfs-path.c(thunar_vfs_path_to_string): Apply simple optimization here: Prefer the stack memory over heap memory when constructing the absolute path. 2006-02-01 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-util.c(thunar_vfs_humanize_size): Use "kB" instead of "KB". 2006-01-31 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c: Disable the "create-document" action on non-writable folders. * thunar-vfs/thunar-vfs-scandir.c: Return an error when trying to scan a directory for which the user has no execute permissions. Bug #1408. * thunar/thunar-file.c(thunar_file_get_emblem_names): Add "cant-read" emblem to folders, where we don't have permissions to enter. Second part of fix for bug #1408. 2006-01-31 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-info.c: Treat .desktop files of Type=Link as executable as well, and when requested to execute such a file, extract the URL and pass it to exo-open for further processing. Bug #1369. 2006-01-31 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-exec.c(thunar_vfs_exec_parse): Use exo-open instead of hardcoding Terminal as terminal emulator. Bug #1400. 2006-01-31 Benedikt Meurer <benny@xfce.org> * configure.in.in: Depend on exo 0.3.1.3. * thunar-vfs/thunar-vfs-listdir-job.c: Make sure the list head always points to a valid ThunarVfsInfo list, even if an error occurred while stat()'ing files in a given directory. Bug #1390. * thunar/thunar-window.c(thunar_window_action_about): Use the newly added exo_url_about_dialog_hook() functions to open links in the about dialog. 2006-01-31 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c(thunar_standard_view_scroll_event): Add support to zoom in/out using Control+MouseWheel. 2006-01-30 Benedikt Meurer <benny@xfce.org> * thunar/thunar-window.c(thunar_window_action_open_templates): Improve the text for the "About Templates" dialog. Thanks to Brian for the suggestion. Bug #1392. 2006-01-30 Benedikt Meurer <benny@xfce.org> * thunar/Makefile.am, thunar/thunar-throbber.{c,h}: Import the ThunarThrobber widget class, which display a loading animation similar to the one found in Firefox. * thunar/thunar-statusbar.{c,h}: Drop the statusbar icon, as it's confusing, since it refers to the current folder instead of the selected items, but the text displayed in the statusbar refers to the selected items. * thunar/thunar-window.c: Add a ThunarThrobber to the menu bar, and use it to display loading animation instead of the statusbar icon. * thunar/thunar-window.c: Add additional reload shortcut GDK_F5. * docs/README.thunarrc, thunar/thunar-preferences.c, thunar/thunar-window-ui.xml, thunar/thunar-window.c: The statusbar is optional now. Bug #1395. * po/Thunar.pot, po/*.po: Merge new strings. 2006-01-30 Benedikt Meurer <benny@xfce.org> * configure.in.in: Add ru translations. * THANKS: Add ru translator credits for Andrey Fedoseev <andrey.fedoseev@gmail.com>. 2006-01-29 Benedikt Meurer <benny@xfce.org> * docs/README.thunarrc: Add missing preferences. * thunar/thunar-preferences.c: Rearrange stuff. 2006-01-29 Benedikt Meurer <benny@xfce.org> * thunar/thunar-enum-types.{c,h}: Add ThunarZoomLevel and ThunarIconSize required for the zoom-level support. * docs/README.thunarrc, thunar/thunar-preferences.c: Changed property ShortcutsIconSize to ThunarIconSize, required for the upcoming changes to ThunarIconRenderer. People starting Thunar for the first time after this upgrade will notice that the size of the shortcuts icons is too small because of this change. Either edit thunarrc and change ShortcutsIconSize appropriately or just remove thunarrc and let Thunar recreate it with sane defaults (your settings will be lost then). Add two new preferences LastDetailsViewZoomLevel and LastIconViewZoomLevel. * thunar/thunar-icon-renderer.{c,h}: The size property is now of type ThunarIconSize, rather than plain int. * thunar/thunar-view.{c,h}: Add zoom control methods to the ThunarView interface. * thunar/thunar-standard-view.{c,h}, thunar/thunar-standard-view-ui.xml, thunar/thunar-window-ui.xml, thunar/thunar-window.{c,h}, thunar/thunar-details-view.c, thunar/thunar-icon-view.c: Add support for seven different zoom levels to Thunar based on the previous changes. This fixes bug #1357, and thereby implements one of the most oftenly requested features. * po/Thunar.pot, po/*.po: Merge new strings. 2006-01-29 Benedikt Meurer <benny@xfce.org> * thunar/thunar-location-buttons.c: Add support to drop on pathbar buttons, as requested in bug #1344. 2006-01-29 Benedikt Meurer <benny@xfce.org> * thunar/thunar-list-model.c(thunar_list_model_files_removed): Fix bug where only the first file was removed. * thunar/thunar-folder.{c,h}: Add new method thunar_folder_reload(), which explicitly forces the ThunarFolder to reload its contents. This fixes bug #1360. * thunar/thunar-view.{c,h}: Add new method thunar_view_reload() to the ThunarView interface. * thunar/thunar-standard-view.c: Implement thunar_view_reload() for the ThunarStandardView class, using the newly added thunar_folder_reload() method. * thunar/thunar-window-ui.xml, thunar/thunar-window.c: Add a "Reload" item to the "View" menu, using "Ctrl+R" as accelerator to stay com- patible with Firefox, Nautilus, etc. This fixes bug #1361. * thunar/thunar-standard-view.c (thunar_standard_view_drag_data_received): Reload the contents of the target folder after a successful XDirectSave. This fixes bug #1362. * po/Thunar.pot, po/*.po: Merge new strings. 2006-01-29 Benedikt Meurer <benny@xfce.org> * thunar/thunar-templates-action.c: Add support for sub folders below the ~/Templates folder. This fixes reopened bug #1391. * thunar-vfs/thunar-vfs.symbols, thunar-vfs/thunar-vfs-info.{c,h}: Add thunar_vfs_info_read_link(), which determines the target from a symbolic link. * thunar/thunar-file.h: Add method thunar_file_read_link() as wrapper to thunar_vfs_info_read_link(). * thunar/thunar-properties-dialog.c: Display the "Link Target" for symbolic links. This fixes bug #1394. 2006-01-28 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-chmod-job.c(thunar_vfs_chmod_job_execute), thunar-vfs/thunar-vfs-chown-job.c(thunar_vfs_chown_job_execute): Properly emit and release an error that occurred on the last file. * THANKS, thunar/thunar-shortcuts-view.c: Add support to open shortcuts in new windows using the context menu or double-middle-clicks, based on a patch by Laurent Meunier <meunier.laurent@laposte.net>. This fixes bug #1381. * docs/README.thunarrc, thunar/thunar-preferences.c, thunar/thunar-window.c: Remember the window dimensions whenever the size of a window is changed and use the last saved window dimensions for newly created windows. This fixes bug #1389. * thunar/thunar-pango-extensions.{c,h}: Add new helper function thunar_pango_attr_list_big_bold(), which returns a pango attribute list for big, bold text rendering. * thunar/thunar-permissions-chooser.c (thunar_permissions_chooser_ask_recursive): Use big, bold label for the dialog title to stay consistent with GtkMessageDialog. * thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-creat-job.{c,h}, thunar-vfs/thunar-vfs.{c,h}, thunar-vfs/thunar-vfs.symbols: Add new class ThunarVfsCreatJob, which is used to create empty files for a given list of paths. * docs/reference/thunar-vfs/tmpl/thunar-vfs-operations.sgml, docs/reference/thunar-vfs/thunar-vfs-sections.txt: Update API docs. * thunar/thunar-application.{c,h}: Add thunar_application_creat() as wrapper for the newly imported ThunarVfsCreatJob. * thunar/thunar-application.{c,h}: Add thunar_application_copy_to() to copy files from one location to another, rather than copying files from different sources to exactly one folder. * thunar/thunar-create-dialog.c(thunar_create_dialog_set_filename): If the suggested file name contains a dot, pre-select only the text up to the dot. * thunar/thunar-standard-view-ui.xml, thunar/thunar-standard-view.c, thunar/thunar-templates-action.{c,h}, thunar/Makefile.am: Add support for Templates in a way compatible with what Nautilus does currently. This is part one of the fix for bug #1391. * thunar/thunar-preferences, docs/README.thunarrc: Add new property "misc-show-about-templates", which determines whether the "About Templates" dialog will be shown when entering the Templates folder. * icons/16x16/stock_thunar-templates.png, icons/16x16/Makefile.am, thunar/thunar-stock.{c,h}: Add new stock icon "thunar-templates". * thunar/thunar-window-ui.xml, thunar/thunar-window.c: Add "Templates" to the "Go" menu, which will open the ~/Templates folder (it will be created on-demand) and popup a message describing the purpose of the ~/Templates folder. This is part two of the fix for bug #1391. * po/POTFILES.in: Add new files here. * po/*.po: Merge new strings. 2006-01-25 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-info.c, thunar-vfs/thunar-vfs-xfer.c: Apply patch provided by Daichi to add several translator hints to thunar-vfs. * thunar/thunar-properties-dialog.c (thunar_properties_dialog_key_press_event): Support Ctrl+W for clo- sing the properties dialog, to be consistent with the main windows. 2006-01-25 Benedikt Meurer <benny@xfce.org> * THANKS, configure.in.in: Add nl to XDT_I18N(). Add translator credits to THANKS. 2006-01-25 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-util.c(thunar_vfs_humanize_size): Use "GB" instead of "G", "MB" instead of "M" and "KB" instead of "K", to make it more obvious what the value means (this fixes bug #1367). 2006-01-25 Benedikt Meurer <benny@xfce.org> * thunar/thunar-chooser-dialog.c, thunar/thunar-chooser-model.c, thunar/thunar-clipboard-manager.c, thunar/thunar-create-dialog.c, thunar/thunar-emblem-chooser.c, thunar/thunar-file.c, thunar/thunar-folder.c, thunar/thunar-history.c, thunar/thunar-icon-factory.c, thunar/thunar-icon-view.c, thunar/thunar-launcher.c, thunar/thunar-list-model.c, thunar/thunar-navigator.c, thunar/thunar-open-with-action.c, thunar/thunar-path-entry.c, thunar/thunar-progress-dialog.c, thunar/thunar-properties-dialog.c, thunar/thunar-standard-view.c, thunar/thunar-statusbar.c, thunar/thunar-text-renderer.c, thunar/thunar-view.c, thunar/thunar-window.c: Remove various internal strings from the list of translatable strings to reduce confusion for translators. * po/*.po: Update translations. 2006-01-25 Benedikt Meurer <benny@xfce.org> * thunar/thunar-enum-types.{c,h}: Import enum types required for the desktop background management. 2006-01-24 Benedikt Meurer <benny@xfce.org> * thunar/thunar-preferences.c(thunar_preferences_set_property): No need to call g_object_notify() here, as GObject does that automatically whenever set_property() is being called. * thunar/thunar-preferences.c: Remove useless safetly checks in get_property() and set_property(), since GObject already makes sure that the property id is valid. 2006-01-23 Benedikt Meurer <benny@xfce.org> * thunar/thunar-properties-dialog.c(thunar_properties_dialog_update): Display size only for regular files, as it's misleading for other file system entities. * po/*.po: Merge new strings. Some work on the german translations, we really need a german translator! 2006-01-23 Benedikt Meurer <benny@xfce.org> * docs/README.thunarrc, thunar/thunar-preferences.c: Add new preferences ShortcutsIconEmblems and ShortcutsIconSize, which control the appearance of the shortcuts view. * thunar/thunar-gobject-extensions.c: Add transformator for string to int transformations. * thunar/thunar-icon-renderer.{c,h},thunar/thunar-shortcuts-model.{c,h}, thunar/thunar-shortcuts-icon-renderer.{c,h}, thunar/Makefile.am, thunar/thunar-shortcuts-view.c: Import ThunarShortcutsIconRenderer class, which is derived from ThunarIconRenderer and allows us to draw icon cells consistently throughout the file manager. This also fixes bug #1340, which requests to display emblems for the icons in the shortcuts pane. Both the display of emblems in the shortcuts pane and the size of the icons in the shortcuts pane are now configurable through the thunarrc file (for the emblems, there's also a menu item in the context menu). 2006-01-23 Benedikt Meurer <benny@xfce.org> * configure.in.in: Bump version to 0.2.1svn. * thunar/thunar-file.{c,h}: Make thunar_file_accepts_drop() easier to use. * thunar/thunar-standard-view.c(thunar_standard_view_get_dest_actions): Keep up with the thunar_file_accepts_drop() changes. * docs/reference/thunarx/tmpl/thunarx-preferences-provider.sgml: Let gtk-doc remove it's empty line here, for whatever reason. 2006-01-22 Benedikt Meurer <benny@xfce.org> * configure.in.in: Bump version to 0.2.0alpha. * configure.in.in: Bump library interface version. * configure.in.in: Depend on libexo 0.3.1.2. * po/*.po: Update translations. * TODO: Remove obsolete TODO items. 2006-01-14 Benedikt Meurer <benny@xfce.org> * THANKS, configure.in.in, po/pl.po: Add initial polish translations, thanks to Tomasz Michał Łukaszewski <T.Lukaszewski@aster.pl>. * thunar/thunar-icon-factory.c, thunar/thunar-preferences-dialog.c, thunar/thunar-preferences.c, thunar/thunar-standard-view.c: Make thumbnails configurable. * po/*.po: Merge new strings. 2006-01-14 Benedikt Meurer <benny@xfce.org> * thunar/thunar-path-entry.c(thunar_path_entry_init): The property "popup-single-match" was introduced in Gtk+ 2.8. Thanks to Erik for the pointer. 2006-01-11 Benedikt Meurer <benny@xfce.org> * thunar/thunar-text-renderer.c(thunar_text_renderer_render): Render focus indicator when following state. Part two of fix for bug #1321. 2006-01-11 Benedikt Meurer <benny@xfce.org> * thunar/thunar-preferences.c, FAQ: Store preferences in an .ini file, $XDG_CONFIG_HOME/Thunar/thunarrc, similar to what Terminal does, so users can easily adjust hidden settings, and don't have to dive into the details of managing a tdb database file. * thunar/thunar-icon-view.c, thunar/thunar-path-entry.c, thunar/thunar-preferences-dialog.c, thunar/thunar-preferences.c, thunar/thunar-standard-view.c: Rename "default-folders-first" to "misc-folders-first" and "default-text-beside-icons" to "misc-text-beside-icons", as those preferences aren't defaults. * thunar/thunar-standard-view.c(thunar_standard_view_scroll_event), thunar/thunar-preferences.c: Add a new hidden preference, MiscHorizontalWheelNavigates, which controls whether the horizontal mouse wheel should be used to navigate back and forth within a Thunar view. This fixes bug #1319. * docs/Makefile.am, docs/README.thunarrc: Add brief overview of the various Thunar configuration settings. 2006-01-11 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c: Fix compiler warnings. Again bug #1318. 2006-01-10 Benedikt Meurer <benny@xfce.org> * thunar/thunar-path-entry.c(thunar_path_entry_changed): Make older compilers happy. Fixes bug #1318. 2006-01-10 Benedikt Meurer <benny@xfce.org> * thunar/thunar-chooser-dialog.c(thunar_chooser_dialog_response): If the default application was changed successfully, emit "changed" on the file so everybody updates its state. * thunar/thunar-chooser-button.{c,h}, thunar/thunar-properties-dialog.c: Import the ThunarChooserButton, which allows people to change the default application from within the properties dialog. * po/POTFILES.in, po/*.po: Merge new strings. 2006-01-10 Benedikt Meurer <benny@xfce.org> * thunar/thunar-path-entry.c(thunar_path_entry_activate): If we have a pending completion, accept the completion first, without activating the entry. This makes it more consistent with the behaviour when completing from the popup window. * thunar/thunar-path-entry.c(thunar_path_entry_parse): Properly transform all parts of the filename to the local encoding. * thunar/thunar-text-renderer.c(thunar_text_renderer_set_widget): Calculate the approx. character dimensions based on the font metrics for the active widget font. * thunar/thunar-window.c(thunar_window_action_go_up): Handle errors properly. * thunar/thunar-standard-view-ui.xml, thunar/thunar-standard-view.c: Add support to view the properties of the current folder. * thunar/thunar-file.{c,h}, thunar/thunar-location-buttons.c, thunar/thunar-shortcuts-model.c, thunar/thunar-window.c: Change special file naming (home and root folder) to be consistent with what GtkFileChooser does. * thunar/thunar-properties-dialog.c(thunar_properties_dialog_update): Display only the name of the file in the dialog title. * thunar/thunar-standard-view.c: Add support for the XDS protocol. * README: Add notes about supported standards. 2006-01-09 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-util.{c,h}: Add thunar_vfs_expand_filename(), which is used to expand filenames that start with the tilde character. * docs/reference/thunar-vfs/thunar-vfs-sections.txt, docs/reference/thunar-vfs/tmpl/thunar-vfs-util.sgml: Update documentation. * thunar/thunar-permissions-chooser.c: Implement cancel-semantics for the recursive permissions dialog. * thunar/thunar-permissions-chooser.c: Add tooltips. * thunar/thunar-list-model.{c,h}: Additional column to access the real file name (in UTF-8 encoding). * thunar/thunar-path-entry.{c,h}: Add support for auto path completion. * thunar/thunar-file.{c,h}: Add thunar_file_launch() to automatically launch a given ThunarFile without having to manually figure out the proper action. * thunar/thunar-location-entry.c, thunar/thunar-window.c: If the ThunarPathEntry returns a non-directory file, just try to launch it. This allows users to just open files right away from the path entry without having to lookup the file in the icon/details view. * thunar/thunar-standard-view.c, THANKS: Allow people to use the horizontal mouse wheel to navigate back/forward. Based on a patch provided by Danny Milosavljevic <danny.milo@gmx.net>. * po/*.po: Merge new strings. 2006-01-08 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-monitor.c (thunar_vfs_monitor_queue_notification): Don't use strcmp() here, as the notification's filename may be NULL. * thunar-vfs/thunar-vfs-info.{c,h}, thunar-vfs/thunar-vfs.symbols: Drop thunar_vfs_info_chmod() and thunar_vfs_info_chgrp() again. * thunar-vfs/thunar-vfs-chmod-job.{c,h}, thunar-vfs/thunar-vfs.{c,h}, thunar-vfs/thunar-vfs-chown-job.{c,h}, thunar-vfs/Makefile.am: Add new classes ThunarVfsChmodJob and ThunarVfsChownJob as replacements for the thunar_vfs_info_chmod() and thunar_vfs_info_chgrp() functions. These jobs can operate recursively. Add interfaces to the new classes, thunar_vfs_change_mode() and thunar_vfs_change_group(). * docs/reference/thunar-vfs/: Update documentation. * thunar/thunar-file.{c,h}: Drop thunar_file_chmod(),thunar_file_chgrp() and thunar_file_is_chgrpable(), as we'll use the asynchronous jobs added to Thunar-VFS now. * thunar/thunar-advanced-permissions-dialog.{c,h}, thunar/thunar-change-group-dialog.{c,h}, thunar/thunar-permissions-model.{c,h}, thunar/thunar-permissions-view.{c,h}, thunar/Makefile.am, thunar/thunar-properties-dialog.c: Ditch the ACL aware permissions user interface, as it's unlikely that ACL support will be there for 1.0 and so there's no need to reduce the usability of the permissions user interface yet. * thunar/thunar-pango-extensions.{c,h}: Add new Pango helper method thunar_pango_attr_list_small_italic(). * thunar/thunar-enum-types.{c,h}: Import new files to contain enum types that don't fit anywhere else and provide conversation functions for these types. * thunar/thunar-permissions-chooser.{c,h}, thunar/Makefile.am, thunar/thunar-properties-dialog.c: Import simplified permissions chooser, similar to the Aqua Finder one, with support to change permissions recursively for folders. * thunar/thunar-preferences-dialog.c, thunar/thunar-preferences.c: Add option "misc-recursive-permissions", which controls whether permissions are always/never applied recursively, or whether Thunar should ask the user everytime a permission flag is changed. * icons/16x16/, thunar/thunar-stock.{c,h}: Remove now obsolete icon thunar-permissions-other. Rename the user and group icons. * po/*.po, po/POTFILES.in: Update file list. Merge new strings. 2006-01-05 Benedikt Meurer <benny@xfce.org> * thunar/thunar-text-renderer.c: Don't determine the focus-padding and focus-line-width style properties on every call to get_size() when used within the icon view. 2006-01-04 Benedikt Meurer <benny@xfce.org> * thunar/Makefile.am, thunar/thunar-pango-extensions.{c,h}: Add common PangoAttrList's here, to avoid allocating them over and over again, and of course to avoid markup, which makes translator's life easier. * thunar/thunar-location-buttons.c, thunar/thunar-preferences-dialog.c, thunar/thunar-progress-dialog.c, thunar/thunar-properties-dialog.c: Use common PangoAttrList's provided by the thunar-pango-extensions. * thunar/thunar-permissions-view.c(thunar_permissions_view_init): Use italic font for the warning to make it easier to distinguish the text from the other parts of the GUI. * thunar/thunar-chooser-dialog.c(thunar_chooser_dialog_update_header): Also setup the window icon in addition to the header image icon. 2006-01-04 Benedikt Meurer <benny@xfce.org> * docs/reference/thunar-vfs/thunar-vfs-sections.txt, thunar-vfs/thunar-vfs-info.{c,h}, thunar-vfs/thunar-vfs.symbols, docs/reference/thunar-vfs/tmpl/thunar-vfs-info.sgml: Add method thunar_vfs_info_chmod() to change the permissions of a file identified by a given ThunarVfsInfo. * thunar-vfs/thunar-vfs-info.{c,h}, thunar-vfs/thunar-vfs.symbols, docs/reference/thunar-vfs/thunar-vfs-sections.txt, docs/reference/thunar-vfs/tmpl/thunar-vfs-info.sgml: Add method thunar_vfs_info_chgrp() to change the group id of a file identified by a given ThunarVfsInfo. * thunar-vfs/thunar-vfs-user.c(thunar_vfs_user_load): Properly substitute '&' in real names. * icons/16x16/, icons/Makefile.am, configure.in.in, thunar/Makefile.am, thunar/thunar-stock.{c,h}: Add stock icons thunar-permissions-user, thunar-permissions-group and thunar-permissions-other. * thunar-uca/thunar-uca-plugin.c: Don't display debug messages unless G_ENABLE_DEBUG is defined. * thunar-vfs/thunar-vfs-user.{c,h}, thunar-vfs/thunar-vfs.symbols, docs/reference/thunar-vfs/thunar-vfs-sections.txt, docs/reference/thunar-vfs/tmpl/thunar-vfs-user-manager.sgml: Add new method thunar_vfs_user_manager_get_all_groups() to retrieve all groups known to the ThunarVfsUserManager. * thunar/thunar-advanced-permissions-dialog.{c,h}, thunar/thunar-change-group-dialog.{c,h}, thunar/thunar-permissions-model.{c,h}, thunar/thunar-permissions-view.{c,h}, thunar/Makefile.am, thunar/thunar-file.{c,h}, thunar/thunar-properties-dialog.c: Add permissions tab to the file properties dialog. * po/POTFILES.in: Add new files. * po/*.po: Merge new strings. * tdb/tdbtool.c(print_rec): Fix printf format. 2006-01-02 Benedikt Meurer <benny@xfce.org> * thunar-uca/thunar-uca-model.c: Include <locale.h> to get LC_MESSAGES definition. 2005-12-30 Benedikt Meurer <benny@xfce.org> * configure.in.in: Add ca to XDT_I18n(). 2005-12-22 Benedikt Meurer <benny@xfce.org> * configure.in.in: Use -Wall -Werror for --enable-debug=yes as well. * thunar/thunar-list-model.c(thunar_list_model_get_value): The MIME info name is static. * thunar/thunar-text-renderer.c: Don't copy static strings. * pixmaps/Thunar-fallback-icon.png, pixmaps/Makefile.am, thunar/thunar-fallback-icon.{h,png}, thunar/Makefile.am, thunar/thunar-icon-factory.c: Load the fallback icon and the thumbnail frame on-demand. * thunar/main.c(main): Use Thunar icon as default for new windows. * thunar/thunar-icon-factory.c: Allocate the thumbnail factory and the thumbnail generator on-demand. * thunar/thunar-file.c: Add "display-name" and "special-name" readonly properties and emit notifications on these properties whenever the file is changed/renamed. * thunar/thunar-location-buttons.c(thunar_location_buttons_make_button): Automatically synchronize the button labels with the file's special names. * configure.in.in: Add it translations to XDT_I18N(). * THANKS: Add credits for it translator Roberto Pariset. 2005-12-20 Benedikt Meurer <benny@xfce.org> * THANKS: Update credits. * README, configure.in.in, thunar-vfs/thunar-vfs-info.c, thunar-vfs/thunar-vfs-mime-database.c, thunar-vfs/thunar-vfs-mime-info.c, thunar-vfs/thunar-vfs-path.c, thunar/main.c, thunar/thunar-file.c: Support four different levels of debugging support. Default for SVN builds is `yes', while the default for release builds is `minimum'. Closes bug #1254. 2005-12-13 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-volume-bsd.c(thunar_vfs_volume_bsd_update): Specify correct buffer size for read(). * thunar/thunar-icon-factory.c(thunar_icon_factory_load_from_file): Don't add frames for small icon sizes (< 36). Be sure to scale icon to the required size, so we don't need to scale on every render() call. * thunar/thunar-icon-renderer.c(thunar_icon_renderer_init): Add 1px padding to the icons. * thunar/thunar-icon-renderer.c(thunar_icon_renderer_render): Try to avoid scaling icons if they fit into the given cell area (including the padding). 2005-12-04 Benedikt Meurer <benny@xfce.org> * thunar/thunar-progress-dialog.c: Use Pango attribute list instead of markup for the dialog action label. This fixes bug #1252. * thunar-uca/thunar-uca-chooser.c(thunar_uca_chooser_init): Be sure to create the button widgets prior to connecting the "selection-changed" handler. This fixes bug #1260. 2005-12-03 Benedikt Meurer <benny@xfce.org> * thunar/, po/POTFILES.in, po/*.po: Rename "Favourites" to "Shortcuts", so we're consistent with the GtkFileChooser wording. This fixes bug #1258. 2005-12-03 Benedikt Meurer <benny@xfce.org> * thunar-uca/thunar-uca-model.c(start_element_handler): Properly truncate values. 2005-12-03 Benedikt Meurer <benny@xfce.org> * configure.in.in: Build the gnuc visibility test program with -Wall -Werror, as gcc reports warnings instead of errors if ELF visibility is not supported for the target platform. This fixes bug #1253. 2005-11-30 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-scandir.c: Workaround missing dirfd() definition using the POSIX/XPG API on IRIX. This fixes bug #1247. 2005-11-30 Benedikt Meurer <benny@xfce.org> * thunar/thunar-dnd.c, thunar/thunar-favourites-view.c, thunar/thunar-folder.c, thunar/thunar-preferences-dialog.c, thunar/thunar-standard-view.c: Use exo_gtk_object_ref_sink() to automatically handle floating references properly and avoid the use of GTK_OBJECT_FLOATING (see GNOME bug #322853 for details). This fixes bug #1249. 2005-11-30 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c(thunar_standard_view_renamed): Use persistent iterators instead of tree row references when renaming a file. This fixes bug #1248. 2005-11-29 Benedikt Meurer <benny@xfce.org> * thunar/thunar-thumbnail-generator.c (thunar_thumbnail_generator_thread): Don't generate thumbnails for files for which only the generator owns a reference. 2005-11-29 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c (thunar_standard_view_merge_custom_actions): Fix typo. * thunarx/thunarx-private.{c,h}, thunarx/thunarx-menu-provider.c, thunarx/Makefile.am, thunarx/thunarx-property-page-provider.c: Add helper function thunarx_object_list_take_reference(), so we don't need to repeat the same code again and again. * thunar/thunar-window.c(action_entries): Add ... to the Preferences action, since it opens a dialog. Use "e" as mnemonic, as "P" is already used by "Paste". * thunar/thunar-standard-view.c(action_entries): Add ... to the Select by Pattern action, since it opens a dialog. * thunar/thunar-preferences-dialog.c: Close preferences dialog on Esc key press. * thunarx/thunarx-preferences-provider.{c,h}, thunarx/thunarx.h, thunarx/thunarx.symbols, thunarx/Makefile.am: Add new interface ThunarxPreferencesProvider, which can be implemented to add custom actions to the preferences section of the "Edit" menu. * thunar/thunar-window-ui.xml, thunar/thunar-window.c: Query custom preferences actions from the installed providers and add them to the preferences section of the "Edit" menu. Actions are loaded in an idle source to not delay folder loading when opening a new window, even if a lot of preferences providers are installed. * docs/reference/thunarx/: Update the thunarx reference documentation. * thunar-uca/, configure.in.in, Makefile.am: Import the thunar-uca module, which provides advanced users with an easy way to add custom actions to Thunar's context menus. With this extension in place there's no longer a need to add support G-Scripts (except maybe an importer for thunar-uca). * po/POTFILES.in: Add new translatable files. * po/: Merge new strings. * examples/tex-open-terminal/README: Add note to use thunar-uca, and consider the tex-open-terminal as example for extension writers. 2005-11-29 Benedikt Meurer <benny@xfce.org> * configure.in.in, thunar-vfs/thunar-vfs-types.h: Add largefile support for systems that don't support 64bit file offsets by default. This fixes bug #1243. 2005-11-28 Benedikt Meurer <benny@xfce.org> * thunar/thunar-location-buttons.c, thunar/thunar-properties-dialog.c: Use attribute lists instead of markup strings. 2005-11-27 Benedikt Meurer <benny@xfce.org> * tdb/Makefile.am: Fix make -j<N>. 2005-11-26 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c (thunar_standard_view_merge_custom_actions): Don't sort custom actions explicitly, but leave it up to the provider plugins to determine the order of their actions. Also, be sure to update the UI manager after unmerging the previously set menu actions, else GtkUIManager will mess up the order of the actions. 2005-11-25 Benedikt Meurer <benny@xfce.org> * thunarx/thunarx-provider-factory.c: Make sure, ThunarxProviderModules are never finalized, as GObject cannot unregister dynamic types (yet). * thunar/thunar-standard-view.c(thunar_standard_view_renamed): Properly release the path returned from gtk_tree_row_reference_get_path(). 2005-11-22 Benedikt Meurer <benny@xfce.org> * thunar-vfs/*.{c,h}, thunar/*.c, thunarx/*.c: Avoid duplicating static strings if possible. * thunar-vfs/thunar-vfs-scandir.c(thunar_vfs_scandir_collect): Ignore EACCES and EPERM on subdirectories with recursive scanning. * thunar-vfs/thunar-vfs-info.h(ThunarVfsInfo): Compress "type", "mode" and "flags" to reduce memory overhead. 2005-11-22 Benedikt Meurer <benny@xfce.org> * configure.in.in: Add fr and pt_BR to gettext linguas, which were previously imported by Daichi. 2005-11-21 Benedikt Meurer <benny@xfce.org> * docs/reference/thunar-vfs/, thunar-vfs/thunar-vfs-info.h: Small documentation tweaks. * thunar-vfs/thunar-vfs-info.h: Allow previous declarations of the ThunarVfsInfo typedef. * thunarx/thunarx-file-info.{c,h}, thunarx/thunarx.symbols, thunar/thunar-file.c, docs/reference/thunarx/: Add new virtual method thunarx_file_info_get_vfs_info(), which can be used to query the ThunarVfsInfo for a given ThunarxFileInfo. 2005-11-21 Benedikt Meurer <benny@xfce.org> * thunarx/thunarx-provider-plugin.{c,h}, thunarx/Makefile.am, thunarx/thunarx.h, thunarx/thunarx.symbols: Add ThunarxProviderPlugin interface, which abstracts from the details of the dynamic type registration, and is accessible to the extensions. * thunarx/thunarx-provider-module.{c,h}, thunarx/Makefile.am: Add implementation for the ThunarxProviderPlugin interface, based on GTypeModule, which is used on the file manager's side to manage the type plugins. * thunarx/thunarx-provider-factory.{c,h}, thunarx/Makefile.am, thunarx/thunarx.h, thunarx/thunarx.symbols: Add ThunarxProviderFactory based on the ThunarExtensionManager as public interface to the provider plugin mechanism. This may also be used by other applications in the future. * thunarx/thunarx.h: Provide convenience macros ala G_DEFINE_TYPE() to ease type registration for plugin writers. * examples/, configure.in.in: Update the "Open Terminal Here" example. * docs/reference/thunarx/: Update the thunarx reference manual to include the new classes and interfaces. * thunar/thunar-extension-manager.{c,h}: Drop the old extension manager class in favour of the new provider factory class. * thunar/thunar-properties-dialog.c, thunar/thunar-standard-view.c: Use ThunarxProviderFactory to load the providers from the installed extensions. * po/POTFILES.in: Update with new file list. * thunar/thunar-file.{c,h}: Implement thunar_file_list_copy() using thunarx_file_info_list_copy() and thunar_file_list_free() using thunarx_file_info_list_free(). * docs/reference/thunar-vfs/thunar-vfs-overrides.txt, docs/reference/thunarx/thunarx-overrides.txt: Fix build error with older gtk-doc versions. 2005-11-16 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-mime-application.{c,h}, thunar-vfs/thunar-vfs.symbols: Drop obsolete error class ThunarVfsMimeApplicationError. 2005-11-15 Benedikt Meurer <benny@xfce.org> * thunar/thunar-gtk-extensions.{c,h}: Add new convenience function thunar_gtk_action_group_create_tool_item(), which creates a new GtkToolItem proxy for a given GtkAction in a GtkActionGroup. * thunar/thunar-location-bar.{c,h}, thunar/thunar-location-entry.c, thunar/thunar-location-buttons.c: Add new virtual method thunar_location_bar_is_standalone(), which determines whether a given location bar should be displayed in a standalone fashion, or embedded within a location toolbar. * thunar/thunar-window-ui.xml, thunar/thunar-window.c: Check whether the location should be embedded into a location toolbar and if so, generate a toolbar for it on-demand and place it below the menubar. Else, the location bar is placed right above the view pane. This gives a better appearance when using the location entry implementation with a toolbar, and you don't need the toolbar with the pathbar anyways. * po/POTFILES.in: Add thunar-preferences-dialog.c here. * po/*.po: Merge new strings. 2005-11-15 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c: Use "b" as mnemonic for the "Select by Pattern" action to avoid clash with "Preferences". * thunar/thunar-preferences.c: Add "default-folders-first" property, which determines whether folders should be sorted before other files. Add "default-view", which dictates the default view pane used for new windows, or "void" to use the view remembered in "last-view". * thunar/thunar-standard-view.{c,h}: Connect the list models "folders-first" property to the "default-folders-first" preference. * thunar/thunar-window.c(thunar_window_init): Check "default-view" first and if it does not contain a valid view class name, check "last-view". * thunar/thunar-details-view.c(thunar_details_view_get_accessible), thunar/thunar-icon-view.c(thunar_icon_view_get_accessible): Set ATK role for our folder views to ATK_ROLE_DIRECTORY_PANE. * thunar/Makefile.am, thunar/thunar-preferences-dialog.{c,h}, thunar/thunar-window-ui.xml, thunar/thunar-window.c: Import class ThunarPreferencesDialog, which allows the user to customize the global preferences for Thunar. Add a "Preferences" menu item to the "Edit" menu of ThunarWindow's. * thunar/thunar-preferences.c: Add "default-text-beside-icons" property, which tells whether the icon view should display the file names beside the file icons, rather than below the file icons. * thunar/thunar-icon-view.c: Add a property "text-beside-icons", which tells whether the icon view will place the icon captions beside the icons rather than below. Synchronize the property with the global option "default-text-beside-icons". * po/*.po: Merge new strings. 2005-11-14 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-xfer.c: Return G_FILE_ERROR_INTR when the copy operation is explicitly cancelled by the user. * thunar-vfs/thunar-vfs-transfer-job.c (thunar_vfs_transfer_job_copy_pair): Don't delete the source file when moving unless the target file was written successfully and the job wasn't cancelled. This fixes a bug reported by Jari Rahkonen. 2005-11-14 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.{c,h}: Register "Delete" as key binding for the ThunarStandardView class, rather than registering it as accelerator for the "delete" action. This fixes bug #1226. * thunar/thunar-marshal.list: Add BOOLEAN:VOID marshaller. 2005-11-14 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-exec.c(thunar_vfs_exec_on_screen): Fix invalid calculation of the number of environment variables. 2005-11-14 Benedikt Meurer <benny@xfce.org> * configure.in.in: Bump version to 0.1.4svn and depend on libexo 0.3.1.1. 2005-11-14 Benedikt Meurer <benny@xfce.org> * po/*.po: Update translations. * po/ChangeLog: Didn't mean to revert this file. * README: Mention gconf, libjpeg and libstartup-notification as optional dependencies. 2005-11-14 Benedikt Meurer <benny@xfce.org> * thunar/thunar-list-model.c: Don't need to remember the "changed" signal handler id per row, as g_signal_handlers_disconnect_matched() using G_SIGNAL_MATCH_ID and G_SIGNAL_MATCH_CLOSURE is nearly as fast as g_signal_handler_disconnect(). * thunar/thunar-folder.c(thunar_folder_finalize): Specify both G_SIGNAL_MATCH_ID and G_SIGNAL_MATCH_CLOSURE when disconnecting "destroy" signals from files. * thunar/thunar-preferences.c, thunar/thunar-window.c: Remember the last active view as default for now. * thunar/thunar-create-dialog.c(thunar_create_dialog_text_changed): Use G_IS_DIR_SEPARATOR() rather than hardcoding the slash character. 2005-11-13 Benedikt Meurer <benny@xfce.org> * FAQ, thunar/thunar-icon-view.c: Add initial support for mouse gestures to the icon view component. 2005-11-13 Benedikt Meurer <benny@xfce.org> * thunar/thunar-window.c, thunar/thunar-preferences.c: Rename "window-location-bar" to "last-location-bar" and "window-side-pane" to "last-side-pane" to make clear that it's the last selected setting. * thunar/thunar-metafile.h: Drop THUNAR_METAFILE_KEY_SHOWHIDDEN. * thunar/Makefile.am, thunar/thunar-gobject-extensions.{c,h}: Add additional GValue transformation functions. * thunar/thunar-preferences.c: Register additional transformation functions provided by the GObject extensions in the class_init() function. Add new preference "default-show-hidden", which tells whether hidden files are shown by default in new windows. * thunar/thunar-view.{c,h}: Add the "show-hidden" property to the ThunarView interface. * thunar/thunar-standard-view-ui.xml, thunar/thunar-standard-view.c: Implement the "show-hidden" property from the ThunarView interface, rather than adding an action to the UI manager. * thunar/thunar-preferences.c: Add "default-show-hidden" property, which tells whether hidden files should be shown in newly opened windows. * thunar/thunar-window-ui.xml, thunar/thunar-window.c: Add the "show-hidden" action here, which starts with the default value queried from the preferences, and uses the new ThunarView API to sync the selected setting. 2005-11-13 Benedikt Meurer <benny@xfce.org> * thunar/thunar-preferences.c(thunar_preferences_set_property): No need to call g_object_notify() here, as object_set_property() does that implictly once the set_property() call returns. 2005-11-13 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.{c,h}, thunar/thunar-metafile.{c,h}: Remove the default value handling from the ThunarMetafile class and leave it up to the caller to specify the default value when fetching/storing metadata. * thunar/thunar-folder.{c,h}, thunar/thunar-standard-view.c: Remove the error parameter from the thunar_folder_get_for_file() method, as this call cannot fail. If a loading error occurs, it will be reported asynchronously by the listdir job. * thunar/thunar-preferences.c(thunar_preferences_set_property): Issue a warning if a required transformation function is not available to the GLib Type System, as this is effectively a bug in our application. 2005-11-12 Benedikt Meurer <benny@xfce.org> * thunar/thunar-folder.c, thunar/thunar-list-model.c, thunar/thunar-standard-view.c: Forward ThunarVfsListdirJob loading errors to the ThunarStandardView and display an error dialog to the user. * thunar/thunar-preferences.c, FAQ: Use a tdb database to store the preferences, while not saving defaults to the database file. * thunar/thunar-preferences.c: Add initial preferences "window-location-bar" and "window-side-pane". * thunar/thunar-window.c: Always remember the last selected location bar and side pane setting in the preferences. 2005-11-11 Benedikt Meurer <benny@xfce.org> * thunar/thunar-list-model.c(thunar_list_model_get_statusbar_text): Display symbolic links properly just like the MIME type field in the properties dialog. 2005-11-11 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c(thunar_standard_view_action_duplicate): Use thunar_standard_view_get_selected_paths() instead of thunar_standard_view_get_selected_files(). * po/POTFILES.in: Add new source files. * po/*.po: Merge new strings. * thunar/thunar-dialogs.{c,h}, thunar/Makefile.am: Add new function thunar_dialogs_show_error(), which takes care of displaying an error message dialog to the user. * thunar/thunar-application.c, thunar/thunar-chooser-dialog.c, thunar/thunar-clipboard-manager.c, thunar/thunar-dnd.c, thunar/thunar-favourites-view.c, thunar/thunar-launcher.c, thunar/thunar-properties-dialog.c, thunar/thunar-standard-view.c, thunar/thunar-window.c: Use thunar_dialogs_show_error() whenever possible to reduce code duplication. * thunar-vfs/thunar-vfs-info.h, docs/reference/thunar-vfs/: Update the Thunar-VFS documentation. 2005-11-10 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c(thunar_standard_view_new_files): Grab focus for the view widget after selecting newly created files. * thunar-vfs/thunar-vfs-mkdir-job.{c,h}, thunar-vfs/Makefile.am: Import new class ThunarVfsMkdirJob, which is used to asynchronously create a bunch of directories. * thunar-vfs/thunar-vfs.{c,h}, thunar-vfs/thunar-vfs.symbols: Add new methods thunar_vfs_make_directory() and thunar_vfs_make_directories() as public interface to the newly imported ThunarVfsMkdirJob. * thunar-vfs/thunar-vfs-mime-database.c (thunar_vfs_mime_database_get_info_for_data_locked), (thunar_vfs_mime_database_get_info_for_file): Consider empty files to be text/plain, so users can easily open newly created (empty) files in their favourite text editor. * thunar-vfs/thunar-vfs-mime-sniffer.{c,h}, thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-mime-database.c, configure.in.in: Add function thunar_vfs_mime_sniffer_looks_like_text(), which performs some smart checks to determine if a given data block looks like plain text. Plain text means either UTF-8 - and thereby also ASCII - or valid multi-byte if the platform supports multi-byte strings. In both cases, even truncated data blocks will be recognized. * thunar/thunar-application.{c,h}: Add thunar_application_mkdir() as frontend to the thunar_vfs_make_directories() function. * thunar/thunar-create-dialog.{c,h}, thunar-vfs/Makefile.am: Add class ThunarCreateDialog, which is used to query the user for the filename that should be used for a new file/folder. * TODO: Add todo item. * thunar/thunar-standard-view-ui.xml, thunar/thunar-standard-view.c, thunar/thunar-window-ui.xml: Add "Create Folder" action, which uses thunar_application_mkdir() to create a new subfolder in the current folder. * thunar/thunar-window.c: Rename thunar_window_action_location() to thunar_window_action_open_location() to get consistent naming. * thunar/thunar-window-ui.xml, thunar/thunar-window.c: Add "Home" action whose primary purpose is to be able to open the home folder using a keyboard shortcut. 2005-11-10 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-monitor.c, thunar-vfs/thunar-vfs-thumb.c: Apply patch from Erik Harrison <erikharrison@gmail.com> to fix unused variables when FAM/Gamin and/or GConf aren't available. 2005-11-10 Benedikt Meurer <benny@xfce.org> * thunar/thunar-standard-view.c(thunar_standard_view_init): Be sure to update the actions whenever the current folder is changed. 2005-11-10 Benedikt Meurer <benny@xfce.org> * thunar/thunar-window.c(thunar_window_notify_loading): Don't force a round-trip to the Xserver when setting/unsetting the watch cursor. Set/unset the cursor only if the window is already realized. * thunar/thunar-list-model.c(thunar_list_model_get_value): Don't need to check the result of thunar_file_get_date_string() and thunar_file_get_size_string() as they are garantied to be non-NULL. * thunar/thunar-list-model.c(thunar_list_model_file_changed): Use gtk_tree_path_new_from_indices() instead of gtk_tree_path_new() and gtk_tree_path_append_index(). * thunar/thunar-list-model.c(thunar_list_model_set_folder): Use g_object_freeze_notify()/g_object_thaw_notify() for multiple property change notification. * thunar/thunar-list-model.c(thunar_list_model_get_statusbar_text): Don't need to verify the result of thunar_file_get_size_string(), as it's garantied to be non-NULL. 2005-11-09 Benedikt Meurer <benny@xfce.org> * thunar/thunar-location-buttons.c (thunar_location_buttons_set_current_directory): Be a bit smarter here and try to reuse existing buttons whenever possible. 2005-11-09 Benedikt Meurer <benny@xfce.org> * configure.in.in: Depend on GLib 2.6.4 or above. * tdb/Makefile.am: Add _XOPEN_SOURCE=500 workaround for glibc to make pread()/pwrite() visible to the compiler. 2005-11-09 Benedikt Meurer <benny@xfce.org> * thunar/thunar-history.{c,h}, thunar/Makefile.am: Import new class ThunarHistory, which handles back/forward history for a ThunarWindow. * thunar/thunar-window-ui.xml, thunar/thunar-window.c: Use the newly imported class ThunarHistory to manage the navigational history for the ThunarWindow. 2005-11-09 Benedikt Meurer <benny@xfce.org> * thunar/thunar-window.c: Display the tooltip of the currently selected menu item in the statusbar. * thunar/thunar-icon-render.c(thunar_icon_renderer_render): Render up to 4 emblems for icon sizes from 48px on and up to 2 emblems for icon sizes lower than 48px. * thunar/thunar-icon-render.c(thunar_icon_renderer_render): Use the proper icon factory for the target drawable, rather than the default icon factory. 2005-11-09 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-xfer.{c,h}: Add function thunar_vfs_xfer_link(), which creates a symbolic link to a file. * thunar-vfs/thunar-vfs-link-job.{c,h}, thunar-vfs/Makefile.am: Import new class ThunarVfsLinkJob, which can be used to symlink a bunch of files. * thunar-vfs/thunar-vfs.{c,h}, thunar-vfs/thunar-vfs.symbols: Add thunar_vfs_link_file() and thunar_vfs_link_files() as public interface to the ThunarVfsLinkJob class. * po/POTFILES.in: Add thunar-vfs-link-job.c here. * thunar/thunar-application.{c,h}: Add thunar_application_link_into() as interface to the thunar_vfs_link_files() method. Restructure the code to further reduce the code duplication. * thunar/thunar-dnd.c: Use thunar_application_link_into() to implement the "Link here" Drag&Drop action. * thunar-vfs/thunar-vfs-transfer-job.c (thunar_vfs_transfer_job_copy_pair): Don't access pairs outside the current pair list. * thunar-vfs/thunar-vfs-xfer.c(thunar_vfs_xfer_next_path): Also detect the "%uth copy of %s" pattern when duplicating a file. * thunar/thunar-standard-view.c: Use upper case for substantives in action titles where appropriate. * thunar/thunar-standard-view-ui.xml, thunar/thunar-standard-view.c: Add "duplicate" and "make-link" actions, for duplicating/linking files easily. * po/*.po: Merge new strings. 2005-11-08 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-transfer-job.c(thunar_vfs_transfer_job_new): Verify that we don't ever try to transfer the root directory. * thunar/thunar-file.{c,h}: Make thunar_file_cache_lookup() a public function. * thunar-vfs/thunar-vfs-interactive-job.{c,h}: Add a new signal "new-files", which can be invoked by derived jobs for their new files. The application can use this signal to get notified when a job added new files to a folder (e.g. select them in a folder view, etc.). * thunar-vfs/thunar-vfs-transfer-job.c: Collect the newly created paths and emit the "new-files" signal when the execution finishes. * thunar-vfs/thunar-vfs-monitor.{c,h}, thunar-vfs/thunar-vfs.symbols: Add new method thunar_vfs_monitor_wait(), which can be used by helper threads to wait until the ThunarVfsMonitor has processed all pending notifications. * thunar-vfs/thunar-vfs-interactive-job.c (thunar_vfs_interactive_job_new_files): Use thunar_vfs_monitor_wait() to delay the "new-files" emission until the application has processed all pending notifications. * thunar-vfs/thunar-vfs-monitor.c: Lower the notification interval to 250 milliseconds. * thunar-vfs/thunar-vfs-transfer-job.c(thunar_vfs_transfer_job_execute): Don't use g_rename() for now, as it causes too much trouble right now. * thunar/thunar-application.{c,h}, thunar/thunar-dnd.{c,h}, thunar/thunar-clipboard-manager.{c,h}: Allow the consumers to pass a "new-files" closure when starting a transfer job. * thunar/thunar-list-model.{c,h}: Add new method thunar_list_model_get_paths_for_files(), which returns the list of tree paths for a given list of ThunarFiles. * thunar/thunar-standard-view.c: Supply a "new-files" closure when starting transfer jobs, and select the files that are passed to the "new-files" callback when the job finishes. * docs/reference/thunar-vfs/: Update the documentation bits affected by the latest changes. 2005-11-08 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.h: Add method thunar_file_is_symlink() to check whether a given ThunarFile is a symbolic link. * thunar/thunar-list-model.c, thunar/thunar-properties-dialog.c: Display symbolic links properly for the MIME Type fields. * thunar-vfs/thunar-vfs-transfer-job.{c,h}, thunar-vfs/thunar-vfs.{c,h}, thunar-vfs/thunar-vfs.symbols: Adjust the asynchronous operations API again to make it more constistent with the requirements of the file manager. * po/*.po: Merge new strings. * thunar-vfs/thunar-vfs-monitor.c: Add tags to notifications to make sure (slow) FAM events don't override properly feeded events, as afterall we know best what we did. * thunar-vfs/thunar-vfs-transfer-job.c (thunar_vfs_transfer_job_copy_pair): Fix a typo, where the result of thunar_vfs_transfer_job_overwrite() was not negated properly. * thunar-vfs/thunar-vfs-xfer.c, thunar-vfs/thunar-vfs-transfer-job.c, TODO: Automatically duplicate files when copying and the source and target paths refer to the same file. * thunar/thunar-application.{c,h}, thunar/thunar-standard-view.c, thunar/thunar-clipboard-manager.{c,h}, thunar/thunar-dnd.c: Rework the ThunarApplication API and internals to reduce the amount of duplicated code, and make the API more consistent. * thunar-vfs/thunar-vfs-xfer.{c,h}, thunar-vfs/thunar-vfs.c: Feed events into the VFS monitor from the xfer module. * thunar-vfs/thunar-vfs-transfer-job.c (thunar_vfs_transfer_job_copy_pair): No need to feed a "created" event into the VFS monitor, as that's done by the xfer module directly (with the correct target path). * docs/reference/thunar-vfs/thunar-vfs-sections.txt, docs/reference/thunar-vfs/tmpl/thunar-vfs-operations.sgml: Update documentation bits affected by the latest changes to the public API. 2005-11-07 Benedikt Meurer <benny@xfce.org> * thunar/thunar-list-model.c: Use an alloc-only memory chunk to reduce the overhead. * thunar/thunar-icon-factory.c(thunar_icon_factory_load_from_file): Add the thumbnail frame after scaling down the thumbnail to the desired size. * thunar/thunar-icon-factory.c(thumbnail_needs_frame): Inline this function if possible. 2005-11-07 Benedikt Meurer <benny@xfce.org> * tdb/tdbtool.c: Make gcc4 happy. * thunar/thunar-dnd.c(thunar_dnd_ask): Add icons to the "move" and "copy" actions. * thunar/thunar-folder.c(thunar_folder_monitor): Be sure to process monitor events properly in either case. * thunar-vfs/thunar-vfs-monitor.c (thunar_vfs_monitor_queue_notification): Schedule only one notification per handle, where "deleted" events have the highest priority. * docs/reference/thunar-vfs/: Update documentation. * thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-xfer.{c,h}: Add module to copy various kinds of file system entities (basicly everything that a normal user is permitted to create, e.g. no device nodes). * thunar-vfs/thunar-vfs-transfer-job.{c,h}: Add new ThunarVfsTransferJob class based on the thunar-vfs-xfer module. * thunar-vfs/thunar-vfs.c: Use new ThunarVfsTransferJob class. * thunar/thunar-progress-dialog.c: Improve the progress dialog. * po/POTFILES.in, po/*.po: Update the file list and the translations. 2005-11-04 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-transfer-job.{c,h}, thunar-vfs/thunar-vfs.{c,h}, thunar-vfs/thunar-vfs.symbols: Update the Thunar-VFS transfer API. * thunar/thunar-application.c: Use the new Thunar-VFS transfer API. 2005-11-04 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.{c,h}: Add "renamed" signal and emit it whenever the file is renamed by the user. * thunar/thunar-folder.c: Use the "ThunarFile::renamed" to re-register with the file alteration monitor under the new path. * thunar/thunar-window.c: Update the window icon and title whenever the current-directory is changed (e.g. the user renamed the directory file). * thunar-vfs/thunar-vfs-monitor.c: Place the timeout into a preprocessor define. * tdb/, AUTHORS, FAQ, configure.in.in, Makefile.am: Import the tdb - the Trivial Database - engine from the Samba suite, which will be used to store file metadata in a lightweight and efficient way. * thunar/thunar-metafile.{c,h}, thunar/Makefile.am: Add ThunarMetafile class, which handles metadata for files based on a tdb database. * thunar/thunar-file.{c,h}: Add methods to access metadata for a given ThunarFile. * thunar/thunar-file.c: Query additional emblems from the file's metadata (in addition to the special emblems that are set automcatically). * thunar/thunar-emblem-chooser.{c,h}, thunar/Makefile.am: Add ThunarEmblemChooser widget class, to edit the list of additional emblems for a ThunarFile. * thunar/thunar-standard-view.c: Synchronize the show-hidden property. * thunar/thunar-properties-dialog.c: Add a notebook tab for the Emblems. 2005-11-02 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.c: Use THUNAR_FILE_IN_DESTRUCTION as destruction flag rather than GTK_IN_DESTRUCTION. 2005-11-01 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-unlink-job.c(thunar_vfs_unlink_job_remove): Also remove thumbnails when successfully deleting a regular file. * thunar-vfs/thunar-vfs-thumb-jpeg.{c,h}, thunar-vfs/Makefile.am, configure.in.in: Add fast JPEG loader, which is able to scale down the data while loading it. * thunar-vfs/thunar-vfs-thumb.c: Use the fast JPEG loader to generate thumbnails for JPEG files (if supported). 2005-11-01 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-info.{c,h}, thunar-vfs/thunar-vfs.symbols: Add attribute custom_icon to the ThunarVfsInfo struct instead of the hints framework and a new method thunar_vfs_info_get_custom_icon() to query the custom icon from a ThunarVfsInfo. * thunar-vfs/thunar-vfs-thumb.c (thunar_vfs_thumb_factory_store_thumbnail): Fix invalid check for valid pixbuf. * thunar-vfs/thunar-vfs-info.c(_thunar_vfs_info_new_internal): Be sure to remove any file extension (e.g. '.png') from themed icon names, so GtkIconTheme is able to locate the icon. * thunar-vfs/thunar-vfs-info.c: Don't treat .directory files like other .desktop files, as that's confusing for the casual user. * thunar/thunar-file.{c,h}: Add method thunar_file_get_custom_icon() to return the custom icon set for the associated ThunarVfsInfo. * thunar/thunar-file.c(thunar_file_get_icon_name): Don't return the custom icon here. * thunar/thunar-icon-factory.c(thunar_icon_factory_load_file_icon):Check first if the ThunarFile specifies a custom icon and try to load it, falling back to thumbnails and regular (mime) icons. 2005-10-31 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.h: Add thunar_file_is_regular() to check whether a ThunarFile is a regular file. * thunar/thunar-file.h: Add thunar_file_get_info() to query the ThunarVfsInfo for a given ThunarFile. * thunar-vfs/thunar-vfs-info.{c,h}, thunar-vfs/thunar-vfs.symbols: Add new method thunar_vfs_info_copy(), which takes a deep copy of a ThunarVfsInfo. * thunar-vfs/thunar-vfs-job.{c,h}, thunar-vfs/thunar-vfs.symbols: Turn thunar_vfs_job_cancelled() into an inline function. * thunar-vfs/thunar-vfs-thumb.{c,h}, thunar-vfs/thunar-vfs.symbols, thunar-vfs/Makefile.am: Readd the ThunarVfsThumbFactory class and adjust it to use ThunarVfsInfo's instead of ThunarVfsURI's. * configure.in.in, thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-thumb.{c,h}: Add optional support for GNOME thumbnailers, which requires GConf. * thunar/thunar-thumbnail-generator.{c,h}, thunar/Makefile.am: Add new class ThunarThumbnailGenerator, which is used to asynchronously generate and store thumbnails for files. * thunar/thunar-icon-factory.{c,h}: Add support for loading thumbnails. Add support for generating thumbnails using the new ThunarThumbnailGenerator class. * configure.in.in: Bump version to 0.1.3. 2005-10-30 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-listdir-job.c(thunar_vfs_listdir_job_execute): Don't immediately terminate the second collector task. 2005-10-30 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-scandir.c: Don't report EMLINK at all. 2005-10-30 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-scandir.c(thunar_vfs_scandir): Treat EMLINK like ENOTDIR, since there's no GFileError to represent EMLINK. 2005-10-29 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-mime-cache.c(cache_node_lookup_suffix): Always check the return value to avoid guessing invalid mime types just because of misleading stopchars. * thunar/thunar-file.c(thunar_file_get_icon_name): Try to be smart when looking up the icon name for binaries. 2005-10-29 Benedikt Meurer <benny@xfce.org> * thunar/thunar-clipboard-manager.{c,h}: Use ThunarFile to copy/cut to the clipboard and monitor the files for deletion. * thunar/thunar-clipbard-manager.{c,h}: Add new method thunar_clipboard_manager_has_cutted_file() to check whether a certain file was cutted to the clipboard. * thunar/thunar-gdk-pixbuf-extensions.{c,h}: Add new function thunar_gdk_pixbuf_lucent() when generates a translucent pixbuf. * thunar/thunar-standard-view.c: Use the new clipboard manager interface. * thunar/thunar-icon-renderer.c(thunar_icon_renderer_render): Render translucent icons for files previously cutted to the clipboard. * thunar/thunar-window.c: Queue a draw on the window whenever the clipboard contents change to be sure to always display correct state. 2005-10-28 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-monitor.c(thunar_vfs_monitor_feed): Be sure to schedule directory events only for handles that were registered as directory. * thunar-vfs/thunar-vfs-unlink-job.c(thunar_vfs_unlink_job_execute): Ignore ENOTDIR errors when collecting the files to delete. * thunar-vfs/thunar-vfs-exec.c(tvsn_startup_timeout), (thunar_vfs_exec_on_screen): Don't use libsn functions outside the GDK lock. * thunar/thunar-file.{c,h}: Inline the most trivial methods. * thunar-vfs/thunar-vfs-user.{c,h}: Implement ThunarVfsUser and ThunarVfsGroup directly for local user/group management. 2005-10-28 Benedikt Meurer <benny@xfce.org> * thunar/thunar-clipboard-manager.c (thunar_clipboard_manager_paste_path_list): Fix possible segmentation fault. 2005-10-27 Benedikt Meurer <benny@xfce.org> * thunar-vfs/thunar-vfs-interactive-job.{c,h}: Add a VFS monitor pointer to the interactive job, which will be used by the derived classes to communicate fs changes to the application. * thunar-vfs/thunar-vfs-unlink-job.c(thunar_vfs_unlink_job_remove): Feed deleted events into the VFS monitor whenever a file was successfully unlinked from the file system, so the application can be updated even if no file system monitoring mechanism like FAM or Gamin is available. * thunar/thunar-standard-view-ui.xml, thunar/thunar-standard-view.c: Add the "Delete file(s)" operation to the user interface. 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 Hern�ndez-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: