summaryrefslogtreecommitdiff
path: root/gtk/gtkfilesystemunix.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert the patch to #137520, as 2.4.1 is for conservative bug fixes only.Federico Mena Quintero2004-03-191-9/+0
| | | | | | | | | | | | 2004-03-19 Federico Mena Quintero <federico@ximian.com> * Revert the patch to #137520, as 2.4.1 is for conservative bug fixes only. The patch is attached to the bug report, for reference. 2004-03-19 Morten Welinder <terra@gnome.org> * gtk/gtkfilechooserdefault.c
* Fix #137520.Federico Mena Quintero2004-03-191-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-03-19 Federico Mena Quintero <federico@ximian.com> Fix #137520. * gtk/gtkfilesystem.h (struct _GtkFileFolderIface): Added slots for an ::is_finished_loading() method and a ::finished_loading() signal at the end of the struct. * gtk/gtkfilesystem.c (gtk_file_folder_base_init): Create the "finished-loading" signal. (gtk_file_folder_is_finished_loading): New function. * gtk/gtkfilesystemunix.c (gtk_file_folder_unix_is_finished_loading): Implement. * gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModelClass): New slot for a "finished-loading" signal. (gtk_file_system_model_class_init): Create the "finished-loading" signal. (struct _GtkFileSystemModel): New field idle_finished_loading_source. We emit the "finished-loading" signal in an idle if the root folder was done loading right in _gtk_file_system_model_new(), so that the caller has a chance to connect to the signal. (_gtk_file_system_model_new): Connect to the normal signals of the folder even if the initial _list_children() fails. Also, see if the folder is finished loading; connect to the "finished-loading" signal otherwise. (gtk_file_system_model_finalize): Remove the idle handler. * gtk/gtkfilechooserdefault.c (set_list_model): Set a busy cursor and connect to the model's "finished-loading" signal. (get_toplevel): New helper function. (error_message): Use get_toplevel(). (trap_activate_cb): Likewise. (location_popup_handler): Likewise. (set_busy_cursor): New function. (browse_files_model_finished_loading_cb): New callback.
* Only hide the "create folder" button in OPEN mode; all the others shouldFederico Mena Quintero2004-03-151-3/+22
| | | | | | | | | | | | | 2004-03-15 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilechooserdefault.c (update_appearance): Only hide the "create folder" button in OPEN mode; all the others should show it it. (get_paths_foreach): Handle the editable row. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_create_folder): Force a re-get of the folder so that the new directory gets added to its hash table of file info.
* Allow the path to be NULL, so that people can ask for information about aFederico Mena Quintero2004-03-151-8/+28
| | | | | | | | | | | | | | | | 2004-03-14 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilesystem.c (gtk_file_folder_get_info): Allow the path to be NULL, so that people can ask for information about a parent-less file system root (e.g. get_info (get_folder ("/"), NULL)). * gtk/gtkfilesystemunix.c (gtk_file_folder_unix_get_info): Allow the condition describe above. * gtk/gtkfilechooserdefault.c (get_file_info): Allow getting information of root paths. * gtk/gtkpathbar.c (_gtk_path_bar_set_path): Handle root paths correctly.
* Kill g_prints.Morten Welinder2004-03-151-0/+12
|
* Fixes #136185, patch by Morten Welinder, with some changes.Federico Mena Quintero2004-03-151-138/+319
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-03-14 Federico Mena Quintero <federico@ximian.com> Fixes #136185, patch by Morten Welinder, with some changes. * gtk/gtkfilechooserdefault.c (check_is_folder): New helper function. (shortcuts_insert_path): Check the path first with check_is_folder(). (gtk_file_chooser_default_set_current_folder): Likewise. (gtk_file_chooser_default_add_shortcut_folder): Likewise. (browse_widgets_create): Unref the size group. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder): Handle the case where the file exists but it is not a directory. (IconType): Add value for ICON_UNDECIDED. (struct stat_info_entry): New structure to hold a file's struct stat, its MIME type and its icon type. (struct _GtkFileFolderUnix): Added a hash of struct stat_info_entry, and flags to remember which info types we've read so far. (get_icon_type): Use a helper function for the icons-from-stat types. (gtk_file_system_unix_render_icon): Use the cached file info. (gtk_file_folder_unix_get_info): Put the info in the cache. (gtk_file_system_unix_get_folder): Create the cache of file info structures. * gtk/gtkfilesystem.c (gtk_file_info_set_display_name): Handle the case where display_name is the same as the existing info->display_name.
* Don't turn "/" into "". (gtk_file_system_unix_get_folder): Use the sameMorten Welinder2004-03-141-3/+21
| | | | | | | | | 2004-03-14 Morten Welinder <terra@gnome.org> * gtk/gtkfilesystemunix.c (get_parent_dir): Don't turn "/" into "". (gtk_file_system_unix_get_folder): Use the same value for lookup as for insertion. Make sure we have a directory.
* Remove trailing slashes in path names.Anders Carlsson2004-03-131-9/+48
| | | | | | | | | | 2004-03-13 Anders Carlsson <andersca@gnome.org> * gtk/gtkfilesystemunix.c: (remove_trailing_slash), (gtk_file_system_unix_get_folder), (gtk_file_system_unix_create_folder), (get_parent_dir), (gtk_file_system_unix_get_parent), (gtk_file_folder_unix_get_info): Remove trailing slashes in path names.
* Fixes #136080.Federico Mena Quintero2004-03-091-25/+28
| | | | | | | | | | 2004-03-08 Federico Mena Quintero <federico@ximian.com> Fixes #136080. * gtk/gtkfilesystemunix.c: Only lstat() if stat() failed due to ENOENT. (filename_get_info): Likewise.
* Protect errno.Morten Welinder2004-03-081-3/+6
| | | | | | | 2004-03-08 Morten Welinder <terra@gnome.org> * gtk/gtkfilesystemunix.c (gtk_file_system_unix_create_folder, get_icon_type, filename_get_info): Protect errno.
* Use better icons for home and desktop.Anders Carlsson2004-03-081-1/+20
| | | | | | | | 2004-03-08 Anders Carlsson <andersca@gnome.org> * gtk/gtkfilesystemunix.c: (get_icon_for_directory), (gtk_file_system_unix_render_icon): Use better icons for home and desktop.
* Fixes #136082 and #135265, patch by Morten Welinder.Federico Mena Quintero2004-03-061-0/+2
| | | | | | | | | | 2004-03-05 Federico Mena Quintero <federico@ximian.com> Fixes #136082 and #135265, patch by Morten Welinder. * configure.in: Use AC_SYS_LARGEFILE. * */*.c: #include <config.h>
* Handle errors in setting the path bar's path. Fixes #136000, based on aFederico Mena Quintero2004-03-031-1/+0
| | | | | | | | | | | | | | | | | 2004-03-02 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_set_current_folder): Handle errors in setting the path bar's path. Fixes #136000, based on a patch by Morten Welinder. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_insert_bookmark): Don't free our own propagated error. * gtk/gtkpathbar.c (gtk_path_bar_set_path): Likewise, and free the parent_path upon error. Fixes #136006, patch by Morten Welinder. (gtk_path_bar_set_path): Unref the file_folder upon error. (gtk_path_bar_set_path): Return a boolean success code.
* Only stat when needed.Morten Welinder2004-03-011-1/+6
| | | | | | | 2004-03-01 Morten Welinder <terra@gnome.org> * gtk/gtkfilesystemunix.c (filename_get_info): Only stat when needed.
* Added a "position" argument.Federico Mena Quintero2004-02-271-27/+44
| | | | | | | | | | | | | | | | | | | | | | 2004-02-27 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilesystem.c (gtk_file_system_insert_bookmark): Added a "position" argument. * gtk/gtkfilesystem.h (GtkFileSystemError): Added value for GTK_FILE_SYSTEM_ERROR_ALREADY_EXISTS. (struct _GtkFileSystemIface): Added a "position" argument to the ::insert_bookmark() method. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_insert_bookmark): Updated; renamed from gtk_file_system_unix_add_bookmark(). Return an error if the path already exists in the bookmarks list. (gtk_file_system_unix_remove_bookmark): Return an error if the path does not exist in the bookmarks list. * gtk/gtkfilechooserdefault.c (shortcuts_add_bookmark_from_path): For now, use gtk_file_system_insert_bookmark() with -1 for the position. DnD will come next.
* Duh, duh, duh! Don't bail out if the bookmarks file doesn't exist the veryFederico Mena Quintero2004-02-141-2/+8
| | | | | | | | 2004-02-13 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilesystemunix.c (gtk_file_system_unix_add_bookmark): Duh, duh, duh! Don't bail out if the bookmarks file doesn't exist the very first time you try to save one.
* If the folder is already open, add the requested info types to it.Federico Mena Quintero2004-02-091-1/+4
| | | | | | | 2004-02-09 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder): If the folder is already open, add the requested info types to it.
* Fix #132327.Federico Mena Quintero2004-02-061-5/+55
| | | | | | | | | | | | | | | | | | 2004-02-06 Federico Mena Quintero <federico@ximian.com> Fix #132327. * gtk/gtkfilesystemunix.c (struct _GtkFileSystemUnix): Add a folder_hash field to keep a list of live folder objects. (gtk_file_system_unix_init): Create the folder_hash. (gtk_file_system_unix_finalize): Destroy the folder_hash. (gtk_file_system_unix_get_folder): Ref and return an existing folder if we have it around, otherwise return a new folder object. (struct _GtkFileFolderUnix): Add a field for the parent file system. (gtk_file_folder_unix_finalize): Remove the folder from the file system's hash table. (gtk_file_system_unix_create_folder): Emit "files-added" on the newly-created folder's parent. Fixes #132327.
* Initialize result to FALSE. (#133539, Morten Welinder)Matthias Clasen2004-02-051-1/+1
| | | | | | | Thu Feb 5 22:05:52 2004 Matthias Clasen <maclas@gmx.de> * gtk/gtkfilesystemunix.c (bookmark_list_read): Initialize result to FALSE. (#133539, Morten Welinder)
* Fix #129872, based on a patch by Jan Arne Petersen <jpetersen@uni-bonn.de>Federico Mena Quintero2004-01-301-47/+285
| | | | | | | | | | | | | | | | | | | | | | | | | | 2004-01-30 Federico Mena Quintero <federico@ximian.com> Fix #129872, based on a patch by Jan Arne Petersen <jpetersen@uni-bonn.de> * gtk/gtkfilesystemunix.c (gtk_file_system_unix_list_bookmarks): Implement. (gtk_file_system_unix_add_bookmark): Implement. (gtk_file_system_unix_remove_bookmark): Implement. 2004-01-29 Federico Mena Quintero <federico@ximian.com> Fixes #132693. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_parent): Don't use filename_from_path(). Also, check that the filename is absolute. (gtk_file_system_unix_get_folder): Likewise. (gtk_file_system_unix_create_folder): Likewise. (gtk_file_system_unix_make_path): Likewise. (gtk_file_system_unix_parse): Likewise. (gtk_file_folder_unix_get_info): Likewise. (filename_from_path): Removed.
* Fix #132314.Federico Mena Quintero2004-01-271-46/+218
| | | | | | | | | | | | | | | | 2004-01-27 Federico Mena Quintero <federico@ximian.com> Fix #132314. * gtk/gtkfilesystem.h: Removed the #ifdef-ed out, old icon API. * gtk/gtkfilesystem.c: Likewise. * gtk/gtkfilesystemunix.c (filename_get_info): Removed the old icon-type code. (gtk_file_system_unix_render_icon): Moved the icon-rendering code from GtkFileInfo to here. (gtk_file_system_unix_volume_render_icon): Implement.
* Added a has_editable field. (_gtk_file_system_model_add_editable): NewFederico Mena Quintero2004-01-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-01-16 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModel): Added a has_editable field. (_gtk_file_system_model_add_editable): New function. (_gtk_file_system_model_remove_editable): New function. (gtk_file_system_model_get_value): Return appropriate values for the temporary editable row. (_gtk_file_system_model_get_info): Handle the editable row. (_gtk_file_system_model_get_path): Likewise. * gtk/gtkfilechooserdefault.c (shortcuts_append_bookmarks): Removed an unused variable. (toolbar_button_new): Optionally show the button. (up_button_clicked_cb): Renamed from up_button_cb(), fixed prototype. (toolbar_create): Add a "New Folder" button for Save mode. (error_building_filename_dialog): New helper function. (gtk_file_chooser_default_get_paths): Use error_building_filename_dialog(). (create_file_list): Connect to the "edited" signal of the text cell renderer. Store the name column and text renderer in the impl structure. (renderer_edited_cb): New callback. (gtk_file_chooser_default_set_property): Show/hide the "New folder" button when the save action changes. (COMPARE_DIRECTORIES): Allow the info values to be NULL. (COMPARE_DIRECTORIES): Duh, use the list_model, not the tree_model. (get_list_file_info): Likewise! (list_icon_data_func): Handle the path being NULL. (new_folder_button_clicked): New callback. (list_name_data_func): If we are on the editable row, set the text to "Type name of new folder". (list_selection_changed): Handle the editable row. (list_mtime_data_func): Likewise. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_make_path): Return NULL, not FALSE. (gtk_file_system_unix_create_folder): Test the result of mkdir() correctly.
* New get_volume_for_path() method. (struct _GtkFileSystemIface): FinallyFederico Mena Quintero2004-01-161-23/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-01-16 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilesystem.h (struct _GtkFileSystemIface): New get_volume_for_path() method. (struct _GtkFileSystemIface): Finally removed the list_roots() and get_root_info() methods, and the "roots-changed" signal. * gtk/gtkfilesystem.c (gtk_file_system_get_volume_for_path): New function. (gtk_file_system_list_roots): Removed. (gtk_file_system_get_root_info): Removed. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_volume_for_path): Implement. (get_root_volume): New helper function. (gtk_file_system_unix_list_volumes): Use get_root_volume(). (gtk_file_system_unix_list_roots): Removed. (gtk_file_system_unix_get_root_info): Removed. * gtk/gtkfilesystemmodel.c (_gtk_file_system_model_new): Don't accept a NULL root_path. (struct _GtkFileSystemModel): Add a field to remember the root_path. (_gtk_file_system_model_new): Store the root_path in the model structure. (find_and_ref_path): Stop going up the hierarchy at the root_path of the model. Also, don't return prematurely when walking up the hierarchy. * gtk/gtkfilechooserdefault.c (create_file_list): Sigh, restore the rules_hint. (struct _GtkFileChooserDefault): Added a current_volume_path field. (set_tree_model): New function; create the folder tree model here. (create_folder_tree): Don't create the model here. (set_list_model): Set the show_hidden flag on the list model.
* g_path_skip_root() can return NULL; handle this. Fixes #129565.Federico Mena Quintero2004-01-061-35/+35
| | | | | | | 2004-01-06 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilesystemunix.c (filename_is_root): g_path_skip_root() can return NULL; handle this. Fixes #129565.
* Added a "volumes-changed" signal. Added the following methods:Federico Mena Quintero2003-12-171-0/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-12-16 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a "volumes-changed" signal. Added the following methods: list_volumes volume_free volume_get_base_path volume_get_is_mounted volume_mount volume_get_display_name volume_render_icon * gtk/gtkfilesystem.c (gtk_file_system_base_init): Create the "volumes-changed" signal. (gtk_file_system_list_volumes): New function. (gtk_file_system_volume_free): New function. (gtk_file_system_volume_get_base_path): New function. (gtk_file_system_volume_get_is_mounted): New function. (gtk_file_system_volume_mount): New function. (gtk_file_system_volume_get_display_name): New function. (gtk_file_system_volume_render_icon): New function. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_free): Implement. (gtk_file_system_unix_volume_get_base_path): Implement. (gtk_file_system_unix_volume_get_is_mounted): Implement. (gtk_file_system_unix_volume_mount): Implement. (gtk_file_system_unix_volume_get_display_name): Implement. (gtk_file_system_unix_volume_render_icon): Implement. * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault): Added a field for the "volumes-changed" signal connection. (gtk_file_chooser_default_set_property): Connect to "volumes-changed" on the file system. (gtk_file_chooser_default_finalize): Disconnect from "volumes-changed". * gtk/gtkfilechooserdefault.c (shortcuts_remove_rows): New helper function. (shortcuts_get_index): New helper function. (shortcuts_insert_path): Can now insert volumes as well as paths. (shortcuts_append_paths): Don't take is_file_system_root. (shortcuts_add_volumes): New function. (shortcuts_append_file_system_roots): Removed. (create_shortcuts_model): Use shortcuts_add_volumes(). (remove_bookmark_button_clicked_cb): Check that the index is within range. (bookmarks_check_add_sensitivity): Take volumes into account. (shortcuts_get_selected_index): New helper function. (remove_bookmark_button_clicked_cb): Use shortcuts_get_selected_index(). (bookmarks_check_remove_sensitivity): Likewise. (shortcuts_select_func): Likewise. (shortcuts_row_activated_cb): Handle volumes as well as normal paths. (shortcuts_activate_volume): New function. (struct _GtkFileChooserDefault): Removed the bookmarks_set and bookmarks_iter fields. (shortcuts_append_bookmarks): Use shortcuts_remove_rows(). (bookmarks_changed_cb): Use shortcuts_add_bookmarks(). (remove_bookmark_rows): Removed. (shortcuts_add_bookmarks): New function; moved most of the code over from shortcuts_append_bookmarks(). (shortcuts_append_bookmarks): Add the separator node here, and then call shortcuts_add_bookmarks().
* Added a render_icon virtual method.Federico Mena Quintero2003-11-191-0/+30
| | | | | | | | | | | | | | | | | | | | 2003-11-19 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a render_icon virtual method. * gtk/gtkfilesystem.c (gtk_file_system_render_icon): New function. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_render_icon): Implement as a stub for now. * gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Use gtk_file_system_render_icon(). (list_icon_data_func): Likewise. (toolbar_create): Set the toolbar style to icons only. * gtk/gtkfilechooser.c (gtk_file_chooser_add_shortcut_folder_uri): Fix doc comments.
* Add a stock icon to the "Add bookmark" button.Federico Mena Quintero2003-11-031-4/+5
| | | | | | | | | | | | | | 2003-11-03 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilechooserdefault.c (create_shortcuts_tree): Add a stock icon to the "Add bookmark" button. * gtk/gtkfilesystemunix.c: Mark missing strings for translation. * gtk/gtkfilesystemmodel.c: Likewise. * gtk/gtkfilechooser.c: Likewise. * gtk/gtkfilechooserdefault.c: Likewise. Mon Nov 3 20:56:28 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkfilechooserutils.c gtk/gtkfilechooserprivate.[ch]: Basic frameworkOwen Taylor2003-10-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Wed Oct 22 23:20:04 2003 Owen Taylor <otaylor@redhat.com> * gtk/gtkfilechooser.[ch] gtk/gtkfilefilter.[ch] gtk/gtkfilechooserwidget.[ch] gtk/gtkfilechooserdialog.[ch]: gtk/gtkfilechooserutils.c gtk/gtkfilechooserprivate.[ch]: Basic framework for the new file selector widget. * gtk/gtkfilechooserdefault.[ch] gtk/gtkcellrenderersep.[ch] gtk/gtkfilechooserentry.[ch] gtk/gtkfilesystemmodel.[ch]: Initial implementation of the GtkFileChooser user interface. * gtk/gtkfilesystemunix.[ch]: GtkFileSystem implementation for Unix files. * configure.in gtk/Makefile.am gtk/xdgmime: Build code for freedesktop.org MIME system on Unix. * tests/testfilechooser.c: Test program for GtkFileChooser * tests/prop-editor.c: Add support for properties on interfaces.
* New utility function. (gtk_file_system_gnome_vfs_get_folder): UseFederico Mena Quintero2003-10-201-0/+3
| | | | | | | | | | | | | | 2003-10-20 Federico Mena Quintero <federico@ximian.com> * gtkfilesystemgnomevfs.c (folder_child_new): New utility function. (gtk_file_system_gnome_vfs_get_folder): Use folder_child_new(). (gtk_file_folder_gnome_vfs_get_info): Likewise. (directory_load_callback): Likewise. (monitor_callback): Likewise. * TODO: Removed the item about factoring out the code that creates FolderChild structures.
* Removed. (gtk_file_system_gnome_vfs_set_bookmarks): Removed.Federico Mena Quintero2003-10-181-13/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-10-17 Federico Mena Quintero <federico@ximian.com> * gtkfilesystemgnomevfs.c (gtk_file_system_gnome_vfs_get_supports_bookmarks): Removed. (gtk_file_system_gnome_vfs_set_bookmarks): Removed. (gtk_file_system_gnome_vfs_add_bookmark): Implement. (gtk_file_system_gnome_vfs_remove_bookmark): Implement. * gtkfilechooserprivate.h (struct _GtkFileChooserIface): Replaced the ::set_shortcut_folders() method with :;add_shortcut_folder() and ::remove_shortcut_folder(). * gtkfilechooserutils.c (delegate_add_shortcut_folder): New function. (delegate_remove_shortcut_folder): New function. (delegate_list_shortcut_folders): New function. * gtkfilechooserimpldefault.c (create_shortcuts_model): Insert the Desktop directory as well. (shortcuts_insert_path): Renamed from shortcuts_append_path; now takes a position index instead of a parent node iter. Also takes a GError argument. (struct _GtkFileChooserImplDefault): Removed the shortcuts_folder list. It is all kept in the model now. (shortcuts_append_home): Save whether adding a shortcut for the home directory was successful. (shortcuts_append_desktop): Likewise for the desktop. (shortcuts_append_file_system_roots): Count and save the number of roots added. (shortcuts_append_shortcut_folders): Removed. (gtk_file_chooser_impl_default_add_shortcut_folder): Implement. (shortcuts_append_bookmarks): Now that we don't have a bookmarks parent node, don't expand the tree. (add_bookmark_button_clicked_cb): Use gtk_file_system_add_bookmark(). (remove_bookmark_button_clicked_cb): Use gtk_file_system_remove_bookmark(). (gtk_file_chooser_impl_default_list_shortcut_folders): Get the folders from the shortcuts model; we no longer keep a separate list. * gtkfilesystem.h (struct _GtkFileSystemIface): Oops, there shouldn't be shortcuts-related virtual methods here. * gtkfilechooser.c (file_paths_to_strings): New helper function. (gtk_file_chooser_get_filenames): Use file_paths_to_strings(). (gtk_file_chooser_get_uris): Likewise. (gtk_file_chooser_set_shortcut_folders): Removed. (gtk_file_chooser_list_shortcut_folders): Return a list of strings, not of GtkFilePath*. (gtk_file_chooser_list_shortcut_folder_uris): New function. (gtk_file_chooser_add_shortcut_folder): New function. (gtk_file_chooser_remove_shortcut_folder): New function. (gtk_file_chooser_add_shortcut_folder_uri): New function. (gtk_file_chooser_remove_shortcut_folder_uri): New function. (_gtk_file_chooser_add_shortcut_folder): New function. (_gtk_file_chooser_remove_shortcut_folder): New function. * gtkfilechooser.h: New enum. * gtkfilechooser.c (gtk_file_chooser_error_quark): New function. * gtkfilesystem.c (gtk_file_system_get_supports_bookmarks): Removed. (gtk_file_system_set_bookmarks): Removed. (gtk_file_system_add_bookmark): New function. (gtk_file_system_remove_bookmark): New function. * gtkfilesystemunix.c (gtk_file_system_unix_get_supports_bookmarks): Removed. (gtk_file_system_unix_set_bookmarks): Removed. (gtk_file_system_unix_add_bookmark): Just a stub for now. (gtk_file_system_unix_remove_bookmark): Likewise. * testfilechooser.c (main): Add a shortcut for testing purposes.
* Added methods for ::get_supports_bookmarks(), ::set_bookmarks(),Federico Mena Quintero2003-10-081-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-10-07 Federico Mena Quintero <federico@ximian.com> * gtkfilesystem.h (struct _GtkFileSystemIface): Added methods for ::get_supports_bookmarks(), ::set_bookmarks(), ::list_bookmarks(). Added a ::bookmarks_changed() signal. * gtkfilesystem.c (gtk_file_system_get_supports_bookmarks): New function. (gtk_file_system_set_bookmarks): New function. (gtk_file_system_list_bookmarks): New function. (gtk_file_system_base_init): Create the "bookmarks-changed" signal. (gtk_file_paths_copy): New function. * gtkfilesystemunix.c (gtk_file_system_unix_get_supports_bookmarks): Implement. (gtk_file_system_unix_set_bookmarks): Implement. (gtk_file_system_unix_get_bookmarks): Implement. * gtkfilesystemgnomevfs.c (struct _GtkFileSystemGnomeVFS): Added fields for the bookmarks and the GConfClient. (gtk_file_system_gnome_vfs_set_bookmarks): Implement. (gtk_file_system_gnome_vfs_list_bookmarks): Implement. * gtkfilechooserprivate.h (struct _GtkFileChooserIface): Added methods for ::set_shortcut_folders(), ::list_shortcut_folders(). * gtkfilechooser.c (gtk_file_chooser_set_shortcut_folders): New function. (gtk_file_chooser_list_shortcut_folders): New function. * gtkfilechooserimpldefault.c (create_shortcuts_model): Unref the old shortcuts model if it exists. Create the nodes for the app-specific shortcut folders. (struct _GtkFileChooserImplDefault): Added a field for the shortcut_folders. (gtk_file_chooser_impl_default_set_shortcut_folders): Implement. (select_shortcuts_folder): New helper function. (gtk_file_chooser_impl_default_set_current_folder): Use select_shortcuts_folder(). (shortcuts_append_path): Get the file info here, instead of the caller. (shortcuts_append_home): Use shortcuts_append_path(). (shortcuts_append_file_system_roots): Likewise. (create_shortcuts_model): Add the app-specific shortcut folders and the bookmarks. (gtk_file_chooser_impl_default_list_shortcut_folders): Implement. (create_shortcuts_tree): Added a button to let the user add the current folder to the bookmarks. (gtk_file_chooser_impl_default_set_property): Connect to "bookmarks-changed" on the file system. (shortcuts_append_bookmarks): New function. * configure.ac: Depend on GConf.
* s/nonexistant/nonexistent Likewise. Likewise. Likewise.Federico Mena Quintero2003-09-021-3/+3
| | | | | | | | | | | | | | 2003-09-02 Federico Mena Quintero <federico@ximian.com> * gtkfilesystem.h: s/nonexistant/nonexistent * gtkfilesystem.c: Likewise. * gtkfilesystemgnomevfs.c: Likewise. * gtkfilesystemunix.c: Likewise. 2003-08-27 Federico Mena Quintero <federico@ximian.com> * README: The required GtkTreeView patches are already on CVS. Removed the part that mentions them.
* auto-ize.Owen Taylor2003-07-161-12/+37
| | | | | | | | | | | | | | | | | | | | | | | Wed Jul 16 16:50:31 2003 Owen Taylor <otaylor@redhat.com> * configure.ac Makefile.am: auto-ize. * xdgmime/: Add freedesktop.org MIME spec implementatin by Jonathan Blandford. * gtkfilesystem.[ch]: Add gtk_file_info_render_icon() gtk_file_info_set/get_icon_type to do icon handling based on MIME type. Add a simple icon caching system. * gtkfilesystemgnomevfs.c: Implement ensure_types() so that extending the set of types for a loaded directory works. Set the MIME type to get the default icon handling. * gtkfilesystemunix.c: Look up the MIME type using xdgmime. * gtkfilechooserimpldefault.c: Display icons in the list.
* Move interface definition into a private header so it can refer toOwen Taylor2003-04-041-110/+128
| | | | | | | | | | | | | | Fri Apr 4 17:30:27 2003 Owen Taylor <otaylor@redhat.com> * gtkfilechooserprivate.h gtkfilechooser.h: Move interface definition into a private header so it can refer to GtkFileSystem. * *.[ch]: Switch over from using gchar *uri internally to using GtkFilePath * internally, and add conversion routines to GtkFileSystem. * TODO README: Updates.
* Finish monitoring, add a TODO, fill in details in README, fix some missing ↵Owen Taylor2003-03-271-0/+10
| | | | finalization chainups
* Add GtkFileSystem::parse, and a chooser entry with completionOwen Taylor2003-03-251-0/+150
|
* Add sorting, a size column.Owen Taylor2003-03-211-1/+1
| | | | | | Try making the tree view on the left auto-expand/collapse when the selection changes. Some bug fixes.
* Add some documentation comments, fix some missing staticsOwen Taylor2003-03-211-0/+15
|
* Initial revisionOwen Taylor2003-03-211-0/+588