diff options
author | Robin Gareus <robin@gareus.org> | 2017-07-02 22:53:28 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-07-02 22:53:28 +0200 |
commit | ef8756a83ae98c527afe63779bcb1a60f4e8c131 (patch) | |
tree | 26b23097aa65a166d75b6d1ad471f8a7fcf334cc | |
parent | 3a423839755ad0889bafea501c61ac8ab98f572e (diff) |
Allow to bind generic plugin-ui dropdown + clickboxes
-rw-r--r-- | gtk2_ardour/ardour_dropdown.cc | 7 | ||||
-rw-r--r-- | gtk2_ardour/generic_pluginui.cc | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gtk2_ardour/ardour_dropdown.cc b/gtk2_ardour/ardour_dropdown.cc index 6c527f2d27..be18af5056 100644 --- a/gtk2_ardour/ardour_dropdown.cc +++ b/gtk2_ardour/ardour_dropdown.cc @@ -70,9 +70,14 @@ ArdourDropdown::menu_size_request(Requisition *req) { bool ArdourDropdown::on_button_press_event (GdkEventButton* ev) { - if (ev->type == GDK_BUTTON_PRESS) { + if (binding_proxy.button_press_handler (ev)) { + return true; + } + + if (ev->type == GDK_BUTTON_PRESS && ev->button == 1) { Gtkmm2ext::anchored_menu_popup(&_menu, this, get_text(), 1, ev->time); } + return true; } diff --git a/gtk2_ardour/generic_pluginui.cc b/gtk2_ardour/generic_pluginui.cc index 453be0a1ac..bcc91a673d 100644 --- a/gtk2_ardour/generic_pluginui.cc +++ b/gtk2_ardour/generic_pluginui.cc @@ -730,6 +730,8 @@ GenericPluginUI::build_control_ui (const Evoral::Parameter& param, i->second))); } + control_ui->combo->set_controllable (mcontrol); + update_control_display(control_ui); } else { @@ -759,6 +761,7 @@ GenericPluginUI::build_control_ui (const Evoral::Parameter& param, } else { control_ui->clickbox->set_printer (sigc::bind (sigc::mem_fun (*this, &GenericPluginUI::integer_printer), control_ui)); } + control_ui->clickbox->set_controllable (mcontrol); } else if (desc.toggled) { ArdourButton* but = dynamic_cast<ArdourButton*> (control_ui->controller->widget()); assert(but); |