macOS Hotfix: Require staging directory (#31)

* macOS: Require staging directory

* Grammar
This commit is contained in:
Dagg 2022-11-09 14:36:26 -08:00 committed by GitHub
commit 47af7d6929
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,8 +1,9 @@
using System; using System;
using System.IO;
using Eto.Drawing; using Eto.Drawing;
using Eto.Forms; using Eto.Forms;
namespace LBPUnion.UnionPatcher.Gui.Forms; namespace LBPUnion.UnionPatcher.Gui.Forms;
public class ModeSelectionForm : Form { public class ModeSelectionForm : Form {
#region UI #region UI
@ -23,10 +24,27 @@ public class ModeSelectionForm : Form {
new TableCell(new Button(openFilePatcher) { Text = "File Patch (PS3/RPCS3)" }) new TableCell(new Button(openFilePatcher) { Text = "File Patch (PS3/RPCS3)" })
), ),
}, },
}; };
} }
private void openRemotePatcher(object sender, EventArgs e) { private void openRemotePatcher(object sender, EventArgs e)
{
if (OSUtil.GetPlatform() == OSPlatform.OSX)
{
Gui.CreateOkDialog("Workaround", "UnionPatcher RemotePatcher requires a staging folder on macOS, please set this to the directory of the UnionPatcher app!");
SelectFolderDialog dialog = new SelectFolderDialog();
if (dialog.ShowDialog(this) != DialogResult.Ok)
{
Gui.CreateOkDialog("Workaround", "User did not specify a staging folder, aborting!");
return;
}
Directory.SetCurrentDirectory(dialog.Directory);
if (!Directory.Exists("scetool"))
{
Gui.CreateOkDialog("Workaround", "Invalid folder, remember to set the folder to the directory of the UnionPatcher app!");
return;
}
}
RemotePatchForm rpForm = new RemotePatchForm(); RemotePatchForm rpForm = new RemotePatchForm();
rpForm.Show(); rpForm.Show();
rpForm.Closed += OnSubFormClose; rpForm.Closed += OnSubFormClose;