Polish up find/replace, other bits of polish

This commit is contained in:
Justin Aquadro 2013-11-01 00:48:44 -04:00
parent 14444dd1b5
commit 346adf297a
10 changed files with 480 additions and 122 deletions

View file

@ -183,10 +183,13 @@ namespace NBTExplorer.Controllers
public void CreateNode (TagType type) public void CreateNode (TagType type)
{ {
if (_nodeTree.SelectedNode == null) if (_nodeTree.Nodes == null || _nodeTree.Nodes.Count == 0)
return; return;
CreateNode(_nodeTree.SelectedNode, type); if (_nodeTree.SelectedNode == null)
CreateNode(_nodeTree.Nodes[0], type);
else
CreateNode(_nodeTree.SelectedNode, type);
} }
public void DeleteNode (TreeNode node) public void DeleteNode (TreeNode node)

View file

@ -86,6 +86,11 @@ namespace NBTExplorer.Controllers
get { return _nodeTree.SelectedNode; } get { return _nodeTree.SelectedNode; }
} }
private TreeNode SelectedOrRootNode
{
get { return _nodeTree.SelectedNode ?? (_nodeTree.Nodes.Count > 0 ? _nodeTree.Nodes[0] : null); }
}
private TreeNode CreateIntegralNode<T, K> (string typeName) private TreeNode CreateIntegralNode<T, K> (string typeName)
where K : TagNode where K : TagNode
where T : IntegralTagRule<K>, new() where T : IntegralTagRule<K>, new()
@ -346,7 +351,7 @@ namespace NBTExplorer.Controllers
public void CreateWildcardNode () public void CreateWildcardNode ()
{ {
CreateWildcardNode(SelectedNode); CreateWildcardNode(SelectedOrRootNode);
} }
public void CreateUnionNode (TreeNode node) public void CreateUnionNode (TreeNode node)
@ -365,7 +370,7 @@ namespace NBTExplorer.Controllers
public void CreateUnionNode () public void CreateUnionNode ()
{ {
CreateUnionNode(SelectedNode); CreateUnionNode(SelectedOrRootNode);
} }
public void CreateIntersectNode (TreeNode node) public void CreateIntersectNode (TreeNode node)
@ -384,15 +389,15 @@ namespace NBTExplorer.Controllers
public void CreateIntersectNode () public void CreateIntersectNode ()
{ {
CreateIntersectNode(SelectedNode); CreateIntersectNode(SelectedOrRootNode);
} }
public void CreateNode (TagType type) public void CreateNode (TagType type)
{ {
if (_nodeTree.SelectedNode == null) if (SelectedOrRootNode == null)
return; return;
CreateNode(_nodeTree.SelectedNode, type); CreateNode(SelectedOrRootNode, type);
} }
private TreeNode CreateNode (SearchRule rule) private TreeNode CreateNode (SearchRule rule)

View file

@ -37,14 +37,16 @@
// //
this.linkLabel1.AutoSize = true; this.linkLabel1.AutoSize = true;
this.linkLabel1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.linkLabel1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.linkLabel1.LinkArea = new System.Windows.Forms.LinkArea(0, 0); this.linkLabel1.LinkArea = new System.Windows.Forms.LinkArea(165, 31);
this.linkLabel1.Location = new System.Drawing.Point(96, 12); this.linkLabel1.Location = new System.Drawing.Point(96, 12);
this.linkLabel1.Name = "linkLabel1"; this.linkLabel1.Name = "linkLabel1";
this.linkLabel1.Size = new System.Drawing.Size(245, 120); this.linkLabel1.Size = new System.Drawing.Size(256, 133);
this.linkLabel1.TabIndex = 0; this.linkLabel1.TabIndex = 0;
this.linkLabel1.Text = "NBTExplorer\r\nCopyright ©2011-2012 Justin Aquadro\r\n\r\nNBTExplorer is based on NBTEd" + this.linkLabel1.TabStop = true;
this.linkLabel1.Text = "NBTExplorer\r\nCopyright ©2011-2013 Justin Aquadro\r\n\r\nNBTExplorer is based on NBTEd" +
"it by copyboy\r\nFugue icon set: p.yusukekamiyamane.com\r\n\r\nEmail: jaquadro@gmail.c" + "it by copyboy\r\nFugue icon set: p.yusukekamiyamane.com\r\n\r\nEmail: jaquadro@gmail.c" +
"om\r\nNBTExplorer Github Project Page"; "om\r\nNBTExplorer Github Project Page";
this.linkLabel1.UseCompatibleTextRendering = true;
this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked); this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
// //
// pictureBox1 // pictureBox1

View file

@ -11,7 +11,7 @@ namespace NBTExplorer.Windows
private void linkLabel1_LinkClicked (object sender, LinkLabelLinkClickedEventArgs e) private void linkLabel1_LinkClicked (object sender, LinkLabelLinkClickedEventArgs e)
{ {
System.Diagnostics.Process.Start("https://github.com/jaquadro/NBTExplorer");
} }
} }
} }

View file

@ -120,37 +120,47 @@
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAYAAAA8AXHiAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAYAAAA8AXHiAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAAZdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41Ljg3O4Bd wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuODc7gF0AAAj7SURBVHhe7dKx
AAAGm0lEQVR4Xu2dS3LbQAwFvcpZcoDcJtscRIfIfZ2wJLkklVzToPCGpN0Lr/gEgDONh5Gsz9vpdHrz DW25DQTQjVyLC3A3Tl3IL8L92vngBIsBiCeJNzgJgSEokX/9+fPn8zf99z///N/foew2LH5MRyTKbsPi
j63B3z8/38mf63l6E6pCYxGoFo1gCVapsQSLOfvSWKWF/e6dKFiCFWkYwRIswSqcHROTKLIBiUL3EFPH x3REouw2LH5MRyTKbsPix3REouw2LH5MRyTKbsPix3REouw2LH5MRyTKbsPix3REouw2LH5MRyTKbsPi
0rEiDSNYgiVYjkLeBVuPQx2L71Wks7cGIJVfsAQr0jCCJViC5RmLd0FqxNG4Ohbfq0hn0406mk6wBCvS x3REouw2LH5MRyTKbsPix3REouw2LH5MRyTKbsPix3REouw2LH5MRyTKbsPix3REouw2LH5MRyTKbsPi
MIIlWILlGYt3wdajU8fiexXp7K0BSOUXLMEqNwyB5vevH+/kLwX2Z3FJ7bNrKm/A7AJn5SObQ6BaNLNq x3REouw2LG6kA0n//tc//hb1n6RZk3KTWNxIy0g6IlH/SZo1KTeJxY20jKQjEvWfpFmTcpNY3EjLSDoi
vuYhtc+uSbAuh1yyOYLlKCw3jGBxaIj7lTeABD2iRrAEK9IMgiVYgvXw4idpitlTJLJJs2+iIx/ZHA/v Uf9JmjUpN4nFjbSMpCMS9Z+kWZNyk1jcSMtIOiJR/0maNSk3icWNtIykIxL1n6RZk3KTWNxIy0g6IlH/
3NUEy2eFEQYiQTscZHYMHYu7EdkbwfomjjV7jAuWYN39m4q4EdEIlmAJFumUtZqvfsZyFG70BjXBOr9z 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
</value> </value>
</data> </data>
</root> </root>

View file

@ -49,6 +49,7 @@
this._tbFindDouble = new System.Windows.Forms.ToolStripButton(); this._tbFindDouble = new System.Windows.Forms.ToolStripButton();
this._tbFindString = new System.Windows.Forms.ToolStripButton(); this._tbFindString = new System.Windows.Forms.ToolStripButton();
this.groupBox2 = new System.Windows.Forms.GroupBox(); this.groupBox2 = new System.Windows.Forms.GroupBox();
this._deleteTagsCheckbox = new System.Windows.Forms.CheckBox();
this.panel2 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel();
this.treeView2 = new System.Windows.Forms.TreeView(); this.treeView2 = new System.Windows.Forms.TreeView();
this.toolStrip2 = new System.Windows.Forms.ToolStrip(); this.toolStrip2 = new System.Windows.Forms.ToolStrip();
@ -70,37 +71,40 @@
this._buttonReplace = new System.Windows.Forms.Button(); this._buttonReplace = new System.Windows.Forms.Button();
this._buttonReplaceAll = new System.Windows.Forms.Button(); this._buttonReplaceAll = new System.Windows.Forms.Button();
this._buttonCancel = new System.Windows.Forms.Button(); this._buttonCancel = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this._explorerStrip = new System.Windows.Forms.ToolStrip(); this._explorerStrip = new System.Windows.Forms.ToolStrip();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.panel1.SuspendLayout(); this.panel1.SuspendLayout();
this.toolStrip1.SuspendLayout(); this.toolStrip1.SuspendLayout();
this.groupBox2.SuspendLayout(); this.groupBox2.SuspendLayout();
this.panel2.SuspendLayout(); this.panel2.SuspendLayout();
this.toolStrip2.SuspendLayout(); this.toolStrip2.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// groupBox1 // groupBox1
// //
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.groupBox1.Controls.Add(this.panel1); this.groupBox1.Controls.Add(this.panel1);
this.groupBox1.Location = new System.Drawing.Point(12, 46); this.groupBox1.Location = new System.Drawing.Point(3, 3);
this.groupBox1.Name = "groupBox1"; this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(450, 146); this.groupBox1.Size = new System.Drawing.Size(324, 211);
this.groupBox1.TabIndex = 0; this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false; this.groupBox1.TabStop = false;
this.groupBox1.Text = "Find"; this.groupBox1.Text = "Find";
// //
// panel1 // panel1
// //
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.panel1.Controls.Add(this.treeView1); this.panel1.Controls.Add(this.treeView1);
this.panel1.Controls.Add(this.toolStrip1); this.panel1.Controls.Add(this.toolStrip1);
this.panel1.Location = new System.Drawing.Point(6, 19); this.panel1.Location = new System.Drawing.Point(6, 19);
this.panel1.Name = "panel1"; this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(438, 155); this.panel1.Size = new System.Drawing.Size(312, 186);
this.panel1.TabIndex = 0; this.panel1.TabIndex = 0;
// //
// treeView1 // treeView1
@ -114,7 +118,7 @@
this.treeView1.SelectedImageIndex = 0; this.treeView1.SelectedImageIndex = 0;
this.treeView1.ShowPlusMinus = false; this.treeView1.ShowPlusMinus = false;
this.treeView1.ShowRootLines = false; this.treeView1.ShowRootLines = false;
this.treeView1.Size = new System.Drawing.Size(438, 130); this.treeView1.Size = new System.Drawing.Size(312, 161);
this.treeView1.TabIndex = 1; this.treeView1.TabIndex = 1;
// //
// imageList1 // imageList1
@ -162,7 +166,7 @@
this._tbFindString}); this._tbFindString});
this.toolStrip1.Location = new System.Drawing.Point(0, 0); this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1"; this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(438, 25); this.toolStrip1.Size = new System.Drawing.Size(312, 25);
this.toolStrip1.TabIndex = 0; this.toolStrip1.TabIndex = 0;
this.toolStrip1.Text = "toolStrip1"; this.toolStrip1.Text = "toolStrip1";
// //
@ -301,14 +305,26 @@
this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.groupBox2.Controls.Add(this._deleteTagsCheckbox);
this.groupBox2.Controls.Add(this.panel2); this.groupBox2.Controls.Add(this.panel2);
this.groupBox2.Location = new System.Drawing.Point(12, 198); this.groupBox2.Location = new System.Drawing.Point(333, 3);
this.groupBox2.Name = "groupBox2"; this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(450, 184); this.groupBox2.Size = new System.Drawing.Size(324, 211);
this.groupBox2.TabIndex = 1; this.groupBox2.TabIndex = 1;
this.groupBox2.TabStop = false; this.groupBox2.TabStop = false;
this.groupBox2.Text = "Replace"; this.groupBox2.Text = "Replace";
// //
// _deleteTagsCheckbox
//
this._deleteTagsCheckbox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this._deleteTagsCheckbox.AutoSize = true;
this._deleteTagsCheckbox.Location = new System.Drawing.Point(6, 188);
this._deleteTagsCheckbox.Name = "_deleteTagsCheckbox";
this._deleteTagsCheckbox.Size = new System.Drawing.Size(268, 17);
this._deleteTagsCheckbox.TabIndex = 1;
this._deleteTagsCheckbox.Text = "Delete matched tags before applying replacements.";
this._deleteTagsCheckbox.UseVisualStyleBackColor = true;
//
// panel2 // panel2
// //
this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@ -318,7 +334,7 @@
this.panel2.Controls.Add(this.toolStrip2); this.panel2.Controls.Add(this.toolStrip2);
this.panel2.Location = new System.Drawing.Point(6, 19); this.panel2.Location = new System.Drawing.Point(6, 19);
this.panel2.Name = "panel2"; this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(438, 159); this.panel2.Size = new System.Drawing.Size(312, 163);
this.panel2.TabIndex = 0; this.panel2.TabIndex = 0;
// //
// treeView2 // treeView2
@ -332,7 +348,7 @@
this.treeView2.SelectedImageIndex = 0; this.treeView2.SelectedImageIndex = 0;
this.treeView2.ShowPlusMinus = false; this.treeView2.ShowPlusMinus = false;
this.treeView2.ShowRootLines = false; this.treeView2.ShowRootLines = false;
this.treeView2.Size = new System.Drawing.Size(438, 134); this.treeView2.Size = new System.Drawing.Size(312, 138);
this.treeView2.TabIndex = 1; this.treeView2.TabIndex = 1;
// //
// toolStrip2 // toolStrip2
@ -355,7 +371,7 @@
this._tbReplaceCompound}); this._tbReplaceCompound});
this.toolStrip2.Location = new System.Drawing.Point(0, 0); this.toolStrip2.Location = new System.Drawing.Point(0, 0);
this.toolStrip2.Name = "toolStrip2"; this.toolStrip2.Name = "toolStrip2";
this.toolStrip2.Size = new System.Drawing.Size(438, 25); this.toolStrip2.Size = new System.Drawing.Size(312, 25);
this.toolStrip2.TabIndex = 0; this.toolStrip2.TabIndex = 0;
this.toolStrip2.Text = "toolStrip2"; this.toolStrip2.Text = "toolStrip2";
// //
@ -497,7 +513,7 @@
// _buttonFind // _buttonFind
// //
this._buttonFind.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this._buttonFind.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this._buttonFind.Location = new System.Drawing.Point(306, 388); this._buttonFind.Location = new System.Drawing.Point(516, 251);
this._buttonFind.Name = "_buttonFind"; this._buttonFind.Name = "_buttonFind";
this._buttonFind.Size = new System.Drawing.Size(75, 23); this._buttonFind.Size = new System.Drawing.Size(75, 23);
this._buttonFind.TabIndex = 2; this._buttonFind.TabIndex = 2;
@ -508,7 +524,7 @@
// _buttonReplace // _buttonReplace
// //
this._buttonReplace.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this._buttonReplace.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this._buttonReplace.Location = new System.Drawing.Point(387, 388); this._buttonReplace.Location = new System.Drawing.Point(597, 251);
this._buttonReplace.Name = "_buttonReplace"; this._buttonReplace.Name = "_buttonReplace";
this._buttonReplace.Size = new System.Drawing.Size(75, 23); this._buttonReplace.Size = new System.Drawing.Size(75, 23);
this._buttonReplace.TabIndex = 3; this._buttonReplace.TabIndex = 3;
@ -519,7 +535,7 @@
// _buttonReplaceAll // _buttonReplaceAll
// //
this._buttonReplaceAll.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this._buttonReplaceAll.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this._buttonReplaceAll.Location = new System.Drawing.Point(387, 417); this._buttonReplaceAll.Location = new System.Drawing.Point(597, 280);
this._buttonReplaceAll.Name = "_buttonReplaceAll"; this._buttonReplaceAll.Name = "_buttonReplaceAll";
this._buttonReplaceAll.Size = new System.Drawing.Size(75, 23); this._buttonReplaceAll.Size = new System.Drawing.Size(75, 23);
this._buttonReplaceAll.TabIndex = 4; this._buttonReplaceAll.TabIndex = 4;
@ -530,7 +546,7 @@
// _buttonCancel // _buttonCancel
// //
this._buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this._buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this._buttonCancel.Location = new System.Drawing.Point(12, 388); this._buttonCancel.Location = new System.Drawing.Point(12, 251);
this._buttonCancel.Name = "_buttonCancel"; this._buttonCancel.Name = "_buttonCancel";
this._buttonCancel.Size = new System.Drawing.Size(75, 23); this._buttonCancel.Size = new System.Drawing.Size(75, 23);
this._buttonCancel.TabIndex = 5; this._buttonCancel.TabIndex = 5;
@ -538,35 +554,45 @@
this._buttonCancel.UseVisualStyleBackColor = true; this._buttonCancel.UseVisualStyleBackColor = true;
this._buttonCancel.Click += new System.EventHandler(this._buttonCancel_Click); this._buttonCancel.Click += new System.EventHandler(this._buttonCancel_Click);
// //
// label1
//
this.label1.Location = new System.Drawing.Point(12, 420);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(358, 18);
this.label1.TabIndex = 6;
this.label1.Text = "Search Root: blahblahbnl/blf";
//
// _explorerStrip // _explorerStrip
// //
this._explorerStrip.Location = new System.Drawing.Point(0, 0); this._explorerStrip.Location = new System.Drawing.Point(0, 0);
this._explorerStrip.Name = "_explorerStrip"; this._explorerStrip.Name = "_explorerStrip";
this._explorerStrip.Size = new System.Drawing.Size(474, 25); this._explorerStrip.Size = new System.Drawing.Size(684, 25);
this._explorerStrip.TabIndex = 7; this._explorerStrip.TabIndex = 7;
this._explorerStrip.Text = "toolStrip3"; this._explorerStrip.Text = "toolStrip3";
// //
// tableLayoutPanel1
//
this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel1.ColumnCount = 2;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Controls.Add(this.groupBox1, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.groupBox2, 1, 0);
this.tableLayoutPanel1.Location = new System.Drawing.Point(12, 28);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 1;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(660, 217);
this.tableLayoutPanel1.TabIndex = 8;
//
// FindReplace // FindReplace
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(474, 451); this.ClientSize = new System.Drawing.Size(684, 314);
this.Controls.Add(this.tableLayoutPanel1);
this.Controls.Add(this._explorerStrip); this.Controls.Add(this._explorerStrip);
this.Controls.Add(this.label1);
this.Controls.Add(this._buttonCancel); this.Controls.Add(this._buttonCancel);
this.Controls.Add(this._buttonReplaceAll); this.Controls.Add(this._buttonReplaceAll);
this.Controls.Add(this._buttonReplace); this.Controls.Add(this._buttonReplace);
this.Controls.Add(this._buttonFind); this.Controls.Add(this._buttonFind);
this.Controls.Add(this.groupBox2); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Controls.Add(this.groupBox1); this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FindReplace"; this.Name = "FindReplace";
this.Text = "Find and Replace"; this.Text = "Find and Replace";
this.groupBox1.ResumeLayout(false); this.groupBox1.ResumeLayout(false);
@ -575,10 +601,12 @@
this.toolStrip1.ResumeLayout(false); this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout(); this.toolStrip1.PerformLayout();
this.groupBox2.ResumeLayout(false); this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.panel2.ResumeLayout(false); this.panel2.ResumeLayout(false);
this.panel2.PerformLayout(); this.panel2.PerformLayout();
this.toolStrip2.ResumeLayout(false); this.toolStrip2.ResumeLayout(false);
this.toolStrip2.PerformLayout(); this.toolStrip2.PerformLayout();
this.tableLayoutPanel1.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
@ -627,7 +655,8 @@
private System.Windows.Forms.ToolStripButton _tbFindGroupOr; private System.Windows.Forms.ToolStripButton _tbFindGroupOr;
private System.Windows.Forms.ToolStripButton _tbFindEdit; private System.Windows.Forms.ToolStripButton _tbFindEdit;
private System.Windows.Forms.ToolStripButton _tbReplaceEdit; private System.Windows.Forms.ToolStripButton _tbReplaceEdit;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ToolStrip _explorerStrip; private System.Windows.Forms.ToolStrip _explorerStrip;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.CheckBox _deleteTagsCheckbox;
} }
} }

View file

@ -33,10 +33,17 @@ namespace NBTExplorer.Windows
_mainSearchRoot = searchRoot; _mainSearchRoot = searchRoot;
_findController = new RuleTreeController(treeView1); _findController = new RuleTreeController(treeView1);
treeView1.NodeMouseDoubleClick += (s, e) => {
_findController.EditSelection();
};
//_findController.VirtualRootDisplay = "Find Rules"; //_findController.VirtualRootDisplay = "Find Rules";
_replaceController = new NodeTreeController(treeView2); _replaceController = new NodeTreeController(treeView2);
treeView2.NodeMouseDoubleClick += (s, e) => {
_replaceController.EditSelection();
};
_replaceController.VirtualRootDisplay = "Replacement Tags"; _replaceController.VirtualRootDisplay = "Replacement Tags";
_explorerStrip.Renderer = new ToolStripExplorerRenderer(); _explorerStrip.Renderer = new ToolStripExplorerRenderer();
@ -228,8 +235,6 @@ namespace NBTExplorer.Windows
worker.Cancel(); worker.Cancel();
_searchState = null; _searchState = null;
} }
t.Join();
} }
private void SearchNextNodeContinuous () private void SearchNextNodeContinuous ()
@ -248,8 +253,6 @@ namespace NBTExplorer.Windows
worker.Cancel(); worker.Cancel();
_searchState = null; _searchState = null;
} }
//t.Join();
} }
private void RunContinuousReplace () private void RunContinuousReplace ()
@ -260,8 +263,6 @@ namespace NBTExplorer.Windows
Invoke((Action)(() => { Invoke((Action)(() => {
Reset(); Reset();
})); }));
//while (worker.Continue()) ;
} }
private delegate void Action (); private delegate void Action ();
@ -328,8 +329,13 @@ namespace NBTExplorer.Windows
List<TagDataNode> matches = new List<TagDataNode>(); List<TagDataNode> matches = new List<TagDataNode>();
_findController.Root.Matches(node, matches); _findController.Root.Matches(node, matches);
List<string> replaceNames = new List<string>();
foreach (DataNode rnode in _replaceController.Root.Nodes)
replaceNames.Add(rnode.NodeName);
foreach (var replNode in matches) { foreach (var replNode in matches) {
replNode.DeleteNode(); if (_deleteTagsCheckbox.Checked || replaceNames.Contains(replNode.NodeName))
replNode.DeleteNode();
} }
foreach (TagDataNode tag in _replaceController.Root.Nodes) { foreach (TagDataNode tag in _replaceController.Root.Nodes) {

View file

@ -117,6 +117,9 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>235, 17</value> <value>235, 17</value>
</metadata> </metadata>
@ -125,7 +128,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABA ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABA
QgAAAk1TRnQBSQFMAgEBFAEAAagBAQGoAQEBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA QgAAAk1TRnQBSQFMAgEBFAEAAcABAQHAAQEBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABYAMAAQEBAAEYBgABSP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AOEAA/8D/AP6GPgD+QP6A/wMAAP9 AwABYAMAAQEBAAEYBgABSP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AOEAA/8D/AP6GPgD+QP6A/wMAAP9
A/oS+AP5A/0D/2kAA/4D+QPxAboBogGKAbYBhgFWAbYBhgFWAbYBhgFWAbYBhgFWAbYBhgFWAbYBhgFW A/oS+AP5A/0D/2kAA/4D+QPxAboBogGKAbYBhgFWAbYBhgFWAbYBhgFWAbYBhgFWAbYBhgFWAbYBhgFW
AbYBhgFWAbYBhgFWAbwBpAGNA/cMAAP8A/YD8wG8AcoBzQFVAZUBowFVAZUBowHQAdcB2QPzA/UD+wP/ AbYBhgFWAbYBhgFWAbwBpAGNA/cMAAP8A/YD8wG8AcoBzQFVAZUBowFVAZUBowHQAdcB2QPzA/UD+wP/
@ -443,48 +446,48 @@
<data name="_tbFindGroupAnd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="_tbFindGroupAnd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJOSURBVDhPzZHdT1JxHMbPqqsuwpdq5kVrqzbW9CZjddNN YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJOSURBVDhPzZHdT1JxHMbPqqsuwpdq5kVrqzbW9CZl66ab
Lb1oy7VeRlvq1pq12CpcYC8WWnMWaC/IS2PY1LQEYRBQuINhLDQko6xI0YOABxBBTTDqpovOQ6et/6B+ WnrRlmu9jLbUrTVrsVW4wF4ssOYs0F6Ul8awqWkJwiCgcAfDWGhIRlmRogcBDyCCmmDUTRedh05b/0H9
22fnu+d5PhsbxP/zyuodnJ1icg/zrSy7TJ7At0Iyfgj8nbEbDqv9fkywueLWUFXfMK0Kp74PpNI/fL2D ts/Od8/zfDY2iP/nlTU4OLvF5B7mW1V2mTyBb6Vk4hD4O2M3HFb7/Zhga+Wt4er+EVoVTn0fTKV/+PqG
S+7TLXQa4EaGDhts4fyROQcanTX+SNoQWcg6Q8ksOfxxycNvoDIK43wE4EaGDhts4eR+SelF697HrhkV lt2nW+g0wI0MHTbYwvkjcw5InbX+SNoQWcw6Q8ksOfJx2cNvpDIK40IE4EaGDhts4eR+SelF697HrlkV
UzqouYx9JpkdFMg+hS5IJxM9jq9fAG5k6LDBFg5cgnvezJ+IZmyfWYLz2aHSw/b0ne74xH1jyt38JOm4 Uzqo+Yx9NpkdEsg/hS7IphK9jq9fAG5k6LDBFg5cgnvezJ+MZmyfWYIL2eHSw/b0nZ745H1jyt38JOm4
rgm95fEtyzZfvL3ndbjZ6KFbRwIL3XAJrsBUSyW+uT6El01gks6Q23b3/2zTp1zXOuIWINOnXiGzjsUe rgm95fEtKzZfvKP3dbjZ6KFbRwOLPXAJrsBURyW+uT6EV0xgis6QO8oHfrbpU65rnXELkOtTr5BZx2MP
KknqhmqAkrx4N6eBS2w9o68eCy6aR6cXDfb3Ca3JG1NzDxrTInnIW6+NWQFuZPoRWnHveaARGDy0Ei6x lSR1QzVISV68m9fAJbaf0deMB5fMYzNLBvv7hNbkjam5B41pUXvI26CNWQFuZPpRWnHveUAKDB5aCZfY
5dTT8gc2v8bspbUyS+CmmgxKK4XuqSNi3+zVjqgd4EaGTvos0KSwT9+W9PnuwiWKq7oKSwS6ui4n1d5m duppxQObX2P20lq5JXBTTQZlVUL39BGxb+5qZ9QOcCNDJ3sWaFLYZ25L+n134RLF1d2FJQJdfbeT6miz
DbQ09fsbWw2UjndydEUkj44D3MjQYYPtjnM6IdzcX1lYfoW7vbZXJO70yB85g2rDm9lOkWLqJa8mtAJw BlqaBvzSVgOl450cWxW1RycAbmTosMF21zmdEG7uryysuMLdWdcnEnd52h85g2rDm7kukWL6Ja82tApw
I0OHDbZwcjLzVjOsX1NUsitv/6Xq/KPKuoLjmoaCY2ph0T7JWYAbGTpssIXDusQqhrVsUMywiWEDQx7D I0OHDbZwcjLz1jJsXFdUUp63/1JN/lFlfcFxTWPBMbWwaJ/kLMCNDB022MJhXWINw3o2KGbYwrCJIY9h
OpZ8ho0M6LDBFg7cf/oI4hdUL5OmJP/aGQAAAABJRU5ErkJggg== A0s+w2YGdNhgCwfuP30E8QtHOZOg6MLdcgAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="_tbFindGroupOr.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="_tbFindGroupOr.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAI+SURBVDhPzZHvaxJxHMePetaDKGjBehgRwoLoUbCI6AcS YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAI+SURBVDhPzZHvaxJxHMePetaDKGjBehgRwoLoUbCI6AcS
RQx00Vq/GO1B4CBi6UgZlTutnBs9qDFM3WXuQiUkdbM52+bSxmJxujlnK9MT7855Dm0PfdS9zYj+gvrC jVhp0Vq/GO1B4CBi6UgZK6dWzo0e1BimzsxdqISkbtecbXNpsViclnO2svPEu3OeQ9tDH3VvM6K/oL7w
i3vz/rxfj474f94NgyjrJkX7zQEx236fq+HbTZYd4O9OtGPb0H69S/eyik4tK2gtJeGFr/zN8/5H/pFD 4t68P+/XoyP+n3fNKMq6DaLj+qDInB3gavh2G8ou8HcnOrBtaL/ehTuMolPLClprSXgaKH/zvfmRv+8S
ZK7ocwmAjA43bLCFU5flPUuyC7cZwUSXMnRoK+0MV1LUVGW1y5Tx2gLVJEBGhxs22MKBS7R2ztlVZFpw 6Uv6XBIgo8MNG2zh1GV5z5Ls9E1aMJOlLBneyLgjlbRzurLcZc767aFqCiCjww0bbOHAJVo75x0qQ0Zw
TldSr0LVJB2urPVZ2BnSycfQAWR0uGGDDg5couW8LztE8+vUu+oycIa3vnSQa37r2zLz9I0YNdClabOr z1TSz8PVFBmprPRZ2VmDm4+jA8jocMMGHRy4REtbgBkm+VXn6+on4I5sfOkwrARtr8r0o5dizEiWZiye
ON+uX/UNujZm9I7ipNFZCg2MsXG4RLPcUxsLbH61TpQZ4AhWUue0ce+QW4zobLwPDLrFOXRm15/uMS1E 4sI5/XJgyLM2q3cVp0zuUnhwnE3AJZrlvtp4aP2rbbJMAxdVSZ/SJvzDXjGqs/MBMOQV59FZPH+6B6QQ
4RL7T3uyRopNj3g3P5vdYvQJLUaUD1YmDHQx0mfl/AC53o1vzP7uep9lF+ESB89O2q/qErzpdemD2sIF g0vsPu5jTE42M+pf/2jxirGHpBhV3v08aSSL0T4bFwTI9W5ibe531/uYWYRL7D055bisS/LmF6W3aisX
+u3C1K3h9fCd55lZra0QBMjocNOMcn50F9XxHFzikCImO6JcLPaYWUZjKQR7R/N+PcXPt/Ungg8pPgaQ 6ncI0zdGViO3nmTntPYCBZDR4aYZ44LozqsTObjEPkVcdkC5WOyxsLTGWqB6x/JBvZNfaO9PUvecfBwg
0eGmsRaC2B5uiwpw67+y5cxLxbFr6eJlHcveHSl8Mo5zC6rh70unVMk0QEanlm7YYAunLktvu8SepgNK o8NNYytQ2O5vjwlw67+y5cQzxaErmeJFHcveHi18ME1w71Uj35eOqVIZgIxOLd2wwRZOXZbeZokdTXuU
+VHlR8+JLpY9qeRqx6/nc60djBsgo8MNG2zhNFxim8SORrFPolmiSWKXxM4GuyX2SuCGDbZw4P7TRxA/ 8oPKd74jXSx79AxXO3w1n2vtoL0AGR1u2GALp+ESmyS2NIpdEs0STRLbJLY22C6xUwI3bLCFA/efPoL4
AdqiqapqVOQNAAAAAElFTkSuQmCC CcCwqZ4FAx1nAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="_tbFindAny.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="_tbFindAny.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIHSURBVDhPY6AZ2LWY2XnXYsa9ILxzMVM8VBg/2DKfQQLK YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIGSURBVDhPY6AZ2LWY2XnXYsa9ILxzMVM8VBg/2DKfQQLK
ZNg2j3Hf+9f939/c6/izbQHjLqgwihoUsHEOU8KmuYz7Ns1lXr5xNrMHiP373cz/T69k/kWIMS8HiYPU ZNg2j3Hf+9f931/ebv2zbQHjLqgwihoUsHEOU8KmuYz7Ns1lXr5xNrMHiP373cz/jy6m/UWIMS8HiYPU
QrUhwIaZjPu/v5r8//3D9u8HN+ieB/G/vej///JE9I91MxlXH1yjc/7t+YbvX551/QfJQbUhwOrJTAfu QrUhwIaZjPu/v5r8//3D9u8HN+ieB/G/vej///JE9I91MxlXH1yjc/7t+YbvX551/QfJQbUhwOrJTAfu
nwj/8fRK4v9Xt4r/71+lceH9w+b/t08GftoHZL+8WQB0TeJ/kBqQWqg2BFg+kcFqeT/jyj0rlG+e3Gbx nwj/8fRK4v9Xt4r/71+lceH9w+b/t08GftoHZL+8WfAfJAdSA1IL1YYAyycyWC3vZ1y5Z4XyzZPbLF48
4tGl1P8gfOd08P+HF5P/g8RAciA1ILVQbZhgYRezy4JupkOHN1l9uHbU4z8Ig9ggMZAcVBkmmN3KYD2n upT6H4TvnA7+//Bi8n+QGEgOpAakFqoNEyzsYnZZ0M106PAmqw/Xjnr8B2EQGyQGkoMqwwSzWxms57Qx
jXH1jpVGN09utn955bDLfxC+ccIfTB/bbP1yxxKtmyA1ILVQbQgwtZ7pyF1ggN066f3/+jGX/0snCV8+ rt6x0ujmyc32L68cdvkPwjdO+IPpY5utX+5YonUTpAakFqoNAabWMx25CwywWye9/18/5vJ/6SThyye3
ucX0871zYWA2SOzGCY//J476/ACphWpDgL4KpqN3Trv8P3HI7MeibqEr/ZWMG04cNvtx/3zgf5AcSAwk mH6+dy4MzAaJ3Tjh8f/EUZ8fILVQbQjQV8F09M5pl/8nDpn9WNQtdKW/knHDicNmP+6fD/wPkgOJgeRA
B1ID4kO1IUB7AUNKSw7jiZZcxvVAtjeIvrDf/u/TKz7/QeIwMSg7BaoNFVgZMkhBmQyVyYzHrh6x/3t3 akB8qDYEaC9gSGnJYTzRksu4Hsj2BtFn99v/fXrF5z9IHCYGZadAtaECK0MGKSiToTKZ8dilg/Z/7+63
v/3PyiTGU1BhFDXYAC8QKwKxup89Q0VdJscFELY3YUgEiQGxMhALADEjEGMFHEAsBsQgW7BhcSDmAmKc /1mZxHgKKoyiBhvgBWJFIFb3s2eoqMvkuADC9iYMiSAxIFYGYgEgZgRirIADiMWAGGQLNiwOxFxAjNMA
BpAIGBgAf2IcXUMiPSkAAAAASUVORK5CYII= EgEDAwA7NBxCd851BwAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="_tbFindByte.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="_tbFindByte.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -583,6 +586,9 @@
<metadata name="toolStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="toolStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>122, 17</value> <value>122, 17</value>
</metadata> </metadata>
<metadata name="toolStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>122, 17</value>
</metadata>
<data name="_tbReplaceEdit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="_tbReplaceEdit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@ -733,16 +739,313 @@
<data name="_tbReplaceCompound.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="_tbReplaceCompound.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFzSURBVDhPrdFPRINxHMfx7+M3OnaMDl06dU7XKUYlpUMl YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFzSURBVDhPrdE/SAJhHMbx33FCY2PQ0NLUHK1SIFRE0VAR
k/5RRjqkGE22dailSKyU0Q6tjU0ztjFbWbLoz3To1mG2qChZKaJDfu0zv+fneW7P1MPbw+/3eT2Xh/7l Ev2DQoiGKBCSUBvKKIhAoxByyE5QEkEF0cIIAwtpaGsQDSroDxYFQUO8+ch7L3fbSR18OXjf53PL0b88
yTrJlJ002U4n2Lqa00x5bdo7bGEEJzoZrWu+crQcvh2v8XLGU81na9OlnmODLYzgROlx1nnn7clpPxBa WSeZstMm29mUvKnmNFNBm/YOWxjOiU7HG1qvHG1HbycbrJLx1PLbOnSp59hgC8M5UXpS7r719uW0Hwgt
6JAF5sy6D2ALIzhRasw0WwzOlJ7iLq6WcPfJoo4ueY6whRGcKDnCtsvXoR9eCHO1Qtguy+9Ny3OELYzg dYmCC2bdB7CF4ZwoNWGaLylz5ce4i6kl3AOiqKNHnCNsYTgnSo7Jvpd86IcVw0ytGLaLCvuz4hxhC8M5
RHEr2/2+9fPPi21ZxjMoi7t6dXfYwghOFLMy39eNj7/ntmSAYbul+g7Ot+vusIURnCgyzPwflzv8Nbsh Udwq733fBNhn3ifKeIZFcVe/7g5bGM6JYlbZ/3XtZ++5HRFg2G6pvZXFTt0dtjCcE0VG5cDH5S57zW6J
A9a+tWELIzhRaIgdlM82+XN61VDYwghOFBhQgi+VX/SYXDYUtjCCE/n7lchDws3vY0uGwhZGcCJvt5Iq gLVvbdjCcE4UGpEPK+fb7Cm9bihsYTgnCg5JynP1Fz0kVw2FLQznRIFBKXKfcLO72IqhsIXhnMjbK6XK
RR28eLRoKGxhBKemqVZlf8WinNcSDCw+UF+poVJjjcHA/uUh+gUO+918FI/WkQAAAABJRU5ErkJggg== UQcrHS8bClsYzqllpl06WLNIF/UEA4sPNFZrqtZcZzCwf3mIfgHu4t1w+i+rTAAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<metadata name="_explorerStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="_explorerStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>345, 17</value> <value>345, 17</value>
</metadata> </metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA
IABoBAAAHkAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAABjRbAAY0WwsGNFvIBTNa/wo5Yf8jXo3/KGSU/yZhkf8NPmf/BTNa/wY0W+AGNFscBjRbAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAABTNaAAUzWgsFM1rIBDJZ/wk4YP8iXYz/KGSU/yZhkf8NPmf/BTNa/wY0
W+AGNFscBjRbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzVdAAc1XQsHNV3IBjRc/ws6Yv8jXo3/KGSU/yZh
kf8NPmf/BTNa/wY0W+AGNFscBjRbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIFiGACBYhgsgWIbIH1iG/yFa
iP8mYpL/KGSU/yZhkf8NPmf/BTNa/wY0W+AGNFscBjRbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKGSUAChk
lAsoZJTIKGSU/yhklP8oZJT/KGSU/yZhkf8NPmf/BTNa/wY0W+AGNFscBjRbAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAKGSUAChklAsoZJTIKGSU/yhklP8oZJT/KGSU/yZhkf8NPmf/BTNa/wY0W+AGNFscBjRbAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAKGSUAChklAsoZJTIKGSU/yhklP8oZJT/KGSU/yZhkf8NPmf/BTNa/wY0
W+AGNFscBjRbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAChk
lAAoZJQAKGSUAChklAAoZJQAKGSUAAAAAAAAAAAAKGSUAChklAsoZJTIKGSU/yhklP8oZJT/KGSU/yZh
kf8NPmf/BTNa/wY0W+AGNFscBjRbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAChklAAoZJQGKGSUCihklAkoZJQCKGSUAAAAAAAAAAAAJmKRACZikQsmYpHIJmKR/yZi
kv8nY5P/KGSU/yZhkf8NPmf/BTNa/wY0W+AGNFscBjRbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
lAAoZJQAKGSUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAKGSUAChklAgoZJSuKGSU4CNejeAjXo30I16N/yRejf8nYpL/KGSU/yNe
jf8KOWH/BTNa/wY0W/QGNFtOBjRbHgY0WxoGNFsDBjRbAAY0WwoGNFuxBjRb4AY0W8QGNFsYBjRbAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKGSUAChklAEoZJQXKGSUHgo5YR4KOWGxCThg/wo7
Y/8gWoj/KGSU/yNejf8KOWH/BTNa/wY0W/0GNFvmBjRb4AY0W8UGNFsYBjRbAAY0WwEGNFsYBjRbHgY0
WxoGNFsDBjRbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEURuABFEbgARRG4AEURuAAUz
WgAFM1mkBDFY/wY0W/8gWYf/KGWV/yNejf8JOGD/BDJZ/wUzWv8FM1r/BjRb/wY0W+EGNFsYBjRbAAY0
WwAGNFsABjRbAAY0WwAGNFsABjRbAAY0WwAGNFsABjRbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABjRbAAY0
WwIGNFsqBjRbNgY0WzYKOmK5DD1m/w0/aP8bU4D/IFqI/x1Wg/8PQGr/DD1m/ww9Zv8HNl3/BTNa/wY0
W+YGNFtMBjRbNgY0WzMGNFsLBjRbAAY0WwYGNFswBjRbNgY0WyoGNFsCBjRbAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAABjRbAAY0WwkGNFu9BjRb9AY0W/QbUX77JmKS/yRfjv8NP2j/BjRb/ws6Yv8hXIv/JmGR/yRf
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
AAAAAAAAAAAAAAAAAAAAAAAAKGSUAChklBMoZJSRKGSUpChklH4oZJQGKGSUAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKGSUAChklAAoZJQAKGSUACdjkx4nY5PgJ2OT/ydj
k/MnY5M2J2OTAAAAAAAAAAAAAAAAAAAAAAAAAAAAKGSUAChklAAoZJQAKGSUAChklAAoZJQAKGSUAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKGSUAChk
lB4oZJTgKGSU/yhklPMoZJQ2KGSUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAKGSUAChklB4oZJTgKGSU/yhklPMoZJQ2KGSUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAKGSUAChklB4oZJTgKGSU/yhklPMoZJQ2KGSUAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
AADmBwAA/nMAAP53AAD/fwAA/38AAA==
</value>
</data>
</root> </root>

View file

@ -23,25 +23,25 @@ namespace NBTExplorer.Windows
public override void InvokeDiscoverCallback (DataNode node) public override void InvokeDiscoverCallback (DataNode node)
{ {
if (_sender != null && DiscoverCallback != null) if (_sender != null && DiscoverCallback != null)
_sender.BeginInvoke(DiscoverCallback, new object[] { node }); _sender.Invoke(DiscoverCallback, new object[] { node });
} }
public override void InvokeProgressCallback (DataNode node) public override void InvokeProgressCallback (DataNode node)
{ {
if (_sender != null && ProgressCallback != null) if (_sender != null && ProgressCallback != null)
_sender.BeginInvoke(ProgressCallback, new object[] { node }); _sender.Invoke(ProgressCallback, new object[] { node });
} }
public override void InvokeCollapseCallback (DataNode node) public override void InvokeCollapseCallback (DataNode node)
{ {
if (_sender != null && CollapseCallback != null) if (_sender != null && CollapseCallback != null)
_sender.BeginInvoke(CollapseCallback, new object[] { node }); _sender.Invoke(CollapseCallback, new object[] { node });
} }
public override void InvokeEndCallback (DataNode node) public override void InvokeEndCallback (DataNode node)
{ {
if (_sender != null && EndCallback != null) if (_sender != null && EndCallback != null)
_sender.BeginInvoke(EndCallback, new object[] { node }); _sender.Invoke(EndCallback, new object[] { node });
} }
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 99 KiB