2007-12-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_real_remove): Another fix
to avoid further fallout from the fix for bug 388321.
svn path=/trunk/; revision=19139
2007-06-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmarshalers.list:
* gtk/gtknotebook.[hc]: Add a create-window signal that allows
to override the global create-window-hook on a per-notebook
basis. The default handler falls back to the global hook.
(#386935, Christian Hammond)
svn path=/trunk/; revision=18024
2007-05-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtknotebook.[hc]: Deprecate gtk_notebook_[gs]et_group_id
in favour of new functions gtk_notebook_[gs]et_group, which
takes a pointer as group identifier and makes it easier to
avoid group id collisions. (#386930, Christian Hammond)
* tests/testnotebookdnd.c: Use new grouping api.
svn path=/trunk/; revision=17873
2007-05-18 Carlos Garnacho <carlos@imendio.com>
* gtk/gtknotebook.c (gtk_notebook_init) (gtk_notebook_drag_motion)
(gtk_notebook_drag_drop): Allow widgets up in the hierarchy to run
their DnD handlers if the target doesn't match with anything the
notebook manages. (#350665, Joakim Lundborg).
svn path=/trunk/; revision=17860
2007-05-18 Carlos Garnacho <carlos@imendio.com>
* gtk/gtknotebook.c (gtk_notebook_real_insert_page): Do not unset
the brand new current page if there was none set previously. Fixes
#425138 (Reported by Michail Crayson). Some code simplifications.
(gtk_notebook_draw_arrow): code style fix.
svn path=/trunk/; revision=17858
2007-03-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_real_insert_page):
Set child visibility to FALSE here; it will be turned
back on in switch_page. (#413664, Carlos Garnacho)
svn path=/trunk/; revision=17434
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
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-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-11-16 Michael Natterer <mitch@imendio.com>
Add new infrastructure for notifications of failed keyboard
navigation and navigation with restricted set of keys.
The patch handles configurable beeping, navigating the GUI with
cursor keys only (as in phone environments), and configurable
wrap-around. Fixes bugs #322640, #70986, #318827, #334726, #334742
and #309291.
* gtk/gtksettings.c: added properties gtk-keynav-cursor-only,
gtk-keynav-wrap-around and gtk-error-bell.
* gtk/gtkwidget.[ch]: added new signal "keynav-failed" and public
API to emit it. Added New function gtk_widget_error_bell() which
looks at the gtk-error-bell setting and calls gdk_window_beep()
accordingly.
* gtk/gtk.symbols: add the new widget symbols.
* gtk/gtkcellrendereraccel.c
* gtk/gtkimcontextsimple.c
* gtk/gtkmenu.c
* gtk/gtknotebook.c: use gtk_widget_error_bell() or look at the
gtk-error-bell setting instead of calling gdk_display_beep()
unconditionally.
* gtk/gtkcombobox.c
* gtk/gtkentry.c
* gtk/gtkiconview.c
* gtk/gtklabel.c
* gtk/gtkmenushell.c
* gtk/gtkspinbutton.c
* gtk/gtktextview.c
* gtk/gtktreeview.c: call gtk_widget_error_bell() on failed keynav.
* gtk/gtkentry.c
* gtk/gtklabel.c
* gtk/gtkrange.c
* gtk/gtktextview.c: consult gtk_widget_keynav_failed() on failed
cursor navigation and leave the widget if it returns FALSE.
* gtk/gtkmenushell.c
* gtk/gtknotebook.c: only wrap around if gtk-keynav-wrap-around
is TRUE.
* gtk/gtkradiobutton.c: ask gtk_widget_keynav_failed() to decide
whether to to wrap-around, and don't select active items on cursor
navigation if gtk-keynav-cursor-only is TRUE. Should look at
gtk-keynav-wrap-around too, will look into that.
2006-10-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_reorder_tab): Only
reorder tabs if the focus is in the tab. (#350342, Carlos
Garnacho Parro)
2006-09-10 Matthias Clasen <mclasen@redhat.com>
* Commit a patch by Behdad to fix typos, omissions and other
errors in the symbol aliasing, and add checks for local PLT
entries. (#354687, Behdad Esfahbod)
2006-08-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_drag_motion): Don't allow
dragging a notebook tab to one of its children. (#348626,
Benjamin Otte)
2006-07-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_stop_reorder): Unset
the during_reorder flag. (#348049, Sven Herzberg, patch
by Benjamin Otte)
2006-07-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_stop_reorder): Don't undo
reordering if we haven't been reordering. (#346836, Ed Catmur)
2006-06-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_tab_space): Remove
redundant assignments to page, which may cause NULL
dereferences. (#346334, Dave Vasilevsky)
2006-06-15 Carlos Garnacho <carlosg@gnome.org>
* gtk/gtknotebook.c (gtk_notebook_motion_notify): use
gdk_window_get_pointer() to get pointer coordinates, but limit its
calls to a maximum of 45 times per second for not being too
CPU/network abusive. stop drag operation if (event->state &
GDK_BUTTON1_MASK) is FALSE to prevent tabs from "adhering" to the
pointer. Fixes bug #341571
(gtk_notebook_calculate_tabs_allocation), (gtk_notebook_button_press):
get rid of the "tab jumps to pointer" sensation when beginning a drag
by using the pointer offset in the tab when the drag begins as an
anchor.
(gtk_notebook_redraw_tabs_union): remove, it wasn't worth the little
performance gain and could draw artifacts under some circumstances.
(gtk_notebook_drag_end): do not reparent the detached tab label until
the animation has ended.