summaryrefslogtreecommitdiff
path: root/gtk/gtkfilesystemunix.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix an error in the cache timeout logic. (#166601, Morten Welinder)Matthias Clasen2005-06-231-5/+9
| | | | | | | | 2005-06-23 Matthias Clasen <mclasen@redhat.com> * gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder): Fix an error in the cache timeout logic. (#166601, Morten Welinder)
* Use g_file_set_contents(). (#308722, Morten Welinder)Matthias Clasen2005-06-231-65/+25
| | | | | | | 2005-06-23 Matthias Clasen <mclasen@redhat.com> * gtk/gtkfilesystemunix.c (bookmark_list_write): Use g_file_set_contents(). (#308722, Morten Welinder)
* Remove gratitious differences between the stable branch and HEAD, whichMatthias Clasen2005-06-221-48/+24
| | | | | | * gtk/gtkfilesystemunix.c: Remove gratitious differences between the stable branch and HEAD, which sneaked in with the bookmark renaming.
* Support .hidden files. (#129170, Sayamindu Dasgupta, patch by Jan ArneMatthias Clasen2005-06-121-8/+78
| | | | | | | 2005-06-12 Matthias Clasen <mclasen@redhat.com> * gtk/gtkfilesystemunix.c: Support .hidden files. (#129170, Sayamindu Dasgupta, patch by Jan Arne Petersen)
* Treat backup files the same way as hidden files, to be closer to whatMatthias Clasen2005-06-111-1/+4
| | | | | | | | 2005-06-11 Matthias Clasen <mclasen@redhat.com> * gtk/gtkfilesystemunix.c (create_file_info): Treat backup files the same way as hidden files, to be closer to what Nautilus does. (#136196, Sean Middleditch)
* Merged from gtk-2-6:Federico Mena Quintero2005-05-061-4/+8
| | | | | | | | | | | 2005-05-06 Federico Mena Quintero <federico@ximian.com> Merged from gtk-2-6: * gtk/gtkfilesystemunix.c (fill_in_mime_type): Don't fill the mime types if this is an AFS directory. (fill_in_names): If we are in an AFS directory, set the MIME type blindly to "x-directory/normal".
* Merged from gtk-2-6:Federico Mena Quintero2005-05-031-7/+45
| | | | | | | | | | | | | | | | | | | | | 2005-05-02 Federico Mena Quintero <federico@ximian.com> Merged from gtk-2-6: Fixes #301068: * gtk/gtkfilesystemunix.c (struct _GtkFileSystemUnix): Add fields to store struct stat for /afs and /net, and boolean fields to say whether these are valid. (struct _GtkFileFolderUnix): Added a boolean is_network_dir field. (gtk_file_system_unix_get_folder): Fill in the is_network_dir field of the folder structure. (fill_in_names): If the folder is a network directory, create a fake struct stat for its entries. (fill_in_stats): Don't stat() the children of network directories. * gtk/gtkfilechooserdefault.c (list_mtime_data_func): If the mtime is 0, use "Unknown" for the cell's displayed text.
* Implement bookmark renaming (#136216, Sean Middleditch)Matthias Clasen2005-03-221-33/+172
| | | | | | | | | | | | | | | | | | | | | | | 2005-03-22 Matthias Clasen <mclasen@redhat.com> Implement bookmark renaming (#136216, Sean Middleditch) * gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Add get_bookmark_label and set_bookmark_label vfuncs. * gtk/gtkfilesystem.h: * gtk/gtkfilesystem.c (gtk_file_system_set_bookmark_label): (gtk_file_system_get_bookmark_label): Wrappers for the vfuncs. * gtk/gtk.symbols: Add new exported symbols. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_set_bookmark_label): (gtk_file_system_unix_get_bookmark_label): Implementations for the Unix backend. * gtk/gtkfilechooserdefault.c: Add a context menu to the bookmarks pane, and allow to rename bookmarks.
* Make PLT-reduction work with gcc4, and don't include everything inMatthias Clasen2005-03-201-1/+4
| | | | | | | | | | | | | | | | | | 2005-03-20 Matthias Clasen <mclasen@redhat.com> Make PLT-reduction work with gcc4, and don't include everything in gdkalias.h: * gtk/grk.symbols: Group symbols by header and source file. * gtk/makegtkalias.pl: Protect definitions by the same preprocessor symbols used to guard the headers. Move the alias declarations to a separate file which is produced when calling makegtkalias.pl -def * gdk/Makefile.am (gtkaliasdef.c): Add a rule to generate this file. * gtk/*.c: Include gtkalias.h after the other headers, include gtkaliasdef.c at the bottom. * gtk/*.h: Small cleanups.
* Fix #162617.Federico Mena Quintero2005-01-101-119/+229
| | | | | | | | | | | | | | | | | | | | | | | | 2005-01-10 Federico Mena Quintero <federico@ximian.com> Fix #162617. * gtk/gtkfilesystemunix.c (STAT_NEEDED_MASK): Take out GTK_FILE_INFO_IS_HIDDEN; we don't need to stat() to know this. (gtk_file_system_unix_get_folder): Make error reporting more accurate. Don't bail out if we can't read the directory. (fill_in_stats): Don't return an error; just assume we don't have stat info for this folder's files. (fill_in_names): Don't create the hash table for the names if we can't open the directory. (gtk_file_folder_unix_list_children): Don't emit the "finished-loading" signal --- we don't do asynchronous loads, so we are always finished loading. (gtk_file_folder_unix_get_info): Use helper functions; handle the case where we can't stat '/'. (get_icon_type_from_path): Don't call fill_in_stats() here; only use the info we have. (fill_in_mime_type): Don't return an error. Don't do anything if we don't have the stat info.
* Clean up some cases of errno handling (#162496, noted by Tor Lillqvist),Matthias Clasen2004-12-301-8/+8
| | | | | | | | | 2004-12-30 Matthias Clasen <mclasen@redhat.com> * gtk/gtkfilesystemunix.c: Clean up some cases of errno handling (#162496, noted by Tor Lillqvist), and use g_filename_display_name() for error messages. Also mark some error messages for translation, fix capitalization of error messages.
* Clean up some cases of errno handling (#162496, noted by Tor Lillqvist),Matthias Clasen2004-12-301-33/+35
| | | | | | | | 2004-12-30 Matthias Clasen <mclasen@redhat.com> * gtk/gtkfilesystemunix.c: Clean up some cases of errno handling (#162496, noted by Tor Lillqvist), and use g_filename_display_name() for error messages.
* Use g_filename_display_basename to calculate display name.Alexander Larsson2004-12-151-3/+1
| | | | | | | 2004-12-15 Alexander Larsson <alexl@redhat.com> * gtk/gtkfilesystemunix.c (gtk_file_folder_unix_get_info): Use g_filename_display_basename to calculate display name.
* Emit ::finished-loading.Matthias Clasen2004-09-271-0/+2
| | | | | | | 2004-09-27 Matthias Clasen <mclasen@redhat.com> * gtk/gtkfilesystemunix.c (gtk_file_folder_unix_list_children): Emit ::finished-loading.
* Protect the unistd.h include by HAVE_UNISTD_H.Matthias Clasen2004-09-011-0/+2
| | | | | | | | 2004-09-01 Matthias Clasen <mclasen@redhat.com> * gtk/gtkfilesystemunix.c: * gtk/gtkfilechooserbutton.c: Protect the unistd.h include by HAVE_UNISTD_H.
* Make the use of S_ISFIFO and S_ISSOCK conditional. (#150146, GustavoMatthias Clasen2004-08-151-0/+4
| | | | | | | | Sun Aug 15 02:31:55 2004 Matthias Clasen <maclas@gmx.de> * gtk/gtkfilesystemunix.c (get_icon_type_from_stat): Make the use of S_ISFIFO and S_ISSOCK conditional. (#150146, Gustavo Carneiro)
* Add hidden aliases for exported symbols which are used internally in orderMatthias Clasen2004-08-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mon Aug 9 12:48:04 2004 Matthias Clasen <maclas@gmx.de> Add hidden aliases for exported symbols which are used internally in order to get rid of many PLT entries. (#145519, Arjan van de Ven) * gtk/Makefile.am: Add rules to generate gtk.def and from gtk.symbols, and make make check check the abi with abicheck.sh. (gtk_private_h_sources): Add gtkinternals.h (gtk_built_private_headers): Add gtkalias.h (gtk_extra_sources): Add gtk.symbols (EXTRA_DIST): Add makegtkalias.pl and abicheck.sh * gtk/gtk.symbols: New file. Definition of the GTK+ ABI. The file can be processed by cpp to filter out certain subsets of symbols. * gtk/abicheck.sh: New file. Script to check the actually symbols exported from libgtk-x11.2.0.so against the symbols found in gtk.symbols. * gtk/makegtkalias.pl: New file. Perl script to generate the header containing the alias definitions for internally used exported symbols from a list of symbols. * gtk/gtkinternals.h: New file. An uninstalled header listing symbols which must be exported for some reason and do not appear in any other header. * gtk/*.c: Include gtkalias.h
* Fixes #137031:Federico Mena Quintero2004-07-091-88/+187
| | | | | | | | | | | | | | | | | | | 2004-07-09 Federico Mena Quintero <federico@ximian.com> Fixes #137031: * gtk/gtkfilesystemunix.c (get_fallback_icon): New helper function, fetches a stock icon as a fallback. (gtk_file_system_unix_volume_render_icon): Fall back to a stock icon. (gtk_file_system_unix_render_icon): Fall back to a stock icon. Use helper functions rather than being a mega-function. (get_icon_name_for_directory): Renamed from get_icon_for_directory(). (get_icon_type_from_path): New helper function; code pulled out from gtk_file_system_unix_render_icon(). (get_special_icon): Likewise. (get_icon_for_mime_type): Likewise.
* Fix #139290:Federico Mena Quintero2004-07-091-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-07-08 Federico Mena Quintero <federico@ximian.com> Fix #139290: * gtk/gtkfilesystemmodel.c (_gtk_file_system_model_new): Add a GError argument. Do check for errors when getting the GtkFileFolder: get the folder and read the children before actually creating the model. Removed obsolete code that handled roots-changed on the file system. (file_model_node_get_info): Assert that we don't reach the old case to display file system roots. (roots_changed_callback): Removed. * gtk/gtkfilechooserdefault.c (set_list_model): Add a GError argument, and a boolean return value. Return an error if we cannot create the file system model. On error, set a NULL model on the tree. (gtk_file_chooser_default_set_current_folder): Use the error value from set_list_model(). (gtk_file_chooser_default_set_property): Set the show_hidden property only if the browse_files_model exists. (gtk_file_chooser_default_unselect_path): Only operate if the browse_files_model exists. (check_preview_change): Check whether we have the sort_model. (change_folder_and_display_error): Copy the path we get passed before using it. There's a comment in there that explains why we need to copy it; basically, if the passed path belongs to the model, the model may go away in the middle of this function and we'll be left with a dangling pointer. (install_list_model_filter): Assert that the model is not NULL. (set_current_filter): Check whether the model exists. * gtk/gtktreeselection.c (gtk_tree_selection_get_selected): Don't g_return_if_fail if the model is NULL. (gtk_tree_selection_get_selected_rows): Likewise. (gtk_tree_selection_count_selected_rows): Likewise. (gtk_tree_selection_selected_foreach): Likewise. (gtk_tree_selection_path_is_selected): Likewise; rather just return FALSE. (gtk_tree_selection_select_all): Likewise. (gtk_tree_selection_unselect_all): Likewise. (gtk_tree_selection_select_range): Do g_return_if_fail() if the model is NULL. (gtk_tree_selection_unselect_range): Likewise. * gtk/gtkfilesystemunix.c (fill_in_names): Return immediately if g_dir_open() fails: there is no need to set the error ourselves, as g_dir_open() already does it.
* Fixes the GTK+ part of #142308:Federico Mena Quintero2004-06-221-4/+14
| | | | | | | | | | | 2004-06-22 Federico Mena Quintero <federico@ximian.com> Fixes the GTK+ part of #142308: * gtk/gtkfilesystemunix.c (gtk_file_system_unix_filename_to_path): Use filename_to_path(). (gtk_file_system_unix_uri_to_path): Likewise. (filename_to_path): Use remove_trailing_slash().
* Fix #132500.Federico Mena Quintero2004-04-071-4/+60
| | | | | | | | | | | | | | | | | | | | | | 2004-04-07 Federico Mena Quintero <federico@ximian.com> Fix #132500. * gtk/gtkfilesystem.c (gtk_file_system_parse): Ensure that the passed-in 'str' is not NULL. * gtk/gtkfilesystemunix.c (expand_tilde): New helper function; expands "~/" or "~foo/" at the beginning of a filename. (gtk_file_system_unix_parse): Use expand_tilde() before doing anything else. * gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_maybe_update_directory): Take in a force_reload argument. (gtk_file_chooser_entry_changed): If gtk_file_system_parse() returns an error, set the file_part_pos to -1. (load_directory_callback): Only populate the model if the file_part_pos is not -1.
* Look for G_DIR_SEPARATOR in the display_name, and err out if it isFederico Mena Quintero2004-04-061-0/+12
| | | | | | | | 2004-04-05 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilesystemunix.c (gtk_file_system_unix_make_path): Look for G_DIR_SEPARATOR in the display_name, and err out if it is present; use the same error message as Nautilus. Fixes #136467.
* Fix #137520.Federico Mena Quintero2004-03-291-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-03-29 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.
* 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>