diff options
author | Carl Hetherington <carl@carlh.net> | 2009-12-14 16:44:20 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-12-14 16:44:20 +0000 |
commit | da762129f19c28aff64f833b6ec09fba946faef6 (patch) | |
tree | 9f85b36735e42c257226bbb09432741d957f0613 /gtk2_ardour/port_matrix_column_labels.cc | |
parent | 383b24cc48e542d83fca90d4263f800b33d69402 (diff) |
Offer all of a bundle's ports for disconnection / removal when opening a menu over a bundle's name in the port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@6365 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/port_matrix_column_labels.cc')
-rw-r--r-- | gtk2_ardour/port_matrix_column_labels.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gtk2_ardour/port_matrix_column_labels.cc b/gtk2_ardour/port_matrix_column_labels.cc index c10bb01a2b..be26474e75 100644 --- a/gtk2_ardour/port_matrix_column_labels.cc +++ b/gtk2_ardour/port_matrix_column_labels.cc @@ -436,11 +436,19 @@ PortMatrixColumnLabels::position_to_channel (double p, double o, boost::shared_p void PortMatrixColumnLabels::button_press (double x, double y, int b, uint32_t t, guint) { - ARDOUR::BundleChannel const gc = position_to_channel (x, y, _matrix->visible_columns()); + ARDOUR::BundleChannel w = position_to_channel (x, y, _matrix->visible_columns()); + + if ( + (_matrix->arrangement() == PortMatrix::LEFT_TO_BOTTOM && y > (_height - _longest_bundle_name * sin (angle ()))) || + (_matrix->arrangement() == PortMatrix::TOP_TO_RIGHT && y < (_longest_bundle_name * sin (angle ()))) + ) { + + w.channel = -1; + } if (b == 3) { _matrix->popup_menu ( - gc, + w, ARDOUR::BundleChannel (), t ); |