Use key bindings for region property (Fx) box

This is required to allow to delete RegionFX plugins
when the region-editor is shown in the main window, rather
than its own window.

Otherwise the Editor would handle delete/backspace and
instead remove the region.
This commit is contained in:
Robin Gareus 2024-11-23 10:53:10 +01:00
parent 23ba0f8338
commit 9f6d3baa93
No known key found for this signature in database
GPG key ID: A090BCE02CF57F04
5 changed files with 73 additions and 15 deletions

View file

@ -38,6 +38,7 @@
#include <gtkmm/listviewtext.h>
#include <gtkmm/scrolledwindow.h>
#include "gtkmm2ext/bindings.h"
#include "gtkmm2ext/dndtreeview.h"
#include "gtkmm2ext/dndvbox.h"
@ -104,14 +105,24 @@ private:
void redisplay_plugins ();
private:
static void register_actions();
static void load_bindings ();
static void static_delete ();
static Glib::RefPtr<Gtk::ActionGroup> rfx_box_actions;
static Gtkmm2ext::Bindings* bindings;
static RegionFxBox* current_rfx_box;
void add_fx_to_display (std::weak_ptr<ARDOUR::RegionFxPlugin>);
void show_plugin_gui (std::weak_ptr<ARDOUR::RegionFxPlugin>, bool custom_ui = true);
void queue_delete_region_fx (std::weak_ptr<ARDOUR::RegionFxPlugin>);
bool idle_delete_region_fx (std::weak_ptr<ARDOUR::RegionFxPlugin>);
void notify_plugin_load_fail (uint32_t cnt = 1);
bool on_key_press (GdkEventKey*);
bool enter_notify (GdkEventCrossing*);
bool leave_notify (GdkEventCrossing*);
void clear_automation (std::weak_ptr<ARDOUR::RegionFxPlugin>);
void update_controls ();
void delete_selected ();
/* PluginInterestedObject */
bool use_plugins (SelectedPlugins const&);