From 4410ffc892879034803f33d75589a534bb68d1ed Mon Sep 17 00:00:00 2001 From: ed Date: Mon, 12 Feb 2018 14:26:53 +0000 Subject: [PATCH] Projucer: call ComponentPeer::setRepresentedFile() and ::setIcon() when loading a project --- .../Source/Application/jucer_MainWindow.cpp | 17 +++++++++++++++++ .../Source/Application/jucer_MainWindow.h | 1 + 2 files changed, 18 insertions(+) diff --git a/extras/Projucer/Source/Application/jucer_MainWindow.cpp b/extras/Projucer/Source/Application/jucer_MainWindow.cpp index 658b8f4454..343b7d49d9 100644 --- a/extras/Projucer/Source/Application/jucer_MainWindow.cpp +++ b/extras/Projucer/Source/Application/jucer_MainWindow.cpp @@ -103,12 +103,29 @@ void MainWindow::createProjectContentCompIfNeeded() } } +void MainWindow::setTitleBarIcon() +{ + if (auto* peer = getPeer()) + { + if (currentProject != nullptr) + { + peer->setRepresentedFile (currentProject->getFile()); + peer->setIcon (ImageCache::getFromMemory (BinaryData::juce_icon_png, BinaryData::juce_icon_pngSize)); + } + else + { + peer->setRepresentedFile ({}); + } + } +} + void MainWindow::makeVisible() { restoreWindowPosition(); setVisible (true); addToDesktop(); // (must add before restoring size so that fullscreen will work) restoreWindowPosition(); + setTitleBarIcon(); getContentComponent()->grabKeyboardFocus(); } diff --git a/extras/Projucer/Source/Application/jucer_MainWindow.h b/extras/Projucer/Source/Application/jucer_MainWindow.h index 5224fba33a..0993f8b5b0 100644 --- a/extras/Projucer/Source/Application/jucer_MainWindow.h +++ b/extras/Projucer/Source/Application/jucer_MainWindow.h @@ -80,6 +80,7 @@ private: static const char* getProjectWindowPosName() { return "projectWindowPos"; } void createProjectContentCompIfNeeded(); + void setTitleBarIcon(); void valueChanged (Value&) override;