IMDb SQLite: unescape quotation marks when retrieving plots from the database
[cinaest] / src / movie-list-window.vala
index 1bcc7ec..5112b97 100644 (file)
@@ -30,6 +30,7 @@ public class MovieListWindow : StackableWindow {
        private MovieListStore store;
        private Label no_movies;
        private bool search_bar_visible;
+       private MovieWindow movie_window;
 
        public MovieListWindow (MovieSource source) {
                set_title (source.get_description ());
@@ -85,6 +86,7 @@ public class MovieListWindow : StackableWindow {
                close_button.clicked.connect (on_close_button_clicked);
                key_press_event.connect (on_key_press_event);
                movie_list.movie_activated.connect (on_movie_activated);
+               store.search_finished.connect (on_search_finished);
 
                store.notify["update-running"].connect (on_update_running_changed);
 
@@ -205,10 +207,19 @@ public class MovieListWindow : StackableWindow {
                return false;
        }
 
+       private void on_search_finished (int movies) {
+               if (movies > 100) {
+                       Banner.show_information (this, null, _("More results available - refine search to reduce the dataset"));
+               }
+       }
+
        private void on_movie_activated (Movie movie) {
-               var window = new MovieWindow.with_movie (movie, store);
+               if (movie_window != null)
+                       return;
 
-               window.show ();
+               movie_window = new MovieWindow.with_movie (movie, store);
+               movie_window.destroy.connect (() => { movie_window = null; });
+               movie_window.show ();
        }
 
        private void on_update_running_changed (GLib.Object source, ParamSpec spec) {