aboutsummaryrefslogtreecommitdiff
path: root/TimeHACK.Engine/DesktopController.cs
diff options
context:
space:
mode:
Diffstat (limited to 'TimeHACK.Engine/DesktopController.cs')
-rw-r--r--TimeHACK.Engine/DesktopController.cs40
1 files changed, 25 insertions, 15 deletions
diff --git a/TimeHACK.Engine/DesktopController.cs b/TimeHACK.Engine/DesktopController.cs
index f507ab8..6928b5b 100644
--- a/TimeHACK.Engine/DesktopController.cs
+++ b/TimeHACK.Engine/DesktopController.cs
@@ -14,47 +14,57 @@ namespace TimeHACK.Engine
public static string ReadDataFile(string reqDirectory, bool returnYesIfProtected = false)
{
string Val = "";
- string directoryFileInfo;
- directoryFileInfo = File.ReadAllText(Path.Combine(reqDirectory, "_data.info"));
+ string directoryFileInfo = File.ReadAllText(Path.Combine(reqDirectory, "_data.info"));
FileSystemFolderInfo toRead = new FileSystemFolderInfo();
toRead = JsonConvert.DeserializeObject<FileSystemFolderInfo>(directoryFileInfo);
if (returnYesIfProtected == true)
{
- if (toRead.Isprotected == true)
+ if (toRead.IsProtected == true)
{
return "yes";
}
}
else
{
- return toRead.label;
+ return toRead.Label;
}
return Val;
}
- public static void RefreshDesktopIcons(ListViewItem[] baseIcons, ref ListView theView, string theDirectory)
+ public static void RefreshDesktopIcons(ListViewItem[] baseIcons, ref ListView view, string folder)
{
- theView.Items.Clear(); // This resets it to it's default
- theView.Items.AddRange(baseIcons);
+ view.Items.Clear(); // This resets it to it's default
+ view.Items.AddRange(baseIcons);
- foreach (string dir in Directory.GetDirectories(theDirectory))
+ foreach (string dir in Directory.GetDirectories(folder))
{
string label = ReadDataFile(dir);
- theView.Items.Add(label ?? Path.GetFileName(dir), 1);
- theView.FindItemWithText(Path.GetFileName(dir)).Tag = dir;
+ view.Items.Add(label ?? Path.GetFileName(dir), 1);
+ view.FindItemWithText(Path.GetFileName(dir)).Tag = dir;
}
- foreach (string dir in Directory.GetFiles(theDirectory))
+ foreach (string dir in Directory.GetFiles(folder))
{
if (Path.GetFileName(dir) != "_data.info")
{
- int appIcon = 12;
+ THFileInfo file = new THFileInfo();
+ FileSystemFolderInfo fsfi = JsonConvert.DeserializeObject<FileSystemFolderInfo>(File.ReadAllText(Path.Combine(folder, "_data.info")));
+ foreach (THFileInfo f in fsfi.Files)
+ {
+ if (f.Name.ToLower() == Path.GetFileName(dir).ToLower())
+ {
+ file = f; break;
+ }
+ }
- if (new FileInfo(dir).Extension == ".exe") appIcon = 8;
+ if (new FileInfo(dir).Extension == ".exe" && file.FileIcon == 8) file.FileIcon = 10;
- theView.Items.Add(Path.GetFileName(dir), appIcon);
- theView.FindItemWithText(Path.GetFileName(dir)).Tag = dir;
+ view.Items.Add(Path.GetFileName(dir), file.FileIcon);
+ view.FindItemWithText(Path.GetFileName(dir)).Tag = dir;
+ string toWrite = JsonConvert.SerializeObject(fsfi, Formatting.Indented);
+
+ File.WriteAllText(Path.Combine(folder, "_data.info"), toWrite);
}
}
}