mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-06 14:54:56 +01:00
display policy of plugin-scan progress popup-window
Only show scan-progress when discovering new plugins (discovery can be cancelled) and optionally also show it during 'scanning index only' (with insensitive cancel button)
This commit is contained in:
parent
3cf5dcb64c
commit
b8e4c44637
2 changed files with 24 additions and 11 deletions
|
|
@ -3802,7 +3802,22 @@ static MessageDialog *scan_dlg = NULL;
|
|||
void
|
||||
ARDOUR_UI::plugin_scan_dialog (std::string type, std::string plugin, bool can_cancel)
|
||||
{
|
||||
if (!Config->get_show_plugin_scan_window()) { return; }
|
||||
if (type == X_("closeme") && !(scan_dlg && scan_dlg->is_mapped())) {
|
||||
return;
|
||||
}
|
||||
|
||||
const bool cancelled = PluginManager::instance().cancelled();
|
||||
if (type != X_("closeme") && !Config->get_show_plugin_scan_window()) {
|
||||
if (cancelled && scan_dlg->is_mapped()) {
|
||||
scan_dlg->hide();
|
||||
gui_idle_handler();
|
||||
return;
|
||||
}
|
||||
if (cancelled || !can_cancel) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
static Gtk::Button *cancel_button;
|
||||
if (!scan_dlg) {
|
||||
scan_dlg = new MessageDialog("", false, MESSAGE_INFO, BUTTONS_NONE);
|
||||
|
|
@ -3823,19 +3838,16 @@ ARDOUR_UI::plugin_scan_dialog (std::string type, std::string plugin, bool can_ca
|
|||
scan_dlg->set_message(type + ": " + Glib::path_get_basename(plugin));
|
||||
scan_dlg->show_all();
|
||||
}
|
||||
cancel_button->set_sensitive(can_cancel);
|
||||
cancel_button->set_sensitive(can_cancel && !cancelled);
|
||||
|
||||
/* due to idle calls, gtk_events_pending() may always return true */
|
||||
int timeout = 30;
|
||||
while (gtk_events_pending() && --timeout) {
|
||||
gtk_main_iteration ();
|
||||
}
|
||||
gui_idle_handler();
|
||||
}
|
||||
|
||||
void
|
||||
ARDOUR_UI::gui_idle_handler ()
|
||||
{
|
||||
int timeout = 30;
|
||||
/* due to idle calls, gtk_events_pending() may always return true */
|
||||
while (gtk_events_pending() && --timeout) {
|
||||
gtk_main_iteration ();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -999,7 +999,7 @@ class PluginOptions : public OptionEditorBox
|
|||
public:
|
||||
PluginOptions (RCConfiguration* c)
|
||||
: _rc_config (c)
|
||||
, _display_plugin_scan_progress (_("Display Plugin Scan Progress"))
|
||||
, _display_plugin_scan_progress (_("Always Display Plugin Scan Progress"))
|
||||
, _discover_vst_on_start (_("Scan for new VST Plugins on Application Start"))
|
||||
{
|
||||
Label *l;
|
||||
|
|
@ -1015,16 +1015,17 @@ public:
|
|||
t->attach (*manage (new Label ("")), 0, 3, n, n+1, FILL | EXPAND); ++n;
|
||||
t->attach (*l, 0, 2, n, n+1, FILL | EXPAND); ++n;
|
||||
|
||||
b = manage (new Button (_("Refresh Plugin List")));
|
||||
b = manage (new Button (_("Scan for Plugins")));
|
||||
b->signal_clicked().connect (sigc::mem_fun (*this, &PluginOptions::refresh_clicked));
|
||||
t->attach (*b, 0, 2, n, n+1, FILL); ++n;
|
||||
|
||||
t->attach (_display_plugin_scan_progress, 0, 2, n, n+1); ++n;
|
||||
_display_plugin_scan_progress.signal_toggled().connect (sigc::mem_fun (*this, &PluginOptions::display_plugin_scan_progress_toggled));
|
||||
Gtkmm2ext::UI::instance()->set_tip (_display_plugin_scan_progress,
|
||||
_("<b>When enabled</b> display a popup window showing plugin scan progress."));
|
||||
_("<b>When enabled</b> a popup window showing plugin scan progress is displayed for indexing (cache load) and discovery (detect new plugins)"));
|
||||
|
||||
|
||||
ss.str("");
|
||||
ss << "<b>" << _("VST") << "</b>";
|
||||
l = manage (left_aligned_label (ss.str()));
|
||||
l->set_use_markup (true);
|
||||
|
|
@ -1043,7 +1044,7 @@ public:
|
|||
t->attach (_discover_vst_on_start, 0, 2, n, n+1); ++n;
|
||||
_discover_vst_on_start.signal_toggled().connect (sigc::mem_fun (*this, &PluginOptions::discover_vst_on_start_toggled));
|
||||
Gtkmm2ext::UI::instance()->set_tip (_discover_vst_on_start,
|
||||
_("<b>When enabled</b> VST plugins are searched and tested on application start. When disabled they a Refresh will have to be tiggered manually"));
|
||||
_("<b>When enabled</b> new VST plugins are searched, tested and added to the cache index on application start. When disabled new plugins will only be available after triggering a 'Scan' manually"));
|
||||
|
||||
#ifdef WINDOWS_VST_SUPPORT
|
||||
t->attach (*manage (left_aligned_label (_("Windows VST Path:"))), 0, 1, n, n+1);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue