From 1242d9595c198bd5cb351271002b1c910ec7864b Mon Sep 17 00:00:00 2001 From: Nick Mainsbridge Date: Sun, 14 May 2006 19:02:14 +0000 Subject: [PATCH] Mixer strip uses button 1 where possible, make mouse click behaviour more consistent wrt popup menus. git-svn-id: svn://localhost/trunk/ardour2@504 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/mixer_strip.cc | 23 ++++++++++------------- gtk2_ardour/mixer_strip.h | 2 +- gtk2_ardour/redirect_box.cc | 4 ++-- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index dd028d9714..11a9702b01 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -305,8 +305,8 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session& sess, Route& rt, bool in_mixer) _route.comment_changed.connect (mem_fun(*this, &MixerStrip::comment_changed)); _route.gui_changed.connect (mem_fun(*this, &MixerStrip::route_gui_changed)); - input_button.signal_button_release_event().connect (mem_fun(*this, &MixerStrip::input_press), false); - output_button.signal_button_release_event().connect (mem_fun(*this, &MixerStrip::output_press), false); + input_button.signal_button_press_event().connect (mem_fun(*this, &MixerStrip::input_press), false); + output_button.signal_button_press_event().connect (mem_fun(*this, &MixerStrip::output_press), false); rec_enable_button->signal_button_press_event().connect (mem_fun(*this, &RouteUI::rec_enable_press)); solo_button->signal_button_press_event().connect (mem_fun(*this, &RouteUI::solo_press), false); @@ -320,13 +320,11 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session& sess, Route& rt, bool in_mixer) pan_automation_style_button.signal_button_release_event().connect (mem_fun(*this, &MixerStrip::pan_automation_style_button_event), false); gain_automation_state_button.signal_button_press_event().connect (mem_fun(*this, &MixerStrip::gain_automation_state_button_event), false); - gain_automation_state_button.signal_button_release_event().connect (mem_fun(*this, &MixerStrip::gain_automation_state_button_event), false); pan_automation_state_button.signal_button_press_event().connect (mem_fun(*this, &MixerStrip::pan_automation_state_button_event), false); - pan_automation_state_button.signal_button_release_event().connect (mem_fun(*this, &MixerStrip::pan_automation_state_button_event), false); - name_button.signal_button_release_event().connect (mem_fun(*this, &MixerStrip::name_button_button_release), false); + name_button.signal_button_press_event().connect (mem_fun(*this, &MixerStrip::name_button_button_press), false); - group_button.signal_button_release_event().connect (mem_fun(*this, &MixerStrip::select_mix_group), false); + group_button.signal_button_press_event().connect (mem_fun(*this, &MixerStrip::select_mix_group), false); _width = (Width) -1; set_stuff_from_route (); @@ -791,7 +789,7 @@ MixerStrip::fast_update () gint MixerStrip::gain_automation_state_button_event (GdkEventButton *ev) { - if (ev->type == GDK_BUTTON_PRESS || ev->type == GDK_2BUTTON_PRESS) { + if (ev->type == GDK_BUTTON_RELEASE) { return TRUE; } @@ -831,7 +829,7 @@ MixerStrip::pan_automation_state_button_event (GdkEventButton *ev) { using namespace Menu_Helpers; - if (ev->type == GDK_BUTTON_PRESS || ev->type == GDK_2BUTTON_PRESS) { + if (ev->type == GDK_BUTTON_RELEASE) { return TRUE; } @@ -1169,7 +1167,7 @@ MixerStrip::select_mix_group (GdkEventButton *ev) _session.foreach_mix_group (bind (mem_fun (*this, &MixerStrip::add_mix_group_to_menu), &group)); - group_menu->popup (1, 0); + group_menu->popup (1, ev->time); return true; } @@ -1251,10 +1249,11 @@ MixerStrip::build_route_ops_menu () } gint -MixerStrip::name_button_button_release (GdkEventButton* ev) +MixerStrip::name_button_button_press (GdkEventButton* ev) { - if (ev->button == 3) { + if (ev->button == 1) { list_route_operations (); + route_ops_menu->popup (1, ev->time); } return FALSE; } @@ -1267,8 +1266,6 @@ MixerStrip::list_route_operations () } refresh_remote_control_menu(); - - route_ops_menu->popup (1, 0); } diff --git a/gtk2_ardour/mixer_strip.h b/gtk2_ardour/mixer_strip.h index e56c1ce4ec..f95a4afebf 100644 --- a/gtk2_ardour/mixer_strip.h +++ b/gtk2_ardour/mixer_strip.h @@ -221,7 +221,7 @@ class MixerStrip : public RouteUI, public Gtk::EventBox Gtk::Menu* route_ops_menu; void build_route_ops_menu (); - gint name_button_button_release (GdkEventButton*); + gint name_button_button_press (GdkEventButton*); void list_route_operations (); gint comment_key_release_handler (GdkEventKey*); diff --git a/gtk2_ardour/redirect_box.cc b/gtk2_ardour/redirect_box.cc index 77c869d276..f186fab2d5 100644 --- a/gtk2_ardour/redirect_box.cc +++ b/gtk2_ardour/redirect_box.cc @@ -244,7 +244,7 @@ RedirectBox::show_redirect_menu (gint arg) paste_action->set_sensitive (!_rr_selection.redirects.empty()); - redirect_menu->popup (1, 0); + redirect_menu->popup (1, arg); } void @@ -294,7 +294,7 @@ RedirectBox::redirect_button_press_event (GdkEventButton *ev) } else if (Keyboard::is_context_menu_event (ev)) { - show_redirect_menu(0); + show_redirect_menu(ev->time); ret = true; } else if (redirect && ev->button == 2 && ev->state == 0) { -- 2.30.2