After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 742590 - nautilus-floating-bar: hide on mouseover
nautilus-floating-bar: hide on mouseover
Status: RESOLVED FIXED
Product: epiphany
Classification: Core
Component: General
unspecified
Other All
: Normal normal
: ---
Assigned To: Epiphany Maintainers
Epiphany Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-01-08 14:47 UTC by Michael Catanzaro
Modified: 2015-12-07 20:15 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
nautilus-floating-bar: hide on mouseover (3.59 KB, patch)
2015-01-08 14:47 UTC, Michael Catanzaro
rejected Details | Review
Hide floating bar on mouseover (5.31 KB, patch)
2015-08-30 14:36 UTC, Michael Catanzaro
committed Details | Review

Description Michael Catanzaro 2015-01-08 14:47:57 UTC
See also bug #651293
Comment 1 Michael Catanzaro 2015-01-08 14:47:58 UTC
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).
Comment 2 Michael Catanzaro 2015-01-11 01:08:49 UTC
Review of attachment 294088 [details] [review]:

You can't click links underneath it when it's hidden (see bug #651293)
Comment 3 Michael Catanzaro 2015-08-30 14:36:32 UTC
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.
Comment 4 Michael Catanzaro 2015-12-07 11:25:08 UTC
Ping reviewers.
Comment 5 Carlos Garcia Campos 2015-12-07 11:40:11 UTC
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
Comment 6 Michael Catanzaro 2015-12-07 19:33:01 UTC
(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
Comment 7 Michael Catanzaro 2015-12-07 20:15:35 UTC
Attachment 310314 [details] pushed as 8b4f588 - Hide floating bar on mouseover