2005-01-24 Federico Mena Quintero <federico@ximian.com>
Merged from gtk-2-6:
Fix#147785 and clean up the loading code:
* gtk/gtkfilechooserdefault.c (LoadState): Make the set of states
be EMPTY, PRELOAD, LOADING, FINISHED.
(gtk_file_chooser_default_init): Start in the LOAD_EMPTY state.
(struct _GtkFileChooserDefault): Added a pending_select_paths
field.
(load_remove_timer): Add the new states.
(load_setup_timer): Likewise.
(load_timeout_cb): Likewise. Switch to the LOAD_LOADING state.
(browse_files_model_finished_loading_cb): Switch to the
LOAD_FINISHED state.
(enum PendingOp): Removed.
(struct _GtkFileChooserDefault): Removed the pending_op and
pending_select_path fields.
(pending_select_paths_free): New utility function.
(pending_select_paths_add): New utility function.
(gtk_file_chooser_default_finalize): Call
pending_select_paths_free().
(pending_op_queue): Removed.
(pending_op_process): Removed.
(pending_select_paths_process): New function.
(browse_files_model_finished_loading_cb): Call
pending_select_paths_process().
(center_selected_row_foreach_cb): Handle multiple selection by
only centering the first row.
(get_is_file_filtered): Constify.
(gtk_file_chooser_default_select_path): Queue into a list of paths
to select if we are not finished loading.
(show_and_select_paths): New utility function.
(up_folder_handler): Use pending_select_paths_add().
(gtk_file_chooser_default_should_respond): Do not call
pending_op_queue(); free the pending_selected_paths instead.
(gtk_file_chooser_default_initial_focus): Don't queue a pending
operation, and don't select the first row unconditionally --- this
will happen when the folder is done loading.
(shortcuts_row_activated_cb): Free the pending_select_paths.
(pending_select_paths_store_selection): New utility function.
(gtk_file_chooser_default_map): Call
pending_select_paths_store_selection() to save the selection
before reloading the folder.
(select_func): Umm? Call gtk_tree_selection_select_iter(). Don't
move the cursor here; it will be done when processing the pending paths.
* tests/testfilechooser.c (main): Add a button to the command
window to unmap and remap the file chooser.
2005-01-23 Tor Lillqvist <tml@novell.com>
* gtk/gtkfilesystemwin32.c (gtk_file_system_win32_volume_get_display_name):
Make volume name display formats translatable.
2005-01-23 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkkeys-win32.c (update_keymap): Handle Greek tonos
dead accent key. (#164859, reported and fix verified by Daniel
Atallah.)
* gtk/gtkimcontextsimple.c (gtk_compose_seqs): Handle
GDK_Greek_accentdieresis (tonos and dialytika) combining with iota
and upsilon.
2005-01-23 Tor Lillqvist <tml@novell.com>
* gtk/gtkfilesystemwin32.c (gtk_file_system_win32_volume_get_display_name):
Don't call GetVolumeInformation() for network drives. They might
be disconnected, and calling GetVolumeInformation() will then
cause long delays. (#164448) It seems to be very hard to reliably
find out whether a network drive is connected or not, so it's
easier to just not try getting the volume name for them. See the
bug report for discussion.
2005-01-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkdialog.c (gtk_dialog_map): Don't loop forever
here, even if the only focusable widgets are labels.
2005-01-20 Matthias Clasen <mclasen@redhat.com>
Support tinting in GtkCellRendererPixbuf (#162903, Jorn Baayen):
* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_class_init)
Add a follow-state property which when TRUE causes the pixbuf
to be tinted according to state.
* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
Use follow-state and colorize the pixbuf when appropriate.
2005-01-20 Matthias Clasen <mclasen@redhat.com>
Support wrapping in GtkCellRendererText (#163608):
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
Add wrap-mode and wrap-width properties which cause a
text cell to break to a specified width when set.
* gtk/gtkcellrenderertext.c (get_layout): Use wrap-mode
and wrap-width when they are set.
2005-01-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmodules.c (load_module): Don't reverse the order
of modules when putting them in gtk_modules. (#162676, Dennis
Cranston, patch by Remus Draica)
2005-01-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_search_move): Don't crash
if the tree is empty. (#164669, Priit Laes)
2005-01-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond):
In save mode, don't return paths containing nonexisting
directories. (#162443, Jean Marie Favreau)
2005-01-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkobject.c (gtk_object_add_arg_type): Use GLib limit
macros to avoid sparse warnings. Pointed out by Kjartan Maraas.
2005-01-18 Federico Mena Quintero <federico@ximian.com>
Merged from gtk-2-6:
* gtk/gtkfilechooserdefault.c (pending_op_queue): Don't queue an
operation to select the first file if we are in SAVE or
CREATE_FOLDER modes. Executing that operation would overwrite the
contents of the save-name entry.
2005-01-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkstyle.c (gtk_default_draw_check)
(gtk_default_draw_option, gtk_default_draw_handle): Add some
more NULL checks, patch by Michael Natterer.
2005-01-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c (shortcuts_add_bookmarks): Save
and restore the selected row in the bookmark list and the
save folder combo. (#164290)
2005-01-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_set_search_column): Allow to
reset the property to its default value -1.
(gtk_tree_view_get_search_column): Return the default value in
the g_return_val_if_fail() check. (#163864, Richard Hult)
2005-01-14 Matthias Clasen <mclasen@redhat.com>
* configure.in: Check for _NL_TIME_FIRST_WEEKDAY too, since it
is an enum value, not a define. Pointed out by Tommi Komulainen.
* gtk/gtkcalendar.c (gtk_calendar_init): Adapt.
2005-01-13 Matthias Clasen <mclasen@redhat.com>
* configure.in: Check for nl_langinfo()
* gtk/gtkcalendar.c: (gtk_calendar_init): Use nl_langinfo() when it's
available to determine first day of week (#163842, Vincent Untz)
2005-01-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Add hints about
the lifecycle of widgets. (#159503, Christian Persch)
2005-01-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaboutdialog.c (gtk_about_dialog_init): Use R as mnemonic
for the Credits button to avoid duplicate. (#163465, Tim-Philipp
Müller)
2005-01-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c: (gtk_tree_view_class_init),
(gtk_tree_view_set_headers_clickable): Make the headers-visible
property readwrite instead of just writable, and remove the
g_return_if_fail check that there is a model when setting this
property. Also improve the blurb. (#163851, Richard Hult)
2005-01-12 Owen Taylor <otaylor@redhat.com>
* configure.in: Remove GLIB_DIVERT_BEFORE_HELP() on
initialization of gdktarget, that was causing it to be
evaluated before host was set. Simplify --with-gdktarget help
message.
* gtk/Makefile.am: Use grep | head -n 1 instead of grep -m 1
which doesn't work with slightly older versions of GNU grep
in install-libtool-import-lib rule.
2005-01-10 Federico Mena Quintero <federico@ximian.com>
Fix#162617.
* gtk/gtkfilesystemunix.c (STAT_NEEDED_MASK): Take out
GTK_FILE_INFO_IS_HIDDEN; we don't need to stat() to know this.
(gtk_file_system_unix_get_folder): Make error reporting more
accurate. Don't bail out if we can't read the directory.
(fill_in_stats): Don't return an error; just assume we don't have
stat info for this folder's files.
(fill_in_names): Don't create the hash table for the names if we
can't open the directory.
(gtk_file_folder_unix_list_children): Don't emit the
"finished-loading" signal --- we don't do asynchronous loads, so
we are always finished loading.
(gtk_file_folder_unix_get_info): Use helper functions; handle the
case where we can't stat '/'.
(get_icon_type_from_path): Don't call fill_in_stats() here; only
use the info we have.
(fill_in_mime_type): Don't return an error. Don't do anything if
we don't have the stat info.
2005-01-09 Anders Carlsson <andersca@gnome.org>
* gtk/gtkcellrenderertext.c: (get_size):
* gtk/gtklabel.c: (gtk_label_size_request):
* gtk/gtkprogressbar.c: (gtk_progress_bar_size_request):
Don't pass NULL to pango_context_get_metrics. Use
pango_context_get_language instead, which is way faster.
2005-01-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c: Make markup_column work, and fix some
layout issues when either icon or text is missing. (#163065)
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-05 Federico Mena Quintero <federico@ximian.com>
Fix#161409:
* gtk/gtkfilechooserdefault.c (shortcuts_row_activated_cb): Queue
a pending operation to select the first row.
2005-01-05 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Don't call
button_data_free() explicitly; the button is weak-reffed and the
callback will free the button data. Fixes#163010.
(_gtk_path_bar_set_path): Don't ref/sink the button. And for the
failure case, call gtk_widget_destroy() on it.
* gtk/gtkfilechooserdefault.c (check_is_folder): Use
gtk_file_system_get_folder() again (see the ChangeLog entry from
2004-08-25). We can't first get the parent folder and then
request the info for the path in question, as the parent folder
may not be readable. See bug #162617.
(gtk_file_chooser_default_set_current_folder): Assert that the
passed-in path is not null.
(shortcuts_find_current_folder): Likewise.
(shortcuts_add_current_folder): Likewise.
(set_list_model): Likewise.
(gtk_file_chooser_default_map): Only reload the current folder if
it exists.
(bookmarks_check_add_sensitivity): Check for the current folder
being NULL.
(browse_files_select_first_row): Don't set the cursor if there is
no model loaded.
2005-01-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c: Don't construct errors from
the GTK_FILE_SYSTEM_ERROR domain. Partial fix for #162911.
(get_file_info, check_is_folder): Translate errors from
the filesystem into the GTK_FILE_CHOOSER_ERROR domain. Rest
of the fix for #162911, noticed by Murray Cumming.
Wed Jan 5 11:42:49 2005 Søren Sandmann <sandmann@redhat.com>
* gtk/gtkviewport.c (gtk_viewport_realize):
* gtk/gtktextview.c ((text_window_realize): Set the background of
the windows to None instead of adding EXPOSURE_MASK, as suggested
by Owen in #162112.
Tue Jan 4 16:52:14 2005 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event):
only reorder on button 1, part of #141937