[banshee] [Banshee.Moblin] Show and link against PlayQueue



commit 2260a87e96ab15bf7613479ccb069857779d4e3f
Author: Aaron Bockover <abockover novell com>
Date:   Fri Oct 9 21:14:25 2009 -0400

    [Banshee.Moblin] Show and link against PlayQueue
    
    First lame UI addition to the media panel

 .../Banshee.Moblin/MediaPanelContents.cs           |   58 +++++++++++++++++++-
 src/Extensions/Banshee.Moblin/Makefile.am          |    2 +-
 2 files changed, 57 insertions(+), 3 deletions(-)
---
diff --git a/src/Extensions/Banshee.Moblin/Banshee.Moblin/MediaPanelContents.cs b/src/Extensions/Banshee.Moblin/Banshee.Moblin/MediaPanelContents.cs
index 5791a75..27899e9 100644
--- a/src/Extensions/Banshee.Moblin/Banshee.Moblin/MediaPanelContents.cs
+++ b/src/Extensions/Banshee.Moblin/Banshee.Moblin/MediaPanelContents.cs
@@ -27,12 +27,66 @@
 using System;
 using Gtk;
 
+using Hyena.Data.Gui;
+using Banshee.Collection.Gui;
+
+using Banshee.ServiceStack;
+using Banshee.Sources;
+using Banshee.PlayQueue;
+
 namespace Banshee.Moblin
 {
     public class MediaPanelContents : Table
     {
-        public MediaPanelContents () : base (1, 1, false)
+        private TerseTrackListView playqueue_view;
+        
+        public MediaPanelContents () : base (2, 2, false)
+        {
+            BuildViews ();
+            FindPlayQueue ();
+        }
+        
+        private void BuildViews ()
+        {
+            Attach (new Hyena.Widgets.ScrolledWindow () {
+                (playqueue_view = new TerseTrackListView () {
+                    HasFocus = true
+                })
+            }, 1, 2, 1, 2, AttachOptions.Shrink,
+                AttachOptions.Expand | AttachOptions.Fill, 0, 0);
+            
+            playqueue_view.SetSizeRequest (425, -1);
+            playqueue_view.ColumnController.Insert (new Column (null, "indicator",
+                new ColumnCellStatusIndicator (null), 0.05, true, 20, 20), 0);
+            
+            ShowAll ();
+        }
+
+#region PlayQueue
+
+        private void FindPlayQueue ()
         {
+            Banshee.ServiceStack.ServiceManager.SourceManager.SourceAdded += delegate (SourceAddedArgs args) {
+                if (args.Source is Banshee.PlayQueue.PlayQueueSource) {
+                    InitPlayQueue (args.Source as Banshee.PlayQueue.PlayQueueSource);
+                }
+            };
+
+            foreach (Source src in ServiceManager.SourceManager.Sources) {
+                if (src is Banshee.PlayQueue.PlayQueueSource) {
+                    InitPlayQueue (src as Banshee.PlayQueue.PlayQueueSource);
+                }
+            }
         }
+
+        private void InitPlayQueue (PlayQueueSource play_queue)
+        {
+            ServiceManager.SourceManager.SetActiveSource (play_queue);
+            //play_queue.TrackModel.Reloaded += HandleTrackModelReloaded;
+            playqueue_view.SetModel (play_queue.TrackModel);
+        }
+
+#endregion
+
     }
-}
+}
\ No newline at end of file
diff --git a/src/Extensions/Banshee.Moblin/Makefile.am b/src/Extensions/Banshee.Moblin/Makefile.am
index e518198..c1b2cbb 100644
--- a/src/Extensions/Banshee.Moblin/Makefile.am
+++ b/src/Extensions/Banshee.Moblin/Makefile.am
@@ -1,6 +1,6 @@
 ASSEMBLY = Banshee.Moblin
 TARGET = library
-LINK = $(REF_EXTENSION_MOBLIN)
+LINK = $(REF_EXTENSION_MOBLIN) $(LINK_EXTENSION_PLAYQUEUE_DEPS)
 INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR)
 
 SOURCES =  \



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