summaryrefslogtreecommitdiff
path: root/gtk2_ardour/mixer_strip.cc
diff options
context:
space:
mode:
authorJulien "_FrnchFrgg_" RIVAUD <frnchfrgg@free.fr>2016-08-18 10:42:43 +0200
committerJulien "_FrnchFrgg_" RIVAUD <frnchfrgg@free.fr>2016-08-18 11:52:22 +0200
commit1d686ac978c6efd330f86d4d03f02112c778b2d2 (patch)
treea7f772dd9450d8570c2e96ed0c60444318907baa /gtk2_ardour/mixer_strip.cc
parent3ab6ff8be76b8614d4c8ff4500a0cf3f6e3f2c59 (diff)
Make name_button behave more like a Gtk::MenuToolButton
Make it popup its menu in attached mode, and on mouse down, but keep the context menu behavior on right-click.
Diffstat (limited to 'gtk2_ardour/mixer_strip.cc')
-rw-r--r--gtk2_ardour/mixer_strip.cc24
1 files changed, 7 insertions, 17 deletions
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 1477357770..935542e74e 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -353,7 +353,6 @@ MixerStrip::init ()
number_label.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::number_button_button_press), false);
name_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::name_button_button_press), false);
- name_button.signal_button_release_event().connect (sigc::mem_fun(*this, &MixerStrip::name_button_button_release), false);
group_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::select_route_group), false);
@@ -1726,12 +1725,17 @@ MixerStrip::build_route_ops_menu ()
gboolean
MixerStrip::name_button_button_press (GdkEventButton* ev)
{
- if (ev->button == 3) {
+ if (ev->button == 1 || ev->button == 3) {
list_route_operations ();
/* do not allow rename if the track is record-enabled */
rename_menu_item->set_sensitive (!is_track() || !track()->rec_enable_control()->get_value());
- route_ops_menu->popup (1, ev->time);
+ if (ev->button == 1) {
+ Gtkmm2ext::anchored_menu_popup(route_ops_menu, &name_button, "",
+ 1, ev->time);
+ } else {
+ route_ops_menu->popup (3, ev->time);
+ }
return true;
}
@@ -1740,20 +1744,6 @@ MixerStrip::name_button_button_press (GdkEventButton* ev)
}
gboolean
-MixerStrip::name_button_button_release (GdkEventButton* ev)
-{
- if (ev->button == 1) {
- list_route_operations ();
-
- /* do not allow rename if the track is record-enabled */
- rename_menu_item->set_sensitive (!is_track() || !track()->rec_enable_control()->get_value());
- route_ops_menu->popup (1, ev->time);
- }
-
- return false;
-}
-
-gboolean
MixerStrip::number_button_button_press (GdkEventButton* ev)
{
if ( ev->button == 3 ) {