2007-01-05 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): handle tree
== NULL. (Fixes#392259, reported by Christian Persch).
svn path=/trunk/; revision=17092
2007-01-05 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_row_changed): do allow for
invalidated nodes if the tree view is not realized. (#363147,
Carlos Garnacho, Miguel Cabrera).
svn path=/trunk/; revision=17089
2007-01-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenu.c (gtk_menu_paint): Take the scroll arrow into
account when drawing the background. (#393166, Benjamin Berg)
svn path=/trunk/; revision=17084
2007-01-05 Carlos Garnacho <carlosg@gnome.org>
* gtk/gtknotebook.c (gtk_notebook_size_request): take into account
both scroll arrows when calculating size request in GTK_POS_LEFT or
GTK_POS_RIGHT notebooks. (#393124, reported by Christian Persch)
svn path=/trunk/; revision=17080
2007-01-05 Michael Natterer <mitch@imendio.com>
* gtk/gtkwindow.c (gtk_window_key_release_event): chain up to
the right function (fix taken from maemo-gtk).
svn path=/trunk/; revision=17078
2007-01-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_popup): move set_cursor
after realization of the popup window, so clamp node doesn't fail.
(#346616, Tommi Komulainen, patch by Kristian Rietveld).
svn path=/trunk/; revision=17073
2007-01-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c: Rework the beep-on-uninserted-text
by calling the input method regardless of editability,
and beeping from the commit/preedit-changed handlers.
(#390514, Yevgen Muntyan)
svn path=/trunk/; revision=17054
2007-01-03 Matthias Clasen <mclasen@redhat.com>
Fix#332604, reported by Joe Wreschnig, patch
by Jan Arne Petersen and Behdad Esfahbod.
* gtk/gtklabel.c (gtk_label_size_allocate): Only
set the width of the layout when necessary.
(get_layout_location): Use pango_layout_get_pixel_extents()
instead of pango_layout_get_width().
svn path=/trunk/; revision=17052
2007-01-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c (update_chooser_entry):
Exit early if we can't get file info - this happens
if the iter points to the row where we are editing
the name for a newly created folder. (#392191, Michael
Partridge, patch by Kristian Rietveld)
svn path=/trunk/; revision=17046
2007-01-03 Matthias Clasen <mclasen@redhat.com>
* gtk/*.c:
* gdk/x11/*.c: Apply a patch by Chris Wilson to
avoid spurious valgrind warnings from XSendEvent()
calls. (#392532)
svn path=/trunk/; revision=17044
2007-01-03 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/cups/gtkprintbackendcups.c: Close
the http connection after getting the PPD.
svn path=/trunk/; revision=17042
2007-01-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkassistant.c (remove_page): If the current page
is removed, always pick a different one. (#392457,
Colin Watson)
svn path=/trunk/; revision=17037
2007-01-03 Matthias Clasen <mclasen@redhat.com>
* configure.in: Export SED to make sourcing of
libtool work. Tighten up the directfb pkgconfig check.
svn path=/trunk/; revision=17033
2007-01-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (get_text_area_size): Work when the
entry is not realized. (#392315, Yevgen Muntyan)
* gtk/gtkentry.c (gtk_entry_queue_draw): Use
GTK_WIDGET_DRAWABLE() here. (#392227, Chris Wilson)
* gtk/gtkentry.c (cursor_blinks): Don't get settings
unnecessarily. (#392227)
svn path=/trunk/; revision=17030
2007-01-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c (gtk_window_move_resize): Only process
updates on the window at hand, not on all windows, to
avoid violating resize/redraw ordering constraints.
(#362406, Owen Taylor)
svn path=/trunk/; revision=17028
2007-01-02 Matthias Clasen <mclasen@redhat.com>
Try to fix#315732, reported by Luke Hutchinson:
* gdk/x11/xsettings-client.[hc]:
* gdk/x11/gdkdevents-x11.c: Don't assume that ref'ing a GdkWindow
will guarantee that it can be looked up in the xid hash later.
Also, use the nesting server grab function during the xsettings
client initialization. Finally, make xsettings client not
eat DestroyNotifys so that GDK can do its regular cleanup.
svn path=/trunk/; revision=17022
2007-01-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextbuffer.c (gtk_text_view_key_press_event):
Try harder not to beep on events which are not meant to
insert stuff in the buffer. (#390514, Yevgen Muntyan)
svn path=/trunk/; revision=17020
2007-01-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (get_text_area_size): Center in the frame.
(#304482, Rob Staudinger, patch by Richard Stellingwerff)
svn path=/trunk/; revision=17015
2007-01-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkscrolledwindow.h:
* gtk/gtkscrolledwindow.c: Only handle key bindings
for scrolling if the scrollbars are visible.
(#340135, Christian Persch)
svn path=/trunk/; revision=17012
2007-01-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcontainer.c (gtk_container_class_list_child_properties):
Mention in the docs that the return value is
NULL-terminated. (#383373, Christian Neumair)
svn path=/trunk/; revision=17007
2007-01-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.c (load_themes): Waste less time
with non-directories. (#391725, Chris Wilson)
svn path=/trunk/; revision=17005
2007-01-01 Matthias Clasen <mclasen@redhat.com>
Fix some IPP compliance issues. (#391523, Albrecht Dress)
* modules/printbackends/cups/gtkcupsutils.c
(gtk_cups_request_encode_option): Use IPP_TAG_JOB, not
IPP_TAG_OPERATION.
* modules/printbackends/cups/gtkprintbackendcups.c
(gtk_print_backend_cups_print_stream): Don't add the
requesting-user-name attribute a second time.
svn path=/trunk/; revision=17002
2006-12-31 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchoosermenu.c (set_recent_manager): Use the
right object when disconnecting from the GtkRecentManager::changed
signal; save us a few indirections using a variable.
svn path=/trunk/; revision=16999
2006-12-31 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchoosermenu.c: Move the signal and idle
disconnections into the dispose function, as well as the
object unrefs; reset every handler id and the
pointers. (suggested by Paolo Borelli, #390873)
svn path=/trunk/; revision=16997
2006-12-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (blink_cb):
* gtk/gtktextview.c (blink_cb): Don't die in an assertion
if focus went missing. Just warn, clean up and continue.
(#374378)
2006-12-29 Carlos Garnacho <carlosg@gnome.org>
* gtk/gtknotebook.c (gtk_notebook_scroll): return if the widget that
originally received the event is a notebook page. (#315440, reported
by Mateusz Stefek)
2006-12-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkcelllayout.[hc] (gtk_cell_layout_get_cells):
New function to get the cell renderers of a cell layout.
* gtk/gtktreeviewcolumn.c:
* gtk/gtkcellview.c:
* gtk/gtkiconview.c: Implement get_cells.
2006-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c: Use word wrapping by default, and
center multiline labels. (#318763, Ross Burton)
* gtk/gtkcellrenderertext.c (get_layout): Remove a special
case for single-line layouts.
2006-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (update_node): Only use the results
of find_menu/toolbar_position() if they succeed. May fix
bug #388041.
2006-12-28 Mikael Hallendal <micke@imendio.com>
* gdk/quartz/gdkevents-quartz.c: Factored out the event loop
integration into gdkeventloop-quartz.c.
* gdk/quartz/Makefile.am: Added gdkeventloop-quartz.c
* gdk/quartz/gdkeventloop-quartz.c: New file containing the event loop
integration.
2006-12-27 Kristian Rietveld <kris@gtk.org>
Support inverting arrows via XSetting. (#377979, Yevgen Muntyan).
* gtk/gtksettings.c (gtk_settings_class_init): add new setting
gtk-alternative-sort-arrows.
* gdk/win32/gdkproperty-win32.c (gdk_screen_get_setting): add
new setting.
* modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: set new
gtk-alternative-sort-arrows setting to true.
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
invert direction if gtk-alternative-sort-arrows is TRUE.
2006-12-27 Tor Lillqvist <tml@novell.com>
* gtk/gtk.symbols: Add gtk_status_icon_get_screen and
gtk_status_icon_set_screen.
* gtk/gtkstatusicon.c: Implement gtk_status_icon_position_menu()
on Windows. Keep track of where the last button click on the
taskbar icon took place, and return that. Obviously not correct if
no button has ever been clicked on the icon, or if the geometry of
the taskbar has changed since. But for most use cases where a menu
is going to be displayed as a direct result of a button click on
the status icon, works fine. (#377349)
Implement getting the orientation property on Windows.
(gtk_status_icon_embedded_changed)
(gtk_status_icon_orientation_changed): Ifdefify these functions
that are used only on X11.
2006-12-27 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/cups/gtkprintbackendcups.c: Use
getters for http fields where available. (#364866,
Björn Lindqvist)
2006-12-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (update_node): If a required action
is missing, don't recurse over the children. (#349119,
Chris Moller)
2006-12-17 Matthias Clasen <mclasen@redhat.com>
Fix a few problems with nested menus in comboboxes
(#386694, Yevgen Muntyan)
* gtk/gtkcombobox.c (gtk_combo_box_menu_fill_level): Always
connect the activate callback.
(gtk_combo_box_menu_item_activate): Do nothing if called on
an item with a submenu.
(gtk_combo_box_menu_row_deleted): Remove a submenu when it
is empty.
2006-12-26 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_search_init): fix typo causing
the search dialog timeout never to be refreshed. (#389581,
Andrzej Szombierski).
2006-12-26 Kristian Rietveld <kris@gtk.org>
Lots of scrolling fixes. Made scrolling work properly in not fully
validated tree views; fixed a bunch of corner cases.
* gtk/gtktreeview.c (validate_visible_area): if a row's dy is past
upper - page_size, we know it is located at the end so the test for
dy + height has been dropped.
In the same case if area_below < 0, we know this is the last node
in the tree view so area_above is page_size - height of this row.
(validate_visible_area): got rid of subtracting new_height -
old_height from area_{below,above}, it didn't make any sense at
all and the full height of the row should be subtracted instead.
(validate_visible_area): when scrolling to a given path, set the
top row directly together with the dy offset, then sync that top_row
to the dy.
(gtk_tree_view_set_top_row): new function to directly set a top_row.
(gtk_tree_view_dy_to_top_row): refactored to use
gtk_tree_view_set_top_row().
(gtk_tree_view_top_row_to_dy): make sure dy >= 0 when done.
(gtk_tree_view_adjustment_changed): only update our dy and
top_row if the adjustment's dy actually changed.
2006-12-26 Christian Persch <chpe@cvs.gnome.org>
* gtk/gtknotebook.c: (gtk_notebook_real_insert_page):
Return the correct value from gtk_notebook_insert_page if the
page-added handler reorders the tabs. Bug #345094.
2006-12-26 Carlos Garnacho <carlosg@gnome.org>
Fix small regressions in GtkNotebook tab detaching. Bug #378852.
* gtk/gtknotebook.c (gtk_notebook_do_arrow): grab focus to allow tabs
scrolling when hovering with a detached tab.
(gtk_notebook_stop_reorder): Do not deparent the wrong tab if the
focus tab has changed during a tab DND operation.
(gtk_notebook_drag_end): ensure that the dropped tab gets focused.
(gtk_notebook_paint): do not take cur_page as a reference to paint the
box if it's detached.
(gtk_notebook_calculate_tabs_allocation): focus_tab may be different
to the detached tab if we hover the arrows during a tabs detaching
operation, do not allocate it unconditionally in 0,0.
2006-12-26 Carlos Garnacho <carlosg@gnome.org>
Expose improvements for GtkNotebook. Bug #383435
* gtk/gtknotebook.c (gtk_notebook_expose): propagate the event to tab
labels.
(gtk_notebook_draw_focus): do not repaint the whole focused tab again.
(gtk_notebook_draw_tab): do not send handmade expose events to tab
labels.
2006-12-25 Christian Persch <chpe@cvs.gnome.org>
* gtk/gtkplug.c: (gtk_plug_construct_for_display),
(gtk_plug_unrealize): Notify the "embedded" property also on
normal construction and when destroying the socket window.
Bug #388738.
2006-12-25 Christian Persch <chpe@cvs.gnome.org>
* gtk/gtkaboutdialog.c: (gtk_about_dialog_class_init),
(gtk_about_dialog_init), (display_credits_dialog),
(display_license_dialog):
* gtk/gtkfilechooserdialog.c: (gtk_file_chooser_dialog_class_init),
(gtk_file_chooser_dialog_init),
(gtk_file_chooser_dialog_constructor),
(gtk_file_chooser_dialog_unmap):
* gtk/gtkrecentchooserdefault.c:
(_gtk_recent_chooser_default_init):
* gtk/gtkrecentchooserdialog.c:
(gtk_recent_chooser_dialog_class_init),
(gtk_recent_chooser_dialog_init),
(gtk_recent_chooser_dialog_constructor),
(gtk_recent_chooser_dialog_unmap): Set the HIG spacings directly
instead of using style-set handlers. Fix the filechooser's spacing
between content and action area to 12px. Bug #372447.
2006-12-25 Christian Persch <chpe@cvs.gnome.org>
* gtk/gtkstatusbar.c: (gtk_statusbar_size_allocate):
Don't assume statusbar->label is the statusbar's frame's child when
shrinking the size allocation when the grip is shown. Bug #372452.
2006-12-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (gtk_entry_button_press): When
shift-clicking, keep the larger part of the selection
selected. (#353709, Benjamin Otte)
* gtk/gtkbutton.c (gtk_button_get_props): Use
gtk_border_free when freeing borders.
2006-12-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkbutton.c (gtk_button_grab_notify): Be more
careful when faking a button release. (#323146,
Travis Abbott)