OpenShot Audio Library | OpenShotAudio
1.0.0
Toggle main menu visibility
Loading...
Searching...
No Matches
juce_WildcardFileFilter.cpp
1
/*
2
==============================================================================
3
4
This file is part of the JUCE library.
5
Copyright (c) 2022 - Raw Material Software Limited
6
7
JUCE is an open source library subject to commercial or open-source
8
licensing.
9
10
The code included in this file is provided under the terms of the ISC license
11
http://www.isc.org/downloads/software-support-policy/isc-license. Permission
12
To use, copy, modify, and/or distribute this software for any purpose with or
13
without fee is hereby granted provided that the above copyright notice and
14
this permission notice appear in all copies.
15
16
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
17
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
18
DISCLAIMED.
19
20
==============================================================================
21
*/
22
23
namespace
juce
24
{
25
26
static
void
parseWildcard (
const
String
& pattern,
StringArray
& result)
27
{
28
result.addTokens (pattern.toLowerCase(),
";,"
,
"\"'"
);
29
result.trim();
30
result.removeEmptyStrings();
31
32
// special case for *.*, because people use it to mean "any file", but it
33
// would actually ignore files with no extension.
34
for
(
auto
& r : result)
35
if
(r ==
"*.*"
)
36
r =
"*"
;
37
}
38
39
static
bool
matchWildcard (
const
File
& file,
const
StringArray
& wildcards)
40
{
41
auto
filename = file.getFileName();
42
43
for
(
auto
& w : wildcards)
44
if
(filename.matchesWildcard (w,
true
))
45
return
true
;
46
47
return
false
;
48
}
49
50
WildcardFileFilter::WildcardFileFilter
(
const
String
& fileWildcardPatterns,
51
const
String
& directoryWildcardPatterns,
52
const
String
& desc)
53
:
FileFilter
(desc.isEmpty() ? fileWildcardPatterns
54
: (desc +
" ("
+ fileWildcardPatterns +
")"
))
55
{
56
parseWildcard (fileWildcardPatterns, fileWildcards);
57
parseWildcard (directoryWildcardPatterns, directoryWildcards);
58
}
59
60
WildcardFileFilter::~WildcardFileFilter
()
61
{
62
}
63
64
bool
WildcardFileFilter::isFileSuitable
(
const
File
& file)
const
65
{
66
return
matchWildcard (file, fileWildcards);
67
}
68
69
bool
WildcardFileFilter::isDirectorySuitable
(
const
File
& file)
const
70
{
71
return
matchWildcard (file, directoryWildcards);
72
}
73
74
}
// namespace juce
juce::FileFilter::FileFilter
FileFilter(const String &filterDescription)
Definition
juce_FileFilter.cpp:26
juce::File
Definition
juce_File.h:45
juce::StringArray
Definition
juce_StringArray.h:35
juce::String
Definition
juce_String.h:53
juce::WildcardFileFilter::WildcardFileFilter
WildcardFileFilter(const String &fileWildcardPatterns, const String &directoryWildcardPatterns, const String &filterDescription)
Definition
juce_WildcardFileFilter.cpp:50
juce::WildcardFileFilter::isDirectorySuitable
bool isDirectorySuitable(const File &file) const override
Definition
juce_WildcardFileFilter.cpp:69
juce::WildcardFileFilter::~WildcardFileFilter
~WildcardFileFilter() override
Definition
juce_WildcardFileFilter.cpp:60
juce::WildcardFileFilter::isFileSuitable
bool isFileSuitable(const File &file) const override
Definition
juce_WildcardFileFilter.cpp:64
libopenshot-audio
JuceLibraryCode
modules
juce_core
files
juce_WildcardFileFilter.cpp
Generated by
1.18.0