[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