mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-02-02 03:20:06 +00:00
Projucer: The Projucer now adds a unique suffix to the target project folder of duplicate exporters and the 'selected exporter' drop-down now defaults to the first exporter that can launch the project if none were previously selected
This commit is contained in:
parent
41bc46fd0b
commit
1a266e822b
7 changed files with 124 additions and 8 deletions
|
|
@ -1413,8 +1413,11 @@ void Project::addNewExporter (const String& exporterName)
|
|||
{
|
||||
ScopedPointer<ProjectExporter> exp (ProjectExporter::createNewExporter (*this, exporterName));
|
||||
|
||||
ValueTree exporters (getExporters());
|
||||
exporters.addChild (exp->settings, -1, getUndoManagerFor (exporters));
|
||||
exp->getTargetLocationValue() = exp->getTargetLocationString()
|
||||
+ getUniqueTargetFolderSuffixForExporter (exp->getName(), exp->getTargetLocationString());
|
||||
|
||||
auto exportersTree = getExporters();
|
||||
exportersTree.addChild (exp->settings, -1, getUndoManagerFor (exportersTree));
|
||||
}
|
||||
|
||||
void Project::createExporterForCurrentPlatform()
|
||||
|
|
@ -1422,6 +1425,38 @@ void Project::createExporterForCurrentPlatform()
|
|||
addNewExporter (ProjectExporter::getCurrentPlatformExporterName());
|
||||
}
|
||||
|
||||
String Project::getUniqueTargetFolderSuffixForExporter (const String& exporterName, const String& base)
|
||||
{
|
||||
StringArray buildFolders;
|
||||
|
||||
auto exportersTree = getExporters();
|
||||
auto type = ProjectExporter::getValueTreeNameForExporter (exporterName);
|
||||
|
||||
for (int i = 0; i < exportersTree.getNumChildren(); ++i)
|
||||
{
|
||||
auto exporterNode = exportersTree.getChild (i);
|
||||
|
||||
if (exporterNode.getType() == Identifier (type))
|
||||
buildFolders.add (exporterNode.getProperty ("targetFolder").toString());
|
||||
}
|
||||
|
||||
if (buildFolders.size() == 0 || ! buildFolders.contains (base))
|
||||
return {};
|
||||
|
||||
buildFolders.remove (buildFolders.indexOf (base));
|
||||
|
||||
auto num = 1;
|
||||
for (auto f : buildFolders)
|
||||
{
|
||||
if (! f.endsWith ("_" + String (num)))
|
||||
break;
|
||||
|
||||
++num;
|
||||
}
|
||||
|
||||
return "_" + String (num);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
String Project::getFileTemplate (const String& templateName)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue