Remember last opened directory

pull/246/head
James H Ball 2024-06-11 20:16:15 +01:00 zatwierdzone przez James H Ball
rodzic be80a7e5e2
commit e99e86915f
3 zmienionych plików z 6 dodań i 3 usunięć

Wyświetl plik

@ -10,7 +10,7 @@ MainComponent::MainComponent(OscirenderAudioProcessor& p, OscirenderAudioProcess
fileButton.setButtonText("Choose File(s)");
fileButton.onClick = [this] {
chooser = std::make_unique<juce::FileChooser>("Open", juce::File::getSpecialLocation(juce::File::userHomeDirectory), "*.obj;*.svg;*.lua;*.txt;*.gpla;*.gif;*.png;*.jpg;*.jpeg");
chooser = std::make_unique<juce::FileChooser>("Open", audioProcessor.lastOpenedDirectory, "*.obj;*.svg;*.lua;*.txt;*.gpla;*.gif;*.png;*.jpg;*.jpeg");
auto flags = juce::FileBrowserComponent::openMode | juce::FileBrowserComponent::canSelectMultipleItems |
juce::FileBrowserComponent::canSelectFiles;
@ -19,7 +19,8 @@ MainComponent::MainComponent(OscirenderAudioProcessor& p, OscirenderAudioProcess
bool fileAdded = false;
for (auto& url : chooser.getURLResults()) {
if (url.isLocalFile()) {
auto file = url.getLocalFile();
juce::File file = url.getLocalFile();
audioProcessor.lastOpenedDirectory = file.getParentDirectory();
audioProcessor.addFile(file);
pluginEditor.addCodeEditor(audioProcessor.getCurrentFileIndex());
fileAdded = true;

Wyświetl plik

@ -476,7 +476,7 @@ void OscirenderAudioProcessorEditor::newProject() {
}
void OscirenderAudioProcessorEditor::openProject() {
chooser = std::make_unique<juce::FileChooser>("Load osci-render Project", juce::File::getSpecialLocation(juce::File::userHomeDirectory), "*.osci");
chooser = std::make_unique<juce::FileChooser>("Load osci-render Project", audioProcessor.lastOpenedDirectory, "*.osci");
auto flags = juce::FileBrowserComponent::openMode |
juce::FileBrowserComponent::canSelectFiles;
@ -488,6 +488,7 @@ void OscirenderAudioProcessorEditor::openProject() {
audioProcessor.setStateInformation(data.getData(), data.getSize());
}
audioProcessor.currentProjectFile = file.getFullPathName();
audioProcessor.lastOpenedDirectory = file.getParentDirectory();
updateTitle();
}
});

Wyświetl plik

@ -241,6 +241,7 @@ public:
// shouldn't be accessed by audio thread, but needs to persist when GUI is closed
// so should only be accessed by message thread
juce::String currentProjectFile;
juce::File lastOpenedDirectory = juce::File::getSpecialLocation(juce::File::userHomeDirectory);
juce::SpinLock fontLock;
juce::Font font = juce::Font(juce::Font::getDefaultSansSerifFontName(), 1.0f, juce::Font::plain);