PM-GUI: allow to re-index plugins (cache only, not scan)

This commit is contained in:
Robin Gareus 2021-07-17 01:10:29 +02:00
parent 4d15326a78
commit cd20282fdd
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 13 additions and 0 deletions

View File

@ -49,6 +49,7 @@ using namespace ARDOUR_PLUGIN_UTILS;
PluginManagerUI::PluginManagerUI ()
: ArdourWindow (_("Plugin Manager"))
, _btn_reindex (_("Update Index Only"))
, _btn_rescan_all (_("Re-scan All"))
, _btn_rescan_err (_("Re-scan Faulty"))
, _btn_rescan_sel (_("Re-scan Selected"))
@ -187,6 +188,7 @@ PluginManagerUI::PluginManagerUI ()
b_actions->pack_start (_btn_rescan_sel);
b_actions->pack_start (_btn_rescan_err);
b_actions->pack_start (_btn_rescan_all);
b_actions->pack_start (_btn_reindex);
b_actions->set_spacing (4);
b_actions->set_border_width (4);
@ -254,6 +256,7 @@ PluginManagerUI::PluginManagerUI ()
/* tooltips */
/* clang-format off */
ArdourWidgets::set_tooltip (_btn_reindex, _("Only update plugin index, do not discover new plugins."));
ArdourWidgets::set_tooltip (_btn_rescan_all, _("Scans all plugins, regardless if they have already been successfully scanned\n.Depending on the number of plugins installed this can take a long time."));
ArdourWidgets::set_tooltip (_btn_rescan_err, _("Scans plugins that have not yet been successfully scanned."));
ArdourWidgets::set_tooltip (_btn_rescan_sel, _("Scans the selected plugin."));
@ -290,6 +293,7 @@ PluginManagerUI::PluginManagerUI ()
PluginManager::instance ().PluginScanLogChanged.connect (_manager_connections, invalidator (*this), boost::bind (&PluginManagerUI::refill, this), gui_context ());
PluginManager::instance ().PluginStatusChanged.connect (_manager_connections, invalidator (*this), boost::bind (&PluginManagerUI::plugin_status_changed, this, _1, _2, _3), gui_context ());
_btn_reindex.signal_clicked.connect (sigc::mem_fun (*this, &PluginManagerUI::reindex));
_btn_rescan_all.signal_clicked.connect (sigc::mem_fun (*this, &PluginManagerUI::rescan_all));
_btn_rescan_err.signal_clicked.connect (sigc::mem_fun (*this, &PluginManagerUI::rescan_faulty));
_btn_rescan_sel.signal_clicked.connect (sigc::mem_fun (*this, &PluginManagerUI::rescan_selected));
@ -805,6 +809,13 @@ PluginManagerUI::rescan_faulty ()
_entry_search.set_text ("");
}
void
PluginManagerUI::reindex()
{
PluginScanDialog psd (true, true, this);
psd.start ();
}
void
PluginManagerUI::rescan_selected ()
{

View File

@ -52,6 +52,7 @@ private:
void hidden_changed (std::string const&);
void row_activated (Gtk::TreeModel::Path const&, Gtk::TreeViewColumn*);
void reindex ();
void rescan_all ();
void rescan_faulty ();
void rescan_selected ();
@ -121,6 +122,7 @@ private:
Gtk::TextView _log;
Gtk::ScrolledWindow _log_scroller;
ArdourWidgets::VPane _pane;
ArdourWidgets::ArdourButton _btn_reindex;
ArdourWidgets::ArdourButton _btn_rescan_all;
ArdourWidgets::ArdourButton _btn_rescan_err;
ArdourWidgets::ArdourButton _btn_rescan_sel;