Set focus-on-click to FALSE for all buttons. Don't grab focus when a
2005-11-07 Matthias Clasen <mclasen@redhat.com> * gtk/gtkpathbar.[hc]: Set focus-on-click to FALSE for all buttons. Don't grab focus when a slider button is pressed, instead, use a bit in the pathbar struct to determine whether to scroll up or down. (#314486, Carlos Garnacho)
This commit is contained in:
committed by
Matthias Clasen
parent
4309a349b5
commit
fb02547e1e
@ -1,5 +1,10 @@
|
|||||||
2005-11-07 Matthias Clasen <mclasen@redhat.com>
|
2005-11-07 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkpathbar.[hc]: Set focus-on-click to FALSE for all buttons.
|
||||||
|
Don't grab focus when a slider button is pressed, instead, use
|
||||||
|
a bit in the pathbar struct to determine whether to scroll up
|
||||||
|
or down. (#314486, Carlos Garnacho)
|
||||||
|
|
||||||
* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup):
|
* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup):
|
||||||
Don't popup the completions if the focus has already been
|
Don't popup the completions if the focus has already been
|
||||||
moved somewhere else. (#319914, Christian Persch)
|
moved somewhere else. (#319914, Christian Persch)
|
||||||
|
|||||||
@ -1,5 +1,10 @@
|
|||||||
2005-11-07 Matthias Clasen <mclasen@redhat.com>
|
2005-11-07 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkpathbar.[hc]: Set focus-on-click to FALSE for all buttons.
|
||||||
|
Don't grab focus when a slider button is pressed, instead, use
|
||||||
|
a bit in the pathbar struct to determine whether to scroll up
|
||||||
|
or down. (#314486, Carlos Garnacho)
|
||||||
|
|
||||||
* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup):
|
* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup):
|
||||||
Don't popup the completions if the focus has already been
|
Don't popup the completions if the focus has already been
|
||||||
moved somewhere else. (#319914, Christian Persch)
|
moved somewhere else. (#319914, Christian Persch)
|
||||||
|
|||||||
@ -125,6 +125,7 @@ get_slider_button (GtkPathBar *path_bar,
|
|||||||
gtk_widget_push_composite_child ();
|
gtk_widget_push_composite_child ();
|
||||||
|
|
||||||
button = gtk_button_new ();
|
button = gtk_button_new ();
|
||||||
|
gtk_button_set_focus_on_click (button, FALSE);
|
||||||
gtk_container_add (GTK_CONTAINER (button), gtk_arrow_new (arrow_type, GTK_SHADOW_OUT));
|
gtk_container_add (GTK_CONTAINER (button), gtk_arrow_new (arrow_type, GTK_SHADOW_OUT));
|
||||||
gtk_container_add (GTK_CONTAINER (path_bar), button);
|
gtk_container_add (GTK_CONTAINER (path_bar), button);
|
||||||
gtk_widget_show_all (button);
|
gtk_widget_show_all (button);
|
||||||
@ -730,9 +731,9 @@ gtk_path_bar_scroll_timeout (GtkPathBar *path_bar)
|
|||||||
|
|
||||||
if (path_bar->timer)
|
if (path_bar->timer)
|
||||||
{
|
{
|
||||||
if (GTK_WIDGET_HAS_FOCUS (path_bar->up_slider_button))
|
if (path_bar->scrolling_up)
|
||||||
gtk_path_bar_scroll_up (path_bar->up_slider_button, path_bar);
|
gtk_path_bar_scroll_up (path_bar->up_slider_button, path_bar);
|
||||||
else if (GTK_WIDGET_HAS_FOCUS (path_bar->down_slider_button))
|
else
|
||||||
gtk_path_bar_scroll_down (path_bar->down_slider_button, path_bar);
|
gtk_path_bar_scroll_down (path_bar->down_slider_button, path_bar);
|
||||||
|
|
||||||
if (path_bar->need_timer)
|
if (path_bar->need_timer)
|
||||||
@ -770,18 +771,21 @@ gtk_path_bar_slider_button_press (GtkWidget *widget,
|
|||||||
GdkEventButton *event,
|
GdkEventButton *event,
|
||||||
GtkPathBar *path_bar)
|
GtkPathBar *path_bar)
|
||||||
{
|
{
|
||||||
if (!GTK_WIDGET_HAS_FOCUS (widget))
|
|
||||||
gtk_widget_grab_focus (widget);
|
|
||||||
|
|
||||||
if (event->type != GDK_BUTTON_PRESS || event->button != 1)
|
if (event->type != GDK_BUTTON_PRESS || event->button != 1)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
path_bar->ignore_click = FALSE;
|
path_bar->ignore_click = FALSE;
|
||||||
|
|
||||||
if (widget == path_bar->up_slider_button)
|
if (widget == path_bar->up_slider_button)
|
||||||
gtk_path_bar_scroll_up (path_bar->up_slider_button, path_bar);
|
{
|
||||||
|
path_bar->scrolling_up = TRUE;
|
||||||
|
gtk_path_bar_scroll_up (path_bar->up_slider_button, path_bar);
|
||||||
|
}
|
||||||
else if (widget == path_bar->down_slider_button)
|
else if (widget == path_bar->down_slider_button)
|
||||||
gtk_path_bar_scroll_down (path_bar->down_slider_button, path_bar);
|
{
|
||||||
|
path_bar->scrolling_up = FALSE;
|
||||||
|
gtk_path_bar_scroll_down (path_bar->down_slider_button, path_bar);
|
||||||
|
}
|
||||||
|
|
||||||
if (!path_bar->timer)
|
if (!path_bar->timer)
|
||||||
{
|
{
|
||||||
@ -1147,6 +1151,7 @@ make_directory_button (GtkPathBar *path_bar,
|
|||||||
|
|
||||||
button_data->type = find_button_type (path_bar, path);
|
button_data->type = find_button_type (path_bar, path);
|
||||||
button_data->button = gtk_toggle_button_new ();
|
button_data->button = gtk_toggle_button_new ();
|
||||||
|
gtk_button_set_focus_on_click (button_data->button, FALSE);
|
||||||
|
|
||||||
switch (button_data->type)
|
switch (button_data->type)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -63,6 +63,7 @@ struct _GtkPathBar
|
|||||||
guint slider_visible : 1;
|
guint slider_visible : 1;
|
||||||
guint need_timer : 1;
|
guint need_timer : 1;
|
||||||
guint ignore_click : 1;
|
guint ignore_click : 1;
|
||||||
|
guint scrolling_up : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _GtkPathBarClass
|
struct _GtkPathBarClass
|
||||||
|
|||||||
Reference in New Issue
Block a user