From 9d120bf4818776fc625eb867e192f1920b62dfac Mon Sep 17 00:00:00 2001 From: jules Date: Sat, 8 Jun 2019 09:18:15 +0100 Subject: [PATCH] Modified PluginListComponent so that if all paths to scan are deleted, it reverts to the default set of paths for the given format (otherwise there was no way to make it reset to default) --- .../scanning/juce_PluginListComponent.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp b/modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp index 2b68ea5330..6df273ba15 100644 --- a/modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp +++ b/modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp @@ -328,14 +328,23 @@ void PluginListComponent::filesDropped (const StringArray& files, int, int) FileSearchPath PluginListComponent::getLastSearchPath (PropertiesFile& properties, AudioPluginFormat& format) { - return FileSearchPath (properties.getValue ("lastPluginScanPath_" + format.getName(), - format.getDefaultLocationsToSearch().toString())); + auto key = "lastPluginScanPath_" + format.getName(); + + if (properties.containsKey (key) && properties.getValue (key, {}).trim().isEmpty()) + properties.removeValue (key); + + return FileSearchPath (properties.getValue (key, format.getDefaultLocationsToSearch().toString())); } void PluginListComponent::setLastSearchPath (PropertiesFile& properties, AudioPluginFormat& format, const FileSearchPath& newPath) { - properties.setValue ("lastPluginScanPath_" + format.getName(), newPath.toString()); + auto key = "lastPluginScanPath_" + format.getName(); + + if (newPath.getNumPaths() == 0) + properties.removeValue (key); + else + properties.setValue (key, newPath.toString()); } //==============================================================================