[snappy] ui: move next and previous uri to same function



commit f10e7d7375acfdea6bd6c9f2dff242d6ea4c1702
Author: Luis de Bethencourt <luis debethencourt com>
Date:   Fri May 4 12:22:13 2012 +0100

    ui: move next and previous uri to same function

 src/gst_engine.c     |    2 +-
 src/user_interface.c |   44 ++++++++++++++------------------------------
 src/user_interface.h |    3 +--
 3 files changed, 16 insertions(+), 33 deletions(-)
---
diff --git a/src/gst_engine.c b/src/gst_engine.c
index e63cf4a..fd81aee 100644
--- a/src/gst_engine.c
+++ b/src/gst_engine.c
@@ -366,7 +366,7 @@ void stream_done (GstEngine * engine, UserInterface *ui)
       if (engine->loop) {
         engine_seek (engine, 0, TRUE);
       } else {
-        interface_play_next (ui);
+        interface_play_next_or_prev (ui, TRUE);
       }
 }
 
diff --git a/src/user_interface.c b/src/user_interface.c
index 0556430..4554b62 100644
--- a/src/user_interface.c
+++ b/src/user_interface.c
@@ -269,13 +269,13 @@ event_cb (ClutterStage * stage, ClutterEvent * event, UserInterface * ui)
 
         case CLUTTER_less:
         {
-          interface_play_prev (ui);
+          interface_play_next_or_prev (ui, FALSE);
           break;
         }
 
         case CLUTTER_greater:
         {
-          interface_play_next (ui);
+          interface_play_next_or_prev (ui, TRUE);
           break;
         }
 
@@ -1049,42 +1049,26 @@ interface_load_uri (UserInterface * ui, gchar * uri)
 }
 
 void
-interface_play_next (UserInterface * ui)
+interface_play_next_or_prev (UserInterface *ui, gboolean next)
 {
-  GList * next;
-  gchar * next_uri;
+  GList * element;
+  gchar * uri;
 
-  next = g_list_find (ui->uri_list, ui->engine->uri);
-  next = g_list_next (next);
-  if (next != NULL) {
-    next_uri = next->data;
+  element = g_list_find (ui->uri_list, ui->engine->uri);
+  if (next)
+    element = g_list_next (element);
+  else
+    element = g_list_previous (element);
 
-    engine_open_uri (ui->engine, next_uri);
-    interface_load_uri (ui, next_uri);
-    engine_play (ui->engine);
-  }
-}
+  if (element != NULL) {
+    uri = element->data;
 
-void
-interface_play_prev (UserInterface * ui)
-{
-  GList * prev;
-  gchar * prev_uri;
-
-  prev = g_list_find (ui->uri_list, ui->engine->uri);
-  g_print ("1. prev = %s", prev->data);
-  prev = g_list_previous (prev);
-  g_print ("2. prev = %s", prev->data);
-  if (prev != NULL) {
-    prev_uri = prev->data;
-
-    engine_open_uri (ui->engine, prev_uri);
-    interface_load_uri (ui, prev_uri);
+    engine_open_uri (ui->engine, uri);
+    interface_load_uri (ui, uri);
     engine_play (ui->engine);
   }
 }
 
-
 void
 interface_start (UserInterface * ui, gchar * uri)
 {
diff --git a/src/user_interface.h b/src/user_interface.h
index cbbf5f9..b4974ed 100644
--- a/src/user_interface.h
+++ b/src/user_interface.h
@@ -117,8 +117,7 @@ struct _UserInterface
 // Declaration of non-static functions
 void interface_init (UserInterface * ui);
 gboolean interface_load_uri (UserInterface * ui, gchar * uri);
-void interface_play_next (UserInterface * ui);
-void interface_play_prev (UserInterface * ui);
+void interface_play_next_or_prev (UserInterface * ui, gboolean next);
 void interface_start (UserInterface * ui, gchar * uri);
 gboolean interface_update_controls (UserInterface * ui);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]