- Jul 12, 2005
-
-
Benedikt Meurer authored
* 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. (Old svn revision: 16383)
-
- Jul 11, 2005
-
-
Benedikt Meurer authored
* thunar/thunar-standard-view-ui.xml, thunar/thunar-window-ui.xml: Specify the name in addition to the action. (Old svn revision: 16382)
-
Benedikt Meurer authored
* 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)
-
- Jul 10, 2005
-
-
Benedikt Meurer authored
* 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)
-
- Jul 07, 2005
-
-
Benedikt Meurer authored
* thunar-vfs/thunar-vfs-uri.c: Be sure to register the type in a thread-safe manner. (Old svn revision: 16368)
-
- Jul 05, 2005
-
-
Benedikt Meurer authored
* 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. (Old svn revision: 16367)
-
Benedikt Meurer authored
* thunar/thunar-favourites-model.{c,h}, thunar/thunar-favourites-view.c: Add possibility to remove user-defined shortcuts from the list. (Old svn revision: 16366)
-
- Jul 03, 2005
-
-
Benedikt Meurer authored
* 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. (Old svn revision: 16365)
-
- Jul 02, 2005
-
-
Benedikt Meurer authored
* 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. (Old svn revision: 16364)
-
- Jul 01, 2005
-
-
Benedikt Meurer authored
* 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. (Old svn revision: 16363)
-
- Jun 29, 2005
-
-
Benedikt Meurer authored
* 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. (Old svn revision: 16362)
-
Benedikt Meurer authored
* 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+. (Old svn revision: 16361)
-
Benedikt Meurer authored
* thunar/thunar-location-buttons.c: Make this behave like GtkFileChooser again. (Old svn revision: 16360)
-
- Jun 28, 2005
-
-
Benedikt Meurer authored
* thunar-vfs/thunar-vfs-volume-bsd.c, thunar-vfs/thunar-vfs-volume.c: Remove the GObject properties from the ThunarVfsVolume interface. (Old svn revision: 16359)
-
- Jun 26, 2005
-
-
Benedikt Meurer authored
* 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. (Old svn revision: 16358)
-
Benedikt Meurer authored
* 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. (Old svn revision: 16357)
-
- Jun 25, 2005
-
-
Benedikt Meurer authored
* 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. (Old svn revision: 16356)
-
Benedikt Meurer authored
* 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. (Old svn revision: 16355)
-
Benedikt Meurer authored
* 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. (Old svn revision: 16354)
-
Benedikt Meurer authored
* 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. (Old svn revision: 16353)
-
- Jun 24, 2005
-
-
Benedikt Meurer authored
* 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'. (Old svn revision: 16352)
-
Benedikt Meurer authored
* 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. (Old svn revision: 16351)
-
Benedikt Meurer authored
* 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. (Old svn revision: 16350)
-
- Jun 22, 2005
-
-
Benedikt Meurer authored
* docs/papers/HackingOnThunar.odt, docs/papers/Makefile.am, configure.in.in, docs/Makefile.am: Add initial draft of the "Hacking on Thunar" paper. (Old svn revision: 16349)
-
Benedikt Meurer authored
* 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. (Old svn revision: 16348)
-
- Jun 21, 2005
-
-
Benedikt Meurer authored
* 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. (Old svn revision: 16347)
-
Benedikt Meurer authored
* 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. (Old svn revision: 16346)
-
Benedikt Meurer authored
* 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. (Old svn revision: 16345)
-
- Jun 20, 2005
-
-
Benedikt Meurer authored
* 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. (Old svn revision: 16344)
-
Benedikt Meurer authored
* 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. (Old svn revision: 16343)
-
Benedikt Meurer authored
* 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. (Old svn revision: 16342)
-
- Jun 19, 2005
-
-
Benedikt Meurer authored
* 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. (Old svn revision: 16341)
-
Benedikt Meurer authored
* 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. (Old svn revision: 16340)
-
- Jun 17, 2005
-
-
Benedikt Meurer authored
* thunar/thunar-details-view.c(thunar_details_view_init): Use the ellipsizing text renderer for the name column and get the sizing correct. (Old svn revision: 16339)
-
Benedikt Meurer authored
* 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)
-
Benedikt Meurer authored
* 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)
-
- Jun 15, 2005
-
-
Benedikt Meurer authored
* 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. (Old svn revision: 16336)
-
- Jun 14, 2005
-
-
Benedikt Meurer authored
* configure.in.in: Depend on GLib 2.6 for now. (Old svn revision: 16335)
-
Benedikt Meurer authored
* 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. (Old svn revision: 16334)
-
Benedikt Meurer authored
* 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. (Old svn revision: 16333)
-