2005-01-03 Matthias Clasen <mclasen@redhat.com>
Make gtk_icon_theme_load_icon() work independent of
icon factory initialization. (#162791, Tristan Van Berkom)
* gtk/gtkiconfactory.[hc]: Rename ensure_default_icons to
_gtk_icon_factory_ensure_default_icons, and make it non-static.
* gtk/gtkicontheme.c (find_builtin_icon): ..and call it here.
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().
2005-01-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkbutton.c (gtk_button_set_image): Allow unsetting the
custom image by passing NULL.
(gtk_button_init): Initialize image_is_stock to TRUE, fixing
a problem with changing stock labels. (#162273, Marcin
Krzyzanowski)
2005-01-01 Tor Lillqvist <tml@iki.fi>
* gtk/gtkmodules.c (get_module_path)
* gtk/gtkrc.c (gtk_rc_make_default_dir, gtk_rc_get_im_module_file,
gtk_rc_get_theme_dir, gtk_rc_add_initial_default_files): With
g_getenv() now returning UTF-8 on Win32, no need to call
g_locale_to_utf8().
2004-12-31 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkkeyhash.c (_gtk_key_hash_lookup_keyval)
(_gtk_key_hash_lookup): Don't sort a list of values as if
it was a list of entries. This fixes crashes during mnemonic
activation in the presence of multiple keymaps. (#162488,
Christian Persch)
2004-12-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_button_state_changed): Fix
state propagation when making an insensitive combo box sensitive
again. (#162524, Carlos Garnacho Parro)
2004-12-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilesystemunix.c: Clean up some cases of errno handling
(#162496, noted by Tor Lillqvist), and use g_filename_display_name()
for error messages. Also mark some error messages for translation,
fix capitalization of error messages.
2004-12-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilesystemunix.c: Clean up some cases of errno handling
(#162496, noted by Tor Lillqvist), and use g_filename_display_name()
for error messages.
2004-12-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
Use g_value_get_boolean() for ellipsize_set. (#162447,
Brian Tarricone)
2004-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenushell.c (gtk_menu_shell_select_submenu_first):
Return a boolean indicating whether an item in the submenu
was selected.
(gtk_real_menu_shell_move_current): When going in child
direction, don't get stuck at completely insensitive
submenus. (#162055, Billy Biggs)
2004-12-27 Matthias Clasen <mclasen@redhat.com>
Make the clipboard image API more robust (#162357,
Torsten Schoenfeld):
* gtk/gtkclipboard.c (clipboard_image_received_func): Don't
ref the pixbuf if it is NULL.
* gtk/gtkselection.c (gtk_selection_data_set_pixbuf):
NULL-terminate the varargs in the call to
gdk_pixbuf_save_to_buffer().
(gtk_selection_data_get_pixbuf): Only use a pixbuf loader
if there is data to load.
2004-12-27 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event):
Set x_root and y_root in button and motion events from
extended input devices. (#148715, Robert Ögren)
2004-12-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkadjustment.c (gtk_adjustment_class_init): Document
properties as new since 2.4. (#156101, Billy Biggs)
2004-12-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkliststore.c (gtk_list_store_iter_children):
Return TRUE if there are children. (#162134, Iñigo Serna,
patch by John Finlay)
2004-12-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_button_state_changed):
Transfer state from the button to the cell view to get
prelighting right. (#156327, Ricardo Veguilla)
Wed Dec 22 14:22:19 2004 Søren Sandmann <sandmann@redhat.com>
* tests/testtoolbar.c (timeout_cb): Add sensitivity-changing
timeout. Written by Christian Persch.
Wed Dec 22 14:14:02 2004 Søren Sandmann <sandmann@redhat.com>
Bug #161561
* gdk/x11/gdkwindow-x11.c (tmp_{re,un}set_bg): Only set/reset the
background for windows that get expose events.
* gdk/gdkwindow.c (gdk_window_process_updates_internal): Remove
hack to repaint !expose windows.
2004-12-22 Matthias Clasen <mclasen@redhat.com>
* gtk/gtklabel.c (gtk_label_setup_mnemonic): Don't forget to
null the mnemonic_menu when unsetting a mnemonic, reported
by Owen Taylor.
2004-12-22 Matthias Clasen <mclasen@redhat.com>
Fix sorting of list stores. (#161886, Marcin Krzyzanowski)
* gtk/gtkliststore.c (generate_order): Generate the order the
way it is supposed to be, order[new_pos] == old_pos.
(gtk_list_store_reorder): Invert the order before using it.
* gtk/gtkiconview.c (gtk_icon_view_rows_reordered): Adapt to the
list store fix.
Wed Dec 22 01:24:01 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/queryimmodules.c (main): print out the version and binary
name in the header comment. Problem reported by Seth Nickell.
2004-12-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmessagedialog.c (setup_primary_label_font): Don't show
the secondary label on show_all(). (#161707, Christian Persch)
2004-12-19 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkdnd-win32.c (resolve_link, gdk_dropfiles_filter):
Use wide character API when available. Use UTF-8 for filenames.
* gdk/win32/gdkselection-win32.c (_gdk_dropfiles_store): Include
the string's trailing zero byte in the property's length, just for
safety.
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.
2004-12-15 Matthias Clasen <mclasen@redhat.com>
* configure.in: Require glib 2.6.0 for
g_filename_display_basename.
* gtk/gtkentrycompletion.[hc]: Make the prefix parameter
to the insert-prefix signal a const gchar* instead of a
gchar*. (#161415, Murray Cumming)
Also remove an unused static function.
2004-12-15 Alexander Larsson <alexl@redhat.com>
* gtk/gtkfilesystemunix.c (gtk_file_folder_unix_get_info):
Use g_filename_display_basename to calculate display name.
2004-12-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenushell.c (gtk_menu_shell_select_submenu_first)
(gtk_real_menu_shell_activate_current): Use
_gtk_menu_item_popup_submenu() to make keynav into submenus work
instantaneously, independent of the popup delay. (#161140)
* gtk/gtkmenuitem.[hc]: _-prefix gtk_menu_item_popup_submenu() and
make it non-static.
* gtk/gtkmenuitem.c (gtk_menu_item_paint): Remove unused variables.
2004-12-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c (get_is_file_filtered): Don't
try to filter if impl->current_filter is NULL. (#161329,
R. McFarland)
2004-12-14 Federico Mena Quintero <federico@ximian.com>
Merged from gtk-2-4:
Fix#145470:
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_initial_focus): Queue a pending
operation to select the first row if we are not finished loading
yet.
(gtk_file_chooser_default_class_init): Override GtkWidget::map().
(gtk_file_chooser_default_map): New ::map() handler; refresh the
file and bookmark lists.
* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_class_init):
Override GtkWidget::map() and GtkWidget::unmap().
(gtk_file_chooser_dialog_constructor): Don't call initial_focus()
here.
(gtk_file_chooser_dialog_map): Map the file chooser widget if
needed. Call initial_focus() here.
(gtk_file_chooser_dialog_unmap): Unmap the file chooser widget.
When we are re-mapped, the widget will get mapped as well and it
will have a chance to refresh.