2006-06-02 Kristian Rietveld <kris@imendio.com>
Rubber banding for GtkTreeView, #80127. Uses same method as
GtkIconView.
* gtk/gtktreeview.c (gtk_tree_view_class_init),
(gtk_tree_view_init), (gtk_tree_view_get_property),
(gtk_tree_view_set_property), (gtk_tree_view_set_rubber_banding),
(gtk_tree_view_get_rubber_banding): add property,
(gtk_tree_view_button_press): start rubber banding if enabled and
press is on a non-selected node,
(gtk_tree_view_button_release): stop rubber banding,
(gtk_tree_view_motion_bin_window), (scrool_row_timeout): enable/update
the rubber band,
(gtk_tree_view_bin_expose): draw rubber band if active,
(gtk_tree_view_stop_rubberband),
(gtk_tree_view_update_rubber_band_selection_range),
(gtk_tree_view_update_rubber_band_selection),
(gtk_tree_view_update_rubber_band),
(gtk_tree_view_paint_rubber_band): new functions.
* gtk/gtktreeview.h: add new set/get function for rubber banding
property.
* gtk/gtktreeprivate.h: add a bunch of new private fields.
2006-06-02 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreeview.c (gtk_tree_view_leave_notify)P: revert fix of
#164884 because it's not a problem in gtk+ but in applications and
it breaks starting drags from the edge of a row.
2006-06-02 Kristian Rietveld <kris@imendio.com>
Separate sensitive/selectable properties.
* gtk/gtktreeselection.c (tree_column_is_sensitive): remove,
(_gtk_tree_selection_row_is_selectable): remove checks to see if at
least one column is sensitive,
(gtk_tree_selection_real_select_node): remove code which enables
insensitive rows to always be unselected.
* gtk/gtktreeview.c (gtk_tree_view_row_changed): remove code
that unselects a node if it just became insensitive.
* gtk/gtkcombobox.c (gtkcombo_box_list_select_func): new function,
based on the at least one column sensitive check from
_gtk_tree_selection_row_is_selectable(),
(gtk_combo_box_list_setup): set selection function on tree selection.
2006-06-02 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreemodelfilter.c
(gtk_tree_model_filter_convert_child_path_to_path): need to use
gtk_tree_model_filter_get_iter_full() since the path returned
by gtk_real_tree_model_filter_convert_child_path_to_path() includes
invisible nodes.
2006-06-02 Alexander Larsson <alexl@redhat.com>
* gtk/Makefile.am:
Add gtkprintoperationpreview.[ch]
Set default preview command. Hardcoded for now.
* gtk/gtkmarshalers.list:
Add BOOLEAN:OBJECT,OBJECT,OBJECT
* gtk/gtkprintbackend.c:
Add preview command property.
* gtk/gtkprintcontext.[ch]:
Make less dependent on PrintOperation for output settings
Externally set cairo_t and dpi. Resettable.
Create fontmap without metrics hinting (so that print preview
text layout doesn't depend on zoom level).
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation.[ch]:
Initial work on print preview API and default implementation
using an external preview app.
* gtk/gtkprintoperation-win32.c:
Some needed updates. Not done, needs more work.
* gtk/gtkprintoperationpreview.[ch]:
New interface used in print preview api.
* gtk/gtkprintunixdialog.c:
Add print preview dialog.
* tests/print-editor.c:
Test using an custom print preview widget.
2006-06-02 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentmanager.c
(gtk_recent_info_get_application_info): Fix a typo (spotted by
Paolo Borelli and coverity).
2006-06-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktoolbutton.c (gtk_tool_button_class_init): Add
an icon-spacing style property for the same purpose.
* gtk/gtkbutton.c (gtk_button_class_init): Add an image-spacing
style property that allows to adjust the spacing between image
and label in button. (#320431, James Moger)
2006-05-31 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation.c (print_pages_idle): Don't
treat manual_scale like a percentage, its a factor.
2006-05-31 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpagesetupunixdialog.c:
Remove request_details_tag with g_signal_handler_disconnect,
not g_source_remove. (#343475)
2006-05-31 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfontbutton.c:
* gtk/gtkcolorbutton.c: Clarify the docs of the color-set and
font-set signals. (#343438, Olexiy Avramchenko)
2006-05-30 Matthias Clasen <mclasen@redhat.com>
* gdk/gdkpixmap.c:
* gdk/gdkwindow.c: Don't use G_DEFINE_TYPE, since the instance
struct name does not match the type name. (#343453, Ed Catmur)
2006-05-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkbutton.h:
* gtk/gtkbutton.c: Add a GtkButton::image-position property
with getter and setter, to allow constructing buttons with
the image stacked on top of the label. (#342930, Johan Dahlin)
2006-05-30 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button): only
check sort column id if connected to sortable model.
2006-05-30 Behdad Esfahbod <behdad@gnome.org>
* gdk/gdkpango.c (draw_error_underline): Fix offset to center the
underline in requested rectangle. (Ported from pango fix.)
2006-05-29 Michael Natterer <mitch@imendio.com>
* gtk/gtkdialog.h: removed forgotten declaration of
_gtk_dialog_get_response_for_widget(), the function has been made
public a long time ago.
2006-05-29 Michael Natterer <mitch@imendio.com>
* gtk/gtktextview.c (gtk_text_view_target_list_notify): applied
patch from Chris Wilson which replaces a useless loop with
built-in access to free'd memory by a simple integer comparison.
Fixes bug #342894.
2006-05-29 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): select
the current focus row if nothing is selected and ctrl is not pressed.
(Fixes#324480, Murray Cumming/Srirama Sharma).
2006-05-28 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_cell_focus): refactor
to work correctly in RTL mode.
* gtk/gtktreeview.c (gtk_tree_view_move_cursor_left_right): make
cursor movement to left/right work correctly in RTL mode.
2006-05-28 Behdad Esfahbod <behdad@gnome.org>
* gdk/gdkrectangle.c (gdk_rectangle_union, gdk_rectangle_intersect):
Note in docs that @dest can be the same as @src1 or @src2. (#343233,
Christian Persch)
2006-05-28 Kristian Rietveld <kris@gtk.org>
* gtk/gtkstyle.c (gtk_default_draw_flat_box): handle
cell_even_ruled_sorted and cell_odd_ruled_sorted for the selected
state.
2006-05-28 Kristian Rietveld <kris@gtk.org>
* gtk/gtkenums.h: add GTK_ARROW_NONE.
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_column): always
"show" the arrow if sort_column_id >= 0, only set arrow type if
this column is the column we are currently sorting on. (#331338).
2006-05-28 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_build_tree): emit test_expand_row
and test return value before expanding a branch. (Fixes#321523,
reported by Daniel Lindenaar).
2006-05-28 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_insert_column): set the sizing
type of the new column to FIXED,
(gtk_tree_view_insert_column_with_attributes): likewise. (#341898,
Dan Winship).
2006-05-27 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_remove_node):
only unref if elt->ref_count > 0,
(gtk_tree_model_filter_row_deleted): likewise. (Fixes#340839,
reported by Yevgen Muntyan).
2006-05-27 Kristian Rietveld <kris@gtk.org>
Small refactoring. (#340428, Paolo Borelli).
* gtk/gtkliststore.c (gtk_list_store_set_valist_internal),
(gtk_list_store_insert_with_valuesv): refactor code to determine
iter compare func into gtk_list_store_get_compare_func().
* gtk/gtktreestore.c (gtk_tree_store_set_valist_internal),
(gtk_tree_store_insert_with_valuesv): likewise.
2006-05-27 Kristian Rietveld <kris@gtk.org>
Editable cell window placement and RTL fixes.
* gtk/gtktreeview.c (gtk_tree_view_button_press),
(gtk_tree_view_bin_expose), (gtk_tree_view_get_cell_area),
(gtk_tree_view_create_row_drag_icon): Only add indentation to x
if !rtl,
(gtk_tree_view_create_row_drag_icon): Iterate over columns in reverse
direction if in rtl mode.
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
horizontal_separator is not part of the real background area width,
add 2 * focus_line_width to real_cell_area.x and not
real_background_area.x, fix up event coordinates check in the
PACK_END loop, also set depth to zero at the end of the PACK_END
loop,
(_gtk_tree_view_get_neighbor_sizes): also add column_spacing for each
visible cell.
2006-05-26 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_queue_draw_arrow): queue a redraw
for the full width of the row, not just the width we got allocated.
(Fixes#333284, reported by Benjamin Berg).
2006-05-26 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_top_row_to_dy): set dy to
page_size + height in the event dy + page_size is about to become
bigger than height.