diff options
Diffstat (limited to 'gtk2_ardour/processor_box.cc')
-rw-r--r-- | gtk2_ardour/processor_box.cc | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index 96d291e725..73abc02c43 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -225,11 +225,24 @@ ProcessorEntry::drag_data_get (Glib::RefPtr<Gdk::DragContext> const, Gtk::Select boost::shared_ptr<PluginInsert> pi = boost::dynamic_pointer_cast<PluginInsert> (_processor); boost::shared_ptr<ARDOUR::Plugin> plugin = pi->plugin(); assert (plugin); - NewPluginPresetDialog d (plugin); + + PluginManager& manager (PluginManager::instance()); + bool fav = manager.get_status (_plugin_preset_pointer->_pip) == PluginManager::Favorite; + + NewPluginPresetDialog d (plugin, + string_compose(_("New Favorite Preset for \"%1\""),_plugin_preset_pointer->_pip->name), !fav); _plugin_preset_pointer->_preset.valid = false; switch (d.run ()) { + case Gtk::RESPONSE_CANCEL: + data.set (data.get_target(), 8, NULL, 0); + return true; + break; + + case Gtk::RESPONSE_NO: + break; + case Gtk::RESPONSE_ACCEPT: if (d.name().empty()) { break; |