Revert "small refactor"

This reverts commit 6da7d0cc00.
This commit is contained in:
pointfeev 2021-10-24 20:33:37 -04:00
parent 6da7d0cc00
commit 0cbc98f6a7
No known key found for this signature in database
GPG key ID: AA14DC36C4D7D13C
3 changed files with 63 additions and 17 deletions

View file

@ -4,11 +4,14 @@ namespace CreamInstaller
{ {
public class CustomMessageException : Exception public class CustomMessageException : Exception
{ {
public CustomMessageException(string message) => this.message = message;
private string message; private string message;
public override string Message => message ?? "CustomMessageException"; public override string Message => message ?? "CustomMessageException";
public override string ToString() => Message; public override string ToString() => Message;
public CustomMessageException(string message)
{
this.message = message;
}
} }
} }

View file

@ -41,18 +41,34 @@ namespace CreamInstaller
public static bool IsProgramRunningDialog(Form form, ProgramSelection selection) public static bool IsProgramRunningDialog(Form form, ProgramSelection selection)
{ {
if (selection.IsProgramRunning) if (selection.IsProgramRunning)
if (new DialogForm(form).Show(ApplicationName, SystemIcons.Error, $"ERROR: {selection.ProgramName} is currently running!" + {
$"\n\nPlease close the program/game to continue . . . ", "Retry", "Cancel") == DialogResult.OK) if (new DialogForm(form).Show(ApplicationName, SystemIcons.Error,
$"ERROR: {selection.ProgramName} is currently running!" +
"\n\nPlease close the program/game to continue . . . ",
"Retry", "Cancel") == DialogResult.OK)
{
return IsProgramRunningDialog(form, selection); return IsProgramRunningDialog(form, selection);
else return true; }
else return false; }
else
{
return true;
}
return false;
} }
public static bool IsFilePathLocked(this string filePath) public static bool IsFilePathLocked(this string filePath)
{ {
try { File.Open(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None).Close(); } bool Locked = false;
catch (IOException) { return true; } try
return false; {
File.Open(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None).Close();
}
catch (IOException)
{
Locked = true;
}
return Locked;
} }
public static SelectForm SelectForm; public static SelectForm SelectForm;
@ -71,16 +87,25 @@ namespace CreamInstaller
{ {
Canceled = cancel; Canceled = cancel;
if (OutputArchive != null || CancellationTokenSource != null || OutputTask != null || OutputFile != null) if (OutputArchive != null || CancellationTokenSource != null || OutputTask != null || OutputFile != null)
{
InstallForm?.UpdateUser("Cleaning up . . . ", LogColor.Cleanup); InstallForm?.UpdateUser("Cleaning up . . . ", LogColor.Cleanup);
}
if (OutputArchive != null) if (OutputArchive != null)
{ {
OutputArchive.Dispose(); OutputArchive.Dispose();
OutputArchive = null; OutputArchive = null;
} }
if (CancellationTokenSource != null) CancellationTokenSource.Cancel(); if (CancellationTokenSource != null)
{
CancellationTokenSource.Cancel();
}
if (OutputTask != null) if (OutputTask != null)
{ {
try { OutputTask.Wait(); } catch (AggregateException) { } try
{
OutputTask.Wait();
}
catch (AggregateException) { }
OutputTask.Dispose(); OutputTask.Dispose();
OutputTask = null; OutputTask = null;
} }
@ -91,8 +116,14 @@ namespace CreamInstaller
} }
if (OutputFile != null && File.Exists(OutputFile)) if (OutputFile != null && File.Exists(OutputFile))
{ {
try { File.Delete(OutputFile); } try
catch { InstallForm?.UpdateUser($"WARNING: Failed to clean up downloaded archive: {OutputFile}", LogColor.Warning); } {
File.Delete(OutputFile);
}
catch
{
InstallForm?.UpdateUser($"WARNING: Failed to clean up downloaded archive: {OutputFile}", LogColor.Warning);
}
OutputFile = null; OutputFile = null;
} }
if (logout && MegaApiClient != null && MegaApiClient.IsLoggedIn) if (logout && MegaApiClient != null && MegaApiClient.IsLoggedIn)
@ -102,6 +133,9 @@ namespace CreamInstaller
} }
} }
private static void OnApplicationExit(object s, EventArgs e) => Cleanup(); private static void OnApplicationExit(object s, EventArgs e)
{
Cleanup();
}
} }
} }

View file

@ -19,14 +19,23 @@ namespace CreamInstaller
foreach (string directory in SteamApiDllDirectories) foreach (string directory in SteamApiDllDirectories)
{ {
string file = directory + "\\steam_api64.dll"; string file = directory + "\\steam_api64.dll";
if (file.IsFilePathLocked()) return true; if (file.IsFilePathLocked())
{
return true;
}
} }
return false; return false;
} }
} }
public ProgramSelection() => Program.ProgramSelections.Add(this); public ProgramSelection()
{
Program.ProgramSelections.Add(this);
}
public void Toggle(bool Enabled) => this.Enabled = Enabled; public void Toggle(bool Enabled)
{
this.Enabled = Enabled;
}
} }
} }