[rygel] tracker: CategoryContainer keeps relavent ItemFactory



commit f1d839b878fd27cbf308350129c54ec279641193
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date:   Thu Feb 4 18:07:39 2010 +0200

    tracker: CategoryContainer keeps relavent ItemFactory
    
    CategoryContainer keeps reference to relavent ItemFactory instance.

 .../tracker/rygel-tracker-category-container.vala  |   16 ++++++++++------
 src/plugins/tracker/rygel-tracker-music.vala       |   12 ++++--------
 src/plugins/tracker/rygel-tracker-pictures.vala    |   13 ++++---------
 src/plugins/tracker/rygel-tracker-videos.vala      |   13 ++++---------
 4 files changed, 22 insertions(+), 32 deletions(-)
---
diff --git a/src/plugins/tracker/rygel-tracker-category-container.vala b/src/plugins/tracker/rygel-tracker-category-container.vala
index 5dbfc7c..889724a 100644
--- a/src/plugins/tracker/rygel-tracker-category-container.vala
+++ b/src/plugins/tracker/rygel-tracker-category-container.vala
@@ -27,19 +27,23 @@ using Gee;
  * Container listing content hierarchy for a specific category.
  */
 public class Rygel.TrackerCategoryContainer : Rygel.SimpleContainer {
-    public TrackerCategoryContainer (string         id,
-                                     MediaContainer parent,
-                                     string         title,
-                                     string         upload_dir) {
+    public TrackerItemFactory item_factory;
+
+    public TrackerCategoryContainer (string             id,
+                                     MediaContainer     parent,
+                                     string             title,
+                                     TrackerItemFactory item_factory) {
         base (id, parent, title);
 
+        this.item_factory = item_factory;
+
         try {
-            var uri = Filename.to_uri (upload_dir, null);
+            var uri = Filename.to_uri (item_factory.upload_dir, null);
 
             this.uris.add (uri);
         } catch (ConvertError error) {
             warning ("Failed to contstruct URI for directory '%s': %s",
-                     upload_dir,
+                     item_factory.upload_dir,
                      error.message);
         }
     }
diff --git a/src/plugins/tracker/rygel-tracker-music.vala b/src/plugins/tracker/rygel-tracker-music.vala
index 9656fb8..a922ac9 100644
--- a/src/plugins/tracker/rygel-tracker-music.vala
+++ b/src/plugins/tracker/rygel-tracker-music.vala
@@ -30,32 +30,28 @@ public class Rygel.TrackerMusic : Rygel.TrackerCategoryContainer {
     public TrackerMusic (string         id,
                          MediaContainer parent,
                          string         title) {
-        base (id,
-              parent,
-              title,
-              Environment.get_user_special_dir (UserDirectory.MUSIC));
+        base (id, parent, title, new TrackerMusicItemFactory ());
 
-        var item_factory = new TrackerMusicItemFactory ();
         var key_chain = new string[] { "nmm:performer",
                                        "nmm:artistName",
                                        null };
         this.add_child (new TrackerMetadataValues ("17",
                                                    this,
                                                    "Artists",
-                                                   item_factory,
+                                                   this.item_factory,
                                                    key_chain));
 
         key_chain = new string[] { "nmm:musicAlbum", "nmm:albumTitle", null };
         this.add_child (new TrackerMetadataValues ("18",
                                                    this,
                                                    "Albums",
-                                                   item_factory,
+                                                   this.item_factory,
                                                    key_chain));
         this.add_child (new TrackerTags ("21", this, item_factory));
         this.add_child (new TrackerSearchContainer ("26",
                                                     this,
                                                     "All",
-                                                    item_factory));
+                                                    this.item_factory));
     }
 }
 
diff --git a/src/plugins/tracker/rygel-tracker-pictures.vala b/src/plugins/tracker/rygel-tracker-pictures.vala
index 5340f7b..387126f 100644
--- a/src/plugins/tracker/rygel-tracker-pictures.vala
+++ b/src/plugins/tracker/rygel-tracker-pictures.vala
@@ -32,19 +32,14 @@ public class Rygel.TrackerPictures : Rygel.TrackerCategoryContainer {
     public TrackerPictures (string         id,
                             MediaContainer parent,
                             string         title) {
-        base (id,
-              parent,
-              title,
-              Environment.get_user_special_dir (UserDirectory.PICTURES));
+        base (id, parent, title, new TrackerPictureItemFactory ());
 
-        var item_factory = new TrackerPictureItemFactory ();
-
-        this.add_child (new TrackerTags ("19", this, item_factory));
-        this.add_child (new TrackerYears ("22", this, item_factory));
+        this.add_child (new TrackerTags ("19", this, this.item_factory));
+        this.add_child (new TrackerYears ("22", this, this.item_factory));
         this.add_child (new TrackerSearchContainer ("25",
                                                     this,
                                                     "All",
-                                                    item_factory));
+                                                    this.item_factory));
     }
 }
 
diff --git a/src/plugins/tracker/rygel-tracker-videos.vala b/src/plugins/tracker/rygel-tracker-videos.vala
index 2e2a664..1660a90 100644
--- a/src/plugins/tracker/rygel-tracker-videos.vala
+++ b/src/plugins/tracker/rygel-tracker-videos.vala
@@ -30,19 +30,14 @@ public class Rygel.TrackerVideos : Rygel.TrackerCategoryContainer {
     public TrackerVideos (string         id,
                           MediaContainer parent,
                           string         title) {
-        base (id,
-              parent,
-              title,
-              Environment.get_user_special_dir (UserDirectory.VIDEOS));
+        base (id, parent, title, new TrackerVideoItemFactory ());
 
-        var item_factory = new TrackerVideoItemFactory ();
-
-        this.add_child (new TrackerTags ("20", this, item_factory));
-        this.add_child (new TrackerYears ("23", this, item_factory));
+        this.add_child (new TrackerTags ("20", this, this.item_factory));
+        this.add_child (new TrackerYears ("23", this, this.item_factory));
         this.add_child (new TrackerSearchContainer ("24",
                                                     this,
                                                     "All",
-                                                    item_factory));
+                                                    this.item_factory));
     }
 }
 



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