banshee r3283 - in trunk/banshee: . src/Core/Banshee.Services src/Core/Banshee.Services/Banshee.Library src/Core/Banshee.ThickClient/Banshee.Library.Gui



Author: abock
Date: Wed Feb 20 18:45:55 2008
New Revision: 3283
URL: http://svn.gnome.org/viewvc/banshee?rev=3283&view=rev

Log:
2008-02-20  Aaron Bockover  <abock gnome org>

    * src/Core/Banshee.Services/Banshee.Library/ImportSourceManager.cs:
    Fixed loading after Scott's commit, defer the loading of these import
    objects until they are actually needed to improve theoretical startup speed

    * src/Core/Banshee.Services/Banshee.Library/IImportSource.cs: Added the
    CanImport member that Scott used in IExtensionImportSource
    
    * src/Core/Banshee.Services/Banshee.Library/IExtensionImportSource.cs:
    Removed, no sense in having this interface

    * src/Core/Banshee.Services/Banshee.Library/HomeDirectoryImportSource.cs:
    * src/Core/Banshee.ThickClient/Banshee.Library.Gui/FileImportSource.cs:
    * src/Core/Banshee.ThickClient/Banshee.Library.Gui/FolderImportSource.cs:
    Implement CanImport



Removed:
   trunk/banshee/src/Core/Banshee.Services/Banshee.Library/IExtensionImportSource.cs
Modified:
   trunk/banshee/ChangeLog
   trunk/banshee/src/Core/Banshee.Services/Banshee.Library/HomeDirectoryImportSource.cs
   trunk/banshee/src/Core/Banshee.Services/Banshee.Library/IImportSource.cs
   trunk/banshee/src/Core/Banshee.Services/Banshee.Library/ImportSourceManager.cs
   trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp
   trunk/banshee/src/Core/Banshee.Services/Makefile.am
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Library.Gui/FileImportSource.cs
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Library.Gui/FolderImportSource.cs

Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Library/HomeDirectoryImportSource.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Library/HomeDirectoryImportSource.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Library/HomeDirectoryImportSource.cs	Wed Feb 20 18:45:55 2008
@@ -50,5 +50,9 @@
         public string [] IconNames {
             get { return new string [] { "user-home", "gtk-home" }; }
         }
+        
+        public bool CanImport {
+            get { return true; }
+        }
     }
 }

Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Library/IImportSource.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Library/IImportSource.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Library/IImportSource.cs	Wed Feb 20 18:45:55 2008
@@ -35,5 +35,6 @@
         void Import ();
         string Name { get; }
         string [] IconNames { get; }
+        bool CanImport { get; }
     }
 }

Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Library/ImportSourceManager.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Library/ImportSourceManager.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Library/ImportSourceManager.cs	Wed Feb 20 18:45:55 2008
@@ -37,21 +37,25 @@
 {
     public class ImportSourceManager : IService, IEnumerable<IImportSource>
     {
-        private List<IImportSource> import_sources = new List<IImportSource> ();
+        private List<IImportSource> import_sources;
         
         public ImportSourceManager ()
         {
-            import_sources.Add (new HomeDirectoryImportSource ());
-            
-            foreach (IExtensionImportSource source in AddinManager.GetExtensionObjects ("/Banshee/Library/ImportSource")) {
-                if (source.CanImport) {
-                    import_sources.Add (source);
-                }
-            }
         }
         
         public IEnumerator<IImportSource> GetEnumerator ()
         {
+            if (import_sources == null) {
+                import_sources = new List<IImportSource> ();
+                import_sources.Add (new HomeDirectoryImportSource ());
+            
+                foreach (IImportSource source in AddinManager.GetExtensionObjects ("/Banshee/Library/ImportSource")) {
+                    if (source.CanImport) {
+                        import_sources.Add (source);
+                    }
+                }
+            }
+            
             return import_sources.GetEnumerator ();
         }
         

Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp	Wed Feb 20 18:45:55 2008
@@ -121,7 +121,6 @@
     <File name="Banshee.Query/SmartPlaylistQueryValue.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Query/YearQueryValue.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.MediaEngine/NullPlayerEngine.cs" subtype="Code" buildaction="Compile" />
-    <File name="Banshee.Library/IExtensionImportSource.cs" subtype="Code" buildaction="Compile" />
   </Contents>
   <References>
     <ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

Modified: trunk/banshee/src/Core/Banshee.Services/Makefile.am
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Makefile.am	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Makefile.am	Wed Feb 20 18:45:55 2008
@@ -35,7 +35,6 @@
 	Banshee.Equalizer/EqualizerSetting.cs \
 	Banshee.Equalizer/EqualizerSettingEvent.cs \
 	Banshee.Library/HomeDirectoryImportSource.cs \
-	Banshee.Library/IExtensionImportSource.cs \
 	Banshee.Library/IImportSource.cs \
 	Banshee.Library/ImportSourceManager.cs \
 	Banshee.Library/LibraryImportManager.cs \

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Library.Gui/FileImportSource.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Library.Gui/FileImportSource.cs	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Library.Gui/FileImportSource.cs	Wed Feb 20 18:45:55 2008
@@ -66,5 +66,9 @@
         public string [] IconNames {
             get { return new string [] { "gtk-open" }; }
         }
+        
+        public bool CanImport {
+            get { return true; }
+        }
     }
 }

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Library.Gui/FolderImportSource.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Library.Gui/FolderImportSource.cs	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Library.Gui/FolderImportSource.cs	Wed Feb 20 18:45:55 2008
@@ -64,5 +64,9 @@
         public string [] IconNames {
             get { return new string [] { "gtk-open" }; }
         }
+        
+        public bool CanImport {
+            get { return true; }
+        }
     }
 }



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