GNOME Bugzilla – Bug 742590
nautilus-floating-bar: hide on mouseover
Last modified: 2015-12-07 20:15:39 UTC
See also bug #651293
Created attachment 294088 [details] [review] nautilus-floating-bar: hide on mouseover If the floating bar is very large, changing its alignment is not sufficient to move it out of the way. For example, without a very large monitor, the floating bar makes it impossible to access the My Bugs link on bugzilla.webkit.org (which is at the bottom of the page and has a long URL).
Review of attachment 294088 [details] [review]: You can't click links underneath it when it's hidden (see bug #651293)
Created attachment 310314 [details] [review] Hide floating bar on mouseover Adapted version of patch for nautilus, by Nelson Benitez. If the mouse moves over the floating bar, hide the bar until the mouse moves up.
Ping reviewers.
Review of attachment 310314 [details] [review]: ::: lib/widgets/nautilus-floating-bar.c @@ +177,3 @@ + +static void +nautilus_floating_bar_remove_hover_timeout (NautilusFloatingBar *self) Where is this used? @@ +197,3 @@ +check_pointer_data_free (gpointer data) +{ + g_free (data); We don't need a wrapper just to call g_free @@ +216,3 @@ + NAUTILUS_FLOATING_BAR (data->floating_bar)->priv->hover_timeout_id = 0; + return G_SOURCE_REMOVE; + } else if (data->first_time) { Do not use else after a return. @@ +265,3 @@ + self->priv->hover_timeout_id = g_timeout_add_full (G_PRIORITY_DEFAULT, 250, + check_pointer_timeout, data, + check_pointer_data_free); You can use g_free here
(In reply to Carlos Garcia Campos from comment #5) > Review of attachment 310314 [details] [review] [review]: > > ::: lib/widgets/nautilus-floating-bar.c > @@ +177,3 @@ > + > +static void > +nautilus_floating_bar_remove_hover_timeout (NautilusFloatingBar *self) > > Where is this used? It's not. Good catch. I don't trust the correctness of the timeout management code; I'll review that before pushing. > @@ +197,3 @@ > +check_pointer_data_free (gpointer data) > +{ > + g_free (data); > > We don't need a wrapper just to call g_free Yup > @@ +216,3 @@ > + NAUTILUS_FLOATING_BAR (data->floating_bar)->priv->hover_timeout_id = 0; > + return G_SOURCE_REMOVE; > + } else if (data->first_time) { > > Do not use else after a return. OK > @@ +265,3 @@ > + self->priv->hover_timeout_id = g_timeout_add_full (G_PRIORITY_DEFAULT, 250, > + check_pointer_timeout, data, > + check_pointer_data_free); > > You can use g_free here OK
Attachment 310314 [details] pushed as 8b4f588 - Hide floating bar on mouseover