From c596583e3bc4b25982423188f56323414eb7ea59 Mon Sep 17 00:00:00 2001 From: ed Date: Thu, 15 Mar 2018 16:42:26 +0000 Subject: [PATCH] Projucer: Fixed a bug where PIP files not copied locally wouldn't initially be displayed in the code editor --- extras/Projucer/Source/Application/jucer_MainWindow.cpp | 6 +++--- extras/Projucer/Source/Application/jucer_MainWindow.h | 2 +- extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.h | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/extras/Projucer/Source/Application/jucer_MainWindow.cpp b/extras/Projucer/Source/Application/jucer_MainWindow.cpp index 9ef3611d30..a86f8db413 100644 --- a/extras/Projucer/Source/Application/jucer_MainWindow.cpp +++ b/extras/Projucer/Source/Application/jucer_MainWindow.cpp @@ -291,7 +291,7 @@ bool MainWindow::tryToOpenPIP (const File& pipFile) if (! ProjucerApplication::getApp().mainWindowList.openFile (generator.getJucerFile())) return false; - openPIP (generator, pipFile.getFileName()); + openPIP (generator); return true; } @@ -361,7 +361,7 @@ static int findBestLineToScrollTo (StringArray lines, StringRef className) return 0; } -void MainWindow::openPIP (PIPGenerator& generator, StringRef fileName) +void MainWindow::openPIP (PIPGenerator& generator) { if (auto* window = ProjucerApplication::getApp().mainWindowList.getMainWindowForFile (generator.getJucerFile())) { @@ -378,7 +378,7 @@ void MainWindow::openPIP (PIPGenerator& generator, StringRef fileName) pcc->invokeDirectly (CommandIDs::buildNow, true); pcc->invokeDirectly (CommandIDs::toggleContinuousBuild, true); - auto fileToDisplay = project->getSourceFilesFolder().getChildFile (fileName); + auto fileToDisplay = generator.getPIPFile(); if (fileToDisplay != File()) { diff --git a/extras/Projucer/Source/Application/jucer_MainWindow.h b/extras/Projucer/Source/Application/jucer_MainWindow.h index 8675d99ee0..b939acde7b 100644 --- a/extras/Projucer/Source/Application/jucer_MainWindow.h +++ b/extras/Projucer/Source/Application/jucer_MainWindow.h @@ -85,7 +85,7 @@ private: void createProjectContentCompIfNeeded(); void setTitleBarIcon(); - void openPIP (PIPGenerator&, StringRef fileName); + void openPIP (PIPGenerator&); void valueChanged (Value&) override; diff --git a/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.h b/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.h index d85769efa4..083da2df42 100644 --- a/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.h +++ b/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.h @@ -37,6 +37,7 @@ public: //============================================================================== bool hasValidPIP() const noexcept { return ! metadata[Ids::name].toString().isEmpty(); } File getJucerFile() noexcept { return outputDirectory.getChildFile (metadata[Ids::name].toString() + ".jucer"); } + File getPIPFile() noexcept { return useLocalCopy ? outputDirectory.getChildFile ("Source").getChildFile (pipFile.getFileName()) : pipFile; } String getMainClassName() const noexcept { return metadata[Ids::mainClass]; }