diff options
author | Carl Hetherington <carl@carlh.net> | 2011-12-07 01:44:47 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-12-07 01:44:47 +0000 |
commit | 668c8b1f9e1df57e749e93953918832a38b17e23 (patch) | |
tree | ad16fe6c9874e19736612b1dd39838c0867a71b3 /gtk2_ardour/port_matrix_row_labels.cc | |
parent | 790d9042c644843f8105c714fad641dd17b7d722 (diff) |
Pass whole GdkEventButton into port matrix button
press/release handlers, rather than just selected
highlights. Remove port in the port matrix on Keyboard
is_delete_event (part of #4536).
git-svn-id: svn://localhost/ardour2/branches/3.0@10920 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/port_matrix_row_labels.cc')
-rw-r--r-- | gtk2_ardour/port_matrix_row_labels.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gtk2_ardour/port_matrix_row_labels.cc b/gtk2_ardour/port_matrix_row_labels.cc index 38b2dde6a7..e7f1153e90 100644 --- a/gtk2_ardour/port_matrix_row_labels.cc +++ b/gtk2_ardour/port_matrix_row_labels.cc @@ -20,6 +20,7 @@ #include <iostream> #include <boost/weak_ptr.hpp> #include <cairo/cairo.h> +#include "gtkmm2ext/keyboard.h" #include "ardour/bundle.h" #include "port_matrix_row_labels.h" #include "port_matrix.h" @@ -140,7 +141,7 @@ PortMatrixRowLabels::render (cairo_t* cr) } void -PortMatrixRowLabels::button_press (double x, double y, int b, uint32_t t, guint) +PortMatrixRowLabels::button_press (double x, double y, GdkEventButton* ev) { ARDOUR::BundleChannel w = position_to_channel (y, x, _matrix->visible_rows()); @@ -152,12 +153,13 @@ PortMatrixRowLabels::button_press (double x, double y, int b, uint32_t t, guint) w.channel = -1; } - if (b == 3) { - + if (Gtkmm2ext::Keyboard::is_delete_event (ev) && w.channel != -1) { + _matrix->remove_channel (w); + } else if (ev->button == 3) { _matrix->popup_menu ( ARDOUR::BundleChannel (), w, - t + ev->time ); } } |