mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-23 01:44:22 +00:00
Introjucer: made treeview remember its openness state.
This commit is contained in:
parent
e74219b736
commit
fad59e53d2
6 changed files with 72 additions and 42 deletions
|
|
@ -59,6 +59,8 @@ void ProjectContentComponent::setProject (Project* newProject)
|
|||
{
|
||||
if (project != newProject)
|
||||
{
|
||||
PropertiesFile& settings = StoredSettings::getInstance()->getProps();
|
||||
|
||||
if (project != nullptr)
|
||||
project->removeChangeListener (this);
|
||||
|
||||
|
|
@ -67,7 +69,7 @@ void ProjectContentComponent::setProject (Project* newProject)
|
|||
|
||||
if (projectTree != nullptr)
|
||||
{
|
||||
StoredSettings::getInstance()->getProps().setValue ("projectTreeviewWidth", projectTree->getWidth());
|
||||
settings.setValue ("projectTreeviewWidth", projectTree->getWidth());
|
||||
projectTree->deleteRootItem();
|
||||
projectTree = nullptr;
|
||||
}
|
||||
|
|
@ -86,7 +88,7 @@ void ProjectContentComponent::setProject (Project* newProject)
|
|||
projectTree->setRootItem (new GroupTreeViewItem (project->getMainGroup()));
|
||||
projectTree->getRootItem()->setOpen (true);
|
||||
|
||||
String lastTreeWidth (StoredSettings::getInstance()->getProps().getValue ("projectTreeviewWidth"));
|
||||
String lastTreeWidth (settings.getValue ("projectTreeviewWidth"));
|
||||
if (lastTreeWidth.getIntValue() < 150)
|
||||
lastTreeWidth = "250";
|
||||
|
||||
|
|
@ -103,10 +105,27 @@ void ProjectContentComponent::setProject (Project* newProject)
|
|||
invokeDirectly (CommandIDs::showProjectSettings, true);
|
||||
|
||||
updateMissingFileStatuses();
|
||||
|
||||
const ScopedPointer<XmlElement> treeOpenness (settings.getXmlValue ("treeViewState_" + project->getProjectUID()));
|
||||
|
||||
if (treeOpenness != nullptr)
|
||||
projectTree->restoreOpennessState (*treeOpenness, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ProjectContentComponent::saveTreeViewState()
|
||||
{
|
||||
if (projectTree != nullptr)
|
||||
{
|
||||
const ScopedPointer<XmlElement> opennessState (projectTree->getOpennessState (true));
|
||||
|
||||
if (opennessState != nullptr)
|
||||
StoredSettings::getInstance()->getProps()
|
||||
.setValue ("treeViewState_" + project->getProjectUID(), opennessState);
|
||||
}
|
||||
}
|
||||
|
||||
void ProjectContentComponent::changeListenerCallback (ChangeBroadcaster*)
|
||||
{
|
||||
updateMissingFileStatuses();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue