2005-06-09 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkiconview.h:
* gtk/gtkiconview.c (gtk_icon_view_scroll_to_path): New function
to scroll to a path. (#306838, Jonathan Blandford)
2005-06-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
Don't crash if search_window is NULL. (#304914, Victor Osadci,
testcase by Olaf Vitters)
2005-05-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkentrycompletion.c: Add a property to suppress the
popup for single matches. (#154711)
* gtk/gtkentry.c (gtk_entry_completion_timeout): Respect it here.
* gtk/gtkfilechooserentry.c (_gtk_file_chooser_entry_set_action):
Use it here.
2005-05-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextbtree.c (_gtk_text_btree_tag): Queue the
redisplay after modifying the tag in the btree, otherwise
we end up showing the old tags until the next redraw comes
around. (#143537, Gary Kramlich)
2005-05-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_list_auto_scroll): Make
autoscrolling work at the bottom of the screen.
2005-05-26 Sven Neumann <sven@gimp.org>
* gtk/gtkselection.c (gtk_selection_data_set_pixbuf): use a less
aggressive PNG compression level (bug #305340).
2005-05-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_bin_expose): Draw the
background of rows insensitive when the treeview is insensitive.
(pointed out by Billy Biggs)
2005-05-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkselection.c (gtk_target_list_add_image_targets):
Make sure png comes first, otherwise dnd may use bmp by
default, loosing transparency.
2005-05-25 Michael Natterer <mitch@imendio.com>
* gtk/gtktextview.c (blink_cb): block the text_layout's "changed"
handler when changing cursor visibility because it would expose
the whole paragraph where the cursor is. Instead, expose the
cursors' areas manually. (#173047).
(text_window_invalidate_cursors): new function which exposes the
cursors.
* gtk/gtkstyle.c (draw_insertion_cursor): added comment that the
same cursor size calculation is in text_window_invalidate_cursors().
2005-05-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c (filter_create): Don't grab
the focus away from the file list when operating the filter
combo with the pointer. (#304844, Sven Neumann)
2005-05-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooser.c (gtk_file_chooser_remove_shortcut_folder_uri):
Use the correct function to conver the uri to a path. (#304565,
Ismael Juma)
2005-05-18 Anders Carlsson <andersca@imendio.com>
* gtk/gtktextview.c: (gtk_text_view_flush_scroll),
(gtk_text_view_update_adjustments), (gtk_text_view_value_changed):
* gtk/gtktextview.h:
If the horizontal adjustment changes because of a change in the
layout width, then do a complete redraw. This is because there
might be right-aligned or centered text that needs to be redrawn.
2005-05-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwidget.c (gtk_widget_add_events): Try harder to set
the event masks of descendent windows. (#169821, Tommi Komulainen)
2005-05-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_get_drop_column)
(gtk_tree_view_set_column_drag_info): Fix some errors in the
handling of drop columns. (#143355, John Finlay)
2005-05-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkscale.c (gtk_scale_class_init): Fix the default
values of draw-value and value-pos to be the values we
actually use in _init. (#304547, Mikael Hallendal)
2005-05-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcellrendererpixbuf.c: Support named icons in
cells by adding a icon-name property. (#165777, Anders
Carlsson)
2005-05-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtktoolbutton.h:
* gtk/gtktoolbutton.c (gtk_tool_button_set_icon_name)
(gtk_tool_button_get_icon_name): Support named icons in
tool buttons by adding a icon-name property.
2005-05-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_list_button_released): Keep
the popup posted if the button is released over the cellview.
This matches the behaviour of other combo box implementations.
(#171378)
2005-05-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (cursor_blinks): Don't blink the cursor if
the entry is not editable. (#304171,Nikos Kouremenos)
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-05-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Only shrink
the label if we need to. (#169390, Felix Riemann)
2005-05-11 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcolorbutton.c: Use a GtkAlignment rather than a GtkDrawingArea
to draw the swatch in to avoid having an extraneous window.
* gtk/gtkcolorsel.c (color_sample_draw_sample): Actually se tthe
color when !has_opacity.
2005-05-10 Owen Taylor <otaylor@redhat.com>
* gdk/gdkcairo.[ch] gdk/gdkcolor.[ch] gdk/Makefile.am: Add source
files for Cairo convenience functionality.
* gdk/gdkcairo.h (gdk_cairo_rectangle, gdk_cairo_region): Add a
convenience functions to add GdkRectangle, GdkRegion to a cairo path.
* gdk/gdkwindow.c gdk/gdkgc.c gtk/gtkcolorsel.c gtk/gtkiconview.c
gtk/gtkstyle.c: Use gdk_cairo_rectangle/region().
* gdk/gdkcairo.[ch] gdk/gdkdrawable.h gdk/gdkdraw.c: Rename
gdk_drawable_create_cairo_context() to gdk_cairo_create().
* gdk/gdkcairo.c gdk/gdkpixbuf.h gdk/gdkpixbuf-render.c:
Rename gdk_pixbuf_set_as_cairo_source() to
gdk_cairo_set_source_pixbuf().
* gdk/gdkdraw.c gdk/gdkpango.c gtk/gtkcolorsel.c gtk/gtkhruler.c
gtk/gtkhsv.c gtk/gtkiconview.c gtk/gtkstyle.c gtk/gtkvruler.c:
Adjust for renames.
* gdk/gdk.symbols: Update.
* gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): Fix
coordinate system problem that was causing the wrong portions
to be invalidated.
* gtk/gtkcellrenderer.c (gtk_cell_renderer_render)
gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render)
gtk/gtkcellrendererprogress.c (gtk_cell_renderer_progress_render)
gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render)
gtk/gtkcellview.c (gtk_cell_view_expose)
gtk/gtkdnd.c (gtk_drag_highlight_expose)
gtk/gtkentry.c (gtk_entry_draw_text)
gtk/gtktextview.c (text_window_invalidate_rect): Some cairoization.
* gtk/gtkcalendar.[ch]: Beat into something roughly resembling
GTK+ style ... use instance-private data and standard names for
private structure, etc. Move function docs inline.
* gtk/gtkcalendar.[ch]: Switch to drawing everything in
expose. Switch drawing to Cairo.
* gtk/gtkcalendar.c (gtk_calendar_freeze): Deprecate
gtk_calendar_freeze/thaw
2005-05-07 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkscrolledwindow.h:
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_get_hscrollbar):
(gtk_scrolled_window_get_cscrollbar): Change the return
type to GtkWidget*, proposed by Owen Taylor.
2005-05-06 Federico Mena Quintero <federico@ximian.com>
Merged from gtk-2-6:
* gtk/gtkfilesystemunix.c (fill_in_mime_type): Don't fill the mime
types if this is an AFS directory.
(fill_in_names): If we are in an AFS directory, set the MIME type
blindly to "x-directory/normal".
2005-05-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_insert_page_menu): Always
initialize child-visible to FALSE, otherwise we may end up
with the wrong page visible initially. (#302283, Patrik Fimml)
* gtk/gtktreeview.c (gtk_tree_view_draw_arrow): Make expanders
appear insensitive in insensitive treeviews.
2005-05-06 Matthias Clasen <mclasen@redhat.com>
* tests/testiconview.c: Test DND.
* gtk/gtk.symbols:
* gtk/gtkiconview.[hc]: Add DND support similar to the DND
support in the tree view. (#150270)
2005-05-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilesystem.c:
* gtk/gtkcelleditable.c:
* gtk/gtktreemodel.c: Avoid getting the interface struct
twice in the same function. (#300513, Billy Biggs)
2005-05-02 Federico Mena Quintero <federico@ximian.com>
Merged from gtk-2-6:
Fixes#301068:
* gtk/gtkfilesystemunix.c (struct _GtkFileSystemUnix): Add fields
to store struct stat for /afs and /net, and boolean fields to say
whether these are valid.
(struct _GtkFileFolderUnix): Added a boolean is_network_dir field.
(gtk_file_system_unix_get_folder): Fill in the is_network_dir
field of the folder structure.
(fill_in_names): If the folder is a network directory, create a
fake struct stat for its entries.
(fill_in_stats): Don't stat() the children of network directories.
* gtk/gtkfilechooserdefault.c (list_mtime_data_func): If the mtime
is 0, use "Unknown" for the cell's displayed text.
2005-04-28 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c: Add a draw-border style property to allow
themes to draw outside the widget's allocation.
* gdk/gdkwindow.c gtk/gtkstyle.c: Remove some save/restore pairs
that were working around the clip-leakage bug in Cairo.
* gtk/gtkstyle.c: Use cairo_fill_preserve() rathe than
save/fill/restore.
* gdk/gdkgc.c gdk/gdkinternals.h: Add _gdk_gc_update_context()
That updates a Cairo context to match a GC.
* gdk/gdkdraw.c: Use _gdk_gc_update_context() to add support
for tiles/stipples/clipping to gdk_draw_glyphs(),
gdk_draw_trapezoids().
* gdk/gdkpango.c: Use _gdk_gc_update_context() instead of internal
implementation of stipples. Use one cairo_t across the entire
drawing operation. Replace cairo_matrix_create() with
stack-allocated matrices.
* gdk/gdkgc.c gdk/gdkinternals.h gdk/x11/gdkgc-x11.c
gdk/win32/gdkgc-win32.c: Save various aspects of the
GC state (fill, tile, stipple, foreground, background, clip region)
in instance-private-data for future use. Add getters.
Get rid of _gdk_windowing_gc_get_foreground() function implemented
by the backends.
* gdk/gdkgc.c gdk/gdkinternals.h gdk/x11/gdkgc-x11.c
gdk/win32/gdkgc-win32.c gdk/linux-fb/gdkgc-fb.c: Add
_gdk_gc_init() to do initial setup of the GC from values;
fixes some problems from drawable redirection.
* gdk/gdkgc.c gdk/gdkinternals.h gdk/x11/gdkgc-x11.c
gdk/win32/gdkgc-win32.c gdk/linux-fb/gdkgc-fb.c: Move
gdk_gc_copy() and gdk_gc_set_clip_{region,rectangle}() into
the generic code, add _gdk_windowing_gc_copy(),
_gdk_windowing_gc_set_clip_region() to do backend specific
stuff.
* gdk/x11/{gdkprivate-x11.h,gdkgc-x11.c.c,gdkdrawable-x11.c}
gdk/win32/{gdkprivate-win32.h,gdkgc-x11.c.c,gdkdrawable-x11.c}
gdk/linux-fb/{gdkprivate-fb.h,gdkgc-fb.c.c,gdkdrawable-fb.c}:
Don't duplicate state that now is stored by the generic code.
* gdk/gdk.symbols Update
2005-05-02 Matthias Clasen <mclasen@redhat.com>
* tests/testiconview.c: Test cell renderers.
* gtk/gtk.symbols: Add new functions.
* gtk/gtkiconview.[hc]: Implement GtkCellLayout and use
cell renderers for drawing and editing. (#148144, #160242)
2005-05-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcellrenderertext.c (get_size): Return a sufficient
width for cases where pango_layout_get_pixel_extents() returns
a rectangle with nonzero x.
2005-05-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenushell.c (gtk_menu_shell_set_take_focus):
(gtk_menu_shell_get_take_focus): Fix up the docs a bit.
2005-05-02 Michael Natterer <mitch@imendio.com>
* gtk/gtkmain.c (do_post_parse_initialization): return silently if
"gtk_initialized" is TRUE. Re-enables calling GTK's init functions
multiple times when using gtk_get_option_group(), just as one can
call gtk_init() multiple times without doing any harm.
2005-05-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_expose_event): Propagate
the event to unanchored children in the text window.
(#302494, Stephen Kennedy)
2005-04-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c (gtk_icon_view_map): Get rid of this
function, instead show the bin_window when it is created.
2005-04-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_state_changed): Set
background upon state changes. (#301651, Billy Biggs)
(gtk_tree_view_get_path_at_pos): Take RTL into account
when iterating over the columns. (#302163)
2005-04-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_state_changed): Set
background upon state changes. (#301651, Billy Biggs)
2005-04-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c (gtk_icon_view_move_cursor_start_end): Use
the internal unselect_all function, since we need the unselection
to happen even in browse mode. (#300995, Mathias Hasselmann)
2005-04-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (update_node): Use g_object_notify() instead
of triggering a ::notify by re-setting the property. (#300982,
Sven Neumann)
* gtk/gtkaction.c (connect_proxy): Use gtk_action_sync_tooltip().
2005-04-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c (gtk_icon_view_scroll_to_item): Also
scroll horizontally when necessary, and keep the northwest
corner of the item visible. (#300913, Mathias Hasselmann)
2005-04-29 Matthias Clasen <mclasen@redhat.com>
* tests/testiconview.c: Add some more tests.
* gtk/gtkiconview.c (gtk_icon_view_select_path): Don't crash
if the path does not point to a row in the model. (#300909,
Mathias Hasselmann)
(gtk_icon_view_rows_reordered): Re-layout here. (#301009,
Mathias Hasselmann)
2005-04-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c (gtk_icon_view_select_path): Don't crash
if the path does not point to a row in the model. (#300909,
Mathias Hasselmann)
2005-04-29 Matthias Clasen <mclasen@redhat.com>
* tests/testtext.c: Add some more attribute tests.
* gtk/gtktexttag.c (gtk_text_tag_class_init): Correct the documentation
of the rise property. String change, but it is more important to
be correct than to be translated. (#301740)
2005-04-25 Tor Lillqvist <tml@novell.com>
* gtk/gtkfilesystemwin32.c
(gtk_file_system_win32_volume_get_display_name): Get volume name
also on Win9x. (#301798, Daniel Atallah)
(canonicalize_filename): Add explicit braces to silence compiler
warning.
2005-04-22 Tor Lillqvist <tml@novell.com>
* gtk/gtkmain.c: Initailize gettext before use. Calling
bindtextdomain() and bind_textdomain_codeset() in
do_post_parse_initialization() is too late. Put the calls in a new
function gettext_initialization(), and call that from
gtk_init_with_args() and gtk_parse_args(). Fixes#170948 for
GTK+'s part, but the same problem occurs also at least in
atk. Thanks to Robert Ögren, Daniel Atallah and Kevin Strange.
2005-04-18 Federico Mena Quintero <federico@ximian.com>
Merged from gtk-2-6:
* gtk/gtkfilechooserdefault.c (remove_selected_bookmarks): Remove
obsolete assertion that the selected row can't be a volume; this
is handled by the "removable" column now. Fixes#301017.
2005-04-18 Owen Taylor <otaylor@redhat.com>
* gtk/gtkstyle.c gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c
* gdk/gdkcolor.c gdk/gdkwindow.c gdk/gdkpixbuf-render.c
gdk/gdkpango.c tests/testcairo.c: Update to new Cairo API for
setting color and opacity. (#301066, Vincent Noel)
2005-04-15 Federico Mena Quintero <federico@ximian.com>
Merged from gtk-2-6:
* gtk/gtkfilechooserdefault.c (pending_select_paths_process):
Patch from Christian Neumair <chris@gnome-de.org>; only select the
first row if we are in OPEN mode. The only other case we were
letting pass through was SELECT_FOLDER, but selecting the first
row when changing folders confuses people when folders are
actually being selected. Fixes#171885.
Add 16x16 versions of the zoom icons and of
GTK_STOCK_INDEX. Some of the images were taken from
the hicolor icon theme, and were originally created
by Jakub Steiner and Tuomas Kuosmanen. (#167515,
Vincent Noel)
* gtk/stock-icons/stock_index_16.png:
* gtk/stock-icons/stock_zoom_1_16.png:
* gtk/stock-icons/stock_zoom_fit_16.png:
* gtk/stock-icons/stock_zoom_in_16.png:
* gtk/stock-icons/stock_zoom_out_16.png: New images.
* gtk/stock-icons/Makefile.am: Add the new images.
2005-04-09 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimage.c (gtk_image_calc_size, gtk_image_expose):
Don't display too many broken images. (#169870, Roman
Kagan, patch by Ivan Wong)
* gtk/gtkwidget.c (gtk_widget_unparent): Remove debugging
output. (#300013, Tommi Komulainen)
* io-bmp.c (gdk_pixbuf__bmp_image_save_to_callback):
Don't overflow the stack. (Jakub Jelinek, Arjan van de Ven)
2005-04-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimage.c (gtk_image_expose, gtk_image_calc_size):
If a stock_id is unknown, display the missing image. (#169870,
Steven Walter)
2005-04-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconcache.c (icon_name_hash): Use the same function
as in updateiconcache.c. (spotted by Morten Welinder)
2005-04-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_popdown): Make this
work when called from gtk_combo_box_destroy(). (#172999,
Christian Persch)
2005-04-08 Matthias Clasen <mclasen@redhat.com>
Fix double-click to autosize treeview columns. This was
probably broken since 2.2 ! (#169675)
* gtk/gtktreeview.c (gtk_tree_view_button_press): Leave the
"user-resized" state of the column on a double-click to
autosize.
(gtk_tree_view_button_press, gtk_tree_view_motion_resize_column):
Enter the "user-resized" state of the column only if a drag
actually changes the column width, not on any click.
2005-04-07 Matthias Clasen <mclasen@redhat.com>
* gtk/updateiconcache.c (write_card16, write_card32): Avoid
unaligned access. (#172947)
* gtk/gtkfilechooserdefault.c (file_list_build_popup_menu):
Consistently use the term "Bookmarks" in the UI. (#166906,
Sebastian Bacher)
2005-04-07 Matthias Clasen <mclasen@redhat.com>
Some fixes from Morten Welinder (#172947):
* gtk/updateiconcache.c (icon_name_hash): Make this compiler-
and platform-independent.
(is_cache_up_to_date): Don't compare mtimes is a stat call failed.
(build_cache): Error out if a stat fails.
2005-04-07 Matthias Clasen <mclasen@redhat.com>
* gtk/updateiconcache.c (is_cache_up_to_date): Return
TRUE if the cache is newer than the directory. (#172852,
Jacob Kroon)
2005-04-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_enable_model_drag_source)
(gtk_tree_view_enable_model_drag_dest): Pass the target list
to the underlying dnd implementation, otherwise we miss the
target info in the drag-data-received signal. (#164085, Jorn
Baayen)
2005-04-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_motion_resize_column)
(gtk_tree_view_bin_expose): Avoid a few unnecessary calls
to gdk_window_get_pointer(). (#168015, Billy Biggs)
* gtk/gtkicontheme.c: Store icon caches along with the
mtimes of the toplevel directories. The previous
mechanism of a hashtable-per-theme caused duplicate icon
caches for the same toplevel directory to be created.
(#170030)
2005-04-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaboutdialog.c (gtk_about_dialog_init): Protect
the license and credits buttons from being affected by
gtk_widget_show_all(). (#172724)
Mon Apr 4 19:13:23 2005 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_expand_all): change to use
gtk_tree_view_real_expand_row() instead of doing this by hand.
2005-04-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwidget.c (gtk_widget_set_redraw_on_allocate): Improve
the wording of the doc comment. (#172422, Vincent Untz)
2005-04-04 Owen Taylor <otaylor@redhat.com>
* gtk/gtkstyle.c (gtk_default_draw_expander): Covert expander
drawing to Cairo. Also always draw the entire triangle instead
of just drawing the center for prelight. (Fixes inconsistent
drawing in GtkTreeView.)
2005-04-04 Matthias Clasen <mclasen@redhat.com>
Allow completion popups to be wider than the entry. (#131916,
Ross Burton)
* gtk/gtkentrycompletion.[hc]: Add a boolean popup-set-width property.
* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
Don't force the popup to have the same width as the entry if
popup-set-width is FALSE.
* gtk/gtk.symbols: Add new functions.
2005-04-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel):
Use gtk_accel_map_change_entry(), so that reusing the same
action name works. (#170727, Paolo Borelli)
2005-04-04 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkmain.c (_gdk_win32_cf_to_string): New debugging
function, to log a clipboard format name symbolically.
(_gdk_win32_data_to_string): Also new, to log random data bytes.
Implement delayed rendering on Win32, specifically for transfering
images through the clipboard from GTK+ apps to other
apps (#168173, implementation by Ivan Wong):
* gdk/win32/gdkevents-win32.c (gdk_event_translate):
Handle WM_RENDERFORMAT.
* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkglobals-win32.c: Add _format_atom_table,
_delayed_rendering_data and _image_bmp.
* gdk/win32/gdkmain-win32.c: Initialize _image_bmp.
* gdk/win32/gdkproperty-win32.c (gdk_property_change):
Accept formats other than GDK_TARGET_STRING or _utf8_string, and
assume they are handled through delayed rendering.
* gdk/win32/gdkselection-win32.c (gdk_selection_convert):
Return all available formats (including those registered by GTK+
apps) on request_targets.
(gdk_selection_property_get): We should append a zero byte like
X11 does.
(gdk_win32_selection_add_targets): New function, for
gtkselection's use. Win32 requires that the clipboard owner
registers all valid formats even if the owner wants delayed
rendering.
(_gdk_win32_selection_convert_to_dib): New function. Convert
images to DIB using gdk-pixbuf.
* gdk/win32/gdkwin32.h: Declare gdk_win32_selection_add_targets().
* gtk/gtkselection.c (gtk_selection_add_target,
gtk_selection_add_targets): Call gdk_win32_selection_add_targets()
to register target formats.
* gdk/gdk.symbols: Add gdk_win32_selection_add_targets().
2005-04-03 Hans Breuer <hans@breuer.org>
[merged from gtk-2-6 branch]
* gdk/win32/gdkdrawable-win32.c : let dash_offset shift the start of
the line pattern not the start of the line. Fixes bug #171641.
* gtk/makefile.msc.in : follow .symbols changes
* gdk/win32/gdkwindow-win32.c : declare and resolve GetAncestor()
dynamically. (It is not available in _WIN_VER <= 0x0400)
* gdk/win32/makefile.msc : removed gdkpango-win32.obj
* gtk/gtkhsv.c gtk/gtkstyle.c : use G_PI instead of M_PI
[also applied to gtk-2-6 branch]
* gdk/makefile.msc gdk-pixbuf/makefile.msc : handle gdk*alias.def
* gdk/makefile.msc.in : add gtkmnemonichash.obj
* test/testgtk.c(set_parent_signal) : use g_message instead of
g_print to keep the 'testgtk --bench=all' output clean
2005-04-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkradiomenuitem.c: Add a "group" property like
the one found in radio buttons.
* gtk/gtkradiobutton.c (gtk_radio_button_class_init): Fix
a typo in the docs.
(gtk_radio_button_set_group): Add change notification.
2005-04-01 Matthias Clasen <mclasen@redhat.com>
Make gtk_combo_box_get_active_text do the right thing for
GtkComboBoxEntry (#171373, Robert Staudinger)
* gtk/gtkcombobox.h: Add a get_active_text vfunc.
* gtk/gtkcombobox.c (gtk_combo_box_real_get_active_text): And
implement it here.
* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_get_active_text):
Implement get_active_text by always returning the content of
the entry.
2005-03-31 Michael Natterer <mitch@gimp.org>
Allow to pop up menus without grabbing the keyboard. Useful for
stuff like virtual keyboards. Fixes bug #159890
* gtk/gtk.symbols
* gtk/gtkmenushell.[ch]: added boolean property "take-focus"
and public API gtk_menu_shell_set/get_take_focus().
* gtk/gtkmenu.c (gtk_menu_popup)
(popup_grab_on_window): don't grab the keyboard if take_focus
is FALSE.
* gtk/gtkmenuitem.c (_gtk_menu_item_popup_submen): propagate the
parent menu_shell's take_focus property to the submenu which is
about to be popped up.
2005-03-30 Federico Mena Quintero <federico@ximian.com>
Merged from gtk-2-6:
Fix#170755:
* gtk/gtktreeview.c (gtk_tree_view_row_changed): Only stop editing
if the row which changed is the same as the row being edited.
2005-03-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
Make enable_search control only typeahead, not C-f. (#170435,
Sven Neumann)
(gtk_tree_view_start_interactive_search): Pass keybinding == TRUE.
2005-03-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkclipboard.c (gtk_clipboard_set_can_store):
Don't accept n_targets == -1.
(clipboard_unset): unref the old_data, not the
user_data which we have just cleared. (#172038, Sven
Neumann)
2005-03-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_set_visible_func):
Document the need to refilter if parameters of the visibility function
change. (#169516, Olivier Sessink)
2005-03-28 Matthias Clasen <mclasen@redhat.com>
* xdgmimeglob.c: Sync to latest upstream,
including fixes for matching against multiple
extensions (eg .tar.gz) and for suffix
patterns which don't start with a dot.
2005-03-28 Jeroen Zwartepoorte <jeroen.zwartepoorte@gmail.com>
* gtk/gtkfilechooserdefault.c: (update_preview_widget_visibility): Make
the preview label ellipsize so the dialog layout stays constant.
(#171398)
2005-03-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_key_press): Don't pop up
the context menu of the search entry if it is not visible.
(#169534, Billy Biggs)
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-23 Matthias Clasen <mclasen@redhat.com>
Some cleanups to the GtkDialog code: (#170746,
Morten Welinder)
* gtk/gtkdialog.c (action_widget_activated): Simplify,
use _gtk_dialog_get_response_for_widget.
(gtk_dialog_add_action_widget): Use the correct signal
id for non-buttons.
(gtk_dialog_set_response_sensitive):
(gtk_dialog_set_default_response): Use get_response_data.
(gtk_dialog_run): Don't disconnect the signals if the
dialog was destroyed while running.
Tue Mar 22 14:16:31 2005 Manish Singh <yosh@gimp.org>
* gtk/gtkfilesystem.c (gtk_file_system_set_bookmark_label):
Use g_return_if_fail, not g_return_val_if_fail.
2005-03-22 Matthias Clasen <mclasen@redhat.com>
Implement bookmark renaming (#136216, Sean Middleditch)
* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Add
get_bookmark_label and set_bookmark_label vfuncs.
* gtk/gtkfilesystem.h:
* gtk/gtkfilesystem.c (gtk_file_system_set_bookmark_label):
(gtk_file_system_get_bookmark_label): Wrappers for the
vfuncs.
* gtk/gtk.symbols: Add new exported symbols.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_set_bookmark_label):
(gtk_file_system_unix_get_bookmark_label): Implementations
for the Unix backend.
* gtk/gtkfilechooserdefault.c: Add a context menu to
the bookmarks pane, and allow to rename bookmarks.
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>
* xdgmimeglob.c (_xdg_glob_hash_insert_text): Don't
leak node->mime_type if we are reusing an existing
node. (#170774, Kjartan Maraas)
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.
Fri Mar 18 23:59:49 2005 Soeren Sandmann <sandmann@redhat.com>
* gtk/gtkmenutoolbutton.c (arrow_button_button_press_event_cb):
Make right-clicks not pop up the menu.
2005-03-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtklabel.c (gtk_label_set_markup): Fix formatting
in example in the docs. (#170611, Jianfei Wang)
2005-03-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentrycompletion.c (gtk_entry_completion_real_insert_prefix):
Make inline completion insert the prefix at the
right spot. (#170146, Doug Quale)
2005-03-15 Owen Taylor <otaylor@redhat.com>
* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkpixmap.c gdk/gdkwindow.c
gdk/x11/gdkdrawable-x11.c gdk/x11/gdkpixmap-x11.c gdk/x11/gdkwindow-x11.c
gdk/gdkinternals.h: Switch set_cairo_target() virtual function to
ref_cairo_surface()
* gdk/gdkdrawable.h gdk/gdkdraw.h: Switch set_cairo_target() virtual
function to create_cairo_context()
* gdk/gdkwindow.c: Clear double buffer pixmaps with Cairo.
* gdk/x11/gdkwindow-x11.c: Keep all components in GdkWindowObject.bg_color,
not just the pixel.
* tests/testcairo.c: Update for create_cairo_context()
* gdk/gdkdraw.c (gdk_draw_trapezoids, gdk_draw_glyphs[_transformed]):
Reimplement in terms of Cairo, bypass the vtable entries.
* gdk/x11/gdkdrawable-x11.[ch] gdk/x11/gdkdisplay-x11.[ch]
gdk/x11/gdkgc-x11.c gdk/x11/gdkpango-x11.c
gdk/x11/gdkprivate-x11.h gdk/x11/Makefile.am: Remove
implementation of draw_trapezoids / draw_glyphs[_transformed].
* gdk/gdkpango.c: Switch GdkPangoRenderer to use Cairo
* gdk/gdkpango.c gdk/x11/gdkpango-x11.c: Move
gdk_pango_context_get_for_screen() into the backend independent code.
* gdk/x11/gdkdrawable-x11.[ch]: Remove Xft use, use RENDER directly
for drawing images.
* gdk/gdkdrawable.h gdk/x11/gdkdrawable-x11.c: Remove
gdk_draw_rectangle_alpha_libgtk_only.
* gdk/gdkpixbuf.h gdk/gdkpixbuf-render.c: Add
gdk_pixbuf_set_as_cairo_source()
* gdk/gdk.symbols: Update
* gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c gtk/gtkruler.[ch]
gtk/gtk[hv]ruler.c: Convert to Cairo rendering.
* gtk/gtkstyle.c (gtk_default_draw_check, gtk_default_draw_focus,
gtk_default_draw_option): Switch to Cairo. Simplify the checkbutton,
radio button style for now to get something more scalable.
* gtk/gtksettings.c: #if 0 out the code to use PangoXft for hinting/
antialiasing/dpi settings.
2005-03-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkradioaction.c (gtk_radio_action_get_group): Add an
example for manually setting up a group of actions.
2005-03-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentrycompletion.c (gtk_entry_completion_class_init):
Document that inline completion requires text-column to be set.
(gtk_entry_completion_compute_prefix): Return NULL if text-column
is not set.
* gtk/gtkentry.c (check_completion_callback): Call
gtk_entry_completion_complete() before inserting the prefix,
otherwise the prefix may depend on (random) state of the
filter model.
2005-03-15 Anders Carlsson <andersca@imendio.com>
* docs/iconcache.txt:
Update spec.
* gtk/gtkiconcache.c: (find_image_offset),
(_gtk_icon_cache_get_icon_flags), (_gtk_icon_cache_add_icons),
(_gtk_icon_cache_get_icon), (_gtk_icon_cache_get_icon_data):
* gtk/gtkiconcache.h:
Update to be able to fetch pixbuf data and icon metadata.
* gtk/gtkicontheme.c: (theme_lookup_icon), (gtk_icon_info_free),
(icon_info_ensure_scale_and_pixbuf):
Use new cache functions.
* gtk/updateiconcache.c: (foreach_remove_func), (load_icon_data),
(maybe_cache_image_data), (scan_directory), (write_pixdata),
(get_image_meta_data_size), (get_image_pixel_data_size),
(get_image_data_size), (get_single_node_size), (get_bucket_size),
(write_bucket), (main):
Update to write pixbuf data as well as information from .icon
files.
2005-03-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkdialog.c (gtk_dialog_map): Don't
try to focus the default_widget if there is
none. (#169881, Thomas Leonard)
2005-03-09 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c (gtk_icon_view_set_model): Queue a resize
when the model is unset. (#169528, Tomislav Jonjic)
2005-03-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
Don't warn if a stock icon cannot be found. (#168830,
Sven Neumann)
2005-03-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwidget.c (gtk_widget_reparent_subwindows):
Avoid warnings if gtk_widget_reparent() is called at
unusual times. (#168966, Christian Persch)
2005-03-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.c (theme_lookup_icon): Make
icon data caching work again. (#168851, Alexander Larsson)
2005-02-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c (save_folder_combo_create):
Unset "focus-on-click" for the save folder combo. (#168688,
Sven Neumann)
Thu Feb 24 14:20:16 2005 Søren Sandmann <sandmann@redhat.com>
* gtk/gtkstyle.c: Add
g_return_if_fail (style->depth == gdk_drawable_get_depth(window));
all over the place.
2005-02-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c: Consistently use gtk_tree_row_reference_valid().
(gtk_combo_box_model_row_deleted): Update the displayed row in
the cell_view. (#167842, Gustavo Carneiro)
2005-02-24 Matthias Clasen <mclasen@redhat.com>
Fix#167259, reported by Christian Persch:
* gtk/gtkwidget.c (gtk_widget_unparent): Unmap the reparented
widget, even if we avoid the unrealizing.
(gtk_widget_reparent_subwindows): Make reparenting work for
!NO_WINDOW widgets which have other windows which are siblings
of widget->window (as e.g. GtkSpinButton).
2005-02-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtklabel.c (gtk_label_style_set): Revert the last
change, since gtk_widget_set_style_internal() already
queues a resize.
2005-02-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtklabel.c (gtk_label_style_set): Queue a resize, since
fonts may have changed. (#164128, Phil Blundell)
Wed Feb 23 17:34:01 2005 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_node_queue_redraw): Patch from
jorn@nl.linux.org (Jorn Baayen) to notice changes to fixed-height
widgets.
2005-02-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c (gtk_window_present): Use the timestamp of
the last user interaction when focusing the window. (#166379,
Elijah Newren)
Thu Feb 17 14:58:16 2005 Manish Singh <yosh@gimp.org>
* gtk/gtkuimanager.c (start_element_handler): make sure expand
is initialized, cast to GTK_SEPARATOR_TOOL_ITEM.
2005-02-16 Matthias Clasen <mclasen@redhat.com>
Fixes for #143829, Tommi Komulainen, Christian Persch:
* gtk/gtktreeview.c (gtk_tree_view_destroy): Remove the
typeselect_flush_timeout when destroying the widgets
it is operating on.
(gtk_tree_view_ensure_interactive_directory): Add the
popup to the window group of the toplevel it belongs to.
* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget)
(gtk_combo_box_popup): Do the same here.
2005-02-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkpathbar.c (gtk_path_bar_finalize): Stop scrolling
when the pathbar goes away. (#167094, Rodney Dawes)
(change_icon_theme): Use GTK_ICON_SIZE_MENU here as
well (Vincent Noel)
2005-02-11 Matthias Clasen <mclasen@redhat.com>
Support vertical menubars (#166632):
* gtk/gtkenums.h (GtkPackDirection): New enumeration for pack
directions, with values for left-to-right, right-to-left,
top-to-bottom and bottom-to-top.
* gtk/gtk.symbols:
* gtk/gtkmenubar.h:
* gtk/gtkmenubar.c: Add two properties, pack-direction and
child-pack-direction, which specify how children and
grandchildren of a menubar are packed, with getters and setters.
* gtk/gtkmenubar.c (gtk_menu_bar_set_property):
(gtk_menu_bar_get_property): Implement set_property and get_property.
* gtk/gtkmenubar.c (gtk_menu_bar_size_request):
(gtk_menu_bar_size_allocate): Take pack direction into account.
* gtk/gtkmenubar.c (gtk_menu_bar_move_current): Implement
move_current here move all the menubar-specific direction
tweaking from the generic menushell implementation here.
* gtk/gtkmenu.c (gtk_menu_move_current): Move menu-specific
direction tweaking from the generic menushell implementation here.
* gtk/gtkmenuitem.c (gtk_menu_item_size_request):
(gtk_menu_bar_size_allocate): Take pack direction into account.
* gtk/gtkimagemenuitem.c (gtk_image_menu_item_size_request)
(gtk_image_menu_item_size_allocate):
(gtk_image_menu_item_toggle_size_request): Take child pack
direction into account and pack the image vertically if
necessary.
* gtk/gtkmenushell.c (gtk_menu_shell_real_select_item):
Set the submenu direction to left-right for menuitems in
vertical menubars.
(gtk_real_menu_shell_move_current): Simplify by moving
direction tweaking to menu- and menubar-specific
implementations. Take pack direction into account when
doing fallbacks.
* tests/testmenubars.c: Test menubars in various packing
direction combinations.
* tests/Makefile.am (noinst_PROGRAMS): Add testmenubars.
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-02-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (start_element_handler): Accept
the "expand" attribute and set a flag in the node if it
is set to "true".
(update_node): If the expand flag is set, make separator
toolitems non-drawn and expanding. (#166489, Christian Persch)
2005-02-05 Hans Breuer <hans@breuer.org>
* gdk/makefile.msc gdk/win32/makefile.msc gtk/makefile.msc.in :
build with Cairo dependency. The patch to acually use Cairo
on win32 will be on gtk-devel-list soon.
* tests/makefile.msc : add testcairo building
* gtk/stock-icons/makefile.msc : split command line into two to
work with the shells default
Fri Feb 4 14:16:31 2005 Manish Singh <yosh@gimp.org>
* gtk/gtkaccelgroup.c (substitute_underscores): remove unused
function.
* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
Add some extra parens for bitop order of operations disambiguiation.
* gtk/gtkstock.c: Fix const confusion, make our own copy of the
domain when setting a translate function.
* tests/testcombo.c: removed unused variable.
2005-02-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkpaned.c (gtk_paned_compute_position): Work better
when there is not enough space. This avoids a nasty size
allocation loop in the file chooser. (#154007, reported
by Milosz Derezynski, patch by Robert Ögren)
2005-02-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (gtk_entry_create_layout): Avoid spurious
selection of RTL direction if the widget does not have
focus. (#164125, Frederic Crozat)
2005-02-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenu.c (gtk_menu_handle_scrolling): Don't do
one roundtrip per motion event. (#166173, pointed out
by Chris Lee, patch by Søren Sandmann)
2005-02-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkstock.h:
* gtk/gtkstock.c (gtk_stock_set_translate_func):
New function which allows to change the function used for
translation stock labels, on a per-domain basis. Use this
functionality to switch the GTK+ stock items to use Q_()
prefixed msgids. (#166179, Funda Wang)
2005-02-02 Federico Mena Quintero <federico@ximian.com>
Merged from gtk-2-6:
* gtk/gtkfilechooserdefault.c (pending_select_paths_process):
Don't select the first row if the chooser is not mapped. This
happens when it's acting on behalf of GtkFileChooserButton. Also,
don't select the first row if we are in SAVE or CREATE_FOLDER
modes --- I had missed that (see the ChangeLog entry from
2005-01-18). Fixes#165264.
2005-02-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.c (gtk_icon_theme_init): Look for icons
in XDG_DATA_DIRS/pixmaps. (#165950, Thomas Zajic)
2005-02-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c (gtk_window_set_icon_name): Set info->icon_list
to NULL after freeing it. (#165800, Damon Chaplin)
2005-02-01 Federico Mena Quintero <federico@ximian.com>
Merged from gtk-2-6:
* gtk/gtkfilechooserdefault.c
(browse_files_model_finished_loading_cb): Don't
g_assert_not_reached() if we are in any other state. Another code
path may have triggered a folder reload. Fixes#165556.
2005-02-01 Federico Mena Quintero <federico@ximian.com>
Merged from gtk-2-6:
Fix#165770:
* gtk/gtkfilechooserdefault.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()).
(change_icon_theme): Use GTK_ICON_SIZE_MENU instead of
GTK_ICON_SIZE_SMALL_TOOLBAR.
2005-01-27 Federico Mena Quintero <federico@ximian.com>
Merged from gtk-2-6:
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_select_path): Oops, don't assert that we
can't reach the end of the function; this happens if we are still
loading but don't need a path change. Fixes#165213.
2005-01-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaboutdialog.c: Some visual tweaks to the about dialog,
obey HIG spacing a bit more, add a hand cursor when over the
link button. (#163979, Jorn Baayen)
2005-01-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaboutdialog.c (display_license_dialog): Make sure
the license dialog is initially displayed without a horizontal
scrollbar.
(gtk_about_dialog_class_init): Document the fact that the
license text is not wrapped. (#165012, Christian Rose)
2005-01-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimage.c (gtk_image_get_property): Use the correct setter
for a string GValue. (#165203, Damon Chaplin)
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
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>
* 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)
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.
Wed Dec 22 11:35:41 2004 Søren Sandmann <sandmann@redhat.com>
Bug #147497, make menu items activate immediately when you release
the button.
* gtk/gtkmenu.c (gtk_menu_enter_notify, menu_motion_notify): Make
items activate immediately.
* gtk/gtkmenu.c (definitely_within_item): New function
* gtk/gtkmenu.c (check_threshold): New function
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-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.
2004-12-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols: Add new symbols.
* gtk/gtkiconview.[hc]: Make the icon view lay out its
items in a grid, allocating multiple grid cells to oversized
items. Also convert hardwired spacing constants into
properties. (#152483)
2004-12-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenuitem.c (gtk_real_menu_item_select): Reintroduce
the reverted change, since it is necessary to prevent lost
submenus. But make it work for torn-off menus as well.
2004-12-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenuitem.c (gtk_real_menu_item_select): Revert a change
which prevented torn-off menus from being shown normally.
2004-12-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c (gtk_window_real_set_focus): Compare only
the HAS_DEFAULT flags. (#160711, Tommi Komulainen)
2004-12-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwidget.c (gtk_widget_class_init): Add some docs for
GtkWidget::delete-event and GtkWidget::destroy-event. (#161142,
Paolo Borelli)
2004-12-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtklabel.[hc]: Add a max-width-chars property, which can
be used to specify the width of the label in characters, while
still allowing it to fall short of this length if the text
is shorter. (#155944, Christian Persch)
* gtk/gtk.symbols: Add new symbols.
2004-12-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (update_smart_separators): Don't let the
empty menu filler affect visibility of separators. (#160500,
Christian Persch)