Add delete-key shortcut to remove content.
[dcpomatic.git] / src / wx / content_panel.cc
index e865504267b34564ff88e86a540e37bccf845740..d1315ac34a08265f543b49feff1c42ac970a4eb4 100644 (file)
@@ -244,6 +244,10 @@ ContentPanel::selection_changed ()
        if (go_to) {
                _film_viewer->set_position (go_to.get ());
        }
+
+       if (_timeline_dialog) {
+               _timeline_dialog->set_selection (selected ());
+       }
 }
 
 void
@@ -324,9 +328,15 @@ ContentPanel::add_folder_clicked ()
 void
 ContentPanel::remove_clicked ()
 {
-       ContentList c = selected ();
-       if (c.size() == 1) {
-               _film->remove_content (c.front ());
+       /* This method is also called when Delete is pressed, so check that our notebook page
+          is visible.
+       */
+       if (_parent->GetCurrentPage() != _panel) {
+               return;
+       }
+
+       BOOST_FOREACH (shared_ptr<Content> i, selected ()) {
+               _film->remove_content (i);
        }
 
        selection_changed ();
@@ -361,7 +371,7 @@ ContentPanel::setup_sensitivity ()
        VideoContentList video_selection = selected_video ();
        AudioContentList audio_selection = selected_audio ();
 
-       _remove->Enable   (selection.size() == 1 && _generally_sensitive);
+       _remove->Enable   (!selection.empty() && _generally_sensitive);
        _earlier->Enable  (selection.size() == 1 && _generally_sensitive);
        _later->Enable    (selection.size() == 1 && _generally_sensitive);
        _timeline->Enable (!_film->content().empty() && _generally_sensitive);