summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-02-02 00:04:35 +0000
committerCarl Hetherington <cth@carlh.net>2016-02-02 00:04:35 +0000
commit696ff1c534d59483bed3db06705b554f615a7b85 (patch)
tree8f56f83caf5c06dad007c1ba65e43fb9187d28e6 /src
parent0068909541bfd89079bbf4c18c7246b6327e2585 (diff)
Add delete-key shortcut to remove content.
Diffstat (limited to 'src')
-rw-r--r--src/tools/dcpomatic.cc9
-rw-r--r--src/wx/content_panel.cc7
-rw-r--r--src/wx/content_panel.h2
3 files changed, 14 insertions, 4 deletions
diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc
index 0260cd9a8..b853851d7 100644
--- a/src/tools/dcpomatic.cc
+++ b/src/tools/dcpomatic.cc
@@ -153,7 +153,8 @@ enum {
ID_tools_restore_default_preferences,
ID_help_report_a_problem,
/* IDs for shortcuts (with no associated menu item) */
- ID_add_file
+ ID_add_file,
+ ID_remove
};
class DOMFrame : public wxFrame
@@ -248,10 +249,12 @@ public:
overall_panel->SetSizer (main_sizer);
- wxAcceleratorEntry accel[1];
+ wxAcceleratorEntry accel[2];
accel[0].Set (wxACCEL_CTRL, static_cast<int>('A'), ID_add_file);
+ accel[1].Set (wxACCEL_NORMAL, WXK_DELETE, ID_remove);
Bind (wxEVT_MENU, boost::bind (&ContentPanel::add_file_clicked, _film_editor->content_panel()), ID_add_file);
- wxAcceleratorTable accel_table (1, accel);
+ Bind (wxEVT_MENU, boost::bind (&ContentPanel::remove_clicked, _film_editor->content_panel()), ID_remove);
+ wxAcceleratorTable accel_table (2, accel);
SetAcceleratorTable (accel_table);
/* Instantly save any config changes when using the DCP-o-matic GUI */
diff --git a/src/wx/content_panel.cc b/src/wx/content_panel.cc
index deeef7f80..d1315ac34 100644
--- a/src/wx/content_panel.cc
+++ b/src/wx/content_panel.cc
@@ -328,6 +328,13 @@ ContentPanel::add_folder_clicked ()
void
ContentPanel::remove_clicked ()
{
+ /* 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);
}
diff --git a/src/wx/content_panel.h b/src/wx/content_panel.h
index 8d11e6289..1115aaf31 100644
--- a/src/wx/content_panel.h
+++ b/src/wx/content_panel.h
@@ -65,11 +65,11 @@ public:
FFmpegContentList selected_ffmpeg ();
void add_file_clicked ();
+ void remove_clicked ();
private:
void selection_changed ();
void add_folder_clicked ();
- void remove_clicked ();
void earlier_clicked ();
void later_clicked ();
void right_click (wxListEvent &);