[Xfce4-commits] [apps/parole] 01/01: Do not hide cursor if parole window is not active

noreply at xfce.org noreply at xfce.org
Mon Jun 16 03:04:05 CEST 2014


This is an automated email from the git hooks/post-receive script.

bluesabre pushed a commit to branch master
in repository apps/parole.

commit 73609277c270da7349d02a29073879dce2e75e55
Author: Sean Davis <smd.seandavis at gmail.com>
Date:   Sun Jun 15 21:03:59 2014 -0400

    Do not hide cursor if parole window is not active
---
 src/gst/parole-gst.c |   15 ---------------
 src/parole-player.c  |   38 ++++++++++++++++++++++++++------------
 2 files changed, 26 insertions(+), 27 deletions(-)

diff --git a/src/gst/parole-gst.c b/src/gst/parole-gst.c
index 4988e21..9ab4387 100644
--- a/src/gst/parole-gst.c
+++ b/src/gst/parole-gst.c
@@ -112,7 +112,6 @@ struct ParoleGstPrivate
     gulong              tick_id;
     GdkPixbuf          *logo;
     gchar              *device;
-    GTimer             *hidecursor_timer;
 
     gpointer            conf; /* Specific for ParoleMediaPlayer*/
 
@@ -566,13 +565,6 @@ parole_gst_tick_timeout (gpointer data)
         }
     }
 
-#if GST_CHECK_VERSION(1, 0, 0)
-#else
-out:
-    if ( g_timer_elapsed (gst->priv->hidecursor_timer, NULL ) > HIDE_WINDOW_CURSOR_TIMEOUT && video)
-        parole_gst_set_cursor_visible (gst, FALSE);
-#endif
-
     return TRUE;
 }
 
@@ -1828,14 +1820,8 @@ parole_gst_send_navigation_command(ParoleGst *gst, gint command)
 static gboolean
 parole_gst_motion_notify_event (GtkWidget *widget, GdkEventMotion *ev)
 {
-    ParoleGst *gst;
     gboolean ret = FALSE;
 
-    gst = PAROLE_GST (widget);
-
-    g_timer_reset (gst->priv->hidecursor_timer);
-    parole_gst_set_cursor_visible (gst, TRUE);
-
     if (GTK_WIDGET_CLASS (parole_gst_parent_class)->motion_notify_event)
         ret |= GTK_WIDGET_CLASS (parole_gst_parent_class)->motion_notify_event (widget, ev);
 
@@ -2421,7 +2407,6 @@ parole_gst_init (ParoleGst *gst)
     g_mutex_init (&gst->priv->lock);
     gst->priv->stream = parole_stream_new ();
     gst->priv->tick_id = 0;
-    gst->priv->hidecursor_timer = g_timer_new ();
     gst->priv->update_vis = FALSE;
     gst->priv->buffering = FALSE;
     gst->priv->seeking = FALSE;
diff --git a/src/parole-player.c b/src/parole-player.c
index c5a353a..a11ab24 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -316,6 +316,9 @@ gboolean    parole_player_key_press                 (GtkWidget *widget,
 void        parole_player_widget_activate_action    (GtkWidget *widget,
                                                      GSimpleAction *action);
 
+static void parole_player_set_cursor_visible        (ParolePlayer *player,
+                                                     gboolean visible);
+
 gboolean parole_player_hide_controls (gpointer data);
 
 static GtkTargetEntry target_entry[] =
@@ -1995,7 +1998,7 @@ parole_player_reset_controls (ParolePlayer *player, gboolean fullscreen)
 
             gtk_window_unfullscreen (GTK_WINDOW (player->priv->window));
             gtk_notebook_set_current_page (GTK_NOTEBOOK (player->priv->playlist_nt), current_page);
-            parole_gst_set_cursor_visible (PAROLE_GST (player->priv->gst), FALSE);
+            parole_player_set_cursor_visible (player, FALSE);
             player->priv->full_screen = FALSE;
         }
         else
@@ -2174,7 +2177,6 @@ parole_player_gst_widget_button_release (GtkWidget *widget, GdkEventButton *ev,
 gboolean parole_player_hide_controls (gpointer data)
 {
     ParolePlayer *player;
-    GdkWindow *gdkwindow;
     GtkWidget *controls;
 
     TRACE("start");
@@ -2184,8 +2186,7 @@ gboolean parole_player_hide_controls (gpointer data)
     controls = gtk_widget_get_parent(player->priv->control);
 
     gtk_widget_hide(controls);
-    gdkwindow = gtk_widget_get_window (GTK_WIDGET(player->priv->eventbox_output));
-    parole_window_invisible_cursor (gdkwindow);
+    parole_player_set_cursor_visible (player, FALSE);
 
     return FALSE;
 }
@@ -2195,7 +2196,6 @@ parole_player_gst_widget_motion_notify_event (GtkWidget *widget, GdkEventMotion
 {
     static gulong hide_timeout;
     int hide_controls_timeout;
-    GdkWindow *gdkwindow;
 
     if ( hide_timeout != 0)
     {
@@ -2205,8 +2205,7 @@ parole_player_gst_widget_motion_notify_event (GtkWidget *widget, GdkEventMotion
 
     gtk_widget_show_all (gtk_widget_get_parent(player->priv->control));
 
-    gdkwindow = gtk_widget_get_window (GTK_WIDGET(player->priv->eventbox_output));
-    gdk_window_set_cursor (gdkwindow, NULL);
+    parole_player_set_cursor_visible (player, TRUE);
 
     g_object_get (G_OBJECT (player->priv->conf),
                   "hide-controls-timeout", &hide_controls_timeout,
@@ -2981,18 +2980,33 @@ parole_player_drag_data_received_cb (GtkWidget *widget,
 }
 
 static void
-parole_player_window_notify_is_active (ParolePlayer *player)
+parole_player_set_cursor_visible (ParolePlayer *player, gboolean visible)
 {
-    if ( !player->priv->full_screen )
-        return;
+    GdkWindow *gdkwindow;
+    gdkwindow = gtk_widget_get_window (GTK_WIDGET(player->priv->eventbox_output));
 
-    if (!gtk_window_is_active (GTK_WINDOW (player->priv->window)) )
+    if (visible)
     {
         parole_gst_set_cursor_visible (PAROLE_GST (player->priv->gst), TRUE);
+        gdk_window_set_cursor (gdkwindow, NULL);
     }
-    else
+    else if (gtk_window_is_active (GTK_WINDOW (player->priv->window)))
     {
         parole_gst_set_cursor_visible (PAROLE_GST (player->priv->gst), FALSE);
+        parole_window_invisible_cursor (gdkwindow);
+    }
+}
+
+static void
+parole_player_window_notify_is_active (ParolePlayer *player)
+{
+    if (!gtk_window_is_active (GTK_WINDOW (player->priv->window)) )
+    {
+        parole_player_set_cursor_visible (player, TRUE);
+    }
+    else
+    {
+        parole_player_set_cursor_visible (player, FALSE);
     }
 }
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list