Add copy URL button and add error handling on loading sokoban files
This commit is contained in:
13
NethackHelper/MainForm.Designer.cs
generated
13
NethackHelper/MainForm.Designer.cs
generated
@@ -102,6 +102,7 @@ namespace NethackHelper {
|
||||
this.fileToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.resetToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.toolTip1 = new ToolTip(this.components);
|
||||
this.copyOverlayURLToolStripMenuItem = new ToolStripMenuItem();
|
||||
extrinsicLabel = new Label();
|
||||
intrinsicLabel = new Label();
|
||||
label3 = new Label();
|
||||
@@ -1082,7 +1083,7 @@ namespace NethackHelper {
|
||||
//
|
||||
// fileToolStripMenuItem
|
||||
//
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { this.resetToolStripMenuItem });
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { this.resetToolStripMenuItem, this.copyOverlayURLToolStripMenuItem });
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new Size(37, 20);
|
||||
this.fileToolStripMenuItem.Text = "File";
|
||||
@@ -1090,9 +1091,16 @@ namespace NethackHelper {
|
||||
// resetToolStripMenuItem
|
||||
//
|
||||
this.resetToolStripMenuItem.Name = "resetToolStripMenuItem";
|
||||
this.resetToolStripMenuItem.Size = new Size(102, 22);
|
||||
this.resetToolStripMenuItem.Size = new Size(180, 22);
|
||||
this.resetToolStripMenuItem.Text = "Reset";
|
||||
//
|
||||
// copyOverlayURLToolStripMenuItem
|
||||
//
|
||||
this.copyOverlayURLToolStripMenuItem.Name = "copyOverlayURLToolStripMenuItem";
|
||||
this.copyOverlayURLToolStripMenuItem.Size = new Size(180, 22);
|
||||
this.copyOverlayURLToolStripMenuItem.Text = "Copy Overlay URL";
|
||||
this.copyOverlayURLToolStripMenuItem.Click += this.copyOverlayURLToolStripMenuItem_Click;
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
this.AutoScaleDimensions = new SizeF(7F, 15F);
|
||||
@@ -1205,5 +1213,6 @@ namespace NethackHelper {
|
||||
private PropertyBox waterWalkingBox;
|
||||
private PropertyBox lifeSavingBox;
|
||||
private PropertyBox flyingBox;
|
||||
private ToolStripMenuItem copyOverlayURLToolStripMenuItem;
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,7 @@ namespace NethackHelper {
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using YamlDotNet.Core;
|
||||
|
||||
public partial class MainForm : Form {
|
||||
private const int PORT = 5993;
|
||||
@@ -37,9 +38,19 @@ namespace NethackHelper {
|
||||
this.charismaSelector.ValueMember = "Modifier";
|
||||
|
||||
foreach (var filename in Directory.EnumerateFiles("sokoban", "*.yaml")) {
|
||||
var sokoban = new SokobanSolution(YamlOptions.DeserializeFile<SokobanFile>(filename));
|
||||
this.sokobans.Add(sokoban);
|
||||
this.sokobanLevelList.Items.Add(sokoban.Name);
|
||||
try {
|
||||
var sokoban = new SokobanSolution(YamlOptions.DeserializeFile<SokobanFile>(filename));
|
||||
this.sokobans.Add(sokoban);
|
||||
this.sokobanLevelList.Items.Add(sokoban.Name);
|
||||
} catch (YamlException err) {
|
||||
Console.Error.WriteLine("Error loading sokoban file {0}", filename);
|
||||
Console.Error.WriteLine(err.Message);
|
||||
Console.Error.WriteLine(err.StackTrace);
|
||||
} catch (SokobanError err) {
|
||||
Console.Error.WriteLine("Error loading sokoban file {0}", filename);
|
||||
Console.Error.WriteLine(err.Message);
|
||||
Console.Error.WriteLine(err.StackTrace);
|
||||
}
|
||||
}
|
||||
|
||||
var versions = YamlOptions.DeserializeFile<List<Version>>("items/versions.yaml");
|
||||
@@ -261,5 +272,9 @@ namespace NethackHelper {
|
||||
private void godAngryCheckbox_CheckedChanged(object sender, EventArgs e) {
|
||||
TrackerManager.Instance.Tracker.UpdateAngry(godAngryCheckbox.Checked);
|
||||
}
|
||||
|
||||
private void copyOverlayURLToolStripMenuItem_Click(object sender, EventArgs e) {
|
||||
Clipboard.SetText($"http://localhost:{PORT}/tracker.html");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user