Add + and - as zoom shortcuts in the timeline.
[dcpomatic.git] / src / wx / timeline.cc
index 0d7ae7afbca803a0976857645cf09c863f7f5fd9..de83e6ba3945bd1c22038b02e6162fdc6cfad2ac 100644 (file)
@@ -330,7 +330,7 @@ place (shared_ptr<const Film> film, TimelineViewList& views, int& tracks)
                int t = base;
 
                auto content = cv->content();
-               DCPTimePeriod const content_period (content->position(), content->end(film));
+               DCPTimePeriod const content_period = content->period(film);
 
                while (true) {
                        auto j = views.begin();
@@ -344,7 +344,8 @@ place (shared_ptr<const Film> film, TimelineViewList& views, int& tracks)
                                auto test_content = test->content();
                                if (
                                        test->track() && test->track().get() == t &&
-                                       content_period.overlap(DCPTimePeriod(test_content->position(), test_content->end(film)))) {
+                                       content_period.overlap(test_content->period(film))
+                                  ) {
                                        /* we have an overlap on track `t' */
                                        ++t;
                                        break;
@@ -968,7 +969,17 @@ Timeline::keypress(wxKeyEvent const& event)
 {
        if (event.GetKeyCode() == WXK_DELETE) {
                auto film = _film.lock();
+               DCPOMATIC_ASSERT(film);
                film->remove_content(selected_content());
+       } else {
+               switch (event.GetRawKeyCode()) {
+               case '+':
+                       set_pixels_per_second(_pixels_per_second.get_value_or(1) * 2);
+                       break;
+               case '-':
+                       set_pixels_per_second(_pixels_per_second.get_value_or(1) / 2);
+                       break;
+               }
        }
 }