Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 53 additions & 77 deletions EVEData/EveManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1886,94 +1886,32 @@ public void SetupIntelWatcher()
IntelDataList = new FixedQueue<IntelData>();
IntelDataList.SetSizeLimit(250);

IntelFilters = new List<string>();

string intelFileFilter = Path.Combine(SaveDataRootFolder, "IntelChannels.txt");

if (File.Exists(intelFileFilter))
{
StreamReader file = new StreamReader(intelFileFilter);
string line;
while ((line = file.ReadLine()) != null)
{
line = line.Trim();
if (!string.IsNullOrEmpty(line))
{
IntelFilters.Add(line);
}
}
}
else
IntelFilters = InitFromFileOrDefault(SaveDataRootFolder, "IntelChannels.txt", static (data) =>
{
IntelFilters.Add("Int");
}

IntelClearFilters = new List<string>();
string intelClearFileFilter = Path.Combine(SaveDataRootFolder, "IntelClearFilters.txt");
// default
data.Add("Int");
});

if (File.Exists(intelClearFileFilter))
{
StreamReader file = new StreamReader(intelClearFileFilter);
string line;
while ((line = file.ReadLine()) != null)
{
line = line.Trim();
if (!string.IsNullOrEmpty(line))
{
IntelClearFilters.Add(line);
}
}
}
else
IntelClearFilters = InitFromFileOrDefault(SaveDataRootFolder, "IntelClearFilters.txt", static (data) =>
{
// default
IntelClearFilters.Add("Clr");
IntelClearFilters.Add("Clear");
}

IntelIgnoreFilters = new List<string>();
string intelIgnoreFileFilter = Path.Combine(SaveDataRootFolder, "IntelIgnoreFilters.txt");
data.Add("Clr");
data.Add("Clear");
});

if (File.Exists(intelIgnoreFileFilter))
{
StreamReader file = new StreamReader(intelIgnoreFileFilter);
string line;
while ((line = file.ReadLine()) != null)
{
line = line.Trim();
if (!string.IsNullOrEmpty(line))
{
IntelIgnoreFilters.Add(line);
}
}
}
else
IntelIgnoreFilters = InitFromFileOrDefault(SaveDataRootFolder, "IntelIgnoreFilters.txt", static (data) =>
{
// default
IntelIgnoreFilters.Add("Status");
}

IntelAlertFilters = new List<string>();
string intelAlertFileFilter = Path.Combine(SaveDataRootFolder, "IntelAlertFilters.txt");
data.Add("Status");
});

if (File.Exists(intelAlertFileFilter))
{
StreamReader file = new StreamReader(intelAlertFileFilter);
string line;
while ((line = file.ReadLine()) != null)
{
line = line.Trim();
if (!string.IsNullOrEmpty(line))
{
IntelAlertFilters.Add(line);
}
}
}
else
IntelAlertFilters = InitFromFileOrDefault(SaveDataRootFolder, "IntelAlertFilters.txt", static (data) =>
{
// default, alert on nothing
IntelAlertFilters.Add("");
}
data.Add("");
});


intelFileReadPos = new Dictionary<string, int>();

Expand All @@ -1995,6 +1933,44 @@ public void SetupIntelWatcher()
};
intelFileWatcher.Changed += IntelFileWatcher_Changed;
}


static List<string> InitFromFileOrDefault(string rootFolder, string fileName, Action<List<string>> defaultInit)
{
string filePath = Path.Combine(rootFolder, fileName);

var res = ReadByLineFileData(filePath);
if (res == null)
{
res = new List<string>();
defaultInit(res);
}

return res;
}

static List<string>? ReadByLineFileData(string filePath)
{
List<string> fileData = null;

if (File.Exists(filePath))
{
fileData = new List<string>();

StreamReader file = new StreamReader(filePath);
string line;
while ((line = file.ReadLine()) != null)
{
line = line.Trim();
if (!string.IsNullOrEmpty(line))
{
fileData.Add(line);
}
}
}

return fileData;
}
}

/// <summary>
Expand Down