InSkipCollection and MakeHiddenIfAllItemsAreHidden
This commit is contained in:
@ -80,13 +80,15 @@ public class MappingFromFilter : Properties.IMappingFromFilter
|
||||
public bool? IsFocusModel { init; get; }
|
||||
public bool? IsFocusRelativePath { init; get; }
|
||||
public bool? IsIgnoreRelativePath { init; get; }
|
||||
public bool? InSkipCollection { init; get; }
|
||||
|
||||
[JsonConstructor]
|
||||
public MappingFromFilter(bool? isFocusModel, bool? isFocusRelativePath, bool? isIgnoreRelativePath)
|
||||
public MappingFromFilter(bool? isFocusModel, bool? isFocusRelativePath, bool? isIgnoreRelativePath, bool? inSkipCollection)
|
||||
{
|
||||
IsFocusModel = isFocusModel;
|
||||
IsFocusRelativePath = isFocusRelativePath;
|
||||
IsIgnoreRelativePath = isIgnoreRelativePath;
|
||||
InSkipCollection = inSkipCollection;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
|
@ -19,6 +19,7 @@ public interface IMappingFromFilter
|
||||
public bool? IsFocusModel { init; get; }
|
||||
public bool? IsFocusRelativePath { init; get; }
|
||||
public bool? IsIgnoreRelativePath { init; get; }
|
||||
public bool? InSkipCollection { init; get; }
|
||||
|
||||
}
|
||||
|
||||
|
@ -18,6 +18,11 @@ public interface IPath
|
||||
static void ChangeDateForEmptyDirectories(string rootDirectory, long ticks) =>
|
||||
XPath.ChangeDateForEmptyDirectories(rootDirectory, ticks);
|
||||
|
||||
void TestStatic_MakeHiddenIfAllItemsAreHidden(string rootDirectory) =>
|
||||
MakeHiddenIfAllItemsAreHidden(rootDirectory);
|
||||
static void MakeHiddenIfAllItemsAreHidden(string rootDirectory) =>
|
||||
XPath.MakeHiddenIfAllItemsAreHidden(rootDirectory);
|
||||
|
||||
void TestStatic_DeleteEmptyDirectories(string rootDirectory, List<string> deletedDirectories) =>
|
||||
DeleteEmptyDirectories(rootDirectory, deletedDirectories);
|
||||
static void DeleteEmptyDirectories(string rootDirectory, List<string> deletedDirectories) =>
|
||||
|
@ -190,4 +190,46 @@ internal abstract class XPath
|
||||
}
|
||||
}
|
||||
|
||||
internal static void MakeHiddenIfAllItemsAreHidden(string rootDirectory)
|
||||
{
|
||||
bool check;
|
||||
FileInfo fileInfo;
|
||||
IEnumerable<string> files;
|
||||
DirectoryInfo directoryInfo;
|
||||
IEnumerable<string> subDirectories;
|
||||
string[] directories = Directory.GetDirectories(rootDirectory, "*", SearchOption.AllDirectories);
|
||||
foreach (string directory in directories)
|
||||
{
|
||||
directoryInfo = new(directory);
|
||||
if (directoryInfo.Attributes.HasFlag(FileAttributes.Hidden))
|
||||
continue;
|
||||
check = true;
|
||||
subDirectories = Directory.EnumerateDirectories(directory, "*", SearchOption.TopDirectoryOnly);
|
||||
foreach (string subDirectory in subDirectories)
|
||||
{
|
||||
directoryInfo = new(subDirectory);
|
||||
if (!directoryInfo.Attributes.HasFlag(FileAttributes.Hidden))
|
||||
{
|
||||
check = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!check)
|
||||
continue;
|
||||
files = Directory.EnumerateFiles(directory, "*", SearchOption.TopDirectoryOnly);
|
||||
foreach (string file in files)
|
||||
{
|
||||
fileInfo = new(file);
|
||||
if (!fileInfo.Attributes.HasFlag(FileAttributes.Hidden))
|
||||
{
|
||||
check = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!check)
|
||||
continue;
|
||||
directoryInfo.Attributes |= FileAttributes.Hidden;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user