Commit a67723b0 authored by Owen Taylor's avatar Owen Taylor Committed by Owen Taylor
Browse files

Fix problem where there were two copies of the "do an arrow step" code,

Thu Mar  7 10:31:57 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_timer): Fix problem where
        there were two copies of the "do an arrow step" code,
        one correct for rotated notebooks, one not. (#73855,
        Thomas Leonard.)
parent 1dad43b9
Thu Mar 7 10:31:57 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_timer): Fix problem where
there were two copies of the "do an arrow step" code,
one correct for rotated notebooks, one not. (#73855,
Thomas Leonard.)
Wed Mar 6 23:20:51 2002 Jonathan Blandford <jrb@redhat.com>
and Kristian Rietveld <kris@gtk.org>
 
......
Thu Mar 7 10:31:57 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_timer): Fix problem where
there were two copies of the "do an arrow step" code,
one correct for rotated notebooks, one not. (#73855,
Thomas Leonard.)
Wed Mar 6 23:20:51 2002 Jonathan Blandford <jrb@redhat.com>
and Kristian Rietveld <kris@gtk.org>
 
......
Thu Mar 7 10:31:57 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_timer): Fix problem where
there were two copies of the "do an arrow step" code,
one correct for rotated notebooks, one not. (#73855,
Thomas Leonard.)
Wed Mar 6 23:20:51 2002 Jonathan Blandford <jrb@redhat.com>
and Kristian Rietveld <kris@gtk.org>
 
......
Thu Mar 7 10:31:57 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_timer): Fix problem where
there were two copies of the "do an arrow step" code,
one correct for rotated notebooks, one not. (#73855,
Thomas Leonard.)
Wed Mar 6 23:20:51 2002 Jonathan Blandford <jrb@redhat.com>
and Kristian Rietveld <kris@gtk.org>
 
......
Thu Mar 7 10:31:57 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_timer): Fix problem where
there were two copies of the "do an arrow step" code,
one correct for rotated notebooks, one not. (#73855,
Thomas Leonard.)
Wed Mar 6 23:20:51 2002 Jonathan Blandford <jrb@redhat.com>
and Kristian Rietveld <kris@gtk.org>
 
......
Thu Mar 7 10:31:57 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_timer): Fix problem where
there were two copies of the "do an arrow step" code,
one correct for rotated notebooks, one not. (#73855,
Thomas Leonard.)
Wed Mar 6 23:20:51 2002 Jonathan Blandford <jrb@redhat.com>
and Kristian Rietveld <kris@gtk.org>
 
......
Thu Mar 7 10:31:57 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_timer): Fix problem where
there were two copies of the "do an arrow step" code,
one correct for rotated notebooks, one not. (#73855,
Thomas Leonard.)
Wed Mar 6 23:20:51 2002 Jonathan Blandford <jrb@redhat.com>
and Kristian Rietveld <kris@gtk.org>
 
......
......@@ -1449,6 +1449,27 @@ gtk_notebook_get_arrow (GtkNotebook *notebook,
return 0;
}
static void
gtk_notebook_do_arrow (GtkNotebook *notebook,
GtkArrowType arrow)
{
GtkWidget *widget = GTK_WIDGET (notebook);
GtkDirectionType dir;
if (!notebook->focus_tab ||
gtk_notebook_search_page (notebook, notebook->focus_tab,
arrow == GTK_ARROW_LEFT ? STEP_PREV : STEP_NEXT,
TRUE))
{
if (notebook->tab_pos == GTK_POS_LEFT ||
notebook->tab_pos == GTK_POS_RIGHT)
dir = (arrow == GTK_ARROW_LEFT) ? GTK_DIR_UP : GTK_DIR_DOWN;
else
dir = (arrow == GTK_ARROW_LEFT) ? GTK_DIR_LEFT : GTK_DIR_RIGHT;
gtk_widget_child_focus (widget, dir);
}
}
static gboolean
gtk_notebook_arrow_button_press (GtkNotebook *notebook,
GtkArrowType arrow,
......@@ -1464,19 +1485,7 @@ gtk_notebook_arrow_button_press (GtkNotebook *notebook,
if (event->button == 1)
{
GtkDirectionType dir;
if (!notebook->focus_tab ||
gtk_notebook_search_page (notebook, notebook->focus_tab,
arrow == GTK_ARROW_LEFT ? STEP_PREV : STEP_NEXT,
TRUE))
{
if (notebook->tab_pos == GTK_POS_LEFT ||
notebook->tab_pos == GTK_POS_RIGHT)
dir = (arrow == GTK_ARROW_LEFT) ? GTK_DIR_UP : GTK_DIR_DOWN;
else
dir = (arrow == GTK_ARROW_LEFT) ? GTK_DIR_LEFT : GTK_DIR_RIGHT;
gtk_widget_child_focus (widget, dir);
}
gtk_notebook_do_arrow (notebook, arrow);
if (!notebook->timer)
{
......@@ -2293,23 +2302,11 @@ gtk_notebook_timer (GtkNotebook *notebook)
gboolean retval = FALSE;
GDK_THREADS_ENTER ();
if (notebook->timer)
{
if (notebook->click_child == GTK_ARROW_LEFT)
{
if (!notebook->focus_tab ||
gtk_notebook_search_page (notebook, notebook->focus_tab,
STEP_PREV, TRUE))
gtk_widget_child_focus (GTK_WIDGET (notebook), GTK_DIR_LEFT);
}
else if (notebook->click_child == GTK_ARROW_RIGHT)
{
if (!notebook->focus_tab ||
gtk_notebook_search_page (notebook, notebook->focus_tab,
STEP_NEXT, TRUE))
gtk_widget_child_focus (GTK_WIDGET (notebook), GTK_DIR_RIGHT);
}
gtk_notebook_do_arrow (notebook, notebook->click_child);
if (notebook->need_timer)
{
notebook->need_timer = FALSE;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment