diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-03-08 22:08:51 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-31 15:30:40 -0400 |
commit | 9f66fe1ebbb506b646f2e20c5530d895e4a5f092 (patch) | |
tree | a420b3bffccf2e6beb1ff5bf0eea8191f2dd5923 /gtk2_ardour/vca_master_strip.cc | |
parent | 567fb50aad1d31a622b5bcceb457438e05ef4f73 (diff) |
start adding a context menu for VCA strips
Diffstat (limited to 'gtk2_ardour/vca_master_strip.cc')
-rw-r--r-- | gtk2_ardour/vca_master_strip.cc | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/gtk2_ardour/vca_master_strip.cc b/gtk2_ardour/vca_master_strip.cc index 8b8cc4eb61..d7c1856d7d 100644 --- a/gtk2_ardour/vca_master_strip.cc +++ b/gtk2_ardour/vca_master_strip.cc @@ -23,6 +23,8 @@ #include "ardour/vca.h" #include "ardour/vca_manager.h" +#include "gtkmm2ext/keyboard.h" + #include "gui_thread.h" #include "floating_text_entry.h" #include "tooltips.h" @@ -41,6 +43,7 @@ VCAMasterStrip::VCAMasterStrip (Session* s, boost::shared_ptr<VCA> v) : AxisView (s) , _vca (v) , gain_meter (s, 250) + , context_menu (0) { gain_meter.set_controls (boost::shared_ptr<Route>(), boost::shared_ptr<PeakMeter>(), @@ -318,7 +321,7 @@ VCAMasterStrip::vca_button_release (GdkEventButton* ev) bool VCAMasterStrip::name_button_press (GdkEventButton* ev) { - if (ev->type == GDK_2BUTTON_PRESS) { + if (ev->button == 1 && ev->type == GDK_2BUTTON_PRESS) { Gtk::Window* win = dynamic_cast<Gtk::Window*>(get_toplevel()); FloatingTextEntry* fte = new FloatingTextEntry (win, _vca->name()); fte->use_text.connect (sigc::mem_fun (*this, &VCAMasterStrip::finish_name_edit)); @@ -326,6 +329,14 @@ VCAMasterStrip::name_button_press (GdkEventButton* ev) return true; } + if (Keyboard::is_context_menu_event (ev)) { + if (!context_menu) { + build_context_menu (); + } + context_menu->popup (1, ev->time); + return true; + } + return false; } @@ -348,3 +359,12 @@ VCAMasterStrip::update_vca_name () { name_button.set_text (short_version (_vca->name(), 8)); } + +void +VCAMasterStrip::build_context_menu () +{ + using namespace Gtk::Menu_Helpers; + context_menu = new Menu; + MenuList& items = context_menu->items(); + items.push_back (MenuElem (_("Remove"))); +} |