diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-10-31 13:16:51 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-10-31 13:16:51 -0400 |
commit | ea1ccb869a152d7344f498d2a062867f5bcf9d0b (patch) | |
tree | ef3b8dc9d60cd7d1da9ba439384336c1b0009ca2 /gtk2_ardour/editor_mouse.cc | |
parent | b80ae88154fbc1b23c97fe60192a304280c8542c (diff) | |
parent | f2300164d7a89c5e433d3293dfed4c1ab77f0553 (diff) |
fix merge with master
Diffstat (limited to 'gtk2_ardour/editor_mouse.cc')
-rw-r--r-- | gtk2_ardour/editor_mouse.cc | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index b2ee2777cf..7782f393ae 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -1299,6 +1299,10 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp } if (event->type != GDK_BUTTON_PRESS) { + if (event->type == GDK_2BUTTON_PRESS) { + gdk_pointer_ungrab (GDK_CURRENT_TIME); + return button_double_click_handler (item, event, item_type); + } return false; } @@ -1423,6 +1427,52 @@ Editor::button_release_dispatch (GdkEventButton* ev) } bool +Editor::button_double_click_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_type) { + + if (event->button.button != 1) { + return false; + } + + switch (item_type) { + case RegionItem: + RegionView *rv; + rv = clicked_regionview; + rv->show_region_editor (); + return true; + case NoteItem: + case PlayheadCursorItem: + break; + case MarkerItem: + case RangeMarkerBarItem: + case CdMarkerBarItem: + Marker* marker; + if ((marker = static_cast<Marker *> (item->get_data ("marker"))) == 0) { + break; + } + rename_marker (marker); + return true; + case TempoMarkerItem: + edit_tempo_marker (item); + return true; + case MeterMarkerItem: + edit_meter_marker (item); + return true; + case MarkerBarItem: + case TempoBarItem: + case MeterBarItem: + case TransportMarkerBarItem: + case StreamItem: + break; + + default: + break; + } + return false; +} + + + +bool Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_type) { framepos_t where = canvas_event_frame (event); |