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

This commit is contained in:
Paul Davis 2014-07-07 07:54:41 -04:00
parent b1a8f11565
commit 936861f6ce

View File

@ -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;