2006-03-11 Dom Lachowicz <cinamod@hotmail.com>
* modules/engines/ms-windows: Speed up the Windows theme
considerably (#163724, John Ehresman)
Be more careful about setting Pango font descriptions (#333372)
2006-03-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkrange.c: Add a style property ::activate_slider that
allows themes to draw the slider active while dragged. (#311992,
Benjamin Berg)
* gtk/gtkcolorsel.c (gtk_color_selection_init): Fix two labels.
2006-03-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaboutdialog.c (gtk_show_about_dialog): Make the behaviour
of the about dialog consistent with other dialogs in gtk. If the
dialog is constructed with gtk_about_dialog_new(), the creator
is reponsible for handling the response by hiding or closing the
dialog. gtk_show_about_dialog() handles it by hiding the dialog.
(#333360, Daniel Drake)
* README.in: Mention this change.
2006-03-10 Matthias Clasen <mclasen@redhat.com>
Apply a patch from Dennis Cranston to make dialogs more
consistent (#163850)
* gtk/gtkcolorsel.c (make_label_spinbutton): Left-align labels.
* gtk/gtkfontsel.c (gtk_font_selection_init):
* gtk/gtkfontsel.c (gtk_font_selection_dialog_init):
* gtk/gtkcolorsel.c (gtk_color_selection_init):
* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init):
* gtk/gtkinputdialog.c (gtk_input_dialog_init): Update the layout
of the dialog to follow HIG recommendations. Also update labels.
* gtk/gtkmessagedialog.c (gtk_message_dialog_init): HIG-compatible
spacing.
(gtk_message_dialog_font_size_change): Merged into
gtk_message_dialog_style_set.
2006-03-10 Federico Mena Quintero <federico@novell.com>
Make Shift-P and Shift-N activate typeahead in GtkTreeView
(i.e. they are just normal capital letters). Fixes bug #334098.
* gtk/gtktreeview.c (gtk_tree_view_add_move_binding): Add an
"add_shifted_binding" argument which determines whether we'll add
the same binding with GDK_SHIFT_MASK.
(gtk_tree_view_class_init): Use add_shifted_binding=FALSE for GDK_p
and GDK_n; use TRUE for all the rest.
2006-03-10 Michael Natterer <mitch@gimp.org>
* gtk/gtkentry.[ch]: applied refactored patch from maemo-gtk that
replaces the INNER_BORDER define by an "inner-border" style
property of type GtkBorder. Additionally, add an "inner-border"
object property plus API which allows to override any theme
border, to allow pixel-perfect positioning of entries for inline
editing. Fixes bug #333922.
* gtk/gtk.symbols: add the new public functions.
2006-03-09 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_class_init): Replace the
popup-show and popup-hide signals with a readonle popup-shown
property. (#162531, Christian Persch)
2006-03-09 Ross Burton <ross@openedhand.com>
* gtk/gtkwidget.c:
* gtk/gtkrange.c:
* gtk/gtktogglebutton.c:
Turn off prelighting when gtk-touchscreen-mode is enabled (#135666)
Thu Mar 9 14:29:43 2006 Tim Janik <timj@gtk.org>
* gtk/gtkobject.c (gtk_object_init): move the floating flag from
the GInitiallyUnowned bit to GTK_FLOATING. fixes tests/floatingcheck.
kudos to mitch for debugging this.
2006-03-08 Carlos Garnacho <carlosg@gnome.org>
Rename ::tab-added and ::tab-removed signals to ::page-added and
::page-removed for not conflicting with other tab reordering
implementations. Fixes bug #333743.
Also rename ::tab-reordered to ::page-reordered, and emit it in
gtk_notebook_reorder_child () to make it behave consistently with the
other two signals.
* gtk/gtknotebook.c (gtk_notebook_class_init): rename signals.
(gtk_notebook_reorder_tab)
(gtk_notebook_button_release)
(gtk_notebook_remove)
(gtk_notebook_real_insert_page): emit respectively renamed signals
(gtk_notebook_reorder_child): also emit ::page-reordered here
* tests/testnotebookdnd.c: use renamed signals
2006-03-08 Michael Natterer <mitch@imendio.com>
* gtk/gtkentry.c (gtk_entry_adjust_scroll): make sure that the
text_area_width is always >= 0. Fixes bug #316712 (Dan Winship).
2006-03-07 Federico Mena Quintero <federico@novell.com>
Cancel drags when the grabs get broken. Fixes bug #333056:
* gtk/gtkdnd.c (gtk_drag_selection_received): The time argument is
a guint, not guint32.
(gtk_drag_source_event_cb): Return gboolean, not gint.
(gtk_drag_anim_timeout): Likewise.
(gtk_drag_motion_cb): Likewise.
(gtk_drag_key_cb): Likewise.
(gtk_drag_button_release_cb): Likewise.
(gtk_drag_abort_timeout): Likewise.
(gtk_drag_begin_internal): Connect to "grab-broken-event" on the
ipc_widget.
(gtk_drag_source_info_destroy): Disconnect from the
"grab-broken-event" callback.
(gtk_drag_end): Likewise.
(gtk_drag_grab_broken_event_cb): New callback. We cancel the drag
if the grab was broken and not regrabbed by the DnD code.
2006-03-07 Federico Mena Quintero <federico@novell.com>
* gtk/gtkfilechooserdefault.c (shortcuts_button_press_event_cb):
Hack to let the treeview's button-press-event handler run before
ours. This lets the selection be updated before we pop up a
context menu.
Tue Mar 7 17:16:34 2006 Tim Janik <timj@gtk.org>
* configure.in: depend on glib-2.10.1.
* gtk/gtkobject.c: fixed up messing with non-GtkObject floating flags.
this requires glib-2.10.1.
2006-03-07 Michael Natterer <mitch@imendio.com>
Add infrastructure for copy/paste and DND of rich text for
GtkTextBuffer. Fixes bug #324177.
* gtk/gtktextbufferrichtext.[ch]: new files implementing a
per-buffer registry of rich text formats.
* gtk/gtk.h: #include gtktextbufferrichtext.h
* gtk/gtktextbufferserialize.[ch]: new files implementing an
internal serialization format that can handle all of a text
buffer's tags and pixbufs. It's not useful for anything except
tranfer between instances of GtkTextBuffer (Anders Carlsson).
* gtk/Makefile.am: build the new files.
* gtk/gtkclipboard.[ch]: added convenience APIs for rich text,
just as they exist for plain text and pixbufs.
* gtk/gtkselection.[ch]: added rich text convenience APIs here
too. Return the target list from gtk_target_list_ref(). Register
GtkTargetList as boxed type. Added
gtk_target_table_new_from_list() and gtk_target_table_free(),
which make converting between GtkTargetList and arrays of
GtkTargetEntry considerably easier.
* gtk/gtktextutil.[ch]: added _gtk_text_util_create_rich_drag_icon()
which creates a fancy rich text icon (Matthias Clasen).
* gtk/gtktextbuffer.[ch]: use all the new stuff above and
implement copy and paste of rich text. Added APIs for getting the
target lists used for copy and paste. Added public enum
GtkTextBufferTargetInfo which contains the "info" IDs associated
with the entries of the target lists.
* gtk/gtktextview.c: use the new rich text APIs and
GtkTextBuffer's new target list API to enable DND of rich text
chunks.
* gtk/gtk.symbols: export all the new symbols added.
* tests/testtext.c: added rich text testing stuff.
2006-03-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (text_window_invalidate_cursors): Take
cursor width into account when calculating the area to
be invalidated. (#333377, #323401 Steve Frécinaux)
2006-03-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmain.c (post_parse_hook): Set error when returning
FALSE. (#333268, Paolo Maggi, Christian Persch)
2006-03-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c (adjust_wrap_width): Apply some
arbitrary lower limit for the guessed wrap width. (#332466,
Donald Straney)
2006-03-04 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkinput-x11 (gdk_input_translate_coordinates):
Adjust the handling of min values for the x and y axes of
extended input devices (#324562, #142536, Denis Auroux and
Robert Ögren)
2006-03-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkexpander.c (gtk_expander_paint_focus): Position
the focus rectangle correctly in RTL mode. (#333291,
Benjamin Berg)
2006-03-03 Michael Natterer <mitch@imendio.com>
Applied modified patch from maemo-gtk which makes separators more
themeable. Fixes bug #332022.
* gtk/gtkwidget.c: added style properties "wide-separators",
"separator-width" and "separator-height".
* gtk/gtkhseparator.c
* gtk/gtkvseparator.c
* gtk/gtkmenuitem.c
* gtk/gtktoolbar.c: honor the new settings and paint separators
using gtk_paint_box() if wide-separators is true.
2006-03-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c (gtk_icon_view_layout)
(gtk_icon_view_row_inserted, gtk_icon_view_scroll_to_path):
Make scroll_to_path work for newly inserted items, by delaying
the scroll until layout is done. (#332923, Cory Dodt)
2006-03-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcolorbutton.c (render): Use GTK_WIDGET_IS_SENSITIVE,
not GTK_WIDGET_SENSITIVE. (#333133, Christian Persch)
2006-03-01 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreeselection.c (row_is_selectable): rename to
_gtk_tree_selection_row_is_selectable and export internally,
(gtk_tree_selection_real_select_node): changed so it is always
possible to unselect insensitive nodes, changed the logic a bit to
be more clear.
* gtk/gtktreeprivate.h: add _gtk_tree_selection_row_is_selectable.
* gtk/gtktreeview.c (gtk_tree_view_row_changed): Unselect a row if
it became insensitive.
2006-02-27 Federico Mena Quintero <federico@novell.com>
* gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Check that
the fontsel has a screen assigned before doing anything. This
will at least warn the caller of what is wrong, since we only
populate the family_list until we get a screen. Also, put the
reference docs here. Fixes bug #332756.
(gtk_font_selection_dialog_get_font_name): Document this here.
(gtk_font_selection_get_font_name): Document this here; mention
that the font names get normalized, so the result of this function
may not be the same as what you set with
gtk_font_selection_set_font_name().
2006-02-27 Michael Natterer <mitch@imendio.com>
* gdk/x11/gdksettings.c: map "gtk-touchscreen-mode" to the
"Gtk/TouchscreenMode" XSettings property, remove trailing
whitespace.
* gdk/x11/checksettings.c: #include <string.h> and sprinkled some
newlines.
Mon Feb 27 14:52:50 2006 Tim Janik <timj@imendio.com>
* gdkevents-x11.c:
* gdksettings.c: moved and renamed the gdk_settings_names and
gdk_settings_map.
* gdk/x11/checksettings.c: test program for the gdk_settings_map array.
* gdk/x11/Makefile.am: run checksettings as part of make check.
2006-02-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkdnd.c (gtk_drag_get_cursor): Comment out some unused
code, and fix the reference point of composited drag cursors.
(#320132, Christian Neumair)
Sat Feb 25 10:35:23 PST 2006 Michael Emmel <mike.emmel@gmail.com>
*gdk/directfb/gdkdisplay-directfb.c
*gdk/directfb/gdkwindow-directfb.c
Added stubs for shape window functions to fix compile problems
2006-02-24 Federico Mena Quintero <federico@novell.com>
* gtk/gtkfilechooserdefault.c (shortcuts_list_create): Make the
column header visible, and make it be "_Places". Changed the
accessible object name to Places as well. Fixes bug #331306.
(file_pane_create): Do not create the path bar and "create folder"
button here...
(browse_widgets_create): ... but create them here instead. This
moves the path bar to be above both the hpaned, giving it the full
width of the dialog. Fixes bug #327733.
Thu Feb 23 13:28:21 2006 Tim Janik <timj@imendio.com>
* gdk/x11/gdkim-x11.c (_gdk_x11_initialize_locale): remove unconditional
warnings about missing X locale support. Gdk properly handles this
situation anyway.
Fri Feb 17 14:20:29 2006 Tim Janik <timj@imendio.com>
* gtk/gtktreemodel.h:
* gtk/gtktextbtree.h: added G_GNUC_WARN_UNUSED_RESULT warnings for
iterator functions, to avoid invalid iterators go unnoticed,
suggested by Markku Vire <markku.vire@movial.fi>.
2006-02-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.h: Add a reorder_tab keynav signal and an
insert_page vfunc to GtkNotebook.
* gtk/gtk.symbols:
* gtk/gtknotebook.c: Support notebook DND. New API includes
gtk_notebook_set_window_creation_hook,
gtk_notebook_[gs]et_group_id,
gtk_notebook_[gs]et_tab_reorderable,
gtk_notebook_[gs]et_tab_detachable (#73240, Carlos Garnacho)
2006-02-22 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkradiobutton.c (gtk_radio_button_clicked): Emit notify::active
here, when changing the value of this property. (#331651)
2006-02-22 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaboutdialog.c: Change Close buttons to GTK_RESPONSE_CANCEL
so Escape works. (#331940, Daniel Drake)
2006-02-22 Michael Natterer <mitch@imendio.com>
* gtk/gtksettings.c: added boolean property gtk-touchscreen-mode,
which essentially means "there are no motion notify events", so
widgets can't use the pointer hovering them for anything.
* gtk/gtkmenu.c: if gtk-touchscreen-mode is TRUE, scroll menus
when clicking the scroll arrows, since hovering goes undetected.
Fixes bug #323028.
Added boolean style property "double-arrows" which always makes
both scroll arrows visible when the menu is too long.
For pushed-in popup menus, both arrows are always shown
(regardless of double-arrows), in order to fix user confusion
about the blank area. Fixes bug #129463.
2006-02-21 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_rows_reordered):
Make sure we always update the virtual root, also when ->priv->root
is still NULL. (Markku Vire)
2006-02-21 Anders Carlsson <andersca@imendio.com>
* gdk/quartz/gdkselection-quartz.c:
(make_list):
(gdk_text_property_to_utf8_list_for_display):
Add these from the win32 backend.
2006-02-20 Matthias Clasen <mclasen@redhat.com>
* gdk/gdkgc.c (_gdk_gc_update_context): Obtain the
background color from the gc when it is needed. (#331820)
2006-02-19 Matthias Clasen <mclasen@redhat.com>
* gdk/gdkgc.c (_gdk_gc_update_context): Add a gc_changed
argument, and avoid setting the clip region if the gc
has not changed.
* gdk/gdkgc.c: Update all callers.
* gdk/gdkpango.c (get_cairo_context): Avoid updating the
context if nothing changed.
2006-02-20 Anders Carlsson <andersca@mac.com>
* gdk/quartz/gdkevents-quartz.c:
(get_keyboard_modifiers_from_nsevent):
Fix typo so ctrl gets passed on to the gdk event.
* gdk/quartz/gdkproperty-quartz.c:
(gdk_atom_name):
g_strdup the atom name.
2006-02-20 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkwindow-win32.c (do_shape_combine_region): New
function. Factor out code from gdk_window_shape_combine_mask().
(gdk_window_shape_combine_region): Actually do something. Convert
region to a HRGN and call do_shape_combine_region().
(gdk_window_input_shape_combine_mask)
(gdk_window_input_shape_combine_region)
(gdk_window_set_child_input_shapes)
(gdk_window_merge_child_input_shapes): New functions, dummy
implementations.
2006-02-20 Michael Natterer <mitch@imendio.com>
* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): adding boolean
have_shapes and have_input_shapes members fixes the build.
2006-02-19 Matthias Clasen <mclasen@redhat.com>
Support input shapes: (#331070)
* gdk/gdk.symbols:
* gdk/gdkdisplay.h:
* gdk/gdkwindow.h:
* gdk/x11/gdkdisplay-x11.c (gdk_display_supports_shapes)
(gdk_display_supports_input_shapes): Functions to determine
if a display supports shaped windows or input shapes.
* gdk/x11/gdkwindow-x11.c (gdk_window_input_shape_combine_region):
(gdk_window_input_shape_combine_mask):
(gdk_window_set_child_input_shapes):
(gdk_window_merge_child_input_shapes): Input shape versions
of the window shape API.
* gtk/gtk.symbols:
* gtk/gtkwidget.h:
* gtk/gtkwidget.c (gtk_widget_input_shape_combine_mask):
New function to set an input shape on a widget.
2006-02-17 Matthias Clasen <mclasen@redhat.com>
DND keynav support:
* gtk/gtkdnd.c (gtk_drag_update_idle): Protect against
info->last_event being NULL.
(gtk_drag_key_cb): Handle arrow keys to move the drag icon
and space or enter to drop.
2006-02-17 Matthias Clasen <mclasen@redhat.com>
* gdk/gdkregion-generic.c (gdk_region_union_with_rect):
Be robust and reject rectangles with negative width or
height. (#331467, Benjamin Berg)
2006-02-17 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_rows_reordered):
Only update the virtual root if the child path is an ancestor
of the virtual root. (Patch from Markku Vire).
2006-02-16 Federico Mena Quintero <federico@novell.com>
* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_map): Call
::initial_focus() on the child before calling ::map() on our
parent class. This will prevent the shortcuts treeview from
highlighting its first row as a result of getting assigned focus
by gtk_dialog_map().
2006-02-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.c (gtk_icon_theme_list_icons): Give working
examples in the docs. (#330944, John Spray)
2006-02-09 Ross Burton <ross@burtonini.com>
* gtk/gtkfontbutton.c:
Work out the font size in floating point, and display the font
size with %g instead of %d (#317590)
2006-02-09 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkevents-win32.c (gdk_event_translate)
<WM_MOUSELEAVE>: If we don't know where we went, and have
generated a leave event, set current_window to the root
window. This assures we will generate proper enter and leave
events for popup windows. (#325521)
2006-02-08 John Ehresman <jpe@wingware.com>
* gdk/win32/gdkwindow-win32.c: Let gdk_window_set_decorations()
take precedence over anything derived from hints. Restructure
related code and logic, add some new helper functions. (#327217)
2006-02-08 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkevents-win32.c (gdk_pointer_grab)
(gdk_display_pointer_ungrab, gdk_keyboard_grab)
(gdk_display_keyboard_ungrab): Consistenly use assign_object()
when assigning GdkWindow pointers so that the ref counting doesn't
get off whack.
(handle_stuff_while_moving_or_resizing): Don't use deprecated API.
(gdk_event_translate) <WM_MOUSEMOVE>: When the pointer is grabbed
with owner_events FALSE, generate enter and leave events only for
the grab window. (#321054)
2006-02-08 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_ref_path),
(gtk_tree_model_filter_unref_path): free temporary paths after
usage (patch from maemo-gtk),
(gtk_tree_model_filter_clear_cache): fix little typo in the docs
(patch from maemo-gtk).
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): remove
stale FIXME.
2006-02-03 Federico Mena Quintero <federico@ximian.com>
Work around https://bugs.freedesktop.org/show_bug.cgi?id=4320,
which used to be our own
http://bugzilla.gnome.org/show_bug.cgi?id=314616. If one uses a
pixmap for a pattern in Cairo, and sets the pattern to
CAIRO_EXTEND_REPEAT; and if the destination surface is also a
pixmap, Cairo does a slow copy instead of using XCopyArea(). So,
we use the same code that we used in GTK+ 2.6 (pre-cairo), by
filling the double-buffer pixmap with a tiled GC and
XFillRectangle().
* gdk/gdkwindow.c (BackingRectMethod): New structure with a
cairo_t and a GdkGC field. Depending on which of these fields
gets filled in, we'll use Cairo or GDK to clear the double-buffer
pixmap when painting a window.
(setup_backing_rect_method): Fill a BackingRectMethod as
appropriate, depending on the window's configuration and our
knowledge of whether Cairo is fast or slow when doing repeating
patterns.
(gdk_window_clear_backing_rect): Call
setup_backing_rect_method(). Depending on what it returns, use
Cairo to clear the double-buffer pixmap, or plain GDK.
2006-02-02 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display):
Make drops on the root window work again. (#145243, Andrew S. Dixon)
2006-01-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
Make sure the tree view is realized, since we grab the
focus to it. (#329144, Wouter Bolsterlee)
2006-01-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_set_property):
Use the setter for active. (#329208, Guillaume Cottenceau)
2006-01-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkassistant.c (gtk_assistant_init): Move the
last button to the left where it does not affect
the positioning of forward/back.
2006-01-28 Behdad Esfahbod <behdad@gnome.org>
* configure.in: If major.minor of required and available glib versions
are the same, add -DG_DISABLE_DEPRECATED to GLIB_CFLAGS. (bug #328617)
* */Makefile.am: Remove hardcoded -DG_DISABLE_DEPRECATED.
2006-01-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtklinkbutton.h:
* gtk/gtklinkbutton.c: Allow to set a global hook function
thats called whenever a link button is clicked.
2006-01-28 Matthias Clasen <mclasen@redhat.com>
More work on GtkAssistant by Carlos Garnacho:
* demos/gtk-demo/Makefile.am:
* demos/gtk-demo/assistant.c: Add a GtkAssistant demo.
* gtk/gtkassistant.c: Handle focus, several small fixes to the
flow computations.
2006-01-27 Federico Mena Quintero <federico@ximian.com>
Fixes bug #328820:
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_class_init): Make GDK_KP_Divide pop up
the location dialog populated to "/".
(tree_view_keybinding_cb): Likewise.
(trap_activate_cb): Likewise.
2006-01-25 Behdad Esfahbod <behdad@gnome.org>
* gtk/gtkcalendar.c (calendar_paint_week_numbers, calendar_paint_day):
Use translated strings calendar:week:digits|%d and
calendar:day:digits|%d to let translators choose localized digits for
week and day numbers. (bug #317171, Hamed Malek)
2006-01-25 Behdad Esfahbod <behdad@gnome.org>
* gtk/gtklabel.c (get_layout_location): Use logical extents of the
layout instead of ink extents. According to Pango docs, that's what
should be used for placement. Moreover, simply use
pango_layout_get_pixel_size instead of getting the extents and
dividing ourselves.
2006-01-25 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme): Only
set the cursor size if it is != 0.
* gtk/gtksettings.c (gtk_settings_class_init): Change the default value
of gtk-cursor-theme-size to 0, meaning "use default".
2006-01-24 Kristian Rietveld <kris@gtk.org>
#322591, Jonathan Blandford.
* gtk/gtktreeview.[ch] (gtk_tree_view_get_search_entry),
(gtk_tree_view_set_search_entry),
(gtk_tree_view_get_search_position_func),
(gtk_tree_view_set_search_position_func): New functions,
and small adaptions to the tree view code to allow for setting
the entry and search position function.
* gtk/gtktreeprivate.h: Removed GtkTreeViewSearchDialogPositionFunc
typedef, which is now in gtktreeview.h as
GtkTreeViewSearchPositionFunc. Add/update fields.
* gtk/gtk.symbols: Add new functions.
* tests/testtreesort.c: Add a little test for _set_search_entry().
2006-01-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwidget.c: Add link-color and visited-link-color style
properties. (#113649, Leena Gunda)
* gtk/gtkaboutdialog.c: Use the new style properties here instead
of the about dialogs own link-color property.
2006-01-23 Behdad Esfahbod <behdad@gnome.org>
* gtk/gtklabel.c (get_layout_location): Fix misalignment of RTL
text in ellipsized GtkLabel: use layout width if set, otherwise
fallback to ink extents width. (#322042)
2006-01-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkassistant.c (compute_last_button_state): Only show the
last button if we can jump to the end.
(gtk_assistant_init): Make the spacing and button order more
HIG compliant.
2006-01-23 Michael Natterer <mitch@imendio.com>
* gtk/gtkcolorbutton.c: move destruction of the private GdkGC
from finalize() to unrealize(). Fixes BadMatch on display change
(bug #85715).
2006-01-22 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_bin_expose): Revert previous
commit after more searching in the bugzilla archives (see #309221).
2006-01-22 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_bin_expose): Remove second call
to gtk_tree_view_column_cell_set_cell_data, since we also set the
cell data before iterating over the columns for exposure. (Fixes
#322471, Duncan Coutts).
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_class_init,
tree_view_keybinding_cb, trap_activate_cb): On "unix", pop up the
"Open Location" window on "~" as well as "/". #153213
(location_entry_create): Fix this so autocompletion still works
correctly in that case.
(ok'ed by federico)
2006-01-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkassistant.[hc]: Use a priv pointer for
cheap access to the priv struct. (#327725, Christian
Persch)
2006-01-18 Anders Carlsson <andersca@imendio.com>
* gdk/quartz/gdkevents-quartz.c:
(get_mm_from_pixels):
(gdk_screen_get_width_mm):
(gdk_screen_get_height_mm):
Implement these functions.
(#327228, Thomas Broyer).
2006-01-18 Anders Carlsson <andersca@imendio.com>
* gdk/quartz/gdkdrawable-quartz.c:
(gdk_quartz_draw_polygon):
(gdk_quartz_draw_lines):
Implement these functions.
(#327226, Thomas Broyer)
2006-01-18 Anders Carlsson <andersca@imendio.com>
* gdk/quartz/gdkkeys-quartz.c:
(maybe_update_keymap):
Support non-MacRoman keyboard layouts.
(#322585, Wolfgang Thaller)
2006-01-18 Anders Carlsson <andersca@imendio.com>
* gdk/quartz/gdkmain-quartz.c:
(_gdk_windowing_init):
Make the process a foreground application.
(#322481, Wolfgang Thaller)
2006-01-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkrbtree.c:
* gtk/gtktreemodel.c: Fix several g_new() calls which
were using extra indirections or pointless casts.
(#327423, Morten Welinder)
Tue Jan 17 19:27:59 2006 Tim Janik <timj@imendio.com>
* gtk/gtkprogress.c: fix adopted from maemo-gtk.
gtk_progress_create_pixmap(): clear out the newly created offscreen
pixmap, so themes making use of transparency don't draw onto garbage.
2006-01-17 Michael Natterer <mitch@imendio.com>
* gtk/gtkbutton.c: remove the "child-spacing" style property again
and add "inner-border" instead. That's far more flexible and
"child-spacing" was a bad name anyway.
2006-01-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkradioaction.[hc]: Add a current-value property and a
setter for it. (#322735, Jorn Baayen)
2006-01-16 Michael Natterer <mitch@imendio.com>
* gtk/gtkbutton.c: applied patch from maemo-gtk which adds a
child-spacing style property. Fixes bug #327202.
2006-01-15 Kristian Rietveld <kris@gtk.org>
Fixes#324099, Tommi Komulainen.
* gtk/gtktreestore.[ch] (gtk_tree_store_insert_with_values),
(gtk_tree_store_insert_with_valuesv): new functions, analog to
those found in GtkListStore.
* gtk/gtktreestore.c (gtk_tree_store_real_set_value),
(gtk_tree_store_set_valist), (gtk_tree_store_set_valist_internal),
(gtk_tree_store_sort_iter_changed): refactored.
* gtk/gtk.symbols: updated.
* tests/treestoretest.c: added a test for this new functionality.
2006-01-14 Matthias Clasen <mclasen@redhat.com>
Fix a crash with combo boxes in RESIZE_IMMEDIATE
containers. (#326806, Sebastian Bacher)
* gtk/gtkcombobox.c (gtk_combo_box_size_allocate)
(gtk_combo_box_size_request): Don't call
gtk_combo_box_check_appearance() from here, as that
can lead to recursion.
(gtk_combo_box_init): Instead, call it here.
2006-01-14 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_iter_children): fix
a typo which caused this whole thing to not function ...
2006-01-14 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate),
(validate_visible_area): fixup adjustments and top_row if the
current dy + page_size exceeds the new tree view height. (Fixes
#316689, reported by Chris Lord).
2006-01-13 Kristian Rietveld <kris@imendio.com>
* tests/testtreefocus.c (set_indicator_size), (main): add a little
test for the newly introduced indicator-size property.
2006-01-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_init):
initialize the inconsistent field in the private structure,
(gtk_cell_renderer_toggle_class_init),
(gtk_cell_renderer_toggle_{set,get}_property),
(gtk_cell_renderer_toggle_get_size): introduce a indicator-size
property.
2006-01-13 Michael Natterer <mitch@imendio.com>
* gtk/gtktreeview.c (gtk_tree_view_real_expand_row)
(gtk_tree_view_real_collapse_row): don't animate the expander
arrows if gtk-enable-animations is FALSE (bug #142582).
2006-01-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c: Replace hardcoded values for tab-overlap and
tab-curvature with style properties. (#325282, Alexander Nedotsukov)
2006-01-12 Michael Natterer <mitch@imendio.com>
* gdk/gdkimage.c (scratch_image_info_for_depth): connect to the
display's "closed" signal and free the cached scratch images upon
display closing (bug #85715).
2006-01-12 Michael Natterer <mitch@imendio.com>
* gtk/gtkexpander.c (gtk_expander_set_expanded): skip the
animation if the gtk-enable-animations setting is FALSE
(bug #142582).
* gtk/gtkmessagedialog.c: Add properties. (#311254,
Johan Dahlin)
(gtk_message_dialog_new): Remove some redundant code, pointed
out by Gustavo Carneiro.
2006-01-11 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkwindow-x11.c (create_moveresize_window): Clean
up properly if the grab fails.
(finish_drag): Don't leak a reference to moveresize_window
here.
2006-01-11 Matthias Clasen <mclasen@redhat.com>
Allow falling back to another icon theme before
hicolor. (#325546, Rodney Dawes)
* gtk/gtksettings.c: Add a gtk-fallback-icon-theme setting.
* gdk/x11/gdkevents-x11.c: Map it to the XSetting Net/FallbackIconTheme.
* gtk/gtkicontheme.c: Consult the fallback icon theme before
looking in hicolor.
2006-01-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcalendar.c (gtk_calendar_focus_out): Queue a draw
when losing the focus. (#326064, Andrew Conkling)
2006-01-10 Michael Natterer <mitch@imendio.com>
* gdk/gdkpango.c (on_renderer_display_closed): disconnect from the
right object ("closed" is emitted by the display, not the screen).
(bug #85715)
2006-01-09 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (paste_received): Make GtkEntryCompletion
complete on pastes at the end. (#165714, Christian Neumair)
2006-01-09 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup):
Prevent the first row being focused on map. (#137351,
Niklas Knutsson)
* gtk/gtk.symbols:
* gtk/gtkeditable.h:
* gtk/gtksizegroup.c: (gtk_size_group_get_widgets):
* gtk/gtksizegroup.h:
(struct _GtkSizeGroup):
Add gtk_size_group_get_widgets, fixes#326324.
Also mark all fields of GtkSizeGroup as private
2006-01-09 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkaction.h:
* gtk/gtkaction.c (gtk_widget_get_action): New function to
get the action for a proxy. (#326288)
2006-01-09 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaction.c: Go back to the old key for attaching the
action to the proxy. (#326288, Diego González)
2006-01-08 Matthias Clasen <mclasen@redhat.com>
* gdk/gdkregion-generic.c (miRegionCopy): Fix this for the
single-rectangle case. (#326127, Benjamin Berg)
(gdk_region_copy): Use miRegionCopy() here.
2006-01-07 Matthias Clasen <mclasen@redhat.com>
Fix actiongroup-action interaction that relied on
actions connecting to notify on themselves:
* gtk/gtkaction.[hc]: Factor out the code updating the
visibility/sensitivity of proxies into _gtk_action_sync_visible()
and _gtk_action_sync_sensible().
* gtk/gtkactiongroup.c: Call the new functions when the
group visibility/sensitivity changes.
2006-01-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c (model_add_special): Just use the
directory name for the home dir. (#325817, Federico Mena Quintero)
2006-01-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktexttag.c (gtk_text_attributes_new): Initialize editable to
TRUE.
(gtk_text_tag_class_init): The default value for the direction property
is GTK_TEXT_DIR_NONE. Add notes about the initial values of the
font and language properties.
2006-01-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkviewport.c (viewport_set_adjustment): Disconnect from
the old adjustments signals. (#325869, Jorn Baayen)
2006-01-06 Hans Breuer <hans@breuer.org>
* tests/makefile.msc : added a bunch of tests
* tests/testcellrenderertext.c : use g_snprintf()
* tests/testfilechooserbutton.c : don't include unistd.h twice.
Removed the unconditional one and added direct.h for G_OS_WIN32
2006-01-05 Hans Breuer <hans@breuer.org>
* gdk/makefile.msc : also recurse into win32 for ::clean
* gtk/makefile.msc.in : create gtkbuiltincache.h (most code
to simulate links) and file renames
2006-01-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c: Only connect to the event if we have
a frame, since the handler is only relevant in that case.
2006-01-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaction.c (connect_proxy): Use a weak reference rather
than the destroy signal to track proxies going away.
2006-01-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkbindings.h (struct _GtkBindingSignal): Revert questionable
changes.
* gtk/gtkbindings.c: Use the slice allocator and allocate signal
and arguments in one block.
2006-01-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (gtk_ui_manager_get_toplevels): Don't return
a list of NULLs. (#325723, Steve Chaplin)
2006-01-04 Michael Natterer <mitch@imendio.com>
* gtk/gtkmenutoolbutton.c
(gtk_menu_tool_button_set_menu)
(gtk_menu_tool_button_destroy): use gtk_menu_attach_to_widget()
and gtk_menu_detach() instead of reffing/unreffing the menu
manually. Also fixes brokenness on screen change (bug #85715).
2006-01-02 Anders Carlsson <andersca@imendio.com>
* gdk/quartz/GdkQuartzWindow.c:
(-[GdkQuartzWindow canBecomeMainWindow]):
(-[GdkQuartzWindow canBecomeKeyWindow]):
Have these return TRUE
* gdk/quartz/gdkevents-quartz.c:
(pointer_grab_internal):
Remove FIXME
(find_child_window_by_point_helper):
Fix bug in offset calculation
(find_window_for_event):
Use grab window toplevel when a grab is in effect
(gdk_event_translate):
Don't call _gdk_event_button_generate on mouse up
* gdk/quartz/gdkgc-quartz.c:
(_gdk_quartz_gc_new):
Fix indentation
* gdk/quartz/gdkwindow-quartz.c:
(gdk_window_new):
Make TEMP windows borderless
(gdk_window_hide):
Hide window
(gdk_window_get_origin):
Implement
2006-01-02 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkwindow-win32.c
(gdk_window_impl_win32_get_visible_region): Make identical to the
X11 implementation. (#322264, John Ehresman)
2006-01-02 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkgeometry-win32.c (gdk_window_scroll): Get the
invalidated region from ScrollWindowEx() instead of an incorrect
attempt to calculate it ourselves. Fix by John Ehresman. (#323666)
* gdkevents-win32.c: Make _gdk_win32_hrgn_to_region() non-static.
* gdkprivate-win32.h: Declare it.
2005-12-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmessagedialog.c (gtk_message_dialog_init):
(setup_type): Alert dialogs should not have titles and should
not be displayed in the taskbar. (#310443, Carlos Garnacho Parro,
Dennis Cranston)
2005-12-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkliststore.c:
* gtk/gtktreestore.c: Always call the get_path and get_iter
implementations directly, rather than the current mixture whith
some calls going through the GtkTreeModel interface.
2005-12-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkbindings.h (GtkBindingSignal):
* gtk/gtkbindings.c (binding_signal_new): Make the
args a flexible array inside the struct, and allocate them
together.
Wed Dec 28 00:45:46 2005 Tim Janik <timj@gtk.org>
* gtk/gtkctree.c (row_delete): delete GtkCTreeRow as GtkCTreeRow, not
clist rows which crashes in gslice later on.
2005-12-27 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilefilter.c (gtk_file_filter_filter): In the case for
FILTER_RULE_PIXBUF_FORMATS, check that filter_info->mime_type is
not NULL. Fixes bug #317687.
2005-12-26 Matthias Clasen <mclasen@redhat.com>
* README.in: Mention the stripping of (_F) suffixes.
* gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Strip a suffix of
the form " (_<single character>)", since this is the preferred way
for some languages to indicate accelerators. (#323956, Yang Hong)
2005-12-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtklabel.c (gtk_label_class_init): Add a gtk-label-select-on-focus
setting.
(gtk_label_grab_focus): And use it here to select the contents of
the label when appropriate.
(gtk_label_class_init): Use the same keybindings for select all/
unselect all as GtkEntry and GtkTextView.
* gtk/gtkdialog.c (gtk_dialog_map): When looking for the initial
focus, avoid leaving a selection in a label.
Thu Dec 22 16:01:27 2005 Tim Janik <timj@imendio.com>
* gtk/gtkobject.c: derive GtkObject from GUnowned,
so it initially has a floating reference count.
gtk_object_class_init(): installa floating flag handler with
libgobject, so for GtkObjects the flag is stored as GTK_FLOATING
in the ->flags member.
* tests/floatingtest.c: test floating flag uses.
2005-12-21 Matthias Clasen <mclasen@redhat.com>
* gdk/gdkregion-generic.c: Use the slice allocator
for regions. Still todo: avoid extra allocations for
the single-rectangle case.
2005-12-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksettings.c (gtk_settings_class_init): Update
class_n_properties after installing color-hash, since
other classes install settings, too.
* gtk/gtkctree.c:
* gtk/gtkclist.c: Fix some mistakes in the conversion
from mem chunks to slice allocator.
2005-12-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c (adjust_wrap_width): Adjust the
wrap-width also if an explicit item width is set.
(#322475, Alex Graveley)
2005-12-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c (gtk_icon_view_button_press): Reset
pressed_button to -1 after handling a double click, so that
motion events occurring between here and the release event
don't trigger DND. (#324588, Dave Andreoli)
2005-12-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksettings.[hc]: Rework the way the color scheme setting
is inherited. Now the overriding is done on a per-color basis,
rather than for the setting as a whole. This has the effect
that themes can declare defaults for all the symbolic colors they
use by specifying a value for the gtk-color-scheme setting in
their rc file, while still allowing the XSetting to override
"standard" symbolic colors. The hash table is now available
through the color-hash property.
* gtk/gtkrc.c: Use the new color-hash property.
2005-12-14 Rodney Dawes <dobey@novell.com>
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon):
Default to "drive-harddisk" and then fall back to gnome-dev-harddisk
(get_icon_for_mime_type): Look up the mime type icons according to the
Icon Naming Specification and then fall back to the gnome-mime- prefix
for the mime type icons
Fixes#323655
2005-12-14 Michael Natterer <mitch@imendio.com>
* gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load_lines): new
utility function which factors out massive code duplication from
the commit below.
2005-12-14 Michael Natterer <mitch@imendio.com>
* gdk-pixbuf/io-jpeg.c: applied patch from maemo-gtk which avoids
the allocation of an intermediate buffer for non-progressive
jpegs. Fixed bug #305894.
* tests/test-images/valid_jpeg_progressive_test: new test image so
we can test both loading code paths in io-jpeg.c
2005-12-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextiter.c (gtk_text_iter_set_visible_line_index):
Speed this function up, using the fact that visibility is
constant across segments. (#321548, Paolo Borelli)
2005-12-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.c (ensure_valid_themes): Only broadcast
_GTK_LOAD_ICONTHEMES if we detect a real theme change, not
upon initial theme load. (#323876, Peter Lund)
2005-12-12 Matthias Clasen <mclasen@redhat.com>
Make the gtk-color-scheme setting work.
* gtk/gtksettings.h:
* gtk/gtksettings.c (_gtk_settings_get_color_hash): Add a getter
that takes care of initializing the color hash if it is not
already there.
* gtk/gtkrc.c (gtk_rc_color_scheme_changed, gtk_rc_context_get):
And use it here.
2005-12-07 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_key_press): Use the correct
window when synthesizing the key event. (#323077,
Sadrul Habib Chowdhury)
(gtk_tree_view_search_key_press_event): Also listen for
GDK_ISO_Left_Tab. (#323077, Sadrul Habib Chowdhury)
2005-12-07 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_preedit_changed_handler):
Only scroll if we have focus. (#316310, Paolo Borelli)
2005-12-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimcontextsimple.c (gtk_im_context_simple_reset): Don't
commit from reset, it upstets GtkTextView.
* gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Be more
careful when turning blinking on and off.
(gtk_text_view_focus_out_event): Make the cursor really invisible
when the focus goes away. (#323087, Sadrul Habib Chowdhury)
(cursor_blinks): Check the gtk-cursor-blink setting first.
2005-12-05 Michael Natterer <mitch@imendio.com>
* gdk/x11/gdkevents-x11.c: map the new GtkSettings properties
"timeout-initial", "timeout-repeat", "color-scheme" and
"enable-enimations" to X settings.
2005-12-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_key_press): Free new_event
after sending it to the search entry. (#323209, Crispin Flowerday)
2005-12-02 Michael Natterer <mitch@imendio.com>
* gtk/gtkmenu.c: applied modified patch from maemo-gtk which
adds a "horizontal-padding" style property. Fixes bug #323036.
2005-12-01 Michael Natterer <mitch@imendio.com>
Merged modified patch from maemo-gtk that allows to disable
toolbar animations. Addresses bug #142582.
* gtk/gtksettings.c: added boolean property "gtk-enable-animations".
(patch from Christian Neumair)
* gtk/gtktoolbar.c: don't animate toolbar changes if the settings
property is FALSE. Replaced the individual "notify::foo"
connections to GtkSettings by a single "notify" callback and
dispatch internally.
2005-11-29 Matthias Clasen <mclasen@redhat.com>
Properly handle model changes in GtkTreeSelection: (#322569,
Milosz Derezynski)
* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
Get a reference to the model, and stop the iteration if the model
of the treeview is changed on the way.
* gtk/gtktreeprivate.h:
* gtk/gtktreeselection.c (_gtk_tree_selection_emit_changed): New
private function to emit the GtkTreeSelection::changed signal.
* gtk/gtktreeview.c (gtk_tree_view_set_model): Call
_gtk_tree_selection_emit_changed() when the model changes.
2005-11-28 Federico Mena Quintero <federico@ximian.com>
Fixes the critical warnings from bug #317999, thus fixing the bug
completely:
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_get_paths): In SELECT_FOLDER mode,
use _gtk_file_chooser_get_current_folder_path() instead of fetching the
impl->current_folder directly. The latter may be null if we are
in RELOAD_NONE state.
2005-11-28 Federico Mena Quintero <federico@ximian.com>
Fix bug #321560, based on a patch by Bogdan Nicula (bogdanni@hotmail.com):
* gtk/gtkfilechooserdefault.c (up_folder_handler): Don't add the
current_folder to the pending select paths here; the path bar will
give it to us now.
(path_bar_clicked): Add the child_path to the pending select paths
here.
(show_and_select_paths): Don't filter out folders.
(show_and_select_paths): Don't take separate arguments for
only_one_path and multiple paths.
* tests/autotestfilechooser.c (test_folder_switch_and_filters):
New test about preserving the filters when we change folders.
2005-11-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkscale.c (_gtk_scale_format_value): Insert an LRM, to prevent
-20 to come out as 20- in RTL locales. (#322571, Tze'ela Hebron)
2005-11-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c (update_text_cell, update_pixbuf_cell): Correctly
handle the cell list and indices into it. (#321856)
2005-11-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktooltips.c (gtk_tooltips_timeout): Set timer_tag to 0 when
the timeout is done. (#322291, Jean-Yves Lefort)
2005-11-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c (shortcuts_key_press_event_cb): Make
F2 work for renaming bookmarks. (#320822, Jaap A. Haitsma, patch
by Paolo Borelli)
2005-11-28 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkwindow-win32.c (gdk_window_set_urgency_hint):
Implement the conditional use of FlashWindowEx() properly for MSVC
compilations. The code was confusingly assuming that if compiled
with a "new" compiler, it will only be run on "new" Windows
versions. We want it to run on "old" versions, too, even if
compiled with a "new" compiler. There are two orthogonal issues:
whether the compiler defines the necessary API in its headers, and
whether it is present at run-time. (#318077)
2005-11-28 Tor Lillqvist <tml@novell.com>
* gtk/gtkcalendar.c (gtk_calendar_init): Use GetLocaleInfo() on
Windows to get the localized weekday and month names. strftime()
in the Microsoft C library returns strings in the default codepage
for the locale of the process, not the system codepage. Thus
g_locale_to_utf8() isn't useable on the return value from
strftime(). (#322603)
2005-11-27 Matthias Clasen <mclasen@redhat.com>
Fix two memory handling problems in GtkTreeView: (#322350,
Søren Sandmann)
* gtk/gtktreeview.c (gtk_tree_view_destroy)
(gtk_tree_view_set_model): Remove all references to nodes in
the old model.
(gtk_tree_view_real_collapse_row): Unmark expanded_collapsed_node
before removing the children.
2005-11-27 Tor Lillqvist <tml@novell.com>
Once again rework Win32 window decoration code. Doesn't break
#104514. The dialogs in gtk-demo now have the same decorations and
behaviour as on X11. Tried to fix#322516 but it seems very hard
to make the trivial sample program there behave as expected. OTOH,
simply moving the gtk_window_decorate() call in the #322516 sample
program after the call to gtk_widget_show() helps...
* gdk/win32/gdkwindow-win32.c (set_or_clear_style_bits): Revert to
the correct semantics. Each call to gdk_window_set_decorations()
which calls this function is supposed to affect all decorations.
(decorate_based_on_hints): New function, looks at both geometry
hints and type hint and sets window decorations based on
that. Consolidate code from gdk_window_set_geometry_hints() and
gdk_window_set_type_hint() here.
(gdk_window_set_geometry_hints, gdk_window_set_type_hint): Call
decorate_based_on_hints().
2005-11-24 Michael Natterer <mitch@imendio.com>
* gtk/gtktoolbar.h (struct _GtkToolbar): changed two private guint
that used to hold signal handler IDs to two guint of padding.
* gtk/gtktoolbar.c (struct _GtkToolbarPrivate): added them as
gulong here.
(gtk_toolbar_screen_changed): changed accordingly.
2005-11-23 Behdad Esfahbod <behdad@gnome.org>
* configure.in (enable_explicit_deps): Fix typo when checking
libtool config deplibs_check_method. Moreover, enable explicit
deps if we get anything other than pass_all from libtool. (part of
#318750)
2005-11-23 Matthias Clasen <mclasen@redhat.com>
* gtk/updateiconcache.c (write_csource): Don't create a big
string, since Visual C++ doesn't like strings longer than 64k.
(#322238, Kazuki IWAMOTO
2005-11-23 Michael Natterer <mitch@imendio.com>
* gtk/gtkrc.c (gtk_rc_reset_widgets): don't leak all toplevel
windows on other screens (correctly remove all temporary
references).
2005-11-23 Michael Natterer <mitch@imendio.com>
Added symbolic themable colors. Patch is a merged version of
proposals from Matthias and maemo-gtk. Fixes bug #114355.
* configure.in: require glib >= 2.9.1 for refcountable hashtables.
* gtk/gtksettings.c: added property "color-scheme" which is a
string defining colors like "foreground:black\nbackground:grey".
Automatically provide a name->GdkColor hash table mapping for the
color scheme.
* gtk/gtkrc.[ch]: added list of color hashes that works like the
list of icon factories. Append the color scheme hash from
GtkSettings if it exists. Extended gtkrc syntax to allow defining
and referencing of logical colors. Also allow to modulate colors
in gtkrc by using arbitrary expressions of mix(), shade(),
lighter() and darker(). Added internal function
_gtk_rc_style_get_color_hashes().
* gtk/gtkstyle.[ch]: keep a private list of color hashes around.
Get the list from _gtk_rc_style_get_color_hashes(). Export
internal function _gtk_style_shade() (used by above color
expressions). Added public API gtk_style_lookup_color() which
looks up a logical color by name.
* gtk/gtk.symbols: add gtk_style_lookup_color
* tests/testgtkrc: use symbolic colors for making
the scrollbars red.
2005-11-22 Michael Natterer <mitch@imendio.com>
Made button-press timeouts which work like key repeat timeouts
configurable. Addresses bug #142582:
* gtk/gtksettings.c: added properties "gtk-timeout-initial" and
"gtk-timeout-repeat" which defalt to 200/20 (ms).
Use the values from GtkSettings instead of hardcoding them
(the repeat value is either taken as-is for fast repeat or
multiplied by 5 for slow repeat). Changed all places to use these
two standard initial/repeat timings:
* gtk/gtkcalendar.c (unchanged 200/20)
* gtk/gtknotebook.c (unchanged 200/100)
* gtk/gtkpathbar.c (changed from 300/150 to 200/100)
* gtk/gtkrange.c (changed from 250/100 to 200/100)
* gtk/gtkspinbutton.c (unchanged 200/20)
2005-11-18 Matthias Clasen <mclasen@redhat.com>
Fix crashes in connection with pathbar scrolling (#321560,
Bogdan Nicula)
* gtk/gtkpathbar.c (gtk_path_bar_update_slider_buttons):
Stop scrolling when desensitising slider buttons.
(gtk_path_bar_scroll_timeout, gtk_path_bar_slider_button_press):
And use it here.
* gtk/gtkpathbar.h (struct _GtkPathBar): Add a separate
scrolling_down flag.
2005-11-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaction.c (disconnect_proxy): Disconnect the
sync callback for the visibility property. (#321761,
Philip Langdale)
2005-11-18 Matthias Clasen <mclasen@redhat.com>
Turn off input methods in invisible entries, since
they are confusing. (#317002, James Su)
* gtk/gtkentry.c (gtk_entry_set_visibility): Toggle input
methods if visibility changes.
(popup_targets_received): Don't show the input method
menu if the entry is invisible.
2005-11-16 Michael Natterer <mitch@imendio.com>
* gtk/gtkimage.c (animation_timeout): call
gtk_window_process_updates() so the animation keeps running even
if the main loop is busy with sources that eat a lot of cpu with
high priority. Fixes bug #321444.
(gtk_image_new_from_animation): document the fact that the
animation will stop running if the main loop is busy with sources
that have priorities higher than G_PRIORITY_DEFAULT.
* tests/testimage.c: added test case that shows an animation even
though a cpu-eating idle function is running.
2005-11-16 Michael Natterer <mitch@imendio.com>
* gdk/x11/gdkevents-x11.c (_gdk_events_uninit): new internal
function which destroys the display's event source. Also removes
the source from the global display_sources list and unrefs it.
* gdk/x11/gdkprivate-x11.h: declare the function.
* gdk/x11/gdkdisplay-x11.c (gdk_display_x11_dispose): call it
instead of half-destroying the source here.
2005-11-15 Michael Natterer <mitch@imendio.com>
* gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): destroy
display->xid_ht as late as possible (right before XCloseDisplay)
because it still needs to be around when the display's screens are
finalized. (#85715)
2005-11-12 Dom Lachowicz <cinamod@hotmail.com>
* modules/engines/ms-windows/msw_style.c: Bug #313627. Make win32
theme's handling of toolbars, handleboxes, and menubars more in-line
with Microsoft's IE style.
* modules/engines/ms-windows/*.c: Indentation cleanups
2005-11-12 Matthias Clasen <mclasen@redhat.com>
Make builtin icons work in gtk_window_set_icon_name()
(#321046, Maxim Udushlivy)
* gtk/gtkicontheme.c (insert_theme): Always insert the default
theme.
(ensure_valid_themes): Call _gtk_icon_theme_ensure_builtin_cache()
from here.
(theme_lookup_icon, find_builtin_icon): ...and not from here.
(gtk_icon_theme_lookup_icon): Remove an unncessary assert.
(gtk_icon_theme_get_icon_sizes): Also check builtin icons.
2005-11-12 Tor Lillqvist <tml@novell.com>
* gtk/gtkfilesystemwin32.c (filename_get_info): Don't hide
dotfiles, no such convention on Win32. Just hide files with the
hidden attribute. (#314627)
2005-11-11 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Do not
check whether the path is a folder. It is useful to bookmark
files as well (e.g. todo.txt), and this will also help
performance.
(shortcuts_add_bookmark_from_path): Likewise.
(shortcuts_activate_iter): Change folders or select files, as
appropriate.
2005-11-11 Federico Mena Quintero <federico@ximian.com>
* tests/autotestfilechooser.c (main): Use
g_log_set_default_handler() instead of explicitly setting a
handler for each domain.
2005-11-11 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Only get
the base path of the volume if it is mounted.
2005-11-11 Michael Natterer <mitch@imendio.com>
Added per-stepper API for GtkRange's stepper sensitivity as
discussed in bug #321056:
* gtk/gtkenums.h: added GtkSensitivityType which can be
{ AUTO, ON, OFF }.
* gtk/gtkrange.[ch]: added properties "lower-stepper-sensitivity"
and "upper-stepper-sensitivity" and public getters/setters for
them. Changed stepper drawing to honor the new properties.
* gtk/gtk.symbols: added the new symbols.
2005-11-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c: Add show-popup and hide-popup signals and
emit them when the popup is shown or hidden. (#162531, Tommi
Komulainen)
2005-11-10 Matthias Clasen <mclasen@redhat.com>
Don't corrupt odd keymaps (#316638, Kean Johnston)
* gdk/x11/gdkkeys-x11.c (set_symbol): Auxiliary function to
handle frobbing keymaps with odd numbers of syms/code.
* gdk/x11/gdkkeys-x11.c (update_keymaps): Use set_symbol() to
frob the keymap.
2005-11-10 Matthias Clasen <mclasen@redhat.com>
Improve navigation to parent folders. (#318444, Andrei Yurkevich)
* gtk/gtkpathbar.[hc]: Add a child_path argument to
the path_clicked signal.
* gtk/gtkfilechooserdefault.c (path_bar_clicked): Select the
child_path, if it is provided.
* gtk/marshalers.list (path_bar_clicked): Add the necessary
glue.
2005-11-10 Michael Natterer <mitch@imendio.com>
Applied patch from maemo-gtk that addresses many issues wrt
display migration and display closing (bug #85715).
* gdk/gdkdisplay.c (gdk_display_dispose): don't just set the
default display to NULL when it's closed. Instead set the most
recently opened display as new default (if one exists).
* gdk/gdkpango.c (on_renderer_display_closed): fixed signature
of this callback.
* gdk/gdkscreen.c (gdk_screen_dispose): check if the GCs still
exist before unrefing them.
* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): if the screen
is closed, allow destruction of the root window.
* gdk/x11/gdkdisplay-x11.c: moved some stuff from finalize() to
dispose(), free stuff that was leaked before.
* gdk/x11/gdkevents-x11.c (_gdk_x11_events_uninit_screen): check if
the xsettings_client still exists before destroying it.
* gdk/x11/gdkkeys-x11.c: added finalization and free the allocated
X resources.
* gdk/x11/gdkpixmap-x11.c: moved stuff from finalize() to new
dispose() implementation.
* gdk/x11/gdkscreen-x11.c: moved stuff from finalize() to
dispose() and check if it still exists before unrefing it. Set
their pointers to NULL/None *after* upchaining in dispose(),
because X11 implementations of members of the parent class still
need them for their own destruction.
* gdk/x11/gdkvisual-x11.c: removed finalize() implementation which
was g_error()ing when finalizing a visual.
* gtk/gtkclipboard.c (gtk_clipboard_finalize): don't use
get_clipboard_widget() because it would create the widget if it
doesn't exist. Use g_object_get_data() directly instead.
* gtk/gtktextdisplay.c (on_renderer_display_closed): fixed signature
of this callback.
Wed Nov 9 16:29:42 2005 Tim Janik <timj@imendio.com>
* gtk/gtkrange.c: patch from maemo-gtk that changes GtkRange
to render its arrows insensitive when the adjustment is in
its min or max position. this makes range arrow behaviour
consistent with spin button behaviour. (#321056)
2005-11-09 Tor Lillqvist <tml@novell.com>
* gdk/gdkinternals.h
* gdk/gdk.c (gdk_debug_keys[]): Add new GDK_DEBUG_DRAW flag to
the GdkDebugFlag enum.
* gdk/win32/gdkdrawable-win32.c: Use DRAW to trigger GDK_NOTEs in
this file instead of MISC. Now asking for MISC will give mainly
window manipulation debugging output.
2005-11-09 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkwindow-win32.c: Remove unnecessary includes.
(_gdk_win32_get_adjusted_client_rect): Remove this two-line
function which was used only in one place.
(get_outer_rect): Use _gdk_win32_adjust_client_rect().
(gdk_window_set_geometry_hints): If we have identical minimum and
maximum size hints, remove the resize and maximize
decorations/functions. (#104514)
If we have a maximum size hint, remove the maximize
decoration/function but ensure the resize decoration/function is
available. Otherwise ensure both resize and maximize
decorations/functions are there.
(set_or_clear_style_bits): Factored out common code from
gdk_window_set_decorations() and gdk_window_set_functions().
Hack the window style setting once more: Only touch the window
style bits corresponding to the GdkWMDecoration or GdkWMFunction
parameter bitmasks. Hopefully this finally is the correct thing to
do. We used to clear all other bits than those that were being
set, or set all other bits than those that were being cleared.
Take into account that adding or removing decorations leaves the
window's outer size unchanged, i.e., the client area's size and
position change. This is apparently not what we want, so change
also the window's (outer) position and size appropriately so that
the client area's position and size stay constant.
gtk-demo's color selector dialog is now non-resizable like on X11
(I tested with metacity in GNOME). Torn off menus are shrinkable
vertically but have a maximum size, and are not maximizable or
minimizable, like on X11.
(gdk_window_set_decorations, gdk_window_set_functions): Let
set_or_clear_decorations() do most of the job.
* gdk/win32/gdkprivate-win32.h: Remove declaration of
_gdk_win32_get_adjusted_client_rect().
2005-11-09 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkwindow-win32.h (struct _GdkWindowImplWin32)
* gdk/win32/gdkwindow-win32.c (gdk_window_impl_win32_init,
gdk_window_get_type_hint, gdk_window_get_type_hint): Store the
type hint. Implement gdk_window_get_type_hint() by just returning
the hint stored.
2005-11-09 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
Remove code that has been permanently ifdeffed out for two years.
2005-11-08 Matthias Clasen <mclasen@redhat.com>
* gdk/gdkgc.c (gdk_gc_finalize): Unref tile and stipple when
finalizing a gc. (#320789, Nickolay V. Shmyrev)
2005-11-08 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Ignore
icons if they would make the request large enough to cause
Xlib to loose the connection. (#320909, Claudio Saavedra)
2005-11-07 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkpathbar.[hc]: Set focus-on-click to FALSE for all buttons.
Don't grab focus when a slider button is pressed, instead, use
a bit in the pathbar struct to determine whether to scroll up
or down. (#314486, Carlos Garnacho)
2005-11-07 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup):
Don't popup the completions if the focus has already been
moved somewhere else. (#319914, Christian Persch)
2005-11-07 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktoolitem.c (_gtk_tool_item_toolbar_reconfigured):
Raise the drag_window after reconfiguring the
toolbar. (#320803, Christian Persch)
2005-11-07 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkcursor-win32.c (pixbuf_to_hbitmaps_normal):
Correct the calculation of maskstride. (#320152, Peter Zelezny)
2005-11-06 Michael Natterer <mitch@imendio.com>
* gtk/Makefile.am (icons): fixed rule to actually create the
symlinks, erroring out if anything goes wrong.
2005-11-06 Tor Lillqvist <tml@novell.com>
* gtk/updateiconcache.c (build_cache): Can't rename a file if the
target exists on Win32. First rename the target temporarily, then
if the renaming of the source to target fails, restore the
original name for the target.
* gtk/Makefile.am: Use EXEEXT in the dependency on gtk-update-icon-cache.
2005-11-06 Tor Lillqvist <tml@novell.com>
(pixbuf_to_hbitmaps_alpha_winxp): Use an 1-bit mask bitmap,
like pixbuf_to_hbitmaps_normal().
(_gdk_win32_pixbuf_to_hicon_supports_alpha): Check
G_WIN32_IS_NT_BASED() first, so we can pretend being on Win9x by
setting the G_WIN32_PRETEND_WIN9X environment variable.
2005-11-06 Tor Lillqvist <tml@novell.com>
Make icon masks work on Win98 (#320152, Peter Zelezny)
* gdk/win32/gdkcursor-win32.c (create_color_bitmap): Take also a
parameter for the depth of the bitmap, so that this function can
be used to create 1-bit bitmaps, too.
(pixbuf_to_hbitmaps_normal): Create an 1-bit bitmap for the mask,
and initialize it properly.
2005-11-04 Matthias Clasen <mclasen@redhat.com>
Store builtin stock icons in an icon cache, instead of
populating a hash table with pixbufs at startup, to save both
memory and startup time.
* gtk/stock-icons/*: Reorganize the icons in a directory structure
suitable for gtk-update-icon-cache, and rename them to match the
stock ids.
* gtk/gtkiconcache.[hc]: Support non-mmapped icon caches, and
add _gtk_icon_cache_has_icon_in_directory().
* gtk/updateiconcache.c: Support a --source <VARIABLE> argument
to store the contents of the icon cache in a C header.
* gtk/gtkbuiltincache.h: Generated private header which contains
the icon cache for the builtin icons.
* gtk/gtkicontheme.c: Create a GtkIconCache for the builtin
icons, and use that in addition to the hash table whenever
builtin icons are searched.
* gtk/gtkiconfactory.c: Add GTK_ICON_SOURCE_STATIC_ICON_NAME and
use it for static stock ids.
(get_default_icons): Don't add the builtin
icons to the icon theme, just register the stock ids.
(render_fallback_image): Take the fallback image out of the
builtin icon cache.
* gtk/Makefile.am: Remove stock-icons from SUBDIRS and add
the necessary machinery to rebuild gtkbuiltincache.h.
2005-11-04 Michael Natterer <mitch@imendio.com>
* gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): applied patch
from maemo-gtk that changes the mtime check for rc files from
'>' to '!=', otherwise theme changes go unnoticed when turning
back the clock (Tommi Komulainen).
2005-11-03 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkcursor-win32.c: As there is only one GdkDisplay in
the Win32 backend, check that GdkDisplay* parameters are equal to
_gdk_display instead of using the unnecessarily general
GDK_IS_DISPLAY().
2005-11-03 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkcursor-win32.c (pixbuf_to_hbitmaps_alpha_winxp):
Rename the variables for the color bitmap to have "color" in their
name, for similarity with pixbuf_to_hbitmaps_normal(). Create a
color bitmap for the mask, too, instead of creating a b&w bitmap
with CreateBitmap(). Set up the mask bitmap's contents, ones for
those pixels in the color bitmap where the alpha is zero, zero for
other pixels. We used to use an unitialized mask bitmap! This
meant that icons and cursors created presumably worked more or
less by accident. Totally blank icons with zero alpha everywhere
(as used by gtktrayicon.c) definitely did not work as expected.
2005-11-03 Tor Lillqvist <tml@novell.com>
* gtk/Makefile.am: Include gtkstatusicon.c on all platforms.
* gtk/gtkstatusicon.c: Implement for Win32. Use code from
gtktrayicon-win32.c as applicable. (gtktrayicon-win32.c is not
necessary and can be removed from CVS. It has never been mentioned
in gtk/Makefile.am.) No tray icon widget, GtkImage or GtkTooltips
are used on Win32. One label widget is used (but never shown) as
gtk_widget_render_icon() needs a widget.
Ifdefs used as necessary in several places. It might be cleaner to
split out the backend-specific parts to separate files, or at
least collect them into separate blocks in the file.
(wndproc): New function. Window procedure to monitor mouse events
in the system tray icon. Call gtk_status_icon_button_press() as
needed.
(create_tray_observer): New function. Creates a hidden window that
only serves as a tray icon message observer.