2007-10-10 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkfilechooserdefault.c (list_mtime_data_func): Convert
the format to the current locale before passing it to
strtime(). Fixes corrupt dates with non-UTF8 encodings on
OpenSolaris. (#465380, Takao Fujiwara)
svn path=/trunk/; revision=18903
2007-10-04 Loïc Minier <lool@dooz.org>
* gtk/gtkfilechooserdefault.c: (list_mtime_data_func): Fix warnings
and display of modified date / time in filechooser for some locales as
it was missing a locale to UTF-8 conversion. Fixes#482504.
svn path=/trunk/; revision=18880
2007-10-02 Federico Mena Quintero <federico@novell.com>
Fix http://bugzilla.gnome.org/show_bug.cgi?id=455284 - In the file
chooser, Ctrl-L should switch to the location entry. If we are
already on the location entry, turn it off. Based on a patch by
Jaap A. Haitsma <jaap@haitsma.org> and an idea by Wouter
Bolsterlee.
* gtk/gtkfilechooserdefault.c (location_button_toggled_cb): Call
location_mode_set() directly instead of using toggle_location_mode().
(toggle_location_mode): Removed.
(location_toggle_popup_handler): If the file entry is not visible,
show it. If it is visible, turn it off only if it is focused.
Otherwise, switch to the entry.
Signed-off-by: Federico Mena Quintero <federico@gnu.org>
svn path=/trunk/; revision=18874
2007-09-25 Emmanuele Bassi <ebassi@gnome.org>
Fixes for bug #480123.
* gtk/gtksearchenginesimple.c:
(gtk_search_engine_simple_dispose), (search_thread_done_idle): Cancel
the file tree walking thread when disposing the search engine
implementation.
* gtk/gtkfilechooserdefault.c (search_stop_searching): Forcibly
stop the search engine implementation when stopping the search,
instead of just unreffing the object.
svn path=/trunk/; revision=18865
2007-09-12 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkfilechooserdefault.c (render_recent_icon): Use the
"document-open-recent" icon for the the Recently Used shortcut
in the file chooser. (#306445)
* gtk/Makefile.am:
* gtk/stock-icons/16/document-open-recent.png:
* gtk/stock-icons/16/document-open-recent.svg:
* gtk/stock-icons/24/document-open-recent.png:
* gtk/stock-icons/24/document-open-recent.svg: Add the
"document-open-recent" icon to the builtin theme we provide
as a fallback.
svn path=/trunk/; revision=18803
2007-08-23 Emmanuele Bassi <ebassi@gnome.org>
* gtkfilechooserdefault.c:
(search_hit_get_info_cb), (recent_item_get_info_cb): Check if
we are still holding the model before updating it; removes a
set of critical warnings when switching to the browse mode from
a loading search or recent files list.
(recent_clear_model), (recent_sort_model),
(recent_idle_cleanup): When in recent files mode, set the
model for the files list view when we have completed the loading
of the recently used files list. This makes switching between
modes fast again and reduces the amount of redraws needed
to display the list. (#469214)
svn path=/trunk/; revision=18677
2007-07-24 Matthias Clasen <mclasen@redhat.com>
* gtkcolorsel.c:
* gtkfilechooserdefault.c:
* gtkpagesetupunixdialog.c:
* gtkprintunixdialog.c: Port to use new tooltips API.
(#451397, Jan Arne Petersen)
svn path=/trunk/; revision=18539
2007-07-20 Matthias Clasen <mclasen@redhat.com>
Apply a patch by Emmanuele Bassi to limit the number
of shown recent files. (#439715)
* gtk/gtksettings.c: Add a setting for the number
of recent files to display by default.
* gtk/gtkrecentchooserdefault.c:
* gtk/gtkfilechooserdefault.c: Respect the limit.
* gtk/gtkrecentmanager.c: Remove the poll timeout in
dispose, and do not stat more often than every 5 seconds.
* gtk/gtkrecentchooserutils.c:
* gtk/gtkrecentchoosermenu.c: Cleanups
* tests/testrecentchoosermenu.c: Test limits.
svn path=/trunk/; revision=18510
2007-07-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c: Apply a patch by Emmanuele
Bassi to add tooltips to the file lists in recent files and
search modes.
svn path=/trunk/; revision=18508
2007-06-26 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkfilechooserdefault.c (list_mtime_data_func): Show
the time of last change in the file chooser, for files
modified today or yesterday. (#324543)
* configure.in: Check for localtime_r().
svn path=/trunk/; revision=18248
2007-06-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtk.symbols
* gtk/gtkfilesystem.[ch]: rename _gtk_file_system_create to
gtk_file_system_create to make it public and bring trunk back
in sync with gtk-2-10.
* gtk/gtkfilechooserdefault.c (set_file_system_backend): updated.
svn path=/trunk/; revision=18121
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
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-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-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-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 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 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 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 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 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 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 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-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-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-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 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-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-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-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
* 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-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
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-11-08 Christian Persch <chpe@cvs.gnome.org>
* gtk/gtkfilechooserdefault.c (browse_widgets_create): Don't make
the "Location" label bold. Bug #372449.
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-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-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-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-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-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-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-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.