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-19 Ivan, Wong Yat Cheung <email@ivanwong.info>
* gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Match
character height instead of cell height. Fix#301228.
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)
* gdk/gdkpango.c: (emboss_context): Simplify matrix manipulation
now that cairo exposes the cairo_matrix_t structure.
* gdk/gdkpixbuf-render.c: (gdk_pixbuf_set_as_cairo_source): Track
cairo API change in signedness of data argument.
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-07 Matthias Clasen <mclasen@redhat.com>
* gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region):
Ignore regions which fall completely outside the line.
(#165862, Felipe Heidrich)
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)
2005-04-05 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkvisual-win32.c (_gdk_visual_init): Handle 16 colour
display mode. For some reason, in this mode GetDeviceCaps(BITSPIXEL)
returns 1 (but GetDeviceCaps(NUMCOLORS) does return 16). (#143415)
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-30 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix event
filter handling. If an event filter (global, client message
filter, of window-specific) returns GDK_FILTER_CONTINUE,
continue as if nothing happened. If it returns
GDK_FILTER_REMOVE or GDK_FILTER_TRANSLATE, return TRUE from
gdk_event_translate() which means that DefWindowProc() will
not be called.
(gdk_event_translate): Fix client message handling. Append a
GDK_CLIENT_EVENT unless there is a filter that matches and returns
something other than GDK_FILTER_CONTINUE. (#135552)
2005-03-30 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkevents-win32.c (build_pointer_event_state): The
state field should represent the state before the event, like on
X11. (#169753)
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)
Mon Mar 28 15:13:42 2005 Søren Sandmann <sandmann@redhat.com>
* gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Don't
invalidate areas that are covered by mapped input-output child
windows. Bug 141380.
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-27 Tor Lillqvist <tml@novell.com>
* configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
after all, and in fact necessary with HEAD libtool.
2005-03-24 Tor Lillqvist <tml@novell.com>
* configure.in (GTK_EXTRA_CFLAGS): Include the -mms-bitfields flag
in GTK_EXTRA_CFLAGS on Win32, so that it gets included in the
gtk+-2.0.pc file and automatically used by dependents. MSVC users
who use pkg-config will have to manually edit it out from
gtk+-2.0.pc, sorry. Maybe pkg-config should be enhanced to support
some kind of conditionals in .pc files?
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.