void JDirInfo::SetWildcardFilter ( JRegex* filter, const JBoolean dirInfoOwnsRegex, const JBoolean negate ) { if (filter == NULL) { ClearWildcardFilter(); return; } if (itsOwnsNameRegexFlag) { delete itsNameRegex; } itsNameRegex = filter; assert( itsNameRegex != NULL ); itsOwnsNameRegexFlag = dirInfoOwnsRegex; itsInvertNameRegexFlag = negate; ApplyFilters(kJTrue); Broadcast(SettingsChanged()); }
void JDirInfo::SetWildcardFilter ( const JCharacter* filterStr, const JBoolean negate, const JBoolean caseSensitive ) { itsInvertNameRegexFlag = negate; JString regexStr; if (!BuildRegexFromWildcardFilter(filterStr, ®exStr)) { ClearWildcardFilter(); } else if (itsNameRegex == NULL || regexStr != itsNameRegex->GetPattern()) { delete itsNameRegex; itsNameRegex = new JRegex(regexStr); assert( itsNameRegex != NULL ); itsNameRegex->SetCaseSensitive(caseSensitive); ApplyFilters(kJTrue); Broadcast(SettingsChanged()); } else if (itsNameRegex->IsCaseSensitive() != caseSensitive) { itsNameRegex->SetCaseSensitive(caseSensitive); ApplyFilters(kJTrue); Broadcast(SettingsChanged()); } }
void JDirInfo::SetWildcardFilter ( const JCharacter* filterStr, const JBoolean negate, const JBoolean caseSensitive ) { JString regexStr; if (!BuildRegexFromWildcardFilter(filterStr, ®exStr)) { ClearWildcardFilter(); return; } JRegex* r = new JRegex(regexStr); assert( r != NULL ); r->SetCaseSensitive(caseSensitive); SetWildcardFilter(r, kJTrue, negate); }