From: Philipp Zabel Date: Sun, 11 Jul 2010 10:46:32 +0000 (+0200) Subject: Catalog plugin: add WatchedSource, a CatalogSource with rating flag enabled X-Git-Url: http://git.maemo.org/git/?p=cinaest;a=commitdiff_plain;h=f0066110b1428e09ff1c61c61ff7032c9daf14b2 Catalog plugin: add WatchedSource, a CatalogSource with rating flag enabled --- diff --git a/src/plugins/catalog-plugin.vala b/src/plugins/catalog-plugin.vala index de2cf0e..831914c 100644 --- a/src/plugins/catalog-plugin.vala +++ b/src/plugins/catalog-plugin.vala @@ -55,7 +55,7 @@ class CatalogPlugin : Plugin { source = new CatalogSource ("Loaned", _("Loaned movies"), _("Movies loaned to friends"), sqlite, !("Loaned" in hidden_sources)); sources.append (source); - source = new CatalogSource ("Watched", _("Watched movies"), _("Watched / rated movies"), sqlite, !("Watched" in hidden_sources)); + source = new WatchedSource (sqlite, !("Watched" in hidden_sources)); sources.append (source); source = new CatalogSource ("Watchlist", _("Watchlist"), _("Movies of interest"), sqlite, !("Watchlist" in hidden_sources)); @@ -273,9 +273,9 @@ class CatalogPlugin : Plugin { class CatalogSource : MovieSource { internal string table; - private string name; - private string description; - private CatalogSqlite sqlite; + internal string name; + internal string description; + internal CatalogSqlite sqlite; public CatalogSource (string _table, string _name, string _description, CatalogSqlite _sqlite, bool _active) { GLib.Object (active: _active); @@ -317,6 +317,25 @@ class CatalogSource : MovieSource { } } +class WatchedSource : CatalogSource { + public WatchedSource (CatalogSqlite _sqlite, bool _active) { + GLib.Object (active: _active); + table = "Watched"; + name = _("Watched movies"); + description = _("Watched / rated movies"); + sqlite = _sqlite; + } + + public override async int get_movies (MovieFilter filter, MovieSource.ReceiveMovieFunction callback, int limit, Cancellable? cancellable) { + int n = yield sqlite.query (table, filter, callback, limit, cancellable); + return n; + } + + public override SourceFlags get_flags () { + return SourceFlags.EDITABLE | SourceFlags.RATING; + } +} + [ModuleInit] public Type register_plugin (TypeModule module) { // types are registered automatically