Browse Source

Projucer: Show document save state in the titlebar

v6.1.6
reuk 3 years ago
parent
commit
60f76da091
No known key found for this signature in database GPG Key ID: FCB43929F012EE5C
2 changed files with 21 additions and 4 deletions
  1. +18
    -3
      extras/Projucer/Source/Application/jucer_MainWindow.cpp
  2. +3
    -1
      extras/Projucer/Source/Application/jucer_MainWindow.h

+ 18
- 3
extras/Projucer/Source/Application/jucer_MainWindow.cpp View File

@@ -39,9 +39,9 @@ class BlurOverlayWithComponent : public Component,
{
public:
BlurOverlayWithComponent (MainWindow& window, std::unique_ptr<Component> comp)
: ComponentMovementWatcher (&window),
mainWindow (window),
componentToShow (std::move (comp))
: ComponentMovementWatcher (&window),
mainWindow (window),
componentToShow (std::move (comp))
{
kernel.createGaussianBlur (1.25f);
@@ -326,6 +326,11 @@ void MainWindow::setProject (std::unique_ptr<Project> newProject)
getProjectContentComponent()->setProject (currentProject.get());
}
if (currentProject != nullptr)
currentProject->addChangeListener (this);
changeListenerCallback (currentProject.get());
projectNameValue.referTo (currentProject != nullptr ? currentProject->getProjectValue (Ids::name) : Value());
initialiseProjectWindow();
@@ -707,6 +712,16 @@ void MainWindow::valueChanged (Value& value)
: "Projucer");
}
void MainWindow::changeListenerCallback (ChangeBroadcaster* source)
{
auto* project = getProject();
if (source == project)
if (auto* peer = getPeer())
peer->setHasChangedSinceSaved (project != nullptr ? project->hasChangedSinceSaved()
: false);
}
//==============================================================================
MainWindowList::MainWindowList()
{


+ 3
- 1
extras/Projucer/Source/Application/jucer_MainWindow.h View File

@@ -39,7 +39,8 @@ class MainWindow : public DocumentWindow,
public ApplicationCommandTarget,
public FileDragAndDropTarget,
public DragAndDropContainer,
private Value::Listener
private Value::Listener,
private ChangeListener
{
public:
//==============================================================================
@@ -87,6 +88,7 @@ public:
StringArray& files, bool& canMoveFiles) override;
private:
void valueChanged (Value&) override;
void changeListenerCallback (ChangeBroadcaster* source) override;
static const char* getProjectWindowPosName() { return "projectWindowPos"; }
void createProjectContentCompIfNeeded();


Loading…
Cancel
Save