};
PluginSelector::PluginSelector (PluginManager *mgr)
- : ArdourDialog (_("ardour: plugins"), true, false),
+ : ArdourDialog (_("Plugin Manager"), true, false),
filter_button (Stock::CLEAR)
{
set_position (Gtk::WIN_POS_MOUSE);
{
ResponseType r;
TreeModel::Children::iterator i;
- SelectedPlugins plugins;
- r = (ResponseType) Dialog::run ();
+ bool finish = false;
+
+ while (!finish) {
- switch (r) {
- case RESPONSE_APPLY:
- for (i = amodel->children().begin(); i != amodel->children().end(); ++i) {
- PluginInfoPtr pp = (*i)[acols.plugin];
- PluginPtr p = load_plugin (pp);
- if (p) {
- plugins.push_back (p);
+ SelectedPlugins plugins;
+ r = (ResponseType) Dialog::run ();
+
+ switch (r) {
+ case RESPONSE_APPLY:
+ for (i = amodel->children().begin(); i != amodel->children().end(); ++i) {
+ PluginInfoPtr pp = (*i)[acols.plugin];
+ PluginPtr p = load_plugin (pp);
+ if (p) {
+ plugins.push_back (p);
+ }
}
+ if (interested_object && !plugins.empty()) {
+ finish = !interested_object->use_plugins (plugins);
+ }
+
+ break;
+
+ default:
+ finish = true;
+ break;
}
- if (interested_object && !plugins.empty()) {
- interested_object->use_plugins (plugins);
- }
-
- break;
-
- default:
- break;
}
-
+
+
hide();
amodel->clear();
interested_object = 0;
Gtk::Menu* favs = create_favs_menu(all_plugs);
items.push_back (MenuElem (_("Favorites"), *manage (favs)));
- items.push_back (MenuElem (_("Plugin Manager"), sigc::mem_fun (*this, &PluginSelector::show_manager)));
+ items.push_back (MenuElem (_("Plugin Manager..."), sigc::mem_fun (*this, &PluginSelector::show_manager)));
items.push_back (SeparatorElem ());
Menu* by_creator = create_by_creator_menu(all_plugs);
{
using namespace Menu_Helpers;
- typedef std::map<Glib::ustring,Gtk::Menu*> SubmenuMap;
+ typedef std::map<std::string,Gtk::Menu*> SubmenuMap;
SubmenuMap creator_submenu_map;
Menu* by_creator = new Menu();
} else {
submenu = new Gtk::Menu;
by_creator_items.push_back (MenuElem (creator, *manage (submenu)));
- creator_submenu_map.insert (pair<Glib::ustring,Menu*> (creator, submenu));
+ creator_submenu_map.insert (pair<std::string,Menu*> (creator, submenu));
submenu->set_name("ArdourContextMenu");
}
submenu->items().push_back (MenuElem ((*i)->name, (sigc::bind (sigc::mem_fun (*this, &PluginSelector::plugin_chosen_from_menu), *i))));
{
using namespace Menu_Helpers;
- typedef std::map<Glib::ustring,Gtk::Menu*> SubmenuMap;
+ typedef std::map<std::string,Gtk::Menu*> SubmenuMap;
SubmenuMap category_submenu_map;
Menu* by_category = new Menu();
} else {
submenu = new Gtk::Menu;
by_category_items.push_back (MenuElem (category, *manage (submenu)));
- category_submenu_map.insert (pair<Glib::ustring,Menu*> (category, submenu));
+ category_submenu_map.insert (pair<std::string,Menu*> (category, submenu));
submenu->set_name("ArdourContextMenu");
}
submenu->items().push_back (MenuElem ((*i)->name, (sigc::bind (sigc::mem_fun (*this, &PluginSelector::plugin_chosen_from_menu), *i))));
}
void
-PluginSelector::favorite_changed (const Glib::ustring& path)
+PluginSelector::favorite_changed (const std::string& path)
{
PluginInfoPtr pi;
}
void
-PluginSelector::hidden_changed (const Glib::ustring& path)
+PluginSelector::hidden_changed (const std::string& path)
{
PluginInfoPtr pi;