diff options
author | Carl Hetherington <carl@carlh.net> | 2011-12-26 14:30:35 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-12-26 14:30:35 +0000 |
commit | 2adb3fb579068b5a278df2ac96d131fe5f40f169 (patch) | |
tree | 8e5f59b70813fb506a9935f08b8851e7380cc3b9 /gtk2_ardour/stereo_panner.cc | |
parent | 6e79521e8b7709458b8ee093e2d0dc6440ffea2c (diff) |
Show panner drag information tool-tip style, and also show
it when the button is pressed to start a drag (#4584 and
#4585).
git-svn-id: svn://localhost/ardour2/branches/3.0@11072 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/stereo_panner.cc')
-rw-r--r-- | gtk2_ardour/stereo_panner.cc | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/gtk2_ardour/stereo_panner.cc b/gtk2_ardour/stereo_panner.cc index 6da8a249fc..43fae05e7b 100644 --- a/gtk2_ardour/stereo_panner.cc +++ b/gtk2_ardour/stereo_panner.cc @@ -60,7 +60,6 @@ StereoPanner::StereoPanner (boost::shared_ptr<Panner> panner) : PannerInterface (panner) , position_control (_panner->pannable()->pan_azimuth_control) , width_control (_panner->pannable()->pan_width_control) - , dragging (false) , dragging_position (false) , dragging_left (false) , dragging_right (false) @@ -270,7 +269,7 @@ StereoPanner::on_button_press_event (GdkEventButton* ev) dragging_position = false; dragging_left = false; dragging_right = false; - dragging = false; + _dragging = false; accumulated_delta = 0; detented = false; @@ -347,7 +346,7 @@ StereoPanner::on_button_press_event (GdkEventButton* ev) } } - dragging = false; + _dragging = false; } else if (ev->type == GDK_BUTTON_PRESS) { @@ -356,6 +355,8 @@ StereoPanner::on_button_press_event (GdkEventButton* ev) return true; } + show_drag_data_window (); + if (ev->y < 20) { /* top section of widget is for position drags */ dragging_position = true; @@ -388,7 +389,7 @@ StereoPanner::on_button_press_event (GdkEventButton* ev) StartWidthGesture (); } - dragging = true; + _dragging = true; } return true; @@ -403,16 +404,14 @@ StereoPanner::on_button_release_event (GdkEventButton* ev) bool const dp = dragging_position; - dragging = false; + _dragging = false; dragging_position = false; dragging_left = false; dragging_right = false; accumulated_delta = 0; detented = false; - if (_drag_data_window) { - _drag_data_window->hide (); - } + hide_drag_data_window (); if (Keyboard::modifier_state_contains (ev->state, Keyboard::TertiaryModifier)) { _panner->reset (); @@ -466,12 +465,10 @@ StereoPanner::on_scroll_event (GdkEventScroll* ev) bool StereoPanner::on_motion_notify_event (GdkEventMotion* ev) { - if (!dragging) { + if (!_dragging) { return false; } - show_drag_data_window (); - int w = get_width(); double delta = (ev->x - last_drag_x) / (double) w; double current_width = width_control->get_value (); |