add text entry cursor color to dark theme
[ardour.git] / gtk2_ardour / editor_summary.cc
index a516c80c9f5040c5a2290f560fad1d0c7f969dae..0ac2cdc114ae0653ecf30f97d67e39359fef3170 100644 (file)
@@ -107,7 +107,7 @@ EditorSummary::set_session (Session* s)
 
        if (_session) {
                Region::RegionPropertyChanged.connect (region_property_connection, invalidator (*this), boost::bind (&EditorSummary::set_background_dirty, this), gui_context());
-               Route::RemoteControlIDChange.connect (route_ctrl_id_connection, invalidator (*this), boost::bind (&EditorSummary::set_background_dirty, this), gui_context());
+               PresentationInfo::Change.connect (route_ctrl_id_connection, invalidator (*this), boost::bind (&EditorSummary::set_background_dirty, this), gui_context());
                _editor->playhead_cursor->PositionChanged.connect (position_connection, invalidator (*this), boost::bind (&EditorSummary::playhead_position_changed, this, _1), gui_context());
                _session->StartTimeChanged.connect (_session_connections, invalidator (*this), boost::bind (&EditorSummary::set_background_dirty, this), gui_context());
                _session->EndTimeChanged.connect (_session_connections, invalidator (*this), boost::bind (&EditorSummary::set_background_dirty, this), gui_context());
@@ -223,7 +223,7 @@ EditorSummary::render (cairo_t* cr, cairo_rectangle_t*)
        }
 
        cairo_push_group (cr);
-       
+
        /* Fill with the background image */
 
        cairo_rectangle (cr, 0, 0, get_width(), get_height());
@@ -408,7 +408,7 @@ bool
 EditorSummary::on_button_press_event (GdkEventButton* ev)
 {
        _old_follow_playhead = _editor->follow_playhead ();
-       
+
        if (ev->button == 1) {
 
                pair<double, double> xr;
@@ -436,7 +436,7 @@ EditorSummary::on_button_press_event (GdkEventButton* ev)
                                get_editor (&_pending_editor_x, &_pending_editor_y);
                                _pending_editor_changed = false;
                        }
-                       
+
                } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::SecondaryModifier)) {
 
                        /* secondary-modifier-click: locate playhead */
@@ -489,7 +489,7 @@ EditorSummary::get_editor (pair<double, double>* x, pair<double, double>* y) con
                /* We are dragging, and configured not to update the editor window during drags,
                   so just return where the editor will be when the drag finishes.
                */
-               
+
                *x = _pending_editor_x;
                *y = _pending_editor_y;
 
@@ -499,7 +499,7 @@ EditorSummary::get_editor (pair<double, double>* x, pair<double, double>* y) con
 
                x->first = (_editor->leftmost_sample () - _start) * _x_scale;
                x->second = x->first + _editor->current_page_samples() * _x_scale;
-               
+
                y->first = editor_y_to_summary (_editor->vertical_adjustment.get_value ());
                y->second = editor_y_to_summary (_editor->vertical_adjustment.get_value () + _editor->visible_canvas_height() - _editor->get_trackview_group()->canvas_origin().y);
        }
@@ -668,7 +668,7 @@ bool
 EditorSummary::on_button_release_event (GdkEventButton*)
 {
        bool const was_suspended = suspending_editor_updates ();
-       
+
        _move_dragging = false;
        _zoom_dragging = false;
        _editor->_dragging_playhead = false;
@@ -677,7 +677,7 @@ EditorSummary::on_button_release_event (GdkEventButton*)
        if (was_suspended && _pending_editor_changed) {
                set_editor (_pending_editor_x, _pending_editor_y);
        }
-               
+
        return true;
 }
 
@@ -695,7 +695,8 @@ EditorSummary::on_scroll_event (GdkEventScroll* ev)
        switch (ev->direction) {
                case GDK_SCROLL_UP:
                        if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollHorizontalModifier)) {
-                               x -= 64;
+                               _editor->scroll_left_half_page ();
+                               return true;
                        } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollZoomHorizontalModifier)) {
                                _editor->temporal_zoom_step (false);
                        } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollZoomVerticalModifier)) {
@@ -709,7 +710,8 @@ EditorSummary::on_scroll_event (GdkEventScroll* ev)
                        break;
                case GDK_SCROLL_DOWN:
                        if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollHorizontalModifier)) {
-                               x += 64;
+                               _editor->scroll_right_half_page ();
+                               return true;
                        } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollZoomHorizontalModifier)) {
                                _editor->temporal_zoom_step (true);
                        } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollZoomVerticalModifier)) {
@@ -727,7 +729,8 @@ EditorSummary::on_scroll_event (GdkEventScroll* ev)
                        } else if (Keyboard::modifier_state_contains (ev->state, Keyboard::TertiaryModifier)) {
                                x -= 1;
                        } else {
-                               x -= 8;
+                               _editor->scroll_left_half_page ();
+                               return true;
                        }
                        break;
                case GDK_SCROLL_RIGHT:
@@ -736,7 +739,8 @@ EditorSummary::on_scroll_event (GdkEventScroll* ev)
                        } else if (Keyboard::modifier_state_contains (ev->state, Keyboard::TertiaryModifier)) {
                                x += 1;
                        } else {
-                               x += 8;
+                               _editor->scroll_right_half_page ();
+                               return true;
                        }
                        break;
                default:
@@ -767,7 +771,7 @@ EditorSummary::set_editor (double const x, double const y)
                   as it also means that we won't change these variables if an idle handler
                   is merely pending but not executing.  But c'est la vie.
                */
-               
+
                return;
        }
 
@@ -854,12 +858,12 @@ EditorSummary::set_editor_x (pair<double, double> x)
                set_dirty ();
        } else {
                _editor->reset_x_origin (x.first / _x_scale + _start);
-               
+
                double const nx = (
                        ((x.second - x.first) / _x_scale) /
                        _editor->sample_to_pixel (_editor->current_page_samples())
                        );
-               
+
                if (nx != _editor->get_current_zoom ()) {
                        _editor->reset_zoom (nx);
                }
@@ -1046,8 +1050,8 @@ void
 EditorSummary::routes_added (list<RouteTimeAxisView*> const & r)
 {
        for (list<RouteTimeAxisView*>::const_iterator i = r.begin(); i != r.end(); ++i) {
-               /* Connect to gui_changed() on the route so that we know when their colour has changed */
-               (*i)->route()->gui_changed.connect (*this, invalidator (*this), boost::bind (&EditorSummary::route_gui_changed, this, _1), gui_context ());
+               /* Connect to the relevant signal for the route so that we know when its colour has changed */
+               (*i)->route()->presentation_info().PropertyChanged.connect (*this, invalidator (*this), boost::bind (&EditorSummary::route_gui_changed, this, _1), gui_context ());
                boost::shared_ptr<Track> tr = boost::dynamic_pointer_cast<Track> ((*i)->route ());
                if (tr) {
                        tr->PlaylistChanged.connect (*this, invalidator (*this), boost::bind (&EditorSummary::set_background_dirty, this), gui_context ());
@@ -1058,9 +1062,9 @@ EditorSummary::routes_added (list<RouteTimeAxisView*> const & r)
 }
 
 void
-EditorSummary::route_gui_changed (string c)
+EditorSummary::route_gui_changed (PBD::PropertyChange const& what_changed)
 {
-       if (c == "color") {
+       if (what_changed.contains (Properties::color)) {
                set_background_dirty ();
        }
 }