public DatabaseAlbumListModel(Banshee.Sources.DatabaseSource source, DatabaseTrackListModel trackModel, BansheeDbConnection connection, string uuid)
     : base(Banshee.Query.BansheeQuery.AlbumField.Name, Banshee.Query.BansheeQuery.AlbumField.Label,
            source, trackModel, connection, DatabaseAlbumInfo.Provider, new AlbumInfo(null), uuid)
 {
     ReloadFragmentFormat = @"
         FROM CoreAlbums WHERE CoreAlbums.AlbumID IN
                 (SELECT CoreTracks.AlbumID FROM CoreTracks, CoreCache{0}
                     WHERE CoreCache.ModelID = {1} AND
                           CoreCache.ItemId = {2} {3})
             ORDER BY CoreAlbums.TitleSortKey, CoreAlbums.ArtistNameSortKey";
 }
예제 #2
0
 public PodcastFeedModel(Banshee.Sources.DatabaseSource source, DatabaseTrackListModel trackModel, BansheeDbConnection connection, string uuid)
     : base("podcast", Catalog.GetString("Podcast"), source, trackModel, connection, Feed.Provider, new Feed(null, FeedAutoDownload.None), uuid)
 {
     ReloadFragmentFormat = @"
         FROM PodcastSyndications WHERE FeedID IN
             (SELECT DISTINCT PodcastSyndications.FeedID FROM PodcastItems, CoreTracks, PodcastEnclosures, PodcastSyndications, CoreCache{0}
                 WHERE PodcastSyndications.FeedID = PodcastItems.FeedID AND
                   PodcastItems.ItemID = CoreTracks.ExternalID AND PodcastEnclosures.ItemID = PodcastItems.ItemID AND
                   CoreCache.ModelID = {1} AND CoreCache.ItemId = {2} {3})
             ORDER BY lower(Title)";
 }
예제 #3
0
 public DatabaseArtistListModel(Banshee.Sources.DatabaseSource source, DatabaseTrackListModel trackModel, BansheeDbConnection connection, string uuid)
     : base(Banshee.Query.BansheeQuery.ArtistField.Name, Banshee.Query.BansheeQuery.ArtistField.Label,
            source, trackModel, connection, DatabaseArtistInfo.Provider, new ArtistInfo(null, null), uuid)
 {
     QueryFields          = new QueryFieldSet(Banshee.Query.BansheeQuery.ArtistField);
     ReloadFragmentFormat = @"
         FROM CoreArtists WHERE CoreArtists.ArtistID IN
             (SELECT CoreTracks.ArtistID FROM CoreTracks, CoreCache{0}
                 WHERE {4}(CoreCache.ModelID = {1}) AND
                       CoreCache.ItemID = {2} {3})
             ORDER BY NameSortKey";
 }
예제 #4
0
        public DatabaseQueryFilterModel(Banshee.Sources.DatabaseSource source, DatabaseTrackListModel trackModel,
                                        HyenaSqliteConnection connection, string select_all_fmt, string uuid, QueryField field, string filter_column)
            : base(field.Name, field.Label, source, trackModel, connection, QueryFilterInfo <T> .CreateProvider(filter_column, field), new QueryFilterInfo <T> (), String.Format("{0}-{1}", uuid, field.Name))
        {
            this.field          = field;
            this.select_all_fmt = select_all_fmt;

            ReloadFragmentFormat = @"
                FROM CoreTracks, CoreCache{0}
                    WHERE CoreCache.ModelID = {1} AND CoreCache.ItemID = {2} {3}
                    ORDER BY Value";
        }
예제 #5
0
 public DatabaseYearListModel(Banshee.Sources.DatabaseSource source, DatabaseTrackListModel trackModel, BansheeDbConnection connection, string uuid)
     : base(Banshee.Query.BansheeQuery.YearField.Name, Banshee.Query.BansheeQuery.YearField.Label,
            source, trackModel, connection, DatabaseYearInfo.Provider, new YearInfo(), uuid)
 {
     QueryFields          = new QueryFieldSet(Banshee.Query.BansheeQuery.YearField);
     ReloadFragmentFormat = @"
         FROM (SELECT MIN(CoreTracks.TrackID) AS TrackID, CoreTracks.Year FROM CoreTracks GROUP BY CoreTracks.Year) AS CoreTracks
         WHERE CoreTracks.Year IN
             (SELECT CoreTracks.Year FROM CoreTracks, CoreCache{0}
                 WHERE CoreCache.ModelID = {1} AND
                       CoreCache.ItemID = {2} {3})
             ORDER BY Year";
 }
예제 #6
0
        public DatabaseFilterListModel(string name, string label, Banshee.Sources.DatabaseSource source,
                                       DatabaseTrackListModel trackModel, HyenaSqliteConnection connection, SqliteModelProvider <T> provider, U selectAllItem, string uuid)
            : base(trackModel)
        {
            this.source     = source;
            FilterName      = name;
            FilterLabel     = label;
            select_all_item = selectAllItem;

            this.connection  = connection;
            cache            = new BansheeModelCache <T> (connection, uuid, this, provider);
            HasSelectAllItem = true;
        }
        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);
                }
            };
        }
예제 #9
0
        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);
                }
            };
        }
예제 #10
0
        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 DatabaseTrackListModel (BansheeDbConnection connection, IDatabaseTrackModelProvider provider, Banshee.Sources.DatabaseSource source)
 {
     this.connection = connection;
     this.provider = provider;
     this.source = source;
 }
예제 #12
0
 public DatabaseTrackListModel(BansheeDbConnection connection, IDatabaseTrackModelProvider provider, Banshee.Sources.DatabaseSource source)
 {
     this.connection = connection;
     this.provider   = provider;
     this.source     = source;
 }