Click on the timeline time axis view moves the playhead (#2369).
[dcpomatic.git] / src / wx / timeline.cc
index 6886daa42771e6686fadb96b38890e7949a511b9..2a8555e7ce0b3fd8abcedd14dc369e2c7e43712d 100644 (file)
@@ -207,7 +207,7 @@ Timeline::paint_main ()
        if (_zoom_point) {
                /* Translate back as _down_point and _zoom_point do not take scroll into account */
                gc->Translate (vsx * _x_scroll_rate, vsy * _y_scroll_rate);
-               gc->SetPen (*wxBLACK_PEN);
+               gc->SetPen(gui_is_dark() ? *wxWHITE_PEN : *wxBLACK_PEN);
                gc->SetBrush (*wxTRANSPARENT_BRUSH);
                gc->DrawRectangle (
                        min (_down_point.x, _zoom_point->x),
@@ -476,7 +476,6 @@ Timeline::event_to_view (wxMouseEvent& ev)
        Position<int> const p (ev.GetX() + vsx * _x_scroll_rate, ev.GetY() + vsy * _y_scroll_rate);
 
        while (i != _views.rend() && !(*i)->bbox().contains (p)) {
-               auto cv = dynamic_pointer_cast<TimelineContentView>(*i);
                ++i;
        }
 
@@ -521,6 +520,12 @@ Timeline::left_down_select (wxMouseEvent& ev)
                _down_view_position = content_view->content()->position ();
        }
 
+       if (dynamic_pointer_cast<TimelineTimeAxisView>(view)) {
+               int vsx, vsy;
+               _main_canvas->GetViewStart(&vsx, &vsy);
+               _viewer.seek(DCPTime::from_seconds((ev.GetPosition().x + vsx * _x_scroll_rate) / _pixels_per_second.get_value_or(1)), true);
+       }
+
        for (auto i: _views) {
                auto cv = dynamic_pointer_cast<TimelineContentView>(i);
                if (!cv) {