X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fplugins%2Fcatalog-plugin.vala;h=de2cf0e1dd4678c3e2dd4e630521a687f281a91d;hb=dda1b1ece01fa8bf31eaea7406d0bad2b131c9e2;hp=550a8101ae4dcb833d41ef57ff7ab3f116aa5540;hpb=8201c1addb85d4f11daad12783cb5b410299534c;p=cinaest diff --git a/src/plugins/catalog-plugin.vala b/src/plugins/catalog-plugin.vala index 550a810..de2cf0e 100644 --- a/src/plugins/catalog-plugin.vala +++ b/src/plugins/catalog-plugin.vala @@ -55,6 +55,9 @@ 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)); + sources.append (source); + source = new CatalogSource ("Watchlist", _("Watchlist"), _("Movies of interest"), sqlite, !("Watchlist" in hidden_sources)); sources.append (source); @@ -81,13 +84,13 @@ class CatalogPlugin : Plugin { int i = 0; var available_sources = new List (); foreach (CatalogSource s in sources) { - if (!s.contains (movie)) { + if (!s.contains (movie) && s.table != "Watched") { available_sources.append ((MovieSource) s); i++; } } - var source_list = new SourceListView (available_sources, true); + var source_list = new SourceListView (available_sources, true, window); var content = (VBox) dialog.get_content_area (); content.pack_start (source_list, true, true, 0); @@ -102,10 +105,37 @@ class CatalogPlugin : Plugin { int res = dialog.run (); if (res >= 0) { var source = sources.nth_data (res); - source.add_movie (movie); - var banner = (Banner) Banner.show_information_with_markup (window, null, _("'%s' added to list '%s'").printf (movie.title, source.get_name ())); - banner.set_timeout (1500); + if (source.table == "Loaned") { + var dialog = new Gtk.Dialog (); + dialog.set_title (_("Add to loaned movies")); + + var contact = new Hildon.Entry (SizeType.FINGER_HEIGHT); + contact.set_placeholder ("Contact"); + var date = new Hildon.DateButton (SizeType.FINGER_HEIGHT, ButtonArrangement.VERTICAL); + date.set_title (_("Loaned on")); + date.set_alignment (0.0f, 0.5f, 1.0f, 1.0f); + + content = (Gtk.VBox) dialog.get_content_area (); + content.pack_start (contact, true, false, 0); + content.pack_start (date, true, false, 0); + + dialog.add_button (_("Done"), Gtk.ResponseType.OK); + dialog.show_all (); + res = dialog.run (); + dialog.destroy (); + if (res == Gtk.ResponseType.OK) { + source.add_movie (movie); + + var banner = (Banner) Banner.show_information_with_markup (window, null, _("'%s' added to list of loaned movies").printf (movie.title, source.get_name ())); + banner.set_timeout (1500); + } + } else { + source.add_movie (movie); + + var banner = (Banner) Banner.show_information_with_markup (window, null, _("'%s' added to list '%s'").printf (movie.title, source.get_name ())); + banner.set_timeout (1500); + } } dialog.destroy (); dialog = null; @@ -147,7 +177,7 @@ class CatalogPlugin : Plugin { dialog.set_transient_for (window); dialog.set_title (_("Select active movie lists")); - var source_list = new SourceListView (sources, false); + var source_list = new SourceListView (sources, false, window); source_list.set_hildon_ui_mode (UIMode.EDIT); var selection = source_list.get_selection (); @@ -282,13 +312,13 @@ class CatalogSource : MovieSource { return description; } - public override bool get_editable () { - return true; + public override SourceFlags get_flags () { + return SourceFlags.EDITABLE; } } [ModuleInit] -public Type register_plugin () { +public Type register_plugin (TypeModule module) { // types are registered automatically return typeof (CatalogPlugin); }