Use pofilter to check i18n and fix some .po file glitches.
[dcpomatic.git] / src / wx / timeline_dialog.cc
index b487bdb819cbdc953749d2a00eaccc2ad0e7c793..3af86b707753768aa77a0dc6c453d87c3a9a2aef 100644 (file)
@@ -36,7 +36,7 @@ using boost::shared_ptr;
 
 TimelineDialog::TimelineDialog (ContentPanel* cp, shared_ptr<Film> film)
        : wxDialog (
-               cp->panel(),
+               cp->window(),
                wxID_ANY,
                _("Timeline"),
                wxDefaultPosition,
@@ -61,14 +61,14 @@ TimelineDialog::TimelineDialog (ContentPanel* cp, shared_ptr<Film> film)
        wxBitmap snap (bitmap_path("snap"), wxBITMAP_TYPE_PNG);
        wxBitmap sequence (bitmap_path("sequence"), wxBITMAP_TYPE_PNG);
 
-       cout << "select OK: " << select.IsOk() << "\n";
-
-       _toolbar = new wxToolBar (this, wxID_ANY);
+       _toolbar = new wxToolBar (this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTB_HORIZONTAL);
+       _toolbar->SetMargins (4, 4);
        _toolbar->AddRadioTool ((int) Timeline::SELECT, _("Select"), select, wxNullBitmap, _("Select and move content"));
        _toolbar->AddRadioTool ((int) Timeline::ZOOM, _("Zoom"), zoom, wxNullBitmap, _("Zoom in / out"));
        _toolbar->AddTool ((int) Timeline::ZOOM_ALL, _("Zoom all"), zoom_all, _("Zoom out to whole film"));
        _toolbar->AddCheckTool ((int) Timeline::SNAP, _("Snap"), snap, wxNullBitmap, _("Snap"));
        _toolbar->AddCheckTool ((int) Timeline::SEQUENCE, _("Sequence"), sequence, wxNullBitmap, _("Keep video and subtitles in sequence"));
+       _toolbar->Realize ();
 
        _toolbar->Bind (wxEVT_TOOL, bind (&TimelineDialog::tool_clicked, this, _1));
 
@@ -87,22 +87,25 @@ TimelineDialog::TimelineDialog (ContentPanel* cp, shared_ptr<Film> film)
        sizer->SetSizeHints (this);
 
         _toolbar->ToggleTool ((int) Timeline::SNAP, _timeline.snap ());
-       film_changed (Film::SEQUENCE);
+       film_change (CHANGE_TYPE_DONE, Film::SEQUENCE);
 
-       _film_changed_connection = film->Changed.connect (bind (&TimelineDialog::film_changed, this, _1));
+       _film_changed_connection = film->Change.connect (bind (&TimelineDialog::film_change, this, _1, _2));
 }
 
 wxString
 TimelineDialog::bitmap_path (string name)
 {
        boost::filesystem::path p = shared_path() / String::compose("%1.png", name);
-       cout << "Loading " << p.string() << "\n";
        return std_to_wx (p.string());
 }
 
 void
-TimelineDialog::film_changed (Film::Property p)
+TimelineDialog::film_change (ChangeType type, Film::Property p)
 {
+       if (type != CHANGE_TYPE_DONE) {
+               return;
+       }
+
        shared_ptr<Film> film = _film.lock ();
        if (!film) {
                return;
@@ -125,11 +128,11 @@ TimelineDialog::tool_clicked (wxCommandEvent& ev)
        Timeline::Tool t = (Timeline::Tool) ev.GetId();
        _timeline.tool_clicked (t);
        if (t == Timeline::SNAP) {
-               _timeline.set_snap (_snap->IsToggled());
+               _timeline.set_snap (_toolbar->GetToolState ((int) t));
        } else if (t == Timeline::SEQUENCE) {
                shared_ptr<Film> film = _film.lock ();
                if (film) {
-                       film->set_sequence (_sequence->IsToggled());
+                       film->set_sequence (_toolbar->GetToolState ((int) t));
                }
        }
 }