Matthias Clasen [Fri, 29 Dec 2006 19:26:34 +0000 (19:26 +0000)]
Don't die in an assertion if focus went missing. Just warn, clean up and
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)
Carlos Garnacho [Fri, 29 Dec 2006 19:11:32 +0000 (19:11 +0000)]
return if the widget that originally received the event is a notebook
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)
* gtk/gtknotebook.c (gtk_notebook_drag_failed): new function.
(gtk_notebook_drag_data_get): do not call window creation hook here.
(gtk_notebook_init): do not set "application/x-rootwindow-drop"
target, instead connect to "drag-failed".
(gtk_notebook_draw_focus): fix potential crasher if cur_page is NULL.
Tor Lillqvist [Wed, 27 Dec 2006 18:20:10 +0000 (18:20 +0000)]
Add gtk_status_icon_get_screen and gtk_status_icon_set_screen.
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.
* gtk/gtkcombobox.c (gtk_combo_box_set_model):
(gtk_combo_box_unset_model): Handle repeated unsetting
of models without warnings. (#367529, Robert Ancell)
Matthias Clasen [Wed, 27 Dec 2006 06:12:53 +0000 (06:12 +0000)]
Fix a few problems with nested menus in comboboxes (#386694, Yevgen
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.
Lots of scrolling fixes. Made scrolling work properly in not fully
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.
Christian Persch [Tue, 26 Dec 2006 14:49:34 +0000 (14:49 +0000)]
Return the correct value from gtk_notebook_insert_page if the page-added
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.
Carlos Garnacho [Tue, 26 Dec 2006 11:02:15 +0000 (11:02 +0000)]
Fix small regressions in GtkNotebook tab detaching. Bug #378852.
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.
Carlos Garnacho [Tue, 26 Dec 2006 10:31:36 +0000 (10:31 +0000)]
Expose improvements for GtkNotebook. Bug #383435
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.
Christian Persch [Mon, 25 Dec 2006 12:29:35 +0000 (12:29 +0000)]
Notify the "embedded" property also on normal construction and when
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.
Christian Persch [Mon, 25 Dec 2006 12:21:16 +0000 (12:21 +0000)]
Set the HIG spacings directly instead of using style-set handlers. Fix the
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.
Christian Persch [Mon, 25 Dec 2006 12:12:10 +0000 (12:12 +0000)]
Don't assume statusbar->label is the statusbar's frame's child when
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.
Matthias Clasen [Sun, 24 Dec 2006 05:34:38 +0000 (05:34 +0000)]
Draw the handle with the right orientation, depending on the position of
2006-12-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkhandlebox.c (draw_textured_frame): Draw the
handle with the right orientation, depending on the
position of the handlebox. (#159764, Benjamin Berg)
Matthias Clasen [Sun, 24 Dec 2006 05:18:25 +0000 (05:18 +0000)]
Emit changed and notify:text only once. The same fix was applied for
2006-12-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (gtk_entry_set_text): Emit changed
and notify:text only once. The same fix was applied
for replacing the selection via DND or copy-and-paste.
(#64998, Damon Chaplin, Sven Herzberg)
Matthias Clasen [Fri, 22 Dec 2006 17:46:32 +0000 (17:46 +0000)]
Add functions to allow threadsafe handling of idles and timeouts wrt. to
2006-12-22 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk.symbols:
* gdk/gdk.h:
* gdk/gdk.c: Add functions to allow threadsafe handling
of idles and timeouts wrt. to the GDK lock. (#321886,
Chris Wilson)
Matthias Clasen [Fri, 22 Dec 2006 07:18:21 +0000 (07:18 +0000)]
Make it possible to track the embeddedness of statusicon (#387215, Martyn
2006-12-22 Matthias Clasen <mclasen@redhat.com>
Make it possible to track the embeddedness of
statusicon (#387215, Martyn Russell, patch by Christian
Persch)
* gtk/gtkstatusicon.c: Add orientation and embedded properties.
* gtk/gtkplug.c:
* gtk/gtkplug-x11.c: Add an embedded property.
* tests/teststatusicon.c: Test the new properties.
Matthias Clasen [Thu, 21 Dec 2006 20:40:24 +0000 (20:40 +0000)]
Remove redundant size checks, and document that width, height must be > 0.
2006-12-21 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-data.c (gdk_pixbuf_new_from_data):
* gdk-pixbuf.c (gdk_pixbuf_new): Remove redundant size
checks, and document that width, height must be > 0.
(#343330, Felix Riemann)
Matthias Clasen [Wed, 20 Dec 2006 20:57:49 +0000 (20:57 +0000)]
Silently return if a drag is already in progress, rather than asserting.
2006-12-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_start_selection_drag):
Silently return if a drag is already in progress, rather
than asserting. (#335622, Li Yuan, testcase by Erwann Chenede)
Matthias Clasen [Wed, 20 Dec 2006 19:02:21 +0000 (19:02 +0000)]
Allow any GtkDialog that implements GtkFileChooser as dialog. (#335473,
2006-12-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new_with_dialog):
Allow any GtkDialog that implements GtkFileChooser as
dialog. (#335473, Tommi Komulainen)
Mikael Hallendal [Wed, 20 Dec 2006 13:24:05 +0000 (13:24 +0000)]
Added gtkstatusicon-quartz.c Implements the quartz backend for the status
2006-12-20 Mikael Hallendal <micke@imendio.com>
* gtk/Makefile.am: Added gtkstatusicon-quartz.c
* gtk/gtkstatusicon-quartz.c: Implements the quartz backend for the
status icon.
* gtk/gtkstatusicon.c: Hooked in the new quartz backend. Bug #387874.
Mikael Hallendal [Tue, 19 Dec 2006 15:53:44 +0000 (15:53 +0000)]
Splitted out the GdkPixbuf to NSImage routine so that it can be used from
2006-12-19 Mikael Hallendal <micke@imendio.com>
* gdk/quartz/gdkcursor-quartz.c: Splitted out the GdkPixbuf to NSImage
routine so that it can be used from libgtk as well (needed for
upcoming GtkStatusIcon support in the Quartz port).
* gdk/quartz/gdkevents-quartz.c: Don't assume that all NSWindows are
created from GDK, this is not true for the status icon.
* gdk/quartz/gdkprivate-quartz.h:
* gdk/quartz/gdkquartz.h: Added
gdk_quartz_pixbuf_to_ns_image_libgtk_only so that it is available to
the status icon code.
2006-12-15 Federico Mena Quintero <federico@novell.com>
Merged from gtk-2-10:
* gtk/gtkmenu.c (gtk_menu_set_title): Don't try to optimize for
the case where the new title is the same as the old title, to
preserve the behavior from GTK+ 2.8 (NULL and "" titles are not
equivalent). Handle the case where title == priv->title. This
was found by the LSB compatibility tests:
https://bugzilla.novell.com/show_bug.cgi?id=223882