#include "canvas/debug.h"
-#include "ardour_ui.h"
#include "editor.h"
#include "editor_drag.h"
#include "midi_region_view.h"
#include "patch_change.h"
+#include "ui_config.h"
using namespace MIDI::Name;
using namespace std;
_flag = new ArdourCanvas::Flag (
parent,
height,
- ARDOUR_UI::config()->color ("midi patch change outline"),
- ARDOUR_UI::config()->color_mod ("midi patch change fill", "midi patch change fill"),
+ UIConfiguration::instance().color ("midi patch change outline"),
+ UIConfiguration::instance().color_mod ("midi patch change fill", "midi patch change fill"),
ArdourCanvas::Duple (x, y),
true);
-
+
CANVAS_DEBUG_NAME (_flag, text);
_flag->Event.connect (sigc::mem_fun (*this, &PatchChange::event_handler));
- _flag->set_font_description (ARDOUR_UI::config()->get_SmallFont());
+ _flag->set_font_description (UIConfiguration::instance().get_SmallFont());
_flag->set_text(text);
}
++bank) {
Glib::RefPtr<Glib::Regex> underscores = Glib::Regex::create("_");
std::string replacement(" ");
-
+
Gtk::Menu& patch_bank_menu = *manage(new Gtk::Menu());
-
+
const PatchNameList& patches = (*bank)->patch_name_list();
Gtk::Menu::MenuList& patch_menus = patch_bank_menu.items();
-
+
for (PatchNameList::const_iterator patch = patches.begin();
patch != patches.end();
++patch) {
const PatchNameList& patches = patch_banks.front()->patch_name_list();
Gtk::Menu::MenuList& patch_menus = _popup.items();
-
+
for (PatchNameList::const_iterator patch = patches.begin();
patch != patches.end();
++patch) {
std::string name = (*patch)->name();
boost::replace_all (name, "_", " ");
-
+
patch_menus.push_back (
Gtk::Menu_Helpers::MenuElem (
name,
{
/* XXX: icky dcast */
Editor* e = dynamic_cast<Editor*> (&_region.get_time_axis_view().editor());
-
+
if (!e->internal_editing()) {
return false;
}
_region.edit_patch_change (this);
return true;
-
+
} else if (ev->button.button == 1) {
e->drags()->set (new PatchChangeDrag (e, this, &_region), ev);
return true;
}
}
- if (ev->button.button == 3) {
+ if (Gtkmm2ext::Keyboard::is_context_menu_event (&ev->button)) {
if (!_popup_initialized) {
initialize_popup_menus();
_popup_initialized = true;
}
break;
+ case GDK_KEY_RELEASE:
+ switch (ev->key.keyval) {
+ case GDK_BackSpace:
+ case GDK_Delete:
+ _region.delete_patch_change (this);
+ default:
+ break;
+ }
+ break;
+
case GDK_SCROLL:
if (ev->scroll.direction == GDK_SCROLL_UP) {
_region.step_patch(