add forced invoke scan for clearing cache dir, add forced rescan on pause
This commit is contained in:
@@ -70,8 +70,9 @@ public class PeriodicFileScanner : IDisposable
|
||||
_scanCancellationTokenSource?.Cancel();
|
||||
}
|
||||
|
||||
public void InvokeScan()
|
||||
public void InvokeScan(bool forced = false)
|
||||
{
|
||||
bool isForced = forced;
|
||||
_scanCancellationTokenSource?.Cancel();
|
||||
_scanCancellationTokenSource = new CancellationTokenSource();
|
||||
var token = _scanCancellationTokenSource.Token;
|
||||
@@ -80,8 +81,9 @@ public class PeriodicFileScanner : IDisposable
|
||||
while (!token.IsCancellationRequested)
|
||||
{
|
||||
RecalculateFileCacheSize();
|
||||
if (!_pluginConfiguration.FileScanPaused)
|
||||
if (!_pluginConfiguration.FileScanPaused || isForced)
|
||||
{
|
||||
isForced = false;
|
||||
await PeriodicFileScan(token);
|
||||
}
|
||||
_timeUntilNextScan = TimeSpan.FromSeconds(timeBetweenScans);
|
||||
|
||||
@@ -226,7 +226,7 @@ namespace MareSynchronos.UI
|
||||
|
||||
if (ImGui.Button("Start Scan##startScan"))
|
||||
{
|
||||
_fileCacheManager.InvokeScan();
|
||||
_fileCacheManager.InvokeScan(true);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -159,6 +159,11 @@ namespace MareSynchronos.UI
|
||||
else if (_pluginConfiguration.FileScanPaused)
|
||||
{
|
||||
ImGui.Text("File scanner is paused");
|
||||
ImGui.SameLine();
|
||||
if (ImGui.Button("Force Rescan##forcedrescan"))
|
||||
{
|
||||
_cacheScanner.InvokeScan(true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -512,7 +517,7 @@ namespace MareSynchronos.UI
|
||||
|
||||
public void RecalculateFileCacheSize()
|
||||
{
|
||||
_cacheScanner.InvokeScan();
|
||||
_cacheScanner.InvokeScan(true);
|
||||
}
|
||||
|
||||
public void DrawParallelScansSetting()
|
||||
|
||||
Reference in New Issue
Block a user