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 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c (set_info_get_info_cb)
(model_add_special_get_info_cb): Handle the case where the
filechooser button is destroyed quickly.
2006-07-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c: Get the display name
for the home directory. (#346498, Dennis Cranston,
patch by Andreas Köhler)
2006-04-19 Murray Cumming <murrayc@murrayc.com>
* gtk/gtkfilechooserbutton.c: _GtkFileChooserButtonPrivate:
Added has_title flag so we can remember whether a title has
been set.
(gtk_file_chooser_button_constructor): If no title has been
set then set it to the default title. This means that the
default title will be used if the dialog was instantiated with
g_object_new(), without using the gtk_file_chooser_button_new()
convenience function. This helps language bindings.
(gtk_file_chooser_button_set_property): Set has_title when
setting the title.
2006-01-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c (model_add_special): Just use the
directory name for the home dir. (#325817, Federico Mena Quintero)
2005-10-07 Federico Mena Quintero <federico@ximian.com>
Fixes bug #317999:
* tests/autotestfilechooser.c (test_reload_sequence): Ensure that
the the result of gtk_file_chooser_get_folder() is NULL or
non-NULL at the right times. Log the tests.
(test_button_folder_states): New test for the initial states of
the current folder in GtkFileChooserButton.
(main): Test that the number of warnings/errors/critical errors is
zero.
* gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder):
Clarify the documentation on when this can return NULL.
(gtk_file_chooser_get_current_folder_uri): Likewise.
* gtk/gtkfilechooserbutton.c (struct
_GtkFileChooserButtonPrivate): Added a folder_has_been_set flag;
we use it to keep track of whether a folder has been set.
(gtk_file_chooser_button_map): Implement. If no folder has been
loaded before, we at least try to load $cwd here.
(gtk_file_chooser_button_constructor): If the construct-time
dialog already has a folder set, turn on our folder_has_been_set
flag.
(dialog_current_folder_changed_cb): Turn on our
folder_has_been_set flag.
2005-06-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c (model_update_current_folder):
Free the data of the row before overwriting it. (#307490,
Kjartan Maraas)
2005-05-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_constructor):
Make sure the action of the button and the dialog are in sync,
when the dialog is provided by the app. (#303987, David A Knight)
2005-03-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c (update_combo_box): Remove
a call whose result was unused and leaked. (#170776,
Kjartan Maraas)
2005-03-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprivate.h: Define macros GTK_PARAM_READABLE,
GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE which are like
their G_ counterparts, but also mark the name, nick
and blurb as static.
* gtk/*.c: Mark param spec strings as static, using
the new macros.
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.
2005-02-11 Matthias Clasen <mclasen@redhat.com>
Complete the fix for #165770, Vincent Untz:
* gtk/gtkfilechooserbutton.c (FALLBACK_ICON_SIZE): Make the
fallback size be 16, to be equal to the default for
GTK_ICON_SIZE_MENU (in gtkiconfactory.c:init_icon_sizes()).
(gtk_file_chooser_button_init):
(change_icon_theme): Use GTK_ICON_SIZE_MENU instead of
GTK_ICON_SIZE_SMALL_TOOLBAR.
2005-01-06 James M. Cape <jcape@ignore-your.tv>
* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new)
(gtk_file_chooser_button_new_with_backend): Use default title if
NULL is passed.
* docs/reference/gtk/tmpl/gtkfilechooserbutton.sgml: Make examples
match API.
2005-01-02 Tor Lillqvist <tml@iki.fi>
* gtk/Makefile.am (libgtk_target_ldflags): Add -lole32, needed for
CoTaskMemFree in get_special_folder() below.
* gtk/gtkfilesystem.h: Implement case-insensitive path compare on
Win32 using _gtk_file_system_win32_path_compare().
* gtk/gtk.symbols: Add _gtk_file_system_win32_path_compare.
* gtk/gtkfilechooserbutton.c (model_add_special)
* gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Use
_gtk_file_system_win32_get_desktop() to get correct Desktop folder
on Win32. (#144003)
* gtk/gtkfilesystemwin32.c: Remove unnecessary includes. Do
consider all drives "mounted", including floppies. Trying to
inspect the contents of a nonexistent floppy will cause errors
later that are handled normally, no need to avoid them
completely. Keep the drive type in the GtkFileSystemVolume.
Support UNC paths. (#161797) Fix error message capitalizations
as in gtkfilesystemunix.c.
(gtk_file_system_win32_init): Start one timeout per
GtkFileSystemWin32.
(gtk_file_system_win32_finalize): Remove the timeout.
(get_special_folder): Copied from GLib.
(_gtk_file_system_win32_get_desktop): New function, uses
get_special_folder().
(gtk_file_system_win32_list_volumes): Don't start a timeout at
each call to this function. Don't assume A: and B: are floppies.
(gtk_file_system_win32_get_volume_for_path): Don't assume all
volumes are drive roots, i.e. support share roots of UNC paths
(\\server\share).
(gtk_file_system_win32_get_folder): Don't assume errno is set
after g_file_test() returns FALSE. It isn't on Win32 (and even on
Unix I don't think one should assume anything about errno after
g_file_test()).
(gtk_file_system_win32_volume_get_is_mounted): Always return TRUE.
(gtk_file_system_win32_volume_get_display_name): Don't call
GetVolumeInformation() on drives A: or B: if they are removable,
as they might then be floppies, causing an unnecessary
delay. (#157820)
(gtk_file_system_win32_volume_render_icon): Use network icon for
unrecognized drive types.
(canonicalize_filename, gtk_file_system_win32_parse): Don't get
confused by UNC paths.
(bookmarks_serialize): Use _gtk_file_system_win32_path_compare()
for case-insensitive UTF-8 path comparison.
(extract_icon): Use SHGetFileInfo() which is faster than
ExtractAssociatedIcon(). Icon extraction is still slow, though,
needs work.
(win32_pseudo_mime_lookup): Don't use the same icon for all
shortcuts or executables. Cache only other file type icons.
(gtk_file_system_win32_render_icon): Use network stock icon for
remote drives and UNC server share roots. Compare home directory
case-insensitively. Do lookup icons also for executable files,
after all, it's these files that can have individual icons in the
first place. Yes, it can be slow. Needs work.
(filename_is_drive_root): Require also the slash after the colon.
(filename_is_server_share): New function.
(_gtk_file_system_win32_path_compare): New function, does
case-folded UTF-8 comparison.
* gtk/gtkfilesystemwin32.h: Declare
_gtk_file_system_win32_path_compare().
2004-12-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search): Don't
crash if enable_search is FALSE. (#161267, Jorn Baayen)
* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_mnemonic_activate):
Re-fix #152925, reported by Dennis Cranston.
Thu Nov 11 11:34:32 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkfilechooserbutton.c (update_idler): return FALSE instead
of TRUE. This is just a quick fix to prevent the idle from
looping indefinitely.
2004-11-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_init): Add
uri targets before text targets, to make file dnd work
better. (#157651, Christian Persch)
2004-11-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_set_property):
Don't support CREATE_FOLDER and SAVE for now. UI authorities
object to it. (#157384, Seth Nickell)
2004-11-03 James M. Cape <jcape@ignore-your.tv>
* gtk/gtkfilechooserbutton.c (update_dialog), (dialog_response_cb):
Don't mysteriously go to the parent dir when hitting "Cancel" in
folder mode (fixes#156971).
2004-09-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): Remove
leftover debug code.
Improve the behaviour of the file chooser in save mode. Fixes bugs
#151031, #151608, #151994 reported by Owen Taylor and Alexander
Larsson.
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_set_property):
(location_entry_create): Propagate the action to the file
chooser entries.
(gtk_file_chooser_default_should_respond): Switch folders if
the user enters a directory name in the entry and clear the entry
after switching folders.
(gtk_file_chooser_default_should_respond, shortcuts_row_activated_cb):
Move focus to the file list when activating a shortcut.
(gtk_file_chooser_default_should_respond): Handle the case where the
user clicks on "Save" after selecting a folder in the file list.
* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_set_property):
Propagate the action to the file chooser entries.
* gtk/gtkfilechooserentry.h:
* gtk/gtkfilechooserentry.c (_gtk_file_chooser_entry_set_action):
(_gtk_file_chooser_entry_get_action): New functions to propagate
the GtkFileChooserAction of the file chooser to the file chooser
entry.
(check_completion_callback): If we are in save mode, only do
inline completion for directories.
2004-09-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilesystemunix.c:
* gtk/gtkfilechooserbutton.c: Protect the unistd.h include
by HAVE_UNISTD_H.
2004-08-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_delete_surrounding_handler): Make it compile.
2004-08-27 Matthias Clasen <mclasen@redhat.com>
Fix#151112, Olexiy Avramchenko:
* gtk/gtktreeview.c (gtk_tree_view_search_entry_flush_timeout):
* gtk/gtkiconview.c (scroll_timeout, layout_callback)
(gtk_icon_view_item_accessible_idle_do_action):
* gtk/gtkcombobox.c (list_popup_resize_idle, popdown_idle)
(popup_idle): Protect idle callbacks and timeouts with
GDK_THREADS_ENTER/_LEAVE.
* gtk/gtkfilechooserbutton.c (update_dialog_idle): New function to
call update_dialog() from an idle with the necessary protection.
2004-08-17 Matthias Clasen <mclasen@redhat.com>
* tests/testfilechooserbutton.c: Use g_message() throughout, add RTL envar for
rtl testing.
* gtk/gtkfilechooserbutton.c: Get rid of HAVE_CONFIG_H.
(gtk_file_chooser_button_init): Use gtk_drag_dest_add_text_targets().
(gtk_file_chooser_button_drag_data_received): Use gtk_selection_data_get_text().
(gtk_file_chooser_button_set_dialog): _gtk_file_chooser_entry_set_base_folder()
seems to expect a path, not an uri.
(update_dialog): Handle g_filename_from_uri() returning NULL, don't free
info if it is NULL.
* gtk/gtkfilechooserbutton.h: Minor stylistic changes.
2004-08-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.[hc]: New widget to go along with
GtkFontButton and GtkColorButton for use in preference dialogs.
Replaces GnomeFileEntry. (#148108, James M. Cape)
* gtk/gtk.h: Include gtkfilechooserbutton.h
* gtk/Makefile.am (gtk_public_h_sources): Add gtkfilechooserbutton.h
(gtk_c_sources): Add gtkfilechooserbutton.c
* gtk/gtk.symbols: Add the GtkFileChooserButton symbols.
* gtk/gtkfilechooserutils.[hc]: Make the delegate quark available.
* gtk/gtkfilechooserentry.[hc] (_gtk_file_chooser_entry_new): Allow
to suppress tab-eating using the new eat_tabs argument. Adjust all
callers.
* tests/testfilechooserbutton.c: Test for GtkFileChooserButton.
* tests/Makefile.am (noinst_PROGRAMS): Add testfilechooserbutton