public PodcastTrackListModel (BansheeDbConnection conn, IDatabaseTrackModelProvider provider, DatabaseSource source) : base (conn, provider, source)
        {
            From = String.Format ("{0}, {1}, {2}, {3}", provider.From, Feed.Provider.TableName, FeedItem.Provider.TableName, FeedEnclosure.Provider.TableName);

            int podcast_library_dbid = (source as PodcastSource ?? source.Parent as PodcastSource).DbId;
            AddCondition (From, String.Format (
                "CoreTracks.PrimarySourceID = {3} AND {0}.FeedID = {1}.FeedID AND CoreTracks.ExternalID = {1}.ItemID AND {1}.ItemID = {2}.ItemID",
                Feed.Provider.TableName, FeedItem.Provider.TableName, FeedEnclosure.Provider.TableName, podcast_library_dbid
            ));
        }
        public PodcastTrackListModel(BansheeDbConnection conn, IDatabaseTrackModelProvider provider, DatabaseSource source) : base(conn, provider, source)
        {
            From = String.Format("{0}, {1}, {2}, {3}", provider.From, Feed.Provider.TableName, FeedItem.Provider.TableName, FeedEnclosure.Provider.TableName);

            int podcast_library_dbid = (source as PodcastSource ?? source.Parent as PodcastSource).DbId;

            AddCondition(From, String.Format(
                             "CoreTracks.PrimarySourceID = {3} AND {0}.FeedID = {1}.FeedID AND CoreTracks.ExternalID = {1}.ItemID AND {1}.ItemID = {2}.ItemID",
                             Feed.Provider.TableName, FeedItem.Provider.TableName, FeedEnclosure.Provider.TableName, podcast_library_dbid
                             ));
        }
        public DatabaseTrackListModel (BansheeDbConnection connection, IDatabaseTrackModelProvider provider, Banshee.Sources.DatabaseSource source)
        {
            this.connection = connection;
            this.provider = provider;
            this.source = source;

            SelectAggregates = "SUM(CoreTracks.Duration), SUM(CoreTracks.FileSize)";

            Selection.Changed += delegate {
                if (SelectionAggregatesHandler != null) {
                    cache.UpdateSelectionAggregates (SelectionAggregatesHandler);
                }
            };
        }
        public DatabaseTrackListModel(BansheeDbConnection connection, IDatabaseTrackModelProvider provider, Banshee.Sources.DatabaseSource source)
        {
            this.connection = connection;
            this.provider   = provider;
            this.source     = source;

            SelectAggregates = "SUM(CoreTracks.Duration), SUM(CoreTracks.FileSize)";

            Selection.Changed += delegate {
                if (SelectionAggregatesHandler != null)
                {
                    cache.UpdateSelectionAggregates(SelectionAggregatesHandler);
                }
            };
        }
        public DatabaseTrackListModel(BansheeDbConnection connection, IDatabaseTrackModelProvider provider, Banshee.Sources.DatabaseSource source)
        {
            this.connection = connection;
            this.provider   = provider;
            this.source     = source;

            SelectAggregates = String.Format("SUM({0}), SUM({1})",
                                             BansheeQuery.DurationField.Column, BansheeQuery.FileSizeField.Column);

            Selection.Changed += delegate {
                if (SelectionAggregatesHandler != null)
                {
                    cache.UpdateSelectionAggregates(SelectionAggregatesHandler);
                }
            };
        }
        public PodcastTrackListModel (BansheeDbConnection conn, IDatabaseTrackModelProvider provider, DatabaseSource source) : base (conn, provider, source)
        {
            From = String.Format ("{0}, {1}, {2}, {3}", provider.From, Feed.Provider.TableName, FeedItem.Provider.TableName, FeedEnclosure.Provider.TableName);

            int podcast_library_dbid = (source as PodcastSource ?? source.Parent as PodcastSource).DbId;
            AddCondition (From, String.Format (
                "CoreTracks.PrimarySourceID = {3} AND {0}.FeedID = {1}.FeedID AND CoreTracks.ExternalID = {1}.ItemID AND {1}.ItemID = {2}.ItemID",
                Feed.Provider.TableName, FeedItem.Provider.TableName, FeedEnclosure.Provider.TableName, podcast_library_dbid
            ));

            SelectAggregates += ",COUNT(NULLIF(CoreTracks.Uri LIKE 'file:%', 0)), COUNT(NULLIF(CoreTracks.PlayCount = 0, 0)), COUNT(DISTINCT(CoreTracks.AlbumID))";
            SelectionAggregatesHandler = (reader) => {
                SelectionDownloadedCount = Convert.ToInt32 (reader[3]);
                SelectionUnheardCount = Convert.ToInt32 (reader[4]);
                SelectionPodcastCount = Convert.ToInt32 (reader[5]);
            };
        }
        public PodcastTrackListModel(BansheeDbConnection conn, IDatabaseTrackModelProvider provider, DatabaseSource source) : base(conn, provider, source)
        {
            From = String.Format("{0}, {1}, {2}, {3}", provider.From, Feed.Provider.TableName, FeedItem.Provider.TableName, FeedEnclosure.Provider.TableName);

            int podcast_library_dbid = (source as PodcastSource ?? source.Parent as PodcastSource).DbId;

            AddCondition(From, String.Format(
                             "CoreTracks.PrimarySourceID = {3} AND {0}.FeedID = {1}.FeedID AND CoreTracks.ExternalID = {1}.ItemID AND {1}.ItemID = {2}.ItemID",
                             Feed.Provider.TableName, FeedItem.Provider.TableName, FeedEnclosure.Provider.TableName, podcast_library_dbid
                             ));

            SelectAggregates          += ",COUNT(NULLIF(CoreTracks.Uri LIKE 'file:%', 0)), COUNT(NULLIF(CoreTracks.PlayCount = 0, 0)), COUNT(DISTINCT(CoreTracks.AlbumID))";
            SelectionAggregatesHandler = (reader) => {
                SelectionDownloadedCount = Convert.ToInt32(reader[3]);
                SelectionUnheardCount    = Convert.ToInt32(reader[4]);
                SelectionPodcastCount    = Convert.ToInt32(reader[5]);
            };
        }
        public DatabaseTrackListModel(BansheeDbConnection connection, IDatabaseTrackModelProvider provider, Banshee.Sources.DatabaseSource source)
        {
            this.connection = connection;
            this.provider = provider;
            this.source = source;

            SelectAggregates = String.Format ("SUM({0}), SUM({1})",
                                              BansheeQuery.DurationField.Column, BansheeQuery.FileSizeField.Column);

            Selection.Changed += delegate {
                if (SelectionAggregatesHandler != null) {
                    cache.UpdateSelectionAggregates (SelectionAggregatesHandler);
                }
            };
        }
 public PlayQueueTrackListModel(
     BansheeDbConnection conn, IDatabaseTrackModelProvider provider, PlayQueueSource source) :
     base(conn, provider, source)
 {
     this.source = source;
 }
 public PlayQueueTrackListModel(
     BansheeDbConnection conn, IDatabaseTrackModelProvider provider, PlayQueueSource source)
     : base(conn, provider, source)
 {
     this.source = source;
 }
 public DatabaseTrackListModel (BansheeDbConnection connection, IDatabaseTrackModelProvider provider, Banshee.Sources.DatabaseSource source)
 {
     this.connection = connection;
     this.provider = provider;
     this.source = source;
 }
Beispiel #12
0
 public DatabaseTrackListModel(BansheeDbConnection connection, IDatabaseTrackModelProvider provider, Banshee.Sources.DatabaseSource source)
 {
     this.connection = connection;
     this.provider   = provider;
     this.source     = source;
 }