summaryrefslogtreecommitdiff
path: root/thunar/thunar-view.c
Commit message (Collapse)AuthorAgeFilesLines
* re-enable file-selection after create/rename (Issue #293)Alexander Schwinn2020-06-081-0/+17
|
* Fix compiler error -Wcast-function-type (GCC 8)Andre Miranda2019-04-141-1/+1
|
* More options for thumbnail size (Bug #14451)Alexander Schwinn2018-07-311-2/+2
| | | | | | | | | - added three additional zoom-levels and icon-sizes (160px, 192px and 256px) - added usage of "large" thumbnails (max 256px x 256px) - automatically use large thumbnails for icon-size > 128px - renamed zoom-levels, usage of percentage values - renamed icon-size values, count in pixels - support for old naming
* Extend reload functions to allow a full reloadHarald Judt2015-04-171-3/+6
| | | | | | | | | | Usually a folder is reloaded automatically on file changes, and the user shouldn't have to do it manually. However, when the user *wants* to do it manually, everything is expected to be reloaded, even the files in cache, because their info may have changed. At the moment, this does not happen, and there can be various issues with cached file info, so extension is a first step to allow the user to decide to reload everything in the folder.
* Add vim modeline. Remove obsolete '$Id$' line.Matt Thirtytwo2015-01-191-1/+1
| | | | Signed-off-by: Landry Breuil <landry@xfce.org>
* Fix compiler warnings about shadowed variables.Nick Schermer2010-11-171-8/+8
|
* Protect the interfaces types and use g_type_register_static_simple where ↵Nick Schermer2009-08-221-17/+14
| | | | possible.
* Fix remaining compiler warnings in the thunar code.Nick Schermer2009-08-211-1/+1
|
* 2006-08-09 Benedikt Meurer <benny@xfce.org>Benedikt Meurer2006-08-091-15/+16
| | | | | | | | | | | | | | | | | | | | | * 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. (Old svn revision: 22700)
* 2006-03-08 Benedikt Meurer <benny@xfce.org>Benedikt Meurer2006-03-081-0/+55
| | | | | | | | | | | | | | | | | | | | | | | * 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. (Old svn revision: 20302)
* 2006-02-04 Benedikt Meurer <benny@xfce.org>Benedikt Meurer2006-02-041-58/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. (Old svn revision: 19735)
* 2006-01-29 Benedikt Meurer <benny@xfce.org>Benedikt Meurer2006-01-291-0/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. (Old svn revision: 19662)
* 2006-01-29 Benedikt Meurer <benny@xfce.org>Benedikt Meurer2006-01-291-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | * 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. (Old svn revision: 19658)
* 2006-01-25 Benedikt Meurer <benny@xfce.org>Benedikt Meurer2006-01-251-9/+9
| | | | | | | | | | | | | | | | | | | | | | * 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. (Old svn revision: 19607)
* 2005-11-22 Benedikt Meurer <benny@xfce.org>Benedikt Meurer2005-11-221-4/+1
| | | | | | | | | | | | | | * 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. (Old svn revision: 18929)
* 2005-11-14 Benedikt Meurer <benny@xfce.org>Benedikt Meurer2005-11-141-5/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. (Old svn revision: 18843)
* 2005-07-11 Benedikt Meurer <benny@xfce.org>Benedikt Meurer2005-07-111-0/+57
| | | | | | | | | | | | | | | | | | | | | | | * 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. (Old svn revision: 16381)
* 2005-07-10 Benedikt Meurer <benny@xfce.org>Benedikt Meurer2005-07-101-205/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. (Old svn revision: 16380)
* 2005-06-17 Benedikt Meurer <benny@xfce.org>Benedikt Meurer2005-06-171-1/+51
| | | | | | | | | | | | | | | | | * 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. (Old svn revision: 16338)
* 2005-06-17 Benedikt Meurer <benny@xfce.org>Benedikt Meurer2005-06-171-65/+85
| | | | | | | | | | | | | | | | | | | | | | | | * 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. (Old svn revision: 16337)
* 2005-06-05 Benedikt Meurer <benny@xfce.org>Benedikt Meurer2005-06-051-1/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. (Old svn revision: 16319)
* 2005-06-05 Benedikt Meurer <benny@xfce.org>Benedikt Meurer2005-06-051-0/+155
* 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. (Old svn revision: 16318)