diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-07-07 07:54:41 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-07-07 07:54:41 -0400 |
commit | 936861f6ce516ec032f61ef9b4cca9d90eaf7b5e (patch) | |
tree | ba33446ff249999c5302ac57bd005a9eeac743f2 /gtk2_ardour | |
parent | b1a8f115650b54de1f494abdf70488fba195c3dd (diff) |
Use Canvas::re_enter() after changing mouse mode so we get the right cursor no matter what item we're over; fix return value for button press in cut mode; never change selection in cut mode
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/editor_mouse.cc | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index b4050f45b6..438b3b6a8a 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -353,26 +353,14 @@ Editor::mouse_mode_toggled (MouseMode m) instant_save (); - //TODO: set button styles for smart buttons -/* - if ( smart_mode_action->get_active() ) { - if( mouse_mode == MouseObject ) { //smart active and object active - smart_mode_button.set_active(1); - smart_mode_button.set_name("smart mode button"); - mouse_move_button.set_name("smart mode button"); - } else { //smart active but object inactive - smart_mode_button.set_active(0); - smart_mode_button.set_name("smart mode button"); - mouse_move_button.set_name("mouse mode button"); - } - } else { - smart_mode_button.set_active(0); - smart_mode_button.set_name("mouse mode button"); - mouse_move_button.set_name("mouse mode button"); + /* this should generate a new enter event which will + trigger the appropiate cursor. + */ + + if (_track_canvas) { + _track_canvas->re_enter (); } -*/ - - reset_canvas_cursor (); + set_gain_envelope_visibility (); update_time_selection_display (); @@ -505,6 +493,11 @@ Editor::button_selection (ArdourCanvas::Item* /*item*/, GdkEvent* event, ItemTyp MouseMode eff_mouse_mode = effective_mouse_mode (); + if (eff_mouse_mode == MouseCut) { + /* never change selection in cut mode */ + return; + } + if (get_smart_mode() && eff_mouse_mode == MouseRange && event->button.button == 3 && item_type == RegionItem) { /* context clicks are always about object properties, even if we're in range mode within smart mode. @@ -865,6 +858,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT case RegionViewNameHighlight: case RegionViewName: _drags->set (new RegionCutDrag (this, item), event, current_canvas_cursor); + return true; break; default: break; |