diff --git a/gtk2_ardour/trigger_ui.cc b/gtk2_ardour/trigger_ui.cc index c272f1a2dd..00d4086629 100644 --- a/gtk2_ardour/trigger_ui.cc +++ b/gtk2_ardour/trigger_ui.cc @@ -45,11 +45,20 @@ using namespace ArdourCanvas; using namespace Gtkmm2ext; using namespace PBD; - TriggerUI::TriggerUI (Item* parent, Trigger& t) : Box (parent, Box::Vertical) , trigger (t) { + follow_label = new Box (canvas(), Horizontal); + follow_label->set_fill_color (UIConfiguration::instance().color (X_("theme:bg"))); + follow_label->set_outline_color (UIConfiguration::instance().color (X_("neutral:foreground"))); + + follow_text = new Text (canvas()); + follow_text->set (X_("Follow Action")); + follow_text->set_color (Gtkmm2ext::contrasting_text_color (follow_label->fill_color())); + + follow_label->add (follow_text); + add (follow_label); } TriggerUI::~TriggerUI () diff --git a/gtk2_ardour/trigger_ui.h b/gtk2_ardour/trigger_ui.h index a6b8c0111b..1b4d96055d 100644 --- a/gtk2_ardour/trigger_ui.h +++ b/gtk2_ardour/trigger_ui.h @@ -39,7 +39,7 @@ class TriggerUI : public ArdourCanvas::Box private: ARDOUR::Trigger& trigger; - ArdourCanvas::Rectangle* follow_label; + ArdourCanvas::Box* follow_label; ArdourCanvas::Text* follow_text; ArdourCanvas::Rectangle* follow_left; diff --git a/gtk2_ardour/triggerbox_ui.cc b/gtk2_ardour/triggerbox_ui.cc index d73086a733..7dd981c63c 100644 --- a/gtk2_ardour/triggerbox_ui.cc +++ b/gtk2_ardour/triggerbox_ui.cc @@ -36,6 +36,7 @@ #include "ardour_ui.h" #include "gui_thread.h" #include "triggerbox_ui.h" +#include "trigger_ui.h" #include "public_editor.h" #include "ui_config.h" #include "utils.h" @@ -392,6 +393,7 @@ TriggerBoxUI::context_menu (size_t n) dynamic_cast (&qitems.back ())->set_active (true); } + items.push_back (MenuElem (_("Edit..."), sigc::bind (sigc::mem_fun (*this, &TriggerBoxUI::edit_trigger), n))); items.push_back (MenuElem (_("Follow Action..."), *follow_menu)); items.push_back (MenuElem (_("Launch Style..."), *launch_menu)); items.push_back (MenuElem (_("Quantization..."), *quant_menu)); @@ -399,6 +401,13 @@ TriggerBoxUI::context_menu (size_t n) _context_menu->popup (1, gtk_get_current_event_time()); } +void +TriggerBoxUI::edit_trigger (size_t n) +{ + TriggerWindow* tw = new TriggerWindow (*_triggerbox.trigger (n)); + tw->present (); +} + void TriggerBoxUI::set_follow_action (size_t n, Trigger::FollowAction fa) { diff --git a/gtk2_ardour/triggerbox_ui.h b/gtk2_ardour/triggerbox_ui.h index 36b452b772..dfcf1dd816 100644 --- a/gtk2_ardour/triggerbox_ui.h +++ b/gtk2_ardour/triggerbox_ui.h @@ -73,6 +73,8 @@ class TriggerBoxUI : public ArdourCanvas::Box TriggerBoxUI (ArdourCanvas::Item* parent, ARDOUR::TriggerBox&); ~TriggerBoxUI (); + void edit_trigger (size_t n); + private: ARDOUR::TriggerBox& _triggerbox; typedef std::vector Slots;