diff --git a/extras/Projucer/Source/Application/jucer_MainWindow.cpp b/extras/Projucer/Source/Application/jucer_MainWindow.cpp index a86f8db413..394d3f5cfb 100644 --- a/extras/Projucer/Source/Application/jucer_MainWindow.cpp +++ b/extras/Projucer/Source/Application/jucer_MainWindow.cpp @@ -584,12 +584,12 @@ bool MainWindow::perform (const InvocationInfo& info) return true; } -void MainWindow::valueChanged (Value& v) +void MainWindow::valueChanged (Value&) { - if (v == Value()) - setName ("Projucer"); + if (currentProject != nullptr) + setName (currentProject->getProjectNameString() + " - Projucer"); else - setName (projectNameValue.toString() + " - Projucer"); + setName ("Projucer"); } //============================================================================== diff --git a/extras/Projucer/Source/Project/jucer_Project.cpp b/extras/Projucer/Source/Project/jucer_Project.cpp index d5f24dfd55..8f97c84cb3 100644 --- a/extras/Projucer/Source/Project/jucer_Project.cpp +++ b/extras/Projucer/Source/Project/jucer_Project.cpp @@ -82,8 +82,14 @@ const char* Project::projectFileExtension = ".jucer"; //============================================================================== void Project::setTitle (const String& newTitle) { - projectRoot.setProperty (Ids::name, newTitle, getUndoManager()); - getMainGroup().getNameValue() = newTitle; + projectNameValue = newTitle; + + updateTitle(); +} + +void Project::updateTitle() +{ + getMainGroup().getNameValue() = getProjectNameString(); bundleIdentifierValue.setDefault (getDefaultBundleIdentifierString()); pluginAAXIdentifierValue.setDefault (getDefaultAAXIdentifierString()); @@ -547,7 +553,7 @@ void Project::valueTreePropertyChanged (ValueTree& tree, const Identifier& prope } else if (property == Ids::name) { - setTitle (projectRoot [Ids::name]); + updateTitle(); } else if (property == Ids::defines) { diff --git a/extras/Projucer/Source/Project/jucer_Project.h b/extras/Projucer/Source/Project/jucer_Project.h index d5086a9ce6..c94be38d1d 100644 --- a/extras/Projucer/Source/Project/jucer_Project.h +++ b/extras/Projucer/Source/Project/jucer_Project.h @@ -389,6 +389,7 @@ private: void createAudioPluginPropertyEditors (PropertyListBuilder& props); //============================================================================== + void updateTitle(); void updateProjectSettings(); ValueTree getConfigurations() const; ValueTree getConfigNode();