Movie list view: add poster view mode, shows a 5x2 poster grid
[cinaest] / src / movie-list-menu.vala
index ea5cc4b..dc7fa18 100644 (file)
@@ -26,6 +26,7 @@ public class MovieListMenu : AppMenu {
        private Hildon.Button filter_year;
        private Hildon.Button filter_rating;
        private Hildon.Button filter_genres;
+       private Gtk.Button poster_view;
        private Gtk.Button delete_movies;
        private Gtk.Button import_movies;
 
@@ -71,6 +72,7 @@ public class MovieListMenu : AppMenu {
                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"));
                filter_genres = new Hildon.Button.with_text (SizeType.FINGER_HEIGHT, ButtonArrangement.VERTICAL, _("Filter by genres"), _("Off"));
+               poster_view = new Gtk.Button.with_label (_("Poster view"));
                delete_movies = new Gtk.Button.with_label (_("Delete movies"));
                import_movies = new Gtk.Button.with_label (_("Import movies"));
                var settings = new Gtk.Button.with_label (_("Settings"));
@@ -83,6 +85,7 @@ public class MovieListMenu : AppMenu {
                filter_year.clicked.connect (on_filter_year_clicked);
                filter_rating.clicked.connect (on_filter_rating_clicked);
                filter_genres.clicked.connect (on_filter_genres_clicked);
+               poster_view.clicked.connect (on_poster_view_clicked);
                delete_movies.clicked.connect (() => { movie_list_window.on_delete_movies_clicked (); });
                import_movies.clicked.connect (on_import_movies_clicked);
                settings.clicked.connect (on_settings_clicked);
@@ -90,6 +93,7 @@ public class MovieListMenu : AppMenu {
                append (filter_year);
                append (filter_rating);
                append (filter_genres);
+               append (poster_view);
                append (delete_movies);
                append (import_movies);
                append (settings);
@@ -203,6 +207,12 @@ public class MovieListMenu : AppMenu {
                }
        }
 
+       public void on_poster_view_clicked (Gtk.Button button) {
+               var poster_mode = movie_list_window.get_movie_list_view ().poster_mode;
+               movie_list_window.get_movie_list_view ().poster_mode = !poster_mode;
+               poster_view.set_label (poster_mode ? _("Poster view") : _("List view"));
+       }
+
        public void on_import_movies_clicked (Gtk.Button button) {
                var dialog = new Gtk.Dialog ();
                dialog.set_transient_for (movie_list_window);