Commit Graph

171 Commits

Author SHA1 Message Date
Federico Mena Quintero
8e6a2b4f6e Fixes #139562, based on a patch by Christian Neumair.
2004-05-04  Federico Mena Quintero  <federico@ximian.com>

	Fixes #139562, based on a patch by Christian Neumair.

	* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault): Add
	a filter_combo_hbox field to contain the filter combo.
	(show_filters): Show/hide the filter_combo_hbox.
	(create_filename_entry_and_filter_combo): Removed.
	(file_pane_create): Create the filter_combo_hbox here.
2004-05-04 17:53:13 +00:00
Federico Mena Quintero
6631943388 Fixes #140412.
2004-04-29  Federico Mena Quintero  <federico@ximian.com>

	Fixes #140412.

	* gtk/gtkfilechooserdefault.c (remove_selected_bookmarks): New
	function; moved the code over from
	remove_bookmark_button_clicked_cb().
	(remove_selected_bookmarks): Now, getting a non-removable bookmark
	is not an error, as we may be called as a result of hitting the
	Delete key.
	(shortcuts_key_press_event_cb): New handler; delete the bookmark
	if the user presses Backspace, Delete, or KP_Delete.
2004-04-29 23:13:50 +00:00
Federico Mena Quintero
6cb9668e69 Use a variant of the code from gtkfilesel.c to parse a "text/uri-list"
2004-04-15  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (split_uris): Use a variant of the
	code from gtkfilesel.c to parse a "text/uri-list" blob.  Fixes
	#140126.
2004-04-15 19:17:50 +00:00
Federico Mena Quintero
f37b0a1d97 Use a title for SAVE and CREATE_FOLDER modes. Fixes #137272.
2004-04-05  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (location_popup_handler): Use a
	title for SAVE and CREATE_FOLDER modes.  Fixes #137272.
2004-04-06 03:15:21 +00:00
Federico Mena Quintero
a0f3ee5660 Make the new-folder button say "Create Fo_lder" rather than "Create
2004-04-05  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (file_pane_create): Make the
	new-folder button say "Create Fo_lder" rather than "Create
	_Folder", so that the mnemonic doesn't conflict with the "Save in
	_folder" label.  Fixes #136975.
2004-04-06 02:52:08 +00:00
Federico Mena Quintero
8e661364c6 Fix #136077.
2004-04-01  Federico Mena Quintero  <federico@ximian.com>

	Fix #136077.

	* gtk/gtkpathbar.h (struct _GtkPathBarClass): Add a
	"child_is_hidden" boolean argument to the "path-clicked" signal.

	* gtk/gtkpathbar.c (struct _ButtonData): Added a file_is_hidden
	field.
	(make_directory_button): Take a file_is_hidden argument; put it in
	the ButtonData.
	(_gtk_path_bar_set_path): See whether each path component path is
	a hidden file.
	(gtk_path_bar_class_init): Add the file_is_hidden argument to the
	"path-clicked" signal.
	(button_clicked_cb): See if the downwards button represents a
	hidden file for the file_is_hidden argument in the signal
	emission.

	* gtk/gtkmarshalers.list: Added a signal type VOID:POINTER,BOOLEAN.

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_select_path): If we fail to switch
	folders, don't try to select the path in the file system model.
	Also, return the result from _gtk_file_system_model_path_do().
	(gtk_file_chooser_default_select_path): Turn on show_hidden in the
	file system model if we are asked to select a hidden file.
	(path_bar_clicked): Show hidden files based on whether the
	immediate downwards folder in the path bar is a hidden file
	itself.
	(struct _GtkFileChooserDefault): Added fields
	browse_files_popup_menu and browse_files_popup_menu_hidden_files_item.
	(create_file_list): Set an object data key of
	"GtkFileChooserDefault" on the tree view so that we can find the
	impl from the popup menu callbacks.  Also, hook up to the
	"button-press-event" and "popup-menu" signals in the file list to
	bring up a popup menu.
	(list_popup_menu_cb): New callback.
	(list_button_press_event_cb): New callback.

	Fix #138763:

	* gtk/gtkfilesystemmodel.c
	(_gtk_file_system_model_new): Oops, connect_object to
	"finished-loading".
2004-04-02 00:35:07 +00:00
Federico Mena Quintero
7f62edf379 Fix #137520.
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.
2004-03-29 19:52:16 +00:00
Federico Mena Quintero
e38ade9299 Just use the file under the cursor; we don't need the logic from
2004-03-25  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (check_preview_change): Just use the
	file under the cursor; we don't need the logic from
	GtkFileSelection after all.  Fixes #132255.
2004-03-25 21:52:04 +00:00
Federico Mena Quintero
cd486d396f Fill the location entry with the display name of the file under the cursor
2004-03-25  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (location_entry_create): Fill the
	location entry with the display name of the file under the cursor
	for Open mode, or the typed filename in Save mode.
2004-03-25 21:36:02 +00:00
Federico Mena Quintero
da83c1cbf3 Revert the patch to #137520, as 2.4.1 is for conservative bug fixes only.
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
2004-03-19 21:16:24 +00:00
Morten Welinder
f1c18d57d6 Test existance of the path after checking for locality, if needed.
2004-03-19  Morten Welinder  <terra@gnome.org>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_set_current_folder): Test existance of
	the path after checking for locality, if needed.
2004-03-19 20:18:09 +00:00
Federico Mena Quintero
68030a7ee7 Fix #137520.
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.
2004-03-19 19:41:06 +00:00
Morten Welinder
72d48463da Free volumes not actually put into the shortcut list.
2004-03-17  Morten Welinder  <terra@gnome.org>

	* gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Free
	volumes not actually put into the shortcut list.
2004-03-17 21:52:29 +00:00
Morten Welinder
8d3344036c Do nothing if we have no screen. Fixes #137260.
2004-03-17  Morten Welinder  <terra@gnome.org>

	* gtk/gtkfilechooserdefault.c (check_icon_theme): Do nothing if we
	have no screen.  Fixes #137260.
	(shortcuts_add_bookmark_from_path): Simplify using check_is_folder
	thereby fixing leak.  Fixes #137259.
2004-03-17 15:34:21 +00:00
Federico Mena Quintero
7cd0c2686d Only hide the "create folder" button in OPEN mode; all the others should
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.
2004-03-15 23:15:31 +00:00
Federico Mena Quintero
3e3ca55535 In the Save modes, set the Name entry of the file chooser if we get a
2004-03-15  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (update_from_entry): In the Save
	modes, set the Name entry of the file chooser if we get a
	nonexistent filename from the file entry.  Fixes #135911.
	(gtk_file_chooser_default_set_current_name): Oops, this should
	also work if we are in CREATE_FOLDER mode.

	* gtk/gtkfilesystem.c (gtk_file_path_real_copy): Use
	gtk_file_path_copy().

	* gtk/gtkfilechooserentry.c (check_completion_callback): Free the
	path that we got from the model.
	(completion_match_func): Use DISPLAY_NAME_COLUMN rather than a
	hard-coded constant.
2004-03-15 19:23:54 +00:00
Federico Mena Quintero
77c7092489 Only show the title string in OPEN/SELECT_FOLDER mode as it's
Mon Mar 15 12:51:17 2004  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtkfilechooserdefault.c (location_popup_handler): Only show
	the title string in OPEN/SELECT_FOLDER mode as it's open-specific.
	Put a blank title for SAVE/CREATE_FOLDER; we are in string freeze,
	so we'll fix it for 2.4.1 as #137272.

	* gtk/gtkpathbar.c (gtk_path_bar_scroll_down): calculate
	space_available correctly for RTL mode.  w/o this, you can't
	scroll down again.  Fixes #137021.

2004-03-15  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkpathbar.c (gtk_path_bar_scroll_up): Queue a resize.
	(gtk_path_bar_scroll_down): Likewise.
2004-03-15 18:12:51 +00:00
Jonathan Blandford
e8095cc81b set changing_folders to be true so we don't trigger a callback when we
Mon Mar 15 10:35:19 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): set
        changing_folders to be true so we don't trigger a callback when we
        remove the selection
        (shortcuts_add_bookmarks): ditto
2004-03-15 16:27:45 +00:00
Jonathan Blandford
486fc4fe45 implement correctly. (completion_match_func): Allow surpressing popdowns.
Mon Mar 15 08:48:48 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkfilechooserentry.c (match_selected_callback): implement
        correctly.
        (completion_match_func): Allow surpressing popdowns.
        (maybe_append_seperator_to_path): New function to add a separator
        item to a display_name.  Bad hack.
        (check_completion_callback): Implement select-ahead as an idle.
        (add_completion_idle): new function to handle select-ahead
        (gtk_file_chooser_entry_do_insert_text): starf the select-ahead
        idle.
        (gtk_file_chooser_entry_focus): Override tab for completion.
        (gtk_file_chooser_entry_activate): commit select_ahead when
        activated.

        * gtk/gtkfilechooserdefault.c (location_popup_handler): grab the
        appropriate widget for the mode.
2004-03-15 14:10:45 +00:00
Mark McLoughlin
2d23e05a46 remove the unused "lowest_folder" GtkFileChooserDefault member. Leftover
2004-03-15  Mark McLoughlin  <mark@skynet.ie>

        * gtk/gtkfilechooserdefault.c: remove the unused "lowest_folder"
        GtkFileChooserDefault member. Leftover from my original patch
        for bug #136987.
2004-03-15 09:07:59 +00:00
Federico Mena Quintero
f956e3ae0a Renamed from shortcuts_unselect_all(); now selects the row that
2004-03-15  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_find_current_folder):
	Renamed from shortcuts_unselect_all(); now selects the row that
	corresponds to the current folder, if any.  Fixes #135916.

	* gtk/gtkpathbar.h: Added prototypes for _gtk_path_bar_up() and
	_gtk_path_bar_down().
2004-03-15 06:51:58 +00:00
Federico Mena Quintero
0abde22904 Surround the drag-outside-to-remove-bookmarks code with "#if 0" blocks;
2004-03-15  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c: Surround the
	drag-outside-to-remove-bookmarks code with "#if 0" blocks; it's
	too unstable right now.
2004-03-15 06:29:33 +00:00
Owen Taylor
2c9d190c09 Implement local_only by filtering the shortcuts and bookmarks list by
Sun Mar 14 23:36:15 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkfilechooserdefault.c: Implement local_only by
        filtering the shortcuts and bookmarks list by
        gtk_file_system_path_to_filename (file_system, path) != NULL.
        (#132894)

        * gtk/gtkfilesystem.c (gtk_file_system_path_is_local): Add
        a convenience function, may by interesting to push to the
        file system vtable later for performance.
2004-03-15 06:09:40 +00:00
Federico Mena Quintero
084bb2fe39 Allow the path to be NULL, so that people can ask for information about a
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.
2004-03-15 05:42:51 +00:00
Owen Taylor
f8b3e6fe42 Add _gtk_path_bar_up()/ _gtk_path_bar_down().
Sun Mar 14 21:03:15 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkpathbar.[ch]: Add _gtk_path_bar_up()/
        _gtk_path_bar_down().

        * gtk/gtkfilechooserdefault.c: Use _gtk_path_bar_up()/
        _gtk_path_bar_down() as bindings for Alt-Up
        and new Alt-Down. (Partly based on a patch by
        Mark McLoughlin, #136987)
2004-03-15 02:12:08 +00:00
Federico Mena Quintero
dfa36bb4e4 Fixes #136185, patch by Morten Welinder, with some changes.
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.
2004-03-15 02:09:22 +00:00
Morten Welinder
79d73b1349 Damn cvs. 2004-03-14 19:50:11 +00:00
Morten Welinder
df8b419ecf Don't crash on NULL path; don't crash on NULL error.
2004-03-14  Morten Welinder  <terra@gnome.org>

	* gtk/gtkfilechooserdefault.c (error_dialog): Don't crash on NULL
	path; don't crash on NULL error.
2004-03-14 19:47:20 +00:00
Federico Mena Quintero
2de434104e Put the trash icon on the right for LTR locales, or on the left for RTL.
2004-03-11  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_drag_set_delete_cursor):
	Put the trash icon on the right for LTR locales, or on the left
	for RTL.
	(shortcuts_drag_motion_cb): Cancel the idle handler here as well.
	(shortcuts_drag_leave_cb): Test whether the idle is present.
	(shortcuts_drag_data_received_cb): Ahem, don't assert here.
2004-03-12 00:13:16 +00:00
Federico Mena Quintero
b4a6705a8c Put the trash icon on the right for LTR locales, or on the left for RTL.
2004-03-11  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_drag_set_delete_cursor):
	Put the trash icon on the right for LTR locales, or on the left
	for RTL.
	(shortcuts_drag_motion_cb): Cancel the idle handler here as well.
	(shortcuts_drag_leave_cb): Test whether the idle is present.
2004-03-12 00:03:48 +00:00
Jonathan Blandford
865d3dd267 revert earlier change to insert_path so that we test that the directory
Thu Mar 11 16:18:51 2004  Jonathan Blandford  <jrb@redhat.com>

        * gtk/gtkfilechooserdefault.c (shortcuts_insert_path): revert
        earlier change to insert_path so that we test that the directory
        exists.

        * gtk/gtkfilechooserdialog.c
        (gtk_file_chooser_dialog_constructor): move focus.
2004-03-11 21:23:16 +00:00
Federico Mena Quintero
df0510a89f New function, copied from gtkpathbar.c.
2004-03-11  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (remove_settings_signal): New
	function, copied from gtkpathbar.c.
	(gtk_file_chooser_default_dispose): Use remove_settings_signal()
	rather than our own code.
	(gtk_file_chooser_default_screen_changed): Use
	remove_settings_signal(); this should handle per-screen settings
	correctly.
2004-03-11 20:03:38 +00:00
Federico Mena Quintero
b35220fda0 Use a single OK button, not a Close button, as per the HIG.
2004-03-11  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (error_message_with_parent): Use a
	single OK button, not a Close button, as per the HIG.

	* gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Likewise.
2004-03-11 18:48:46 +00:00
Federico Mena Quintero
4cfd0030b6 Oops, initialize "action" before jumping. Fixes #136900.
2004-03-11  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_drag_motion_cb): Oops,
	initialize "action" before jumping.  Fixes #136900.
2004-03-11 18:13:51 +00:00
Federico Mena Quintero
1135bef0da Fix #135912 and #135913.
2004-03-11  Federico Mena Quintero  <federico@ximian.com>

	Fix #135912 and #135913.

	* gtk/gtkfilechooserdefault.c
	(shortcuts_filter_model_row_draggable): Implement.
	(shortcuts_model_filter_new): New function, create a
	ShortcutsModelFilterClass derived from GtkTreeModelFilter, so that
	we can implement our own DnD interface methods.
	(shortcuts_model_create): Use shortcuts_model_filter_new().
	(shortcuts_list_create): Enable the shortcuts list as a drag
	source.
	(file_list_source_targets): Renamed from shortcuts_targets.
	(shortcuts_list_create): Change the options for
	gtk_drag_dest_set().  Connect to more drag signals so that we can
	implement drops by hand.
	(shortcuts_drag_data_delete_cb): New handler; just stop the emission.
	(shortcuts_drag_motion_cb): New handler; validate the drop.
	(shortcuts_drag_leave_cb): New handler; unset the drag_dest_row.
	(shortcuts_drag_drop_cb): New handler; just stop the emission and
	remove the idle handler for the drag cursor.
	(shortcuts_add_bookmark_from_path): Add a position argument,
	return a boolean success code.
	(shortcuts_drag_data_received_cb): Handle two cases:  1) Insert
	the bookmarks at the proper position, rather than always appending
	them to the list; 2) alternatively, reorder the bookmarks.
	(struct _GtkFileChooserDefault): New field shortcuts_drag_outside.
	(shortcuts_drag_motion_cb): Turn off impl->shortcuts_drag_outside.
	(shortcuts_drag_leave_cb): Turn on impl->shortcuts_drag_outside in
	an idle handler.
	(shortcuts_drag_end_cb): New handler; remove the selected bookmark.
2004-03-11 06:24:15 +00:00
Jonathan Blandford
976647fdd4 up the width of the entry a tad.
Thu Mar 11 01:08:25 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkfilechooserdefault.c (location_entry_create): up the
        width of the entry a tad.

        * gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): use
        gtk_entry_completion_selection_changed.  Also, unref the
        completion as we were leaking a reference to it.
2004-03-11 06:08:28 +00:00
Federico Mena Quintero
6e30693cd9 Use an untranslatable "%x" for dates, rather than a custom format. Fixes
2004-03-10  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (list_mtime_data_func): Use an
	untranslatable "%x" for dates, rather than a custom format.  Fixes
	#136357.
2004-03-10 18:35:07 +00:00
Morten Welinder
5babb8607f Add comment. 2004-03-10 17:58:56 +00:00
Morten Welinder
3f5ec9fe02 Test validity of path here. (shortcuts_insert_path): Don't check here.
2004-03-10  Morten Welinder  <terra@gnome.org>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_add_shortcut_folder): Test validity of
	path here.
	(shortcuts_insert_path): Don't check here.
	(get_file_info): Barf if name-only fails.
2004-03-10 17:55:16 +00:00
Jonathan Blandford
5d8863bbac use uri instead of the pathname for UTF-8 safety.
Wed Mar 10 00:24:24 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkfilechooserdefault.c (error_dialog): use uri instead of
        the pathname for UTF-8 safety.
2004-03-10 05:24:23 +00:00
Jonathan Blandford
382bf3a113 Always check to see if the shortcuts exists. We don't want to put invalid
Wed Mar 10 00:10:47 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Always
        check to see if the shortcuts exists.  We don't want to put
        invalid dirs in the shortcuts pane.
2004-03-10 05:19:29 +00:00
Jonathan Blandford
e76bb1c3c7 remove unneeded shortuts_swin;
Tue Mar  9 16:40:34 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
        remove unneeded shortuts_swin;
2004-03-10 03:43:58 +00:00
Federico Mena Quintero
b82008a037 Fix #136533.
2004-03-09  Federico Mena Quintero  <federico@ximian.com>

	Fix #136533.

	* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons): New
	function.
	(check_icon_theme): New helper function, installs a handler for
	changes in the icon theme.
	(gtk_file_chooser_default_style_set): Use check_icon_theme().
	(gtk_file_chooser_default_screen_changed): Use check_icon_theme().
	(gtk_file_chooser_default_dispose): Disconnect from GtkSettings.
	(change_icon_theme): New function, updates impl->icon_size and
	reloads the icons.
	(struct _GtkFileChooserDefault): New field settings_signal_id.
	(struct _GtkFileChooserDefault): New field icon_size.
	(shortcuts_insert_path): Use impl->icon_size.
	(list_icon_data_func): Likewise.
2004-03-09 21:22:42 +00:00
Federico Mena Quintero
22bc71a667 Handle the returned parent_path being NULL. Fixes #136662.
2004-03-09  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (get_file_info): Handle the returned
	parent_path being NULL.  Fixes #136662.
2004-03-09 19:47:09 +00:00
Federico Mena Quintero
ace5e30238 Stop the emission so that GtkTreeView's handler won't try to poke the
2004-03-09  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_drag_data_received_cb):
	Stop the emission so that GtkTreeView's handler won't try to poke
	the filter model.  Fixes #136127.
2004-03-09 19:10:20 +00:00
Federico Mena Quintero
caf66b3ddd Use gtk_tree_view_set_cursor().
2004-03-08  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_initial_focus): Use
	gtk_tree_view_set_cursor().
2004-03-08 23:16:03 +00:00
Federico Mena Quintero
8383c8f7fe Patch "1a" from #136185, by Morten Welinder.
2004-03-08  Federico Mena Quintero  <federico@ximian.com>

	Patch "1a" from #136185, by Morten Welinder.

	* gtk/gtkfilechooserdefault.c (get_file_info): Take in an argument
	that says whether the caller just wants the display name.
	(shortcuts_insert_path): We only want the name in the call to
	get_file_info().

	* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Don't request more
	info than needed from the file_folder.
2004-03-08 22:53:35 +00:00
Federico Mena Quintero
2247fc6659 Fixes #136105.
2004-03-08  Federico Mena Quintero  <federico@ximian.com>

	Fixes #136105.

	* gtk/gtkfilechooserembed.h (struct _GtkFileChooserEmbedIface):
	Added an ::initial_focus() method.

	* gtk/gtkfilechooserembed.c
	(_gtk_file_chooser_embed_delegate_iface_init): Set the
	initial_focus method.
	(delegate_initial_focus): Implement.
	(_gtk_file_chooser_embed_initial_focus): New function.

	* gtk/gtkfilechooserdialog.c
	(gtk_file_chooser_dialog_constructor): Call
	_gtk_file_chooser_embed_initial_focus().

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
	Install the ::initial_focus() handler.
	(gtk_file_chooser_default_initial_focus): Implement.
2004-03-08 22:21:47 +00:00
Federico Mena Quintero
4bab88cda4 Return a boolean success code. (location_popup_handler): Refocus the file
2004-03-08  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (update_from_entry): Return a
	boolean success code.
	(location_popup_handler): Refocus the file chooser if appropriate.
	Fixes #135905.
	(save_widgets_create): Don't set the text of the save_folder_label
	here.
	(update_appearance): Set the text here as appropriate for the save
	mode.  Also fixes #136387.
	(update_appearance): Don't show the Create Folder button in
	SELECT_FOLDER mode.
	(update_appearance): Show the extra widget in all Save modes
	correctly.
2004-03-08 20:06:50 +00:00
Jonathan Blandford
59938d927c new function to consolidate creating the path_bar.
Mon Mar  8 04:50:12 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkfilechooserdefault.c (create_path_bar): new function to
        consolidate creating the path_bar.
        (gtk_file_chooser_default_set_current_folder): no longer need to
        pass in the filesystem.

        * gtk/gtkpathbar.h: Removed unused set_pixbuf functions in favor
        of just setting the filesystem.

        * gtk/gtkpathbar.c (gtk_path_bar_finalize): Free root path and
        home_dir.
        (get_button_image): Add images to path_bar.
        (update_button_appearance): use images
        (make_directory_button): Clasify buttons based upon location.
        (_gtk_path_bar_set_path): no longer need a file-system.  Also, add
        rerooting, #135845, #135914

        * tests/testfilechooser.c: Fix reused error handling.
2004-03-08 09:56:34 +00:00