[Xfce4-commits] <parole:master> Improve seek-shortcuts (bug #9317), TODO: resolve kb-shortcut-conflict for up/down

Simon Steinbeiss noreply at xfce.org
Sat Dec 1 01:36:01 CET 2012


Updating branch refs/heads/master
         to c9c5a76d05d484a9e09dbc5cf3d7818333fd387d (commit)
       from 078dc4b064cc721fbd494310d2edd69b660eab01 (commit)

commit c9c5a76d05d484a9e09dbc5cf3d7818333fd387d
Author: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>
Date:   Sat Dec 1 01:34:22 2012 +0100

    Improve seek-shortcuts (bug #9317), TODO: resolve kb-shortcut-conflict for up/down

 src/parole-player.c |   79 +++++++++++++-------------------------------------
 1 files changed, 21 insertions(+), 58 deletions(-)

diff --git a/src/parole-player.c b/src/parole-player.c
index 933585c..08c0cf8 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -138,13 +138,9 @@ void            parole_player_forward_cb                  (GtkButton *button,
 void            parole_player_back_cb                  (GtkButton *button, 
 							 ParolePlayer *player);
 							 
-void 			parole_player_seekf_cb (GtkWidget *widget, ParolePlayer *player);
+void 			parole_player_seekf_cb (GtkWidget *widget, ParolePlayer *player, gdouble seek);
 
-void 			parole_player_seekb_cb (GtkWidget *widget, ParolePlayer *player);
-
-void 			parole_player_seekf_long_cb (GtkWidget *widget, ParolePlayer *player);
-
-void 			parole_player_seekb_long_cb (GtkWidget *widget, ParolePlayer *player);
+void 			parole_player_seekb_cb (GtkWidget *widget, ParolePlayer *player, gdouble seek);
 
 gboolean        parole_player_scroll_event_cb		(GtkWidget *widget,
 							 GdkEventScroll *ev,
@@ -1437,22 +1433,6 @@ parole_player_stop_clicked (GtkButton *button, ParolePlayer *player)
     parole_gst_stop (PAROLE_GST (player->priv->gst));
 }
 
-/*
- * Seek 5%
- */
-static gint64
-parole_player_get_seek_value (ParolePlayer *player)
-{
-    gint64 val;
-    gint64 dur;
-    
-    dur = parole_gst_get_stream_duration (PAROLE_GST (player->priv->gst));
-    
-    val = dur * 5 /100;
-    
-    return val;
-}
-
 void parole_player_forward_cb (GtkButton *button, ParolePlayer *player)
 {
 	parole_player_play_next (player, FALSE);
@@ -1463,47 +1443,19 @@ void parole_player_back_cb (GtkButton *button, ParolePlayer *player)
 	parole_player_play_prev (player);
 }
 
-void parole_player_seekf_cb (GtkWidget *widget, ParolePlayer *player)
-{
-	gdouble seek;
-	
-	seek =  parole_gst_get_stream_position (PAROLE_GST (player->priv->gst) )
-			+
-			parole_player_get_seek_value (player);
-			
-	parole_gst_seek (PAROLE_GST (player->priv->gst), seek);
-}
-
-void parole_player_seekb_cb (GtkWidget *widget, ParolePlayer *player)
+void parole_player_seekf_cb (GtkWidget *widget, ParolePlayer *player, gdouble seek)
 {
-	gdouble seek;
-	
-	seek =  parole_gst_get_stream_position (PAROLE_GST (player->priv->gst) )
-			-
-			parole_player_get_seek_value (player);
-			
-	parole_gst_seek (PAROLE_GST (player->priv->gst), seek);
-}
-
-void parole_player_seekf_long_cb (GtkWidget *widget, ParolePlayer *player)
-{
-	gdouble seek;
-	
 	seek =  parole_gst_get_stream_position (PAROLE_GST (player->priv->gst) )
 			+
-			600;
-			
+			seek;
 	parole_gst_seek (PAROLE_GST (player->priv->gst), seek);
 }
 
-void parole_player_seekb_long_cb (GtkWidget *widget, ParolePlayer *player)
+void parole_player_seekb_cb (GtkWidget *widget, ParolePlayer *player, gdouble seek)
 {
-	gdouble seek;
-	
 	seek =  parole_gst_get_stream_position (PAROLE_GST (player->priv->gst) )
 			-
-			600;
-			
+			seek;
 	parole_gst_seek (PAROLE_GST (player->priv->gst), seek);
 }
 
@@ -2251,6 +2203,7 @@ static gboolean
 parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
 {
     GtkWidget *focused;
+    gdouble seek_short = 10, seek_medium = 60, seek_long = 600;
     
     gboolean ret_val = FALSE;
     
@@ -2282,22 +2235,32 @@ parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
     case GDK_Right:
 	    /* Media seekable ?*/
 	    if ( GTK_WIDGET_SENSITIVE (player->priv->range) )
-		parole_player_seekf_cb (NULL, player);
+		parole_player_seekf_cb (NULL, player, seek_short);
 	    ret_val = TRUE;
 	    break;
 	case GDK_Left:
 	    if ( GTK_WIDGET_SENSITIVE (player->priv->range) )
-		parole_player_seekb_cb (NULL, player);
+		parole_player_seekb_cb (NULL, player, seek_short);
 	    ret_val = TRUE;
 	    break;
+	/*case GDK_Up:
+	    if ( GTK_WIDGET_SENSITIVE (player->priv->range) )
+		parole_player_seekf_cb (NULL, player, seek_medium);
+	    ret_val = TRUE;
+	    break;
+	case GDK_Down:
+	    if ( GTK_WIDGET_SENSITIVE (player->priv->range) )
+		parole_player_seekb_cb (NULL, player, seek_medium);
+	    ret_val = TRUE;
+	    break;*/
 	case GDK_Page_Down:
 	    if ( GTK_WIDGET_SENSITIVE (player->priv->range) )
-		parole_player_seekb_long_cb (NULL, player);
+		parole_player_seekb_cb (NULL, player, seek_long);
 	    ret_val = TRUE;
 	    break;
 	case GDK_Page_Up:
 	    if ( GTK_WIDGET_SENSITIVE (player->priv->range) )
-		parole_player_seekf_long_cb (NULL, player);
+		parole_player_seekf_cb (NULL, player, seek_long);
 	    ret_val = TRUE;
 	    break;
 	case GDK_s:


More information about the Xfce4-commits mailing list