forked from AuroraMiddleware/gtk
path bar: Don't hide arrows
Changing the visibility of child widgets in size-allocate does not work well with out current allocation and layout machinery. To avoid the visual fallout, just keep the arrow buttons visible and only change their sensitivity. https://bugzilla.gnome.org/show_bug.cgi?id=754868
This commit is contained in:
parent
761120a5e2
commit
e8ad47498b
@ -527,7 +527,7 @@ gtk_path_bar_size_allocate (GtkWidget *widget,
|
|||||||
GList *list, *first_button;
|
GList *list, *first_button;
|
||||||
gint width;
|
gint width;
|
||||||
gint allocation_width;
|
gint allocation_width;
|
||||||
gboolean need_sliders = FALSE;
|
gboolean need_sliders = TRUE;
|
||||||
gint up_slider_offset = 0;
|
gint up_slider_offset = 0;
|
||||||
gint down_slider_offset = 0;
|
gint down_slider_offset = 0;
|
||||||
GtkRequisition child_requisition;
|
GtkRequisition child_requisition;
|
||||||
@ -585,7 +585,7 @@ gtk_path_bar_size_allocate (GtkWidget *widget,
|
|||||||
else
|
else
|
||||||
first_button = path_bar->priv->button_list;
|
first_button = path_bar->priv->button_list;
|
||||||
need_sliders = TRUE;
|
need_sliders = TRUE;
|
||||||
|
|
||||||
/* To see how much space we have, and how many buttons we can display.
|
/* To see how much space we have, and how many buttons we can display.
|
||||||
* We start at the first button, count forward until hit the new
|
* We start at the first button, count forward until hit the new
|
||||||
* button, then count backwards.
|
* button, then count backwards.
|
||||||
@ -743,7 +743,7 @@ gtk_path_bar_size_allocate (GtkWidget *widget,
|
|||||||
needs_reorder |= gtk_widget_get_child_visible (path_bar->priv->up_slider_button) == TRUE;
|
needs_reorder |= gtk_widget_get_child_visible (path_bar->priv->up_slider_button) == TRUE;
|
||||||
gtk_widget_set_child_visible (path_bar->priv->up_slider_button, FALSE);
|
gtk_widget_set_child_visible (path_bar->priv->up_slider_button, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (need_sliders)
|
if (need_sliders)
|
||||||
{
|
{
|
||||||
child_allocation.width = path_bar->priv->slider_width;
|
child_allocation.width = path_bar->priv->slider_width;
|
||||||
|
Loading…
Reference in New Issue
Block a user