X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fmovie-list-menu.vala;h=4bb8727a738b831e588862d65e018e7a832cad0b;hb=96a8c0f042db67cfb737c377a1d1e52e736c80ea;hp=1f0d6f12f2f97df0ddc7c37df11f66db78cb6d54;hpb=e52b1d810e2509667b38f0d1b7bf8f217deedcac;p=cinaest diff --git a/src/movie-list-menu.vala b/src/movie-list-menu.vala index 1f0d6f1..4bb8727 100644 --- a/src/movie-list-menu.vala +++ b/src/movie-list-menu.vala @@ -21,10 +21,11 @@ using Hildon; public class MovieListMenu : AppMenu { public TreeSortable sortable; + public MovieFilter filter; private MovieListWindow movie_list_window; private Hildon.Button filter_year; private Hildon.Button filter_rating; - private Hildon.Button select_source; + private Hildon.Button filter_genres; private Gtk.Button delete_movies; public signal void filter_changed (); @@ -68,34 +69,32 @@ public class MovieListMenu : AppMenu { // Add view menu buttons filter_year = new Hildon.Button.with_text (SizeType.FINGER_HEIGHT, ButtonArrangement.VERTICAL, _("Filter by year"), _("Off")); filter_rating = new Hildon.Button.with_text (SizeType.FINGER_HEIGHT, ButtonArrangement.VERTICAL, _("Filter by rating"), _("Off")); - select_source = new Hildon.Button.with_text (SizeType.FINGER_HEIGHT, ButtonArrangement.VERTICAL, _("Source"), _("None")); + filter_genres = new Hildon.Button.with_text (SizeType.FINGER_HEIGHT, ButtonArrangement.VERTICAL, _("Filter by genres"), _("Off")); delete_movies = new Gtk.Button.with_label (_("Delete movies")); var settings = new Gtk.Button.with_label (_("Settings")); filter_year.set_style (ButtonStyle.PICKER); filter_rating.set_style (ButtonStyle.PICKER); - select_source.set_style (ButtonStyle.PICKER); + filter_genres.set_style (ButtonStyle.PICKER); // Connect signals filter_year.clicked.connect (on_filter_year_clicked); filter_rating.clicked.connect (on_filter_rating_clicked); - select_source.clicked.connect (on_select_source_clicked); + filter_genres.clicked.connect (on_filter_genres_clicked); delete_movies.clicked.connect (() => { movie_list_window.on_delete_movies_clicked (); }); settings.clicked.connect (on_settings_clicked); append (filter_year); append (filter_rating); - append (select_source); + append (filter_genres); append (delete_movies); append (settings); show_all (); } - public MovieSource source { set { - select_source.value = value.get_name (); if (value.get_editable ()) { delete_movies.show (); } else { @@ -128,6 +127,7 @@ public class MovieListMenu : AppMenu { } else { selector.set_active (1, 127); } + selector.center_on_selected (); dialog.set_selector (selector); var res = dialog.run (); @@ -145,6 +145,8 @@ public class MovieListMenu : AppMenu { filter_year.set_value (_("Until %d").printf (filter.year_max)); else if (filter.year_max == 0) filter_year.set_value (_("Since %d").printf (filter.year_min)); + else if (filter.year_min == filter.year_max) + filter_year.set_value ("%d".printf (filter.year_min)); else filter_year.set_value ("%d - %d".printf (filter.year_min, filter.year_max)); @@ -178,15 +180,21 @@ public class MovieListMenu : AppMenu { dialog.destroy (); } - public void on_select_source_clicked (Gtk.Button button) { - Hildon.Button select_source = (Hildon.Button) button; - var dialog = new SourceDialog (movie_list_window); + public void on_filter_genres_clicked () { + var dialog = new GenreFilterDialog (movie_list_window); + string s; + + var res = dialog.run (filter); - var source = movie_list_window.source; - dialog.run (ref source); - movie_list_window.source = source; + if (res == ResponseType.OK) { + s = filter.genres.to_string (); + if (s != null) + filter_genres.set_value (s); + else + filter_genres.set_value (_("Off")); - select_source.value = source.get_name (); + filter_changed (); + } } public void on_settings_clicked (Gtk.Button button) {