Select last mod at start of launcher. Don't run download action elevated.
This commit is contained in:
@@ -101,7 +101,7 @@ namespace OpenRA.Launcher
|
||||
string[] args = e.Argument as string[];
|
||||
string url = args[0];
|
||||
string dest = args[1];
|
||||
var p = UtilityProgram.CallWithAdmin("--download-url", url, dest);
|
||||
var p = UtilityProgram.Call("--download-url", url, dest);
|
||||
Regex r = new Regex(@"(\d{1,3})% (\d+)/(\d+) bytes");
|
||||
|
||||
NamedPipeClientStream pipe = new NamedPipeClientStream(".", "OpenRA.Utility", PipeDirection.In);
|
||||
|
||||
6
OpenRA.Launcher/Launcher.Designer.cs
generated
6
OpenRA.Launcher/Launcher.Designer.cs
generated
@@ -29,7 +29,6 @@
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("Mods", -2, -2);
|
||||
System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("Broken Mods");
|
||||
this.installButton = new System.Windows.Forms.Button();
|
||||
this.installModDialog = new System.Windows.Forms.OpenFileDialog();
|
||||
this.treeView = new System.Windows.Forms.TreeView();
|
||||
@@ -67,11 +66,8 @@
|
||||
treeNode1.Name = "ModsNode";
|
||||
treeNode1.SelectedImageIndex = -2;
|
||||
treeNode1.Text = "Mods";
|
||||
treeNode2.Name = "BrokenModsNode";
|
||||
treeNode2.Text = "Broken Mods";
|
||||
this.treeView.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
|
||||
treeNode1,
|
||||
treeNode2});
|
||||
treeNode1});
|
||||
this.treeView.ShowLines = false;
|
||||
this.treeView.Size = new System.Drawing.Size(160, 465);
|
||||
this.treeView.TabIndex = 3;
|
||||
|
||||
@@ -27,8 +27,6 @@ namespace OpenRA.Launcher
|
||||
|
||||
Util.UacShield(installButton);
|
||||
|
||||
//treeView.Nodes["ModsNode"].ImageIndex = 1;
|
||||
//treeView.Nodes["ModsNode"].SelectedImageIndex = 1;
|
||||
webBrowser.ObjectForScripting = new JSBridge();
|
||||
webBrowser.DocumentCompleted += (o, e) =>
|
||||
{
|
||||
@@ -40,12 +38,8 @@ namespace OpenRA.Launcher
|
||||
|
||||
Mod GetMetadata(string mod)
|
||||
{
|
||||
string responseString;
|
||||
using (var response = UtilityProgram.Call("-i", mod))
|
||||
{
|
||||
responseString = response.ReadToEnd();
|
||||
}
|
||||
|
||||
string responseString = UtilityProgram.CallSimpleResponse("-i", mod);
|
||||
|
||||
if (Util.IsError(ref responseString)) return null;
|
||||
string[] lines = responseString.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries);
|
||||
for (int i = 0; i < lines.Length; i++)
|
||||
@@ -89,11 +83,7 @@ namespace OpenRA.Launcher
|
||||
|
||||
void RefreshMods()
|
||||
{
|
||||
string responseString;
|
||||
using (var response = UtilityProgram.Call("--list-mods"))
|
||||
{
|
||||
responseString = response.ReadToEnd();
|
||||
}
|
||||
string responseString = UtilityProgram.CallSimpleResponse("--list-mods");
|
||||
|
||||
string[] mods;
|
||||
if (!Util.IsError(ref responseString))
|
||||
@@ -167,12 +157,23 @@ namespace OpenRA.Launcher
|
||||
missing.Nodes.Add(new TreeNode(allMods[s].Title)
|
||||
{ ForeColor = SystemColors.GrayText, Name = s });
|
||||
}
|
||||
|
||||
treeView.Nodes["BrokenModsNode"].Nodes.Add(unspecified);
|
||||
treeView.Nodes["BrokenModsNode"].Nodes.Add(missing);
|
||||
string brokenKey = "BrokenModsNode";
|
||||
if (treeView.Nodes[brokenKey] != null)
|
||||
treeView.Nodes.RemoveByKey(brokenKey);
|
||||
treeView.Nodes.Add(brokenKey, "Broken Mods");
|
||||
treeView.Nodes[brokenKey].Nodes.Add(unspecified);
|
||||
treeView.Nodes[brokenKey].Nodes.Add(missing);
|
||||
}
|
||||
treeView.Nodes["ModsNode"].ExpandAll();
|
||||
treeView.Invalidate();
|
||||
|
||||
string responseString = UtilityProgram.CallSimpleResponse("--settings-value",
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + Path.DirectorySeparatorChar + "OpenRA", "Game.Mods");
|
||||
|
||||
if (Util.IsError(ref responseString))
|
||||
treeView.SelectedNode = treeView.Nodes["ModsNode"].Nodes["ra"];
|
||||
else
|
||||
treeView.SelectedNode = treeView.Nodes["ModsNode"].Nodes[responseString];
|
||||
}
|
||||
|
||||
void treeView_AfterSelect(object sender, TreeViewEventArgs e)
|
||||
|
||||
@@ -66,7 +66,7 @@ namespace OpenRA.Launcher
|
||||
return arguments.ToString();
|
||||
}
|
||||
|
||||
public static StreamReader Call(string command, params string[] args)
|
||||
public static Process Call(string command, params string[] args)
|
||||
{
|
||||
Process p = new Process();
|
||||
p.StartInfo.FileName = "OpenRA.Utility.exe";
|
||||
@@ -76,9 +76,21 @@ namespace OpenRA.Launcher
|
||||
|
||||
p.Start();
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
public static string CallSimpleResponse(string command, params string[] args)
|
||||
{
|
||||
var p = Call(command, args);
|
||||
string responseString;
|
||||
NamedPipeClientStream pipe = new NamedPipeClientStream(".", "OpenRA.Utility", PipeDirection.In);
|
||||
pipe.Connect();
|
||||
return new StreamReader(pipe);
|
||||
using (var response = new StreamReader(pipe))
|
||||
{
|
||||
responseString = response.ReadToEnd();
|
||||
}
|
||||
|
||||
return responseString;
|
||||
}
|
||||
|
||||
public static Process CallWithAdmin(string command, params string[] args)
|
||||
|
||||
Reference in New Issue
Block a user