1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Fixes for FileBrowserComponent's handling of directory saving.

This commit is contained in:
jules 2012-12-23 14:25:04 +00:00
parent de61fee31c
commit 8015525e5c

View file

@ -157,10 +157,12 @@ File FileBrowserComponent::getSelectedFile (int index) const noexcept
bool FileBrowserComponent::currentFileIsValid() const
{
const File f (getSelectedFile (0));
if (isSaveMode())
return ! getSelectedFile (0).isDirectory();
else
return getSelectedFile (0).exists();
return (flags & canSelectDirectories) != 0 || ! f.isDirectory();
return f.exists();
}
File FileBrowserComponent::getHighlightedFile() const noexcept
@ -176,7 +178,8 @@ void FileBrowserComponent::deselectAllFiles()
//==============================================================================
bool FileBrowserComponent::isFileSuitable (const File& file) const
{
return (flags & canSelectFiles) != 0 && (fileFilter == nullptr || fileFilter->isFileSuitable (file));
return (flags & canSelectFiles) != 0
&& (fileFilter == nullptr || fileFilter->isFileSuitable (file));
}
bool FileBrowserComponent::isDirectorySuitable (const File&) const
@ -300,7 +303,9 @@ void FileBrowserComponent::setFileFilter (const FileFilter* const newFileFilter)
String FileBrowserComponent::getActionVerb() const
{
return isSaveMode() ? TRANS("Save") : TRANS("Open");
return isSaveMode() ? ((flags & canSelectDirectories) != 0 ? TRANS("Choose")
: TRANS("Save"))
: TRANS("Open");
}
void FileBrowserComponent::setFilenameBoxLabel (const String& name)
@ -396,7 +401,7 @@ bool FileBrowserComponent::keyPressed (const KeyPress& key)
{
(void) key;
#if JUCE_LINUX || JUCE_WINDOWS
#if JUCE_LINUX || JUCE_WINDOWS
if (key.getModifiers().isCommandDown()
&& (key.getKeyCode() == 'H' || key.getKeyCode() == 'h'))
{
@ -404,7 +409,7 @@ bool FileBrowserComponent::keyPressed (const KeyPress& key)
fileList->refresh();
return true;
}
#endif
#endif
return false;
}