Commit Graph

362 Commits

Author SHA1 Message Date
Matthias Clasen
232f30f1ba Use g_get_user_special_dir() to obtain the path for the DESKTOP directory.
2007-06-06  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c (model_add_special):
        * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop):
        * gtk/gtkfilesystemunix.c (get_icon_name_for_directory):
        * gtk/gtkpathbar.c (_gtk_path_bar_set_file_system):
        Use g_get_user_special_dir() to obtain the path for the
        DESKTOP directory.

svn path=/trunk/; revision=18070
2007-06-07 04:23:10 +00:00
Emmanuele Bassi
f74c473299 Factor out the search shortcut, the recently used shortcut and the
2007-06-06  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkfilechooserdefault.c:
	(get_file_info_finished), (shortcuts_insert_path),
	(shortcuts_add_bookmarks), (shortcuts_add_current_folder): Factor
	out the search shortcut, the recently used shortcut and the separator
	from the shortcut selection combo. (#444734)

	(recent_idle_load): Remove the idle source that lazily loads the
	recently used files, if the GtkRecentManager returns an empty
	list. (#443913)

svn path=/trunk/; revision=18063
2007-06-06 16:07:03 +00:00
Emmanuele Bassi
7ec6f9375c Fix to update the file chooser entry
Return after setting the file chooser entry instead of falling through. Also
remove the handling for the search and recent files operation modes, since
they don't have a location entry to update.

svn path=/trunk/; revision=17983
2007-05-30 12:27:47 +00:00
Carlos Garnacho
7bb7cfb293 Refactor GtkFileChooserDialog sizing.
2007-05-18  Carlos Garnacho  <carlos@imendio.com>

        Refactor GtkFileChooserDialog sizing.

        * gtkfilechooserembed.[ch] (delegate_get_resizable_hints)
        (_gtk_file_chooser_embed_get_resizable_hints):
        s/resizable_hints/resizable/, return just one boolean value to
        determine whether the filechooser should be resizable or not.

        * gtkfilechooserprivate.h (struct GtkFileChooserDialogPrivate): remove
        variables related to the GtkFileChooserEmbed get_default_size() and
        get_resizable() implementations.
        (struct GtkFileChooserDefault): Move default size management here.

        * gtkfilechooserdefault.c (gtk_file_chooser_default_size_allocate):
        Added, store currently allocated size to calculate default size later.
        (gtk_file_chooser_default_get_resizable_hints):
        s/resizable_hints/resizable/.
        (gtk_file_chooser_default_set_property): Reload settings if the file
        chooser action changes, this way the save expander state will be known
        before mapping the window, avoiding wrong window positioning and
        flickering. (#424299, #424309)
        (find_good_size_from_style): Only get size from style if it wasn't set
        previously.
        (gtk_file_chooser_default_get_default_size): return default size based
        on stored default size and preview/extra widget sizes.

        * gtkfilechooserdialog.c (file_chooser_widget_update_hints)
        (file_chooser_widget_realized_size_changed)
        (file_chooser_widget_unrealized_size_changed): simplified to
        (file_chooser_widget_size_changed): set window size and resizability
        based on the GtkFileChooserEmbed interface implementation. (Bug
        #420285, Tomeu Vizoso)
        (gtk_file_chooser_dialog_map): force a dialog size change, so it's
        clamped for sure to the 75% of the screen size.


svn path=/trunk/; revision=17859
2007-05-18 10:38:42 +00:00
Kristian Rietveld
a09b7359f5 remove dangling semicolon, fixes the segfault ebassi was seeing earlier
2007-05-14  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkfilechooserdefault.c (recent_column_path_sort_func): remove
	dangling semicolon, fixes the segfault ebassi was seeing earlier today
	;)


svn path=/trunk/; revision=17848
2007-05-14 21:36:24 +00:00
Emmanuele Bassi
59120d8bfd Convert the GtkTreeIter inside the sorting functions for the search and
2007-05-14  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkfilechooserdefault.c:
	Convert the GtkTreeIter inside the sorting functions for the
	search and recent modes. This doesn't yet fix the segfault when
	clicking the 'Name' column in recent mode, though.

svn path=/trunk/; revision=17843
2007-05-14 10:16:07 +00:00
Emmanuele Bassi
32f42f446a GtkFileChooser search fixes and recent files support. (#435342)
2007-05-11  Emmanuele Bassi  <ebassi@gnome.org>

	GtkFileChooser search fixes and recent files support.  (#435342)
	
	* gtk/gtkfilechooserdefault.c: Support drag and drop for
	adding shortcuts of folders when in search or recent files
	mode.

svn path=/trunk/; revision=17829
2007-05-11 19:44:32 +00:00
Emmanuele Bassi
dfff0c0a14 GtkFileChooser search fixes and recent files support. (#435342)
2007-05-11  Emmanuele Bassi  <ebassi@gnome.org>

	GtkFileChooser search fixes and recent files support.  (#435342)

	* gtk/gtkfilechooserprivate.h:
	* gtk/gtkfilechooserdefault.c: Follow the sorting order of
	the GtkTreeView displaying the files list.

	(shortcuts_get_index), (shortcuts_insert_separator),
	(shortcuts_model_create), (shortcuts_combo_filter_func): Remove
	the separator between the Search and the Recently Used shortcuts.

	(list_select_func), (list_icon_data_func), (list_name_data_func),
	(list_mtime_data_func): Update the sensitivity of the row
	depending on the GtkFileChooserAction used.

svn path=/trunk/; revision=17828
2007-05-11 19:42:40 +00:00
Emmanuele Bassi
9f2d195367 GtkFileChooser search fixes and recent files support. (#435342)
2007-05-11  Emmanuele Bassi  <ebassi@gnome.org>

	GtkFileChooser search fixes and recent files support.  (#435342)

	* gtk/gtkfilechooserprivate.h:
	* gtk/gtkfilechooserdefault.c: Update the contents of the
	files list when changing the filter of the GtkFileChooserDefault
	widget.

svn path=/trunk/; revision=17827
2007-05-11 19:37:26 +00:00
Emmanuele Bassi
2957c052b8 GtkFileChooser search fixes and recent files support. (#435342)
2007-05-11  Emmanuele Bassi  <ebassi@gnome.org>

	GtkFileChooser search fixes and recent files support.  (#435342)

	* gtk/gtkfilechooserdefault.c: Update the add bookmark button
	sensitivity when in search or recent files mode, and allow
	adding a bookmark for a folder.

svn path=/trunk/; revision=17826
2007-05-11 19:33:38 +00:00
Emmanuele Bassi
588d09cfc0 GtkFileChooser search fixes and recent files support. (#435342)
2007-05-11  Emmanuele Bassi  <ebassi@gnome.org>

	GtkFileChooser search fixes and recent files support.  (#435342)

	* gtk/gtkfilechooserdefault.c: UI fixes in the Search mode: add
	a mnemonic to the label, de-boldify the label's text and assign
	focus to the search entry when switching to the search mode.

	(list_name_data_func): Split the text in both search and recent
	files mode: on the first line use the short name and on the
	second line use the full path.

svn path=/trunk/; revision=17825
2007-05-11 19:30:38 +00:00
Emmanuele Bassi
4078ef567b GtkFileChooser search fixes and recent files support. (#435342)
2007-05-11  Emmanuele Bassi  <ebassi@gnome.org>

	GtkFileChooser search fixes and recent files support.  (#435342)

	* gtk/gtkfilechooserprivate.h:
	* gtk/gtkfilechooserdefault.c: Add support for showing the
	recently used files list as a special shortcut item.

svn path=/trunk/; revision=17824
2007-05-11 19:26:32 +00:00
Emmanuele Bassi
b5d60d48e8 GtkFileChooser search fixes and recent files support. (#435342)
2007-05-11  Emmanuele Bassi  <ebassi@gnome.org>
	
	GtkFileChooser search fixes and recent files support.  (#435342)

	* gtk/gtkfilechooserdefault.c: Overall whitespace fixes and
	indentation style consistency.

	(list_row_activated): If the search hit is a folder, follow it
	when activating the row, and switch back to browse mode.

	(search_clear_model), (search_start_query),
	(search_entry_activate_cb), (search_setup_widgets): Remember
	the last query when switching between modes.

svn path=/trunk/; revision=17823
2007-05-11 19:22:38 +00:00
Emmanuele Bassi
ccc3c58ac7 Add key binding for the Search shortcut; default to MOD1+S.
2007-05-11  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkfilechooserdefault.c:
	(_gtk_file_chooser_default_class_init): Add key binding for
	the Search shortcut; default to MOD1+S.

	(search_shortcut_handler): Handle the key binding.

	(search_hit_get_info_cb), (search_add_hit), (search_clear_model),
	(search_setup_model): Retrieve informations on the search hits
	when adding them to the model.

	(list_icon_data_func): Show the search hit icon.

svn path=/trunk/; revision=17822
2007-05-11 19:16:59 +00:00
Emmanuele Bassi
d3aeccf774 Add search file support in the GtkFileChooser. Original patch by Federico
2007-05-02  Emmanuele Bassi  <ebassi@gnome.org>

	Add search file support in the GtkFileChooser. Original patch
	by Federico Mena Quintero; patch updated by Matthias Clasen.
	See bug #344785.

	* gtk/gtksearchengine.[ch]: Private search engine abstraction
	object.

	* gtk/gtksearchenginebeagle.[ch]: Private search engine
	implementation using libbeagle (via g_module_open()).

	* gtk/gtksearchenginesimple.[ch]: Private search engine
	implementation using file tree walking.

	* gtk/gtksearchenginetracker.[ch]: Private earch engine
	implementation using libtracker (via g_module_open()).

	* gtk/gtkquery.[ch]: Private query object for the search
	engines.

	* gtk/gtkfilechooserprivate.h:
	* gtk/gtkfilechooserdefault.c: Use the GtkSearchEngine to
	query a search engine backend using GtkQuery; create a new
	operating mode, OPERATION_MODE_SEARCH, and call the common
	operating mode OPERATION_MODE_BROWSE; add support for virtual
	shortcuts inside the shortcuts model and create a new "Search"
	virtual shortcut.

	* gtk/Makefile.am: Update the build with the new files

svn path=/trunk/; revision=17783
2007-05-02 22:51:43 +00:00
Matthias Clasen
a9423f4964 add a new struct field to clear the file entry after the current folder
2007-05-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserdefault.c (struct UpdateCurrentFolderData),
        (update_current_folder_get_info_cb): add a new struct field to clear
        the file entry after the current folder has been updated.

        (gtk_file_chooser_default_update_current_folder),
        (change_folder_and_display_error): Add a new function parameter to
        trigger file entry clearing.

        (edited_idle_create_folder_cb),
        (file_list_drag_data_received_get_info_cb),
        (gtk_file_chooser_default_map),
        (gtk_file_chooser_default_set_current_folder),
        (switch_to_selected_folder), (save_entry_get_info_cb),
        (shortcuts_activate_volume_mount_cb), (shortcuts_activate_volume),
        (shortcuts_activate_get_info_cb), (list_row_activated),
        (path_bar_clicked): use new function parameter appropriately.

        (gtk_file_chooser_default_should_respond): trigger file entry clearing
        after the directory is updated instead of clearing it before, this way
        we avoid reloading the completion model with the soon to be old folder,
        causing a warning and a glitch in the folder where completion happens.
        (#379414, Carlos Garnacho)


svn path=/trunk/; revision=17754
2007-05-01 20:35:33 +00:00
Matthias Clasen
b608b56786 Add a keybinding (C-h) to toggle whether to show hidden files. (#344657,
2007-03-23  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserdefault.c: Add a keybinding (C-h) to
        toggle whether to show hidden files.  (#344657,
        Wouter Bolsterlee, Priit Laes, et al)



svn path=/trunk/; revision=17557
2007-03-23 05:13:56 +00:00
Matthias Clasen
dabf04423b Add a keybinding to toggle the visibility of the location entry. (#383354,
2007-03-23  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserdefault.c: Add a keybinding to
        toggle the visibility of the location entry.  (#383354,
        John Pye, patch by Carlos Garnacho)



svn path=/trunk/; revision=17555
2007-03-23 05:06:00 +00:00
Federico Mena Quintero
244bbfa043 Merged from gtk-2-10:
2007-03-15  Federico Mena Quintero  <federico@novell.com>

	Merged from gtk-2-10:

	* gtk/gtkfilechooserdefault.c (find_good_size_from_style):
	PANGO_PIXELS() gives us device units, which are *points* in
	pangocairo's parlance, but we want actual pixels.  So, get the
	screen's resolution to compute the actual number of pixels.
	Fixes bug #418585.

svn path=/trunk/; revision=17530
2007-03-16 00:53:09 +00:00
Kristian Rietveld
10d9b04e74 immediately bail out if current_folder is NULL. (#350988, lots of
2007-03-12  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkfilechooserdefault.c (check_save_entry): immediately
	bail out if current_folder is NULL. (#350988, lots of reporters,
	modified patch by Jan Darmochwal).


svn path=/trunk/; revision=17479
2007-03-12 00:12:25 +00:00
Matthias Clasen
e4d9a1ccc6 Apply a patch by Carlos Garnacho to fix several problems with filechooser
2007-02-26  Matthias Clasen <mclasen@redhat.com>

        Apply a patch by Carlos Garnacho to fix several problems
        with filechooser size handling (#325477, #151169, 143213,
        #153785)

        * gtk/gtkfilechooserdefault.c: Increase NUM_LINES slightly.
        (browse_widgets_create): Don't force the paned position to 200.
        (find_good_size_from_style): Take the size of the extra widget
        into account.

        * gtk/gtkfilechooserdialog.c (file_chooser_widget_update_hints):
        Accept a minimal width parameter. Update all callers.


svn path=/trunk/; revision=17357
2007-02-26 19:45:33 +00:00
Peter Teichman
0177b21959 Save the expanded state of the folder browser with the file chooser
* gtk/gtkfilechooserdefault.c:
* gtk/gtkfilechooserprivate.h:
* gtk/gtkfilechoosersettings.c:
* gtk/gtkfilechoosersettings.h:
Save the expanded state of the folder browser with the file
chooser settings.  Resolves the expander portions of (#153828,
Lemmit Kaplinski)

svn path=/trunk/; revision=17121
2007-01-08 18:34:06 +00:00
Matthias Clasen
846197a5bd Exit early if we can't get file info - this happens if the iter points to
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserdefault.c (update_chooser_entry):
        Exit early if we can't get file info - this happens
        if the iter points to the row where we are editing
        the name for a newly created folder.  (#392191, Michael
        Partridge, patch by Kristian Rietveld)



svn path=/trunk/; revision=17046
2007-01-04 01:45:19 +00:00
Matthias Clasen
7979cd6ac7 Move a few settings to gtksettings.c to make sure they show up in the
2006-12-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation-unix.c:
        * gtk/gtkprintbackend.c:
        * gtk/gtkfilechooserdefault.c:
        * gtk/gtksettings.c: Move a few settings to gtksettings.c
        to make sure they show up in the docs.  (#365364, Christian
        Persch)



svn path=/trunk/; revision=16992
2006-12-31 05:54:46 +00:00
Matthias Clasen
721c3bc101 Replace a lot of idle and timeout calls by the new gdk_threads api.
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * *.c: Replace a lot of idle and timeout calls by
        the new gdk_threads api.
2006-12-22 19:10:43 +00:00
Christian Persch
fc3b484688 Don't make the "Location" label bold. Bug #372449.
2006-11-08  Christian Persch  <chpe@cvs.gnome.org>

	* gtk/gtkfilechooserdefault.c (browse_widgets_create): Don't make
	the "Location" label bold. Bug #372449.
2006-11-08 17:09:24 +00:00
Matthias Clasen
07e7719441 Apply a cleanup patch by Kjartan Maraas (#341812)
2006-10-08  Matthias Clasen  <mclasen@redhat.com>

	* Apply a cleanup patch by Kjartan Maraas  (#341812)
2006-10-08 05:07:55 +00:00
Matthias Clasen
09f461b01e Make remote bookmarks work better (#354887)
2006-09-22  Matthias Clasen  <mclasen@redhat.com>

	Make remote bookmarks work better (#354887)

	* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons):
	(shortcuts_insert_path):
	* gtk/gtkfilechooserbutton.c (change_icon_theme):
	(model_add_bookmarks):
	(model_update_current_folder):
	(update_label_and_image):
	If the bookmark points to a remote file, don't call get_info(),
	since that may a) take a long time and b) pop up an auth dialog.
	Instead, just use a folder icon and create a display name
	from the uri.

	* gtk/gtkfilechooserdefault.c (_gtk_file_chooser_label_for_uri):
	New function to create a suitable display name for a remote
	uri. This should really be done in GtkFileSystem.
2006-09-22 16:11:04 +00:00
Matthias Clasen
19063333ad Display an error when we come to the root.
2006-09-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb):
	Display an error when we come to the root.
2006-09-19 14:18:18 +00:00
Matthias Clasen
f45a35921a Commit a patch by Behdad to fix typos, omissions and other errors in the
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

        * Commit a patch by Behdad to fix typos, omissions and other
        errors in the symbol aliasing, and add checks for local PLT
        entries.  (#354687, Behdad Esfahbod)
2006-09-10 06:39:16 +00:00
Kristian Rietveld
f270f2250f if setting the given folder failed, try setting the parent folder until we
2006-09-04  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb):
	if setting the given folder failed, try setting the parent folder
	until we succeed; display an error box at the end.
2006-09-04 20:09:08 +00:00
Kristian Rietveld
023cb79cd2 change file_exists_and_is_not_folder checks to get the file info for the
2006-09-03  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c (save_entry_get_info_cb),
	(file_exists_get_info_cb), (gtk_file_chooser_default_should_respond):
	change file_exists_and_is_not_folder checks to get the file info
	for the path directly instead of querying the current file folder
	of the save entry.

	* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault): add
	new field.

	* tests/autotestfilechooser.c (wait_for_idle_idle), (wait_for_idle),
	(test_reload_sequence), (test_button_folder_states_for_action): wait
	for idle after setting a folder to ensure the async operations to load
	the folder are finished,
	(test_confirm_overwrite), (test_confirm_overwrite_for_path):
	factor out test_confirm_overwrite code so we can add tests for more
	paths more easily.
2006-09-03 20:47:54 +00:00
Kristian Rietveld
254b684e4c First part of file chooser fixes.
2006-09-02  Kristian Rietveld  <kris@imendio.com>

	First part of file chooser fixes.

	* gtk/gtkfilechooserbutton.c (model_add_special): also set the
	handle in the model for the desktopdir case.

	* gtk/gtkfilechooserdefault.c (shortcuts_add_current_folder): free
	volume in case we retrieved it but don't pass it on to insert_path,
	(shortcuts_model_create): change the column type for the handles
	to pointer instead of GObject so our handle ref counting is not
	disturbed,
	(show_and_select_paths_finished_loading): don't forget to unref
	the dialog.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_class_init),
	(gtk_file_system_unix_init), (gtk_file_system_unix_dispose):
	remove pending execute_callbacks_idle during dispose, also
	execute all callbacks waiting to be run in the next idle,
	(queue_*callback), (execute_callbacks_idle): refactor to maintain
	a list of callbacks to call per file system instead of globally,
	guard the file system during callback invocation,
	(gtk_file_system_unix_get_folder): only add load folder idle if
	none has been added yet.
2006-09-02 14:26:12 +00:00
Federico Mena Quintero
ad0ca3897b Enable "/" and "~" as bindings to activate the location entry again. Fixes
2006-08-17  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkfilechooserdefault.c
	(_gtk_file_chooser_default_class_init): Enable "/" and "~" as
	bindings to activate the location entry again.  Fixes bug #340856.
	(tree_view_keybinding_cb): Likewise.
	(trap_activate_cb): Likewise.
	(location_popup_handler): Handle the "path" argument again; set it
	as the text on the location entry.
	(location_set_user_text): New helper function.
	(load_setup_timer): Fix comment.

	* tests/autotestfilechooser.c (main): Oops, enable all the tests again.
2006-08-17 21:31:08 +00:00
Federico Mena Quintero
3f498adfb0 Fix https://bugzilla.novell.com/show_bug.cgi?id=184875 - make the location
2006-07-18  Federico Mena Quintero  <federico@novell.com>

	Fix https://bugzilla.novell.com/show_bug.cgi?id=184875 - make the
	location entry in Save mode preserve the stuff from
	set_filename(); it was overwriting it with $cwd.

	This is the same fix for
	http://bugzilla.gnome.org/show_bug.cgi?id=347066

	* tests/autotestfilechooser.c: (test_black_box): Added black-box
	test for set_filename() and set_current_name().

	* gtk/gtkfilechooser.c (gtk_file_chooser_get_type): Cast to
	GClassInitFunc in the call to g_type_register_static_simple(), to
	avoid a compiler warning.

	* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault):
	Added a browse_files_last_selected_name field.  We'll copy the
	logic from gtkfilesel.c to see when to clear the location entry.
	(struct _GtkFileChooserDefault): Removed the
	processing_pending_selections field.

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize):
	Free impl->browse_files_last_selected_name.
	(pending_select_paths_process): Don't use
	impl->processing_pending_selections.
	(update_chooser_entry): Keep track of the name that was last
	selected in the file list.  We use this to know when to clear the
	location entry.  The logic is similar to that of
	gtkfilesel.c:gtk_file_selection_file_changed().  This also lets us
	get rid of the processing_pending_selections flag.
	(update_chooser_entry): Clear the entry if we didn't have a
	selection before.
	(location_switch_to_filename_entry): Do not set $cwd as the
	contents of the location entry here...
	(location_popup_handler): ... but do it here instead, only as the
	result of the user asking to turn on the location entry.
	(gtk_file_chooser_default_get_paths): If the location entry is
	empty, do the fallback of seeing if it is sensible to say that
	$cwd is the selected path.
	(gtk_file_chooser_default_update_current_folder): Don't set the
	text of the location entry; this is no longer needed with the
	fixes above.
	(shortcuts_activate_iter): Clear the location entry when
	activating a shortcut if we are not in SAVE mode.  This keeps the
	contents of the location entry consistent even when switching
	folders via the shortcuts.
2006-07-18 16:36:19 +00:00
Matthias Clasen
c3741c0038 Mark the text of the location label as translatable.
2006-07-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (browse_widgets_create): Mark
	the text of the location label as translatable.
2006-07-17 03:17:24 +00:00
Matthias Clasen
f8794cccca Improve consistency of signal and property names 2006-07-06 05:14:03 +00:00
Matthias Clasen
894b902206 Avoid a near-duplicate string and add some translator comments. (#345320,
2006-06-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c:
	Avoid a near-duplicate string and add some
	translator comments.  (#345320, #345321, Hendrik Richter)
2006-06-19 17:43:59 +00:00
Matthias Clasen
2b125d2284 Avoid a near-duplicate string. (#345320, Hendrik Richter)
2006-06-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_add_shortcut_folder):
	Avoid a near-duplicate string.  (#345320, Hendrik Richter)
2006-06-19 17:40:43 +00:00
Matthias Clasen
8d22851ae6 Add support for pasting filenames into the filechooser. (#153212, Bastian
2006-06-12  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c: Add support for pasting
	filenames into the filechooser.  (#153212, Bastian Nocera)
2006-06-12 15:11:39 +00:00
Matthias Clasen
854b26a441 Turn off profiling 2006-06-08 19:20:12 +00:00
Kristian Rietveld
c0ec5cedd8 put the newly selected row(s) the in the middle of the view,
2006-05-16  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c
	(show_and_select_paths_finished_loading): put the newly selected
	row(s) the in the middle of the view,
	(update_current_folder_get_info_cb),
	(gtk_file_chooser_default_update_current_folder): make sure reload
	state is set to RELOAD_HAS_FOLDER while loading the new folder,
	so _map() won't start loading the current working directory. (Fixes
	#341028, reported by Michael Natterer).
2006-05-16 12:34:01 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +00:00
Matthias Clasen
9b62142d44 Fix some typos in messages. (#341091, Tino Meinen)
2006-05-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_add_shortcut_folder):
	* gtk/gtktextbufferserialize.c (parse_attr_element): Fix some typos in
	messages.  (#341091, Tino Meinen)
2006-05-09 02:25:46 +00:00
Federico Mena Quintero
d955928bd5 Merged the federico-filename-entry branch, to fix bug #136541. Combined
2006-05-03  Federico Mena Quintero  <federico@novell.com>

	Merged the federico-filename-entry branch, to fix bug #136541.
	Combined ChangeLogs:

	2006-04-17  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkfilechooserdefault.c (pending_select_paths_process):
	Oops, we *do* need to check that we are in OPEN mode before
	selecting the first row in the file list.  See
	https://bugzilla.novell.com/show_bug.cgi?id=166906
	(gtk_file_chooser_default_get_paths): If we are in the case for
	the file list, and the list has no selected rows, jump to the case
	for the filename entry.  This is so that

	       1. The user types a filename in the SAVE filename entry
	          ("foo.txt").

	       2. He then double-clicks on a folder ("bar") in the file
		  list.

	will yield the expected "bar/foo.txt" selection.

	2006-03-29  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkpathbar.c (gtk_path_bar_init): Reduce the inter-button
	spacing to 0.

	* gtk/gtkfilechooserdefault.c (browse_widgets_create): Make the
	location label bold.

	2006-03-29  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkfilechooserdefault.c (location_mode_set): Just change the
	location_mode field if we are in SAVE/CREATE_FOLDER modes.
	(gtk_file_chooser_default_get_paths): Get the path based on the
	currently focused widget, or the last-focused widget.  This is
	what we should have been doing in the beginning, but it worked out
	fine because we didn't have the possibility of a filename entry in
	OPEN mode.
	(gtk_file_chooser_default_should_respond): Handle the case where
	the last focused widget is the location_entry.

	2006-03-28  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkfilechoosersettings.[ch]: New files with a simple
	framework for saving/loading settings from the file chooser in
	$XDG_CONFIG_HOME/gtk-2.0/gtkfilechooser.

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_unmap):
	Save the current settings.
	(settings_save): New helper function.  We save the location_mode
	and show_hidden flags.
	(gtk_file_chooser_default_map): Load the settings.
	(settings_load): New helper function.

	* gtk/gtkfilechooserentry.c
	(_gtk_file_chooser_entry_set_file_part): Oops, don't modify
	in_change.  Our handlers are what set the file_part, so they
	*must* be run when we modify the text.

	2006-03-27  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault):
	Removed the save_file_name_entry.  We'll make this be the same as
	the location_entry widget.
	(struct _GtkFileChooserDefault): Leave only location_button,
	location_entry_box, location_label, location_entry.  We'll use a
	single toggle button for the location entry, which will appear
	below the path bar.
	(struct _GtkFileChooserDefault): Added a
	processing_pending_selections flag.

	* gtk/gtkfilechooserdefault.c (save_widgets_create): Destroy the
	old location_entry if necessary, and hide the location toggle
	widgets.
	(update_chooser_entry): In multiple selection mode, just clear the
	location_entry.
	(check_save_entry): Allow running in OPEN or SELECT_FOLDER modes
	if we are in LOCATION_MODE_FILENAME_ENTRY.
	(gtk_file_chooser_default_should_respond): Switch to a folder if
	the location_entry contains a folder name in OPEN and SAVE mode,
	not just SAVE mode.  If the entry doesn't contain a folder name,
	but is otherwise well-formed, and we are in OPEN mode, return that
	we should respond with that filename.
	(gtk_file_chooser_default_initial_focus): Focus the location_entry
	if appropriate.
	(browse_widgets_create): Create the location_entry_box and the
	location_label here.
	(update_appearance): Call location_mode_set() when switching back
	to OPEN/SELECT_FOLDER mode.  Hide the location_button when
	switching to SAVE/CREATE_FOLDER mode.
	(pending_select_paths_process): Turn the
	processing_pending_selections flag on and off around changes to
	the current selection.  Don't special-case OPEN mode anymore,
	since the new flag will take care of things in
	update_chooser_entry().
	(update_chooser_entry): Don't do anything if
	processing_pending_selections is TRUE.  This keeps the entry from
	being polluted when changing folders.
	(location_popup_handler): In OPEN/SELECT_FOLDER modes, toggle
	between the path bar and the entry.  In SAVE/CREATE_FOLDER modes, simply focus the
	location_entry.
	(update_from_entry): Removed.
	(location_entry_create): Removed.
	(open_location_cb): Removed.
	(file_list_build_popup_menu): Don't add an "Open _Location" menu item.
	(location_entry_set_initial_text): Don't do anything if
	current_folder is NULL.

	* gtk/gtkfilechooserentry.c
	(_gtk_file_chooser_entry_set_file_part): Turn in_change on and off
	around the call to gtk_entry_set_text().  This makes completion
	not happen when the caller has explicitly set a name.

	2006-03-24  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault):
	Added fields location_mode_box, location_pathbar_radio,
	location_filename_radio, location_widget_box, location_label,
	location_entry.  The radio buttons will switch between the pathbar
	and the location entry; the other boxes are for layout purposes.
	(enum LocationMode): New enum.
	(struct _GtkFileChooserDefault): Added a location_mode field.

	* gtk/gtkfilechooserdefault.c (browse_widgets_create): Create the
	location radio buttons to switch between the pathbar and the
	location entry.  Pack the browse_path_bar in the new
	location_widget_box instead of a generic hbox.
	(location_buttons_create): New function.
	(gtk_file_chooser_default_init): Initialize impl->location_mode.
	(location_switch_to_path_bar): New function.
	(location_switch_to_filename_entry): New function.

	* gtk/gtkfilechooserbutton.c (model_add_special): The display_name
	should not be const.
2006-05-03 22:30:52 +00:00
Matthias Clasen
f26aad1916 Boilerplate reduction 2006-05-02 23:56:43 +00:00
Kristian Rietveld
2c97a8f6e8 Merge of the GTK+ asynchronous file chooser branch. Please see the
2006-05-01  Kristian Rietveld  <kris@imendio.com>

	Merge of the GTK+ asynchronous file chooser branch.  Please see
	the kris-asynch-branch for more detailed ChangeLog entries.

	* configure.in: increase binary version to 2.9.0.

	* gtk.symbols:
	* gtkfilechooser.c:
	* gtkfilechooserbutton.c:
	* gtkfilechooserdefault.c:
	* gtkfilechooserdialog.c:
	* gtkfilechooserembed.c:
	* gtkfilechooserembed.h:
	* gtkfilechooserentry.c:
	* gtkfilechooserentry.h:
	* gtkfilechooserprivate.h:
	* gtkfilesystem.c:
	* gtkfilesystem.h:
	* gtkfilesystemmodel.c:
	* gtkfilesystemmodel.h:
	* gtkfilesystemunix.c:
	* gtkpathbar.c:
	* gtkpathbar.h:
	Merge from kris-async-branch.
2006-05-01 21:41:12 +00:00
Matthias Clasen
a560c6ba97 Handle double queuing, rather than asserting that it does not happen.
2006-03-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (queue_edited_idle): Handle
	double queuing, rather than asserting that it does not
	happen.  (#330617)
2006-03-29 05:35:00 +00:00
Federico Mena Quintero
712dc6b8da Cancel drags when the grabs get broken. Fixes bug #333056:
2006-03-07  Federico Mena Quintero  <federico@novell.com>

	Cancel drags when the grabs get broken.  Fixes bug #333056:

	* gtk/gtkdnd.c (gtk_drag_selection_received): The time argument is
	a guint, not guint32.
	(gtk_drag_source_event_cb): Return gboolean, not gint.
	(gtk_drag_anim_timeout): Likewise.
	(gtk_drag_motion_cb): Likewise.
	(gtk_drag_key_cb): Likewise.
	(gtk_drag_button_release_cb): Likewise.
	(gtk_drag_abort_timeout): Likewise.
	(gtk_drag_begin_internal): Connect to "grab-broken-event" on the
	ipc_widget.
	(gtk_drag_source_info_destroy): Disconnect from the
	"grab-broken-event" callback.
	(gtk_drag_end): Likewise.
	(gtk_drag_grab_broken_event_cb): New callback.  We cancel the drag
	if the grab was broken and not regrabbed by the DnD code.

2006-03-07  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_button_press_event_cb):
	Hack to let the treeview's button-press-event handler run before
	ours.  This lets the selection be updated before we pop up a
	context menu.
2006-03-07 17:48:07 +00:00
Federico Mena Quintero
50d9a067bb Make the column header visible, and make it be "_Places". Changed the
2006-02-24  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_list_create): Make the
	column header visible, and make it be "_Places".  Changed the
	accessible object name to Places as well.  Fixes bug #331306.
	(file_pane_create): Do not create the path bar and "create folder"
	button here...
	(browse_widgets_create): ... but create them here instead.  This
	moves the path bar to be above both the hpaned, giving it the full
	width of the dialog.  Fixes bug #327733.
2006-02-25 02:45:57 +00:00