From 2a3a8c37306be1a642658341252757d52566ea9a Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Fri, 9 Jul 2010 18:27:03 +0200 Subject: [PATCH] Plugins: replace get_editable with get_flags, add support more MovieSource flags --- src/movie-list-menu.vala | 2 +- src/movie-list-store.vala | 4 ++-- src/movie-list-window.vala | 7 +++++++ src/plugin-interface.vala | 7 ++++++- src/plugins/catalog-plugin.vala | 4 ++-- src/plugins/google-plugin.vala | 4 ++-- src/plugins/imdb-plugin.vala | 4 ++-- src/plugins/moviepilot-plugin.vala | 4 ++-- 8 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/movie-list-menu.vala b/src/movie-list-menu.vala index 68efa7d..b065dd8 100644 --- a/src/movie-list-menu.vala +++ b/src/movie-list-menu.vala @@ -95,7 +95,7 @@ public class MovieListMenu : AppMenu { public MovieSource source { set { - if (value.get_editable ()) { + if (SourceFlags.EDITABLE in value.get_flags ()) { delete_movies.show (); } else { delete_movies.hide (); diff --git a/src/movie-list-store.vala b/src/movie-list-store.vala index 5957fe6..7a9d208 100644 --- a/src/movie-list-store.vala +++ b/src/movie-list-store.vala @@ -82,7 +82,7 @@ public class MovieListStore : ListStore, TreeModel { movie.notify.disconnect (this.on_movie_changed); base.remove (iter); - if (source.get_editable ()) { + if (SourceFlags.EDITABLE in source.get_flags ()) { source.delete_movie (movie); } @@ -103,7 +103,7 @@ public class MovieListStore : ListStore, TreeModel { } public bool get_editable () { - return source.get_editable (); + return (SourceFlags.EDITABLE in source.get_flags ()); } public bool get_iter_from_movie (out TreeIter iter, Movie movie_a) { diff --git a/src/movie-list-window.vala b/src/movie-list-window.vala index 5839e34..a723ac4 100644 --- a/src/movie-list-window.vala +++ b/src/movie-list-window.vala @@ -113,6 +113,13 @@ public class MovieListWindow : StackableWindow { filter = new MovieFilter (); menu.filter = filter; filter.title = ""; + if (SourceFlags.ONLINE in source.get_flags ()) { + no_movies.hide (); + search_bar_visible = true; + search_bar.show (); + search_field.grab_focus (); + return; + } if (store.start_search (filter)) { no_movies.hide (); } else { diff --git a/src/plugin-interface.vala b/src/plugin-interface.vala index cac2937..c1012ff 100644 --- a/src/plugin-interface.vala +++ b/src/plugin-interface.vala @@ -27,6 +27,11 @@ public abstract class Plugin : Object { public abstract unowned string get_name (); } +public enum SourceFlags { + EDITABLE = 1, + ONLINE = 2, +} + public abstract class MovieSource : Object { public abstract bool active { get; set construct; } @@ -41,7 +46,7 @@ public abstract class MovieSource : Object { public abstract unowned string get_description (); - public abstract bool get_editable (); + public abstract SourceFlags get_flags (); } public class MovieAction : Object { diff --git a/src/plugins/catalog-plugin.vala b/src/plugins/catalog-plugin.vala index 831fb3e..8f72985 100644 --- a/src/plugins/catalog-plugin.vala +++ b/src/plugins/catalog-plugin.vala @@ -337,8 +337,8 @@ class CatalogSource : MovieSource { return description; } - public override bool get_editable () { - return true; + public override SourceFlags get_flags () { + return SourceFlags.EDITABLE; } } diff --git a/src/plugins/google-plugin.vala b/src/plugins/google-plugin.vala index 600c407..f8b17b4 100644 --- a/src/plugins/google-plugin.vala +++ b/src/plugins/google-plugin.vala @@ -299,8 +299,8 @@ class GoogleSource : MovieSource { return description; } - public override bool get_editable () { - return false; + public override SourceFlags get_flags () { + return SourceFlags.ONLINE; } } diff --git a/src/plugins/imdb-plugin.vala b/src/plugins/imdb-plugin.vala index 64d8bb3..7bac4b9 100644 --- a/src/plugins/imdb-plugin.vala +++ b/src/plugins/imdb-plugin.vala @@ -229,8 +229,8 @@ class IMDBSource : MovieSource { return _("Movies on IMDb"); } - public override bool get_editable () { - return false; + public override SourceFlags get_flags () { + return 0; } } diff --git a/src/plugins/moviepilot-plugin.vala b/src/plugins/moviepilot-plugin.vala index 44f5bf0..6bc198d 100644 --- a/src/plugins/moviepilot-plugin.vala +++ b/src/plugins/moviepilot-plugin.vala @@ -169,8 +169,8 @@ class MoviePilotSource : MovieSource { return description; } - public override bool get_editable () { - return false; + public override SourceFlags get_flags () { + return SourceFlags.ONLINE; } } -- 1.7.9.5