Note that newer libsub version is required.
[dcpomatic.git] / src / wx / timeline_dialog.cc
index 975f7cd9d6c375802c1b684296e2ff8138fcd21e..e0e1689a8acfcf227e89ab5ff78ff822dbb601c6 100644 (file)
 #include "wx_util.h"
 #include "lib/compose.hpp"
 #include "lib/cross.h"
+#include "lib/film.h"
 #include "lib/playlist.h"
+#include <dcp/warnings.h>
+LIBDCP_DISABLE_WARNINGS
 #include <wx/graphics.h>
-#include <iostream>
+LIBDCP_ENABLE_WARNINGS
 #include <list>
 
 
 using std::list;
-using std::cout;
-using std::string;
 using std::shared_ptr;
+using std::string;
 using std::weak_ptr;
 #if BOOST_VERSION >= 106100
 using namespace boost::placeholders;
 #endif
 
 
-TimelineDialog::TimelineDialog (ContentPanel* cp, shared_ptr<Film> film, weak_ptr<FilmViewer> viewer)
+TimelineDialog::TimelineDialog(ContentPanel* cp, shared_ptr<Film> film, FilmViewer& viewer)
        : wxDialog (
                cp->window(),
                wxID_ANY,
@@ -62,11 +64,11 @@ TimelineDialog::TimelineDialog (ContentPanel* cp, shared_ptr<Film> film, weak_pt
 {
        auto sizer = new wxBoxSizer (wxVERTICAL);
 
-       wxBitmap select (bitmap_path("select"), wxBITMAP_TYPE_PNG);
-       wxBitmap zoom (bitmap_path("zoom"), wxBITMAP_TYPE_PNG);
-       wxBitmap zoom_all (bitmap_path("zoom_all"), wxBITMAP_TYPE_PNG);
-       wxBitmap snap (bitmap_path("snap"), wxBITMAP_TYPE_PNG);
-       wxBitmap sequence (bitmap_path("sequence"), wxBITMAP_TYPE_PNG);
+       wxBitmap select(icon_path("select"), wxBITMAP_TYPE_PNG);
+       wxBitmap zoom(icon_path("zoom"), wxBITMAP_TYPE_PNG);
+       wxBitmap zoom_all(icon_path("zoom_all"), wxBITMAP_TYPE_PNG);
+       wxBitmap snap(icon_path("snap"), wxBITMAP_TYPE_PNG);
+       wxBitmap sequence(icon_path("sequence"), wxBITMAP_TYPE_PNG);
 
        _toolbar = new wxToolBar (this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTB_HORIZONTAL);
        _toolbar->SetMargins (4, 4);
@@ -94,15 +96,17 @@ TimelineDialog::TimelineDialog (ContentPanel* cp, shared_ptr<Film> film, weak_pt
        sizer->Layout ();
        sizer->SetSizeHints (this);
 
+       Bind(wxEVT_CHAR_HOOK, boost::bind(&TimelineDialog::keypress, this, _1));
+
         _toolbar->ToggleTool ((int) Timeline::SNAP, _timeline.snap ());
-       film_change (ChangeType::DONE, Film::Property::SEQUENCE);
+       film_change(ChangeType::DONE, FilmProperty::SEQUENCE);
 
        _film_changed_connection = film->Change.connect (bind (&TimelineDialog::film_change, this, _1, _2));
 }
 
 
 void
-TimelineDialog::film_change (ChangeType type, Film::Property p)
+TimelineDialog::film_change(ChangeType type, FilmProperty p)
 {
        if (type != ChangeType::DONE) {
                return;
@@ -113,7 +117,7 @@ TimelineDialog::film_change (ChangeType type, Film::Property p)
                return;
        }
 
-       if (p == Film::Property::SEQUENCE) {
+       if (p == FilmProperty::SEQUENCE) {
                _toolbar->ToggleTool ((int) Timeline::SEQUENCE, film->sequence ());
        }
 }
@@ -140,3 +144,10 @@ TimelineDialog::tool_clicked (wxCommandEvent& ev)
                }
        }
 }
+
+
+void
+TimelineDialog::keypress(wxKeyEvent const& event)
+{
+       _timeline.keypress(event);
+}