Add orientation change support
[cinaest] / src / movie-menu.vala
index cd787ae..3860527 100644 (file)
@@ -21,21 +21,42 @@ using Osso;
 
 public class MovieMenu : AppMenu {
        private Movie movie;
+       private MovieListStore store;
+       private Gtk.Window parent_window;
        private List<MovieAction> actions;
 
-       public MovieMenu (Movie _movie) {
-               movie = _movie;
+       public signal void movie_deleted ();
 
+       public MovieMenu (Movie _movie, MovieListStore _store, Gtk.Window window) {
+               movie = _movie;
+               store = _store;
+               parent_window = window;
                foreach (Plugin plugin in CinaestProgram.plugins) {
-                       foreach (MovieAction action in plugin.get_actions (movie)) {
+                       foreach (MovieAction action in plugin.get_actions (movie, window)) {
                                var button = new Gtk.Button.with_label (action.name);
                                button.clicked.connect (action.execute);
                                append (button);
                                actions.append (action);
                        }
                }
+               if (store.get_editable ()) {
+                       var button = new Gtk.Button.with_label (_("Delete movie"));
+                       button.clicked.connect (on_delete_movie);
+                       append (button);
+               }
 
                show_all ();
        }
+
+       private void on_delete_movie () {
+               var dialog = new Note.confirmation (parent_window, _("Delete movie '%s'?").printf (movie.title));
+               var res = dialog.run ();
+
+               dialog.destroy ();
+               if (res == Gtk.ResponseType.OK) {
+                       store.remove (movie);
+                       movie_deleted ();
+               }
+       }
 }