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 ();
// 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 {
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) {