+
+ _snap->SetValue (_timeline.snap ());
+ _snap->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&TimelineDialog::snap_toggled, this));
+ film_changed (Film::SEQUENCE_VIDEO);
+ _sequence_video->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&TimelineDialog::sequence_video_toggled, this));
+
+ _film_changed_connection = film->Changed.connect (bind (&TimelineDialog::film_changed, this, _1));
+}
+
+void
+TimelineDialog::snap_toggled ()
+{
+ _timeline.set_snap (_snap->GetValue ());
+}
+
+void
+TimelineDialog::sequence_video_toggled ()
+{
+ shared_ptr<Film> film = _film.lock ();
+ if (!film) {
+ return;
+ }
+
+ film->set_sequence_video (_sequence_video->GetValue ());
+}
+
+void
+TimelineDialog::film_changed (Film::Property p)
+{
+ shared_ptr<Film> film = _film.lock ();
+ if (!film) {
+ return;
+ }
+
+ if (p == Film::SEQUENCE_VIDEO) {
+ _sequence_video->SetValue (film->sequence_video ());
+ }