exit internal/note edit mode when clicking on anything that is not a MIDI region view or a note (or various modeless items like markers and the playhead)
git-svn-id: svn://localhost/ardour2/branches/3.0@11333 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
@@ -1224,7 +1224,6 @@ Editor::toggle_internal_editing ()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Editor::register_region_actions ()
|
||||
{
|
||||
|
||||
@@ -534,6 +534,22 @@ Editor::step_mouse_mode (bool next)
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
Editor::toggle_internal_editing_from_double_click (GdkEvent* event)
|
||||
{
|
||||
if (_drags->active()) {
|
||||
_drags->end_grab (event);
|
||||
}
|
||||
|
||||
ActionManager::do_action ("MouseMode", "toggle-internal-edit");
|
||||
|
||||
/* prevent reversion of edit cursor on button release */
|
||||
|
||||
pre_press_cursor = 0;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
Editor::button_selection (ArdourCanvas::Item* /*item*/, GdkEvent* event, ItemType item_type)
|
||||
{
|
||||
@@ -1222,23 +1238,7 @@ Editor::button_press_handler_2 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
Editor::toggle_internal_editing_from_double_click (GdkEvent* event)
|
||||
{
|
||||
if (_drags->active()) {
|
||||
_drags->end_grab (event);
|
||||
}
|
||||
Glib::RefPtr<Action> act = ActionManager::get_action (X_("MouseMode"), X_("toggle-internal-edit"));
|
||||
act->activate ();
|
||||
|
||||
/* prevent reversion of edit cursor on button release */
|
||||
|
||||
pre_press_cursor = 0;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_type)
|
||||
{
|
||||
@@ -1269,6 +1269,37 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp
|
||||
return true;
|
||||
}
|
||||
|
||||
if (internal_editing()) {
|
||||
switch (item_type) {
|
||||
case NoteItem:
|
||||
break;
|
||||
|
||||
case RegionItem:
|
||||
if (!dynamic_cast<MidiRegionView*> (clicked_regionview)) {
|
||||
ActionManager::do_action ("MouseMode", "toggle-internal-edit");
|
||||
}
|
||||
break;
|
||||
|
||||
case PlayheadCursorItem:
|
||||
case MarkerItem:
|
||||
case TempoMarkerItem:
|
||||
case MeterMarkerItem:
|
||||
case MarkerBarItem:
|
||||
case TempoBarItem:
|
||||
case MeterBarItem:
|
||||
case RangeMarkerBarItem:
|
||||
case CdMarkerBarItem:
|
||||
case TransportMarkerBarItem:
|
||||
/* button press on these events never does anything to
|
||||
change the editing mode.
|
||||
*/
|
||||
break;
|
||||
|
||||
default:
|
||||
ActionManager::do_action ("MouseMode", "toggle-internal-edit");
|
||||
}
|
||||
}
|
||||
|
||||
button_selection (item, event, item_type);
|
||||
|
||||
if (!_drags->active () &&
|
||||
|
||||
Reference in New Issue
Block a user