From d82c34c542077d451de794534d0cf1ea0efda6fd Mon Sep 17 00:00:00 2001 From: PNWParksFan Date: Wed, 21 Feb 2018 00:34:49 -0800 Subject: [PATCH] Fixed order of code in Program.cs causing exception from creating windows form before SetCompatibleTextRenderingDefault, changed dialog boxes a bit and cleaned up validation code in SelectFolderForm --- Program.cs | 15 ++++++++------- SelectFolderForm.cs | 10 +++------- Utils/GTAFolder.cs | 2 +- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/Program.cs b/Program.cs index 1d1b43e..18497a7 100644 --- a/Program.cs +++ b/Program.cs @@ -14,12 +14,6 @@ namespace CodeWalker [STAThread] static void Main(string[] args) { - // Always check the GTA folder first thing - if(!GTAFolder.UpdateGTAFolder(Properties.Settings.Default.RememberGTAFolder)) - { - MessageBox.Show("Could not load CodeWalker because no GTA 5 folder was selected. CodeWalker will now exit.", "GTA 5 Folder Not Found", MessageBoxButtons.OK, MessageBoxIcon.Stop); - return; - } bool menumode = false; bool explorermode = false; @@ -42,11 +36,18 @@ namespace CodeWalker Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); + + // Always check the GTA folder first thing + if (!GTAFolder.UpdateGTAFolder(Properties.Settings.Default.RememberGTAFolder)) + { + MessageBox.Show("Could not load CodeWalker because no GTA 5 folder was selected. CodeWalker will now exit.", "GTA 5 Folder Not Found", MessageBoxButtons.OK, MessageBoxIcon.Stop); + return; + } #if !DEBUG try { #endif - if (menumode) + if (menumode) { Application.Run(new MenuForm()); } diff --git a/SelectFolderForm.cs b/SelectFolderForm.cs index fe8c0a6..e013bfa 100644 --- a/SelectFolderForm.cs +++ b/SelectFolderForm.cs @@ -51,16 +51,12 @@ namespace CodeWalker private void OkButton_Click(object sender, EventArgs e) { - if (!Directory.Exists(SelectedFolder)) + if(!GTAFolder.ValidateGTAFolder(SelectedFolder, out string failReason)) { - MessageBox.Show("The folder \"" + SelectedFolder + "\" does not exist, or cannot be accessed. Please select another."); - return; - } - if (!File.Exists(SelectedFolder + "\\gta5.exe")) - { - MessageBox.Show("GTA5.exe not found in folder:\n" + SelectedFolder); + MessageBox.Show("The selected folder could not be used:\n\n" + failReason, "Invalid GTA Folder", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } + Result = DialogResult.OK; Close(); } diff --git a/Utils/GTAFolder.cs b/Utils/GTAFolder.cs index e649310..2f30515 100644 --- a/Utils/GTAFolder.cs +++ b/Utils/GTAFolder.cs @@ -65,7 +65,7 @@ namespace CodeWalker return true; } else { - var tryAgain = MessageBox.Show($"Folder \"{folder}\" is not a valid GTA folder:\n\n{failReason}\n\nDo you want to try choosing a different folder?", "Unable to set GTA Folder", MessageBoxButtons.RetryCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); + var tryAgain = MessageBox.Show($"Folder \"{folder}\" is not a valid GTA folder:\n\n{failReason}\n\nDo you want to try choosing a different folder?", "Unable to set GTA Folder", MessageBoxButtons.RetryCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if(tryAgain == DialogResult.Retry) { return UpdateGTAFolder(false);