diff --git a/Source/Core/Builder.csproj b/Source/Core/Builder.csproj index 2f6b6ca131990d22961ae75708559c690c3a1211..1c79295569d4a448c1f7db5526c62f0762e7f448 100644 --- a/Source/Core/Builder.csproj +++ b/Source/Core/Builder.csproj @@ -1044,6 +1044,10 @@ <Content Include="Resources\Model.png" /> <None Include="Resources\ModelDisabled.png" /> <Content Include="Resources\Model_selected.png" /> + <None Include="Resources\SearchPrev.png" /> + <None Include="Resources\SearchNext.png" /> + <None Include="Resources\SearchMatchCase.png" /> + <None Include="Resources\SearchMatch.png" /> <None Include="Resources\WordWrap.png" /> <None Include="Resources\ThingCategory.png" /> <None Include="Resources\ScreenshotActiveWindow.png" /> diff --git a/Source/Core/Controls/ScriptDocumentTab.cs b/Source/Core/Controls/ScriptDocumentTab.cs index c0c35abfd4751dfed752e8d68a5460835d401290..6bc727c284fe0dd090292f60c25828e8f59289b8 100644 --- a/Source/Core/Controls/ScriptDocumentTab.cs +++ b/Source/Core/Controls/ScriptDocumentTab.cs @@ -112,6 +112,7 @@ namespace CodeImp.DoomBuilder.Controls editor.OnOpenScriptBrowser += panel.OpenBrowseScript; editor.OnOpenFindAndReplace += panel.OpenFindAndReplace; editor.OnFindNext += panel.FindNext; + editor.OnFindPrevious += panel.FindPrevious; //mxd } // Disposer @@ -122,6 +123,7 @@ namespace CodeImp.DoomBuilder.Controls editor.OnOpenScriptBrowser -= panel.OpenBrowseScript; editor.OnOpenFindAndReplace -= panel.OpenFindAndReplace; editor.OnFindNext -= panel.FindNext; + editor.OnFindPrevious -= panel.FindPrevious; //mxd base.Dispose(disposing); } @@ -235,14 +237,20 @@ namespace CodeImp.DoomBuilder.Controls { editor.Paste(); } + + // Find next result (mxd) + public bool FindNext(FindReplaceOptions options) + { + return FindNext(options, false); + } // Find next result - public bool FindNext(FindReplaceOptions options) + public bool FindNext(FindReplaceOptions options, bool useselectionstart) { byte[] data = editor.GetText(); string text = Encoding.GetEncoding(config.CodePage).GetString(data); StringComparison mode = options.CaseSensitive ? StringComparison.CurrentCulture : StringComparison.CurrentCultureIgnoreCase; - int startpos = Math.Max(editor.SelectionStart, editor.SelectionEnd); + int startpos = (useselectionstart ? Math.Min(editor.SelectionStart, editor.SelectionEnd) : Math.Max(editor.SelectionStart, editor.SelectionEnd)); //mxd bool wrapped = false; while(true) @@ -288,6 +296,63 @@ namespace CodeImp.DoomBuilder.Controls } } } + + // Find previous result (mxd) + public bool FindPrevious(FindReplaceOptions options) + { + byte[] data = editor.GetText(); + string text = Encoding.GetEncoding(config.CodePage).GetString(data); + StringComparison mode = options.CaseSensitive ? StringComparison.CurrentCulture : StringComparison.CurrentCultureIgnoreCase; + int endpos = Math.Min(editor.SelectionStart, editor.SelectionEnd); + int initialendpos = endpos; + int searchlength = endpos; + bool wrapped = false; + + while(true) + { + int result = text.LastIndexOf(options.FindText, endpos, searchlength, mode); + if(result > -1) + { + // Check to see if it is the whole word + if(options.WholeWord) + { + // Veryfy that we have found a whole word + string foundword = editor.GetWordAt(result + 1); + if(foundword.Length != options.FindText.Length) + { + endpos = result - 1; + searchlength = endpos; + result = -1; + } + } + + // Still ok? + if(result > -1) + { + // Select the result + editor.SelectionStart = result; + editor.SelectionEnd = result + options.FindText.Length; + editor.EnsureLineVisible(editor.LineFromPosition(editor.SelectionEnd)); + return true; + } + } + else + { + // If we haven't tried from the end, try from the end now + if(!wrapped) + { + endpos = text.Length - 1; + searchlength = endpos - initialendpos; + wrapped = true; + } + else + { + // Can't find it + return false; + } + } + } + } // This replaces the selection with the given text public void ReplaceSelection(string replacement) diff --git a/Source/Core/Controls/ScriptEditorControl.cs b/Source/Core/Controls/ScriptEditorControl.cs index eb521eddfc821618911022a1fb48ef03c75117f7..900b319866786f09c3f41ec8ac38c2cb16a77216 100644 --- a/Source/Core/Controls/ScriptEditorControl.cs +++ b/Source/Core/Controls/ScriptEditorControl.cs @@ -58,11 +58,13 @@ namespace CodeImp.DoomBuilder.Controls public delegate void OpenScriptBrowserDelegate(); public delegate void OpenFindReplaceDelegate(); public delegate void FindNextDelegate(); + public delegate void FindPreviousDelegate(); //mxd public event ExplicitSaveTabDelegate OnExplicitSaveTab; public event OpenScriptBrowserDelegate OnOpenScriptBrowser; public event OpenFindReplaceDelegate OnOpenFindAndReplace; public event FindNextDelegate OnFindNext; + public event FindPreviousDelegate OnFindPrevious; //mxd #endregion @@ -784,10 +786,10 @@ namespace CodeImp.DoomBuilder.Controls e.Handled = true; } - // F2 for Keyword Help + // F2 for Find Previous (mxd) else if((e.KeyCode == Keys.F2) && (e.Modifiers == Keys.None)) { - LaunchKeywordHelp(); + if(OnFindPrevious != null) OnFindPrevious(); e.Handled = true; } diff --git a/Source/Core/Controls/ScriptEditorPanel.Designer.cs b/Source/Core/Controls/ScriptEditorPanel.Designer.cs index 4446d97a098090a2d692fd382fb33285444196d9..c296d654d8d953ef2d72c3e50e8bf7ff6ac2ef40 100644 --- a/Source/Core/Controls/ScriptEditorPanel.Designer.cs +++ b/Source/Core/Controls/ScriptEditorPanel.Designer.cs @@ -51,6 +51,12 @@ namespace CodeImp.DoomBuilder.Controls this.buttonclose = new System.Windows.Forms.ToolStripButton(); this.buttonkeywordhelp = new System.Windows.Forms.ToolStripButton(); this.buttonsearch = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); + this.searchbox = new System.Windows.Forms.ToolStripTextBox(); + this.searchprev = new System.Windows.Forms.ToolStripButton(); + this.searchnext = new System.Windows.Forms.ToolStripButton(); + this.searchmatchcase = new System.Windows.Forms.ToolStripButton(); + this.searchwholeword = new System.Windows.Forms.ToolStripButton(); this.openfile = new System.Windows.Forms.OpenFileDialog(); this.savefile = new System.Windows.Forms.SaveFileDialog(); this.splitter = new System.Windows.Forms.SplitContainer(); @@ -105,7 +111,13 @@ namespace CodeImp.DoomBuilder.Controls this.buttoncompile, this.buttonclose, this.buttonkeywordhelp, - this.buttonsearch}); + this.buttonsearch, + this.toolStripSeparator5, + this.searchbox, + this.searchprev, + this.searchnext, + this.searchmatchcase, + this.searchwholeword}); this.toolbar.Location = new System.Drawing.Point(0, 0); this.toolbar.Name = "toolbar"; this.toolbar.Size = new System.Drawing.Size(726, 25); @@ -295,6 +307,61 @@ namespace CodeImp.DoomBuilder.Controls this.buttonsearch.Text = "Open Find and Replace Window"; this.buttonsearch.Click += new System.EventHandler(this.buttonsearch_Click); // + // toolStripSeparator5 + // + this.toolStripSeparator5.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0); + this.toolStripSeparator5.Name = "toolStripSeparator5"; + this.toolStripSeparator5.Size = new System.Drawing.Size(6, 25); + // + // searchbox + // + this.searchbox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.searchbox.Name = "searchbox"; + this.searchbox.Size = new System.Drawing.Size(100, 25); + this.searchbox.TextChanged += new System.EventHandler(this.searchbox_TextChanged); + // + // searchprev + // + this.searchprev.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.searchprev.Image = global::CodeImp.DoomBuilder.Properties.Resources.SearchPrev; + this.searchprev.ImageTransparentColor = System.Drawing.Color.Magenta; + this.searchprev.Name = "searchprev"; + this.searchprev.Size = new System.Drawing.Size(23, 22); + this.searchprev.ToolTipText = "Previous Match"; + this.searchprev.Click += new System.EventHandler(this.searchprev_Click); + // + // searchnext + // + this.searchnext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.searchnext.Image = global::CodeImp.DoomBuilder.Properties.Resources.SearchNext; + this.searchnext.ImageTransparentColor = System.Drawing.Color.Magenta; + this.searchnext.Name = "searchnext"; + this.searchnext.Size = new System.Drawing.Size(23, 22); + this.searchnext.ToolTipText = "Next Match"; + this.searchnext.Click += new System.EventHandler(this.searchnext_Click); + // + // searchmatchcase + // + this.searchmatchcase.CheckOnClick = true; + this.searchmatchcase.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.searchmatchcase.Image = global::CodeImp.DoomBuilder.Properties.Resources.SearchMatchCase; + this.searchmatchcase.ImageTransparentColor = System.Drawing.Color.Magenta; + this.searchmatchcase.Name = "searchmatchcase"; + this.searchmatchcase.Size = new System.Drawing.Size(23, 22); + this.searchmatchcase.ToolTipText = "Match Case"; + this.searchmatchcase.Click += new System.EventHandler(this.searchbox_TextChanged); + // + // searchwholeword + // + this.searchwholeword.CheckOnClick = true; + this.searchwholeword.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.searchwholeword.Image = global::CodeImp.DoomBuilder.Properties.Resources.SearchMatch; + this.searchwholeword.ImageTransparentColor = System.Drawing.Color.Magenta; + this.searchwholeword.Name = "searchwholeword"; + this.searchwholeword.Size = new System.Drawing.Size(23, 22); + this.searchwholeword.ToolTipText = "Match Whole Word"; + this.searchwholeword.Click += new System.EventHandler(this.searchbox_TextChanged); + // // openfile // this.openfile.Title = "Open Script"; @@ -436,5 +503,11 @@ namespace CodeImp.DoomBuilder.Controls private System.Windows.Forms.ToolStripButton buttonsearch; private System.Windows.Forms.ToolStripSeparator toolStripSeparator4; private System.Windows.Forms.ToolStripDropDownButton buttonsnippets; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; + private System.Windows.Forms.ToolStripTextBox searchbox; + private System.Windows.Forms.ToolStripButton searchnext; + private System.Windows.Forms.ToolStripButton searchprev; + private System.Windows.Forms.ToolStripButton searchmatchcase; + private System.Windows.Forms.ToolStripButton searchwholeword; } } diff --git a/Source/Core/Controls/ScriptEditorPanel.cs b/Source/Core/Controls/ScriptEditorPanel.cs index 6919b4680eca64b30eb6c20e1063d974bb400eff..90aa4857ded6140c1c6862932b92738f07802b9c 100644 --- a/Source/Core/Controls/ScriptEditorPanel.cs +++ b/Source/Core/Controls/ScriptEditorPanel.cs @@ -18,6 +18,7 @@ using System; using System.Collections.Generic; +using System.Drawing; using System.Windows.Forms; using CodeImp.DoomBuilder.Windows; using CodeImp.DoomBuilder.Config; @@ -44,6 +45,10 @@ namespace CodeImp.DoomBuilder.Controls // Find/Replace private ScriptFindReplaceForm findreplaceform; private FindReplaceOptions findoptions; + + // Quick search bar settings (mxd) + private static bool matchwholeword; + private static bool matchcase; #endregion @@ -147,6 +152,11 @@ namespace CodeImp.DoomBuilder.Controls } if (tabs.SelectedIndex == -1) tabs.SelectedIndex = 0; } + + //mxd. Apply quick search settings + searchmatchcase.Checked = matchcase; + searchwholeword.Checked = matchwholeword; + searchbox_TextChanged(this, EventArgs.Empty); // If the map has remembered any compile errors, then show them ShowErrors(General.Map.Errors); @@ -202,6 +212,30 @@ namespace CodeImp.DoomBuilder.Controls General.MessageBeep(MessageBeepType.Default); } } + + // Find Previous + public void FindPrevious(FindReplaceOptions options) + { + // Save the options + findoptions = options; + FindPrevious(); + } + + // Find Previous with saved options (mxd) + public void FindPrevious() + { + if(!string.IsNullOrEmpty(findoptions.FindText) && (ActiveTab != null)) + { + if (!ActiveTab.FindPrevious(findoptions)) + { + General.MainWindow.DisplayStatus(StatusType.Warning, "Can't find any occurence of \"" + findoptions.FindText + "\"."); + } + } + else + { + General.MessageBeep(MessageBeepType.Default); + } + } // Replace if possible public void Replace(FindReplaceOptions options) @@ -595,6 +629,10 @@ namespace CodeImp.DoomBuilder.Controls // Called when the window that contains this panel closes public void OnClose() { + //mxd. Store quick search settings + matchcase = searchmatchcase.Checked; + matchwholeword = searchwholeword.Checked; + // Close the sub windows now if(findreplaceform != null) findreplaceform.Dispose(); } @@ -853,5 +891,38 @@ namespace CodeImp.DoomBuilder.Controls } #endregion + + #region ================== Quick Search (mxd) + + private FindReplaceOptions GetQuickSearchOptions() + { + return new FindReplaceOptions + { + CaseSensitive = searchmatchcase.Checked, + WholeWord = searchwholeword.Checked, + FindText = searchbox.Text + }; + } + + private void searchbox_TextChanged(object sender, EventArgs e) + { + bool success = ActiveTab.FindNext(GetQuickSearchOptions(), true); + searchbox.BackColor = ((success || searchbox.Text.Length == 0) ? SystemColors.Window : Color.MistyRose); + searchnext.Enabled = success; + searchprev.Enabled = success; + } + + private void searchnext_Click(object sender, EventArgs e) + { + ActiveTab.FindNext(GetQuickSearchOptions()); + } + + private void searchprev_Click(object sender, EventArgs e) + { + ActiveTab.FindPrevious(GetQuickSearchOptions()); + } + + #endregion + } } diff --git a/Source/Core/Controls/ScriptEditorPanel.resx b/Source/Core/Controls/ScriptEditorPanel.resx index 0ff8976c7e65e19b38a41ff0e2c8cac0a430133c..ac7358d9c7d7b409094f5164f3ecb904d1e77f1b 100644 --- a/Source/Core/Controls/ScriptEditorPanel.resx +++ b/Source/Core/Controls/ScriptEditorPanel.resx @@ -149,29 +149,29 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADI - BQAAAk1TRnQBSQFMAwEBAAE0AQABNAEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMA - ARADAAEBAQABIAYAARD/ACMAAc8B2AHyAf8BWgFyAbkB/wEjAT4BkwH/ARsBMQF3Af8BFAEqAW4B/wEU - AS4BgQH/AUkBXwGkAf8BzwHYAfIB/9wAAYEBlAHUAf8BLgFNAawB/wEcAUEBuAH/AQwBPAHQAf8BAwE5 - AeIB/wECATYB3AH/AQYBMwG9Af8BCQEqAZYB/wEKASUBgQH/AWcBeQGyAf/UAAGJAZ0B3AH/ATsBWgG7 - Af8BHAFMAd0B/wEJAUQB+gH/AQcBQQH5Af8BRwFyAfgB/wFHAXIB+AH/AQABOQHqAf8BAAE2AeQB/wEF - AS8BtgH/AQoBJQGBAf8BZwF5AbIB/8wAAc8B2AHyAf8BUAFrAcYB/wEuAVoB4wH/ARsBUgH9Af8BGwFS - Af0B/wFWAYEB/gH/A/4B/wP+Af8BWQGBAfoB/wEAAToB7gH/AQABNgHkAf8BBQEvAbYB/wEKASUBgQH/ - Ac8B2AHyAf/IAAGnAbYB5QH/AU0BcAHZAf8BLAFfAv8BLQFhAv8BLAFfAv8BZQGLAv8D/gH/A/4B/wFQ - AXkB+wH/AQIBPgH4Af8BAAE6Ae4B/wEAATYB5AH/AQkBKgGWAf8BSQFfAaQB/8gAAXABiQHVAf8BTAFz - Ae4B/wE+AW0C/wFBAW8C/wE+AW0C/wE5AWoC/wFpAY4C/wFgAYYC/wEbAVIB/QH/AQ0BSAH7Af8BAgE+ - AfgB/wEAATkB6gH/AQYBMwG9Af8BFAEuAYEB/8gAAYEBlAHRAf8BUAF5AfsB/wFSAYEC/wFWAYEB/gH/ - AVIBgQL/AWABhgL/A/4B/wP+Af8BPgFtAv8BGAFQAfsB/wEJAUQB+gH/AQABOwHzAf8BAgE2AdwB/wEU - ASoBbgH/yAABigGbAdQB/wFgAYYB+wH/AWUBiwL/AWkBjgL/AWUBiwL/AZcBsQL/A/4B/wP+Af8BeQGa - Av8BIQFXAf0B/wENAUgB+wH/AQIBPgH4Af8BAwE5AeIB/wEbATEBdwH/yAABiQGdAdwB/wF5AZYB8gH/ - AXkBmgL/AYEBnAL/AXkBmgL/AbEBxAL/A/4B/wP+Af8BogG4Af4B/wEoAVwB/gH/ARgBUAH7Af8BBwFB - AfkB/wEMATwB0AH/ASMBPgGTAf/IAAGnAbYB5QH/AY0BowHlAf8BhwGkAv8BjQGoAv8BhwGkAv8BxQHT - Af4B/wP+Af8D/gH/AbUBxwH+Af8BLAFfAv8BGwFSAf0B/wEJAUQB+gH/ARwBQQG4Af8BZAGAAboB/8gA - Ac8B2AHyAf8BlwGnAd0B/wGVAasB8QH/AZcBsQL/AY0BqAL/AakBvgL/A/4B/wP+Af8BgwGhAv8BLQFh - Av8BGwFSAf0B/wEcAUwB3QH/AS4BTQGsAf8BzwHYAfIB/8wAAbQBwgHsAf8BmwGqAd0B/wGVAasB8QH/ - AYcBpAL/AXkBmgL/AWUBiwL/AVIBgQL/AT4BbQL/AS0BYQL/AS4BWgHjAf8BOwFaAbsB/wF1AYwB1AH/ - 1AABtAHCAewB/wGXAacB3QH/AY0BowHlAf8BeQGWAfIB/wFgAYYB+wH/AVABeQH7Af8BTAFzAe4B/wFN - AXAB2QH/AVABawHGAf8BgQGVAdwB/9wAAcwB2AH+Af8BnQGtAeAB/wGJAZ0B3AH/AYoBmwHUAf8BgQGU - AdEB/wFwAYkB1QH/AYEBlAHRAf8BzAHYAf4B//8A0QABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEA + BQAAAk1TRnQBSQFMAwEBAAGEAQABhAEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMA + ARADAAEBAQABIAYAARD/ACMAAc8B2AHyAf8BUAFoAbkB/wEZATQBkwH/AREBJwFtAf8BCgEgAWQB/wEK + ASQBgQH/AT8BVQGkAf8BzwHYAfIB/9wAAYEBlAHUAf8BJAFDAawB/wESATcBuAH/AQIBMgHQAf8BAAEv + AeIB/wEAASwB3AH/AQABKQG9Af8BAAEgAZYB/wEAARsBgQH/AV0BbwGyAf/UAAGJAZ0B3AH/ATEBUAG7 + Af8BEgFCAd0B/wEAAToB+gH/AQABNwH5Af8BPQFoAfgB/wE9AWgB+AH/AQABLwHqAf8BAAEsAeQB/wEA + ASUBtgH/AQABGwGBAf8BXQFvAbIB/8wAAc8B2AHyAf8BRgFhAcYB/wEkAVAB4wH/AREBSAH9Af8BEQFI + Af0B/wFMAYEB/gH/A/4B/wP+Af8BTwGBAfoB/wEAATAB7gH/AQABLAHkAf8BAAElAbYB/wEAARsBgQH/ + Ac8B2AHyAf/IAAGnAbYB5QH/AUMBZgHZAf8BIgFVAv8BIwFXAv8BIgFVAv8BWwGLAv8D/gH/A/4B/wFG + AW8B+wH/AQABNAH4Af8BAAEwAe4B/wEAASwB5AH/AQABIAGWAf8BPwFVAaQB/8gAAWYBiQHVAf8BQgFp + Ae4B/wE0AWMC/wE3AWUC/wE0AWMC/wEvAWAC/wFfAY4C/wFWAYYC/wERAUgB/QH/AQMBPgH7Af8BAAE0 + AfgB/wEAAS8B6gH/AQABKQG9Af8BCgEkAYEB/8gAAYEBlAHRAf8BRgFvAfsB/wFIAYEC/wFMAYEB/gH/ + AUgBgQL/AVYBhgL/A/4B/wP+Af8BNAFjAv8BDgFGAfsB/wEAAToB+gH/AQABMQHzAf8BAAEsAdwB/wEK + ASABZAH/yAABigGbAdQB/wFWAYYB+wH/AVsBiwL/AV8BjgL/AVsBiwL/AZcBsQL/A/4B/wP+Af8BbwGa + Av8BFwFNAf0B/wEDAT4B+wH/AQABNAH4Af8BAAEvAeIB/wERAScBbQH/yAABiQGdAdwB/wFvAZYB8gH/ + AW8BmgL/AYEBnAL/AW8BmgL/AbEBxAL/A/4B/wP+Af8BogG4Af4B/wEeAVIB/gH/AQ4BRgH7Af8BAAE3 + AfkB/wECATIB0AH/ARkBNAGTAf/IAAGnAbYB5QH/AY0BowHlAf8BhwGkAv8BjQGoAv8BhwGkAv8BxQHT + Af4B/wP+Af8D/gH/AbUBxwH+Af8BIgFVAv8BEQFIAf0B/wEAAToB+gH/ARIBNwG4Af8BWgGAAboB/8gA + Ac8B2AHyAf8BlwGnAd0B/wGVAasB8QH/AZcBsQL/AY0BqAL/AakBvgL/A/4B/wP+Af8BgwGhAv8BIwFX + Av8BEQFIAf0B/wESAUIB3QH/ASQBQwGsAf8BzwHYAfIB/8wAAbQBwgHsAf8BmwGqAd0B/wGVAasB8QH/ + AYcBpAL/AW8BmgL/AVsBiwL/AUgBgQL/ATQBYwL/ASMBVwL/ASQBUAHjAf8BMQFQAbsB/wFrAYwB1AH/ + 1AABtAHCAewB/wGXAacB3QH/AY0BowHlAf8BbwGWAfIB/wFWAYYB+wH/AUYBbwH7Af8BQgFpAe4B/wFD + AWYB2QH/AUYBYQHGAf8BgQGVAdwB/9wAAcwB2AH+Af8BnQGtAeAB/wGJAZ0B3AH/AYoBmwHUAf8BgQGU + AdEB/wFmAYkB1QH/AYEBlAHRAf8BzAHYAf4B//8A0QABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEA AQEFAAGAFwAD/wEAAv8GAAHwAQ8GAAHgAQcGAAHAAQMGAAGAAQEGAAGAAQEGAAGAAQEGAAGAAQEGAAGA AQEGAAGAAQEGAAGAAQEGAAGAAQEGAAHAAQMGAAHgAQcGAAHwAQ8GAAL/BgAL </value> diff --git a/Source/Core/Properties/Resources.Designer.cs b/Source/Core/Properties/Resources.Designer.cs index 637255b56f192bcc1886feb7f75757da14d94dd4..dda51f2b8fe1c6c1b2c96ae41c597e31250f6a40 100644 --- a/Source/Core/Properties/Resources.Designer.cs +++ b/Source/Core/Properties/Resources.Designer.cs @@ -648,6 +648,34 @@ namespace CodeImp.DoomBuilder.Properties { } } + internal static System.Drawing.Bitmap SearchMatch { + get { + object obj = ResourceManager.GetObject("SearchMatch", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap SearchMatchCase { + get { + object obj = ResourceManager.GetObject("SearchMatchCase", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap SearchNext { + get { + object obj = ResourceManager.GetObject("SearchNext", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap SearchPrev { + get { + object obj = ResourceManager.GetObject("SearchPrev", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap SlimDX_small { get { object obj = ResourceManager.GetObject("SlimDX_small", resourceCulture); diff --git a/Source/Core/Properties/Resources.resx b/Source/Core/Properties/Resources.resx index 6608ae3e5b78bbfbbb46df6095b77c8417e82a61..765e6e618b77f3a352b6f115f24556ef111ec895 100644 --- a/Source/Core/Properties/Resources.resx +++ b/Source/Core/Properties/Resources.resx @@ -142,8 +142,8 @@ <data name="ColorPick" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\ColorPick.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="ArrowDown" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\ArrowDown.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + <data name="SearchMatchCase" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\SearchMatchCase.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="File" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\NewMap.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> @@ -202,6 +202,9 @@ <data name="ThingStatistics" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\ThingStatistics.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> + <data name="Expand" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\Expand.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> <data name="Redo" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\Redo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> @@ -265,6 +268,9 @@ <data name="Cursor" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\Cursor.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> + <data name="Grid2_arrowup" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\Grid2_arrowup.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> <data name="Reset" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\Reset.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> @@ -277,6 +283,9 @@ <data name="Status1" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\Status1.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> + <data name="ArrowDown" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\ArrowDown.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> <data name="PasteSpecial" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\PasteSpecial.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> @@ -295,15 +304,15 @@ <data name="Brightness" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\Brightness.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> + <data name="WordWrap" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\WordWrap.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> <data name="fog" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\fog.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="InfoLine" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\InfoLine.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="Status10" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\Status10.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> <data name="MissingTexture" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\MissingTexture.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> @@ -331,6 +340,9 @@ <data name="Model_selected" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\Model_selected.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> + <data name="Collapse" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\Collapse.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> <data name="NewScript" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\NewScript.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> @@ -340,8 +352,8 @@ <data name="Unlink" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\Unlink.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="ScriptKeyword" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\ScriptKeyword.xpm;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="Status10" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\Status10.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="Properties" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\Properties.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> @@ -352,15 +364,15 @@ <data name="ClearTextures" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\ClearTextures.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="Status2" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\Status2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> <data name="Prefab" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\Prefab.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="ImageStack" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\ImageStack.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> + <data name="SearchMatch" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\SearchMatch.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> <data name="Hourglass" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\Hourglass.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> @@ -373,8 +385,11 @@ <data name="Status12" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\Status12.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="Light_animate" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\Light_animate.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + <data name="SearchNext" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\SearchNext.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="Status2" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\Status2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="Link" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\Link.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> @@ -400,8 +415,8 @@ <data name="ViewTextureFloor" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\ViewTextureFloor.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="Grid2_arrowup" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\Grid2_arrowup.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + <data name="Light_animate" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\Light_animate.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="Pin" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\Pin.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> @@ -409,6 +424,9 @@ <data name="ViewNormal" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\ViewNormal.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> + <data name="ScriptKeyword" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\ScriptKeyword.xpm;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> <data name="MissingThing" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\MissingThing.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> @@ -451,13 +469,7 @@ <data name="Check" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\Check.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="WordWrap" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\WordWrap.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> - <data name="Collapse" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\Collapse.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> - <data name="Expand" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\Resources\Expand.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + <data name="SearchPrev" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\SearchPrev.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> </root> \ No newline at end of file diff --git a/Source/Core/Resources/SearchMatch.png b/Source/Core/Resources/SearchMatch.png new file mode 100644 index 0000000000000000000000000000000000000000..d73992cfc8d2c316618bb1b73dffc1489026b3c3 Binary files /dev/null and b/Source/Core/Resources/SearchMatch.png differ diff --git a/Source/Core/Resources/SearchMatchCase.png b/Source/Core/Resources/SearchMatchCase.png new file mode 100644 index 0000000000000000000000000000000000000000..2a9965e98bcbd68a90a5b68d83bc951a3f80226d Binary files /dev/null and b/Source/Core/Resources/SearchMatchCase.png differ diff --git a/Source/Core/Resources/SearchNext.png b/Source/Core/Resources/SearchNext.png new file mode 100644 index 0000000000000000000000000000000000000000..3e8df20f8acd0a51b8a372e1e2921d11936130c8 Binary files /dev/null and b/Source/Core/Resources/SearchNext.png differ diff --git a/Source/Core/Resources/SearchPrev.png b/Source/Core/Resources/SearchPrev.png new file mode 100644 index 0000000000000000000000000000000000000000..58043feb681c0bc0bcfaa9d95b5605b5bc4e9d20 Binary files /dev/null and b/Source/Core/Resources/SearchPrev.png differ diff --git a/Source/Core/Windows/ScriptFindReplaceForm.Designer.cs b/Source/Core/Windows/ScriptFindReplaceForm.Designer.cs index a6d454a687d8a66455d45742c7220629eb56c95a..b6e4f44d4339d7095be3423c20041c9a1d94c07c 100644 --- a/Source/Core/Windows/ScriptFindReplaceForm.Designer.cs +++ b/Source/Core/Windows/ScriptFindReplaceForm.Designer.cs @@ -38,6 +38,7 @@ namespace CodeImp.DoomBuilder.Windows this.replaceallbutton = new System.Windows.Forms.Button(); this.closebutton = new System.Windows.Forms.Button(); this.replacebutton = new System.Windows.Forms.Button(); + this.findpreviousbutton = new System.Windows.Forms.Button(); this.SuspendLayout(); // // label1 @@ -59,7 +60,7 @@ namespace CodeImp.DoomBuilder.Windows // casesensitive // this.casesensitive.AutoSize = true; - this.casesensitive.Location = new System.Drawing.Point(93, 84); + this.casesensitive.Location = new System.Drawing.Point(93, 81); this.casesensitive.Name = "casesensitive"; this.casesensitive.Size = new System.Drawing.Size(97, 18); this.casesensitive.TabIndex = 2; @@ -69,7 +70,7 @@ namespace CodeImp.DoomBuilder.Windows // wordonly // this.wordonly.AutoSize = true; - this.wordonly.Location = new System.Drawing.Point(93, 108); + this.wordonly.Location = new System.Drawing.Point(93, 105); this.wordonly.Name = "wordonly"; this.wordonly.Size = new System.Drawing.Size(108, 18); this.wordonly.TabIndex = 3; @@ -94,10 +95,9 @@ namespace CodeImp.DoomBuilder.Windows // // findnextbutton // - this.findnextbutton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.findnextbutton.Location = new System.Drawing.Point(257, 18); + this.findnextbutton.Location = new System.Drawing.Point(251, 17); this.findnextbutton.Name = "findnextbutton"; - this.findnextbutton.Size = new System.Drawing.Size(98, 25); + this.findnextbutton.Size = new System.Drawing.Size(80, 25); this.findnextbutton.TabIndex = 4; this.findnextbutton.Text = "Find Next"; this.findnextbutton.UseVisualStyleBackColor = true; @@ -105,45 +105,54 @@ namespace CodeImp.DoomBuilder.Windows // // replaceallbutton // - this.replaceallbutton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.replaceallbutton.Location = new System.Drawing.Point(257, 80); + this.replaceallbutton.Location = new System.Drawing.Point(337, 48); this.replaceallbutton.Name = "replaceallbutton"; - this.replaceallbutton.Size = new System.Drawing.Size(98, 25); - this.replaceallbutton.TabIndex = 6; + this.replaceallbutton.Size = new System.Drawing.Size(86, 25); + this.replaceallbutton.TabIndex = 7; this.replaceallbutton.Text = "Replace All"; this.replaceallbutton.UseVisualStyleBackColor = true; this.replaceallbutton.Click += new System.EventHandler(this.replaceallbutton_Click); // // closebutton // - this.closebutton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.closebutton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.closebutton.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.closebutton.Location = new System.Drawing.Point(257, 127); + this.closebutton.Location = new System.Drawing.Point(325, 96); this.closebutton.Name = "closebutton"; this.closebutton.Size = new System.Drawing.Size(98, 25); - this.closebutton.TabIndex = 7; + this.closebutton.TabIndex = 8; this.closebutton.Text = "Close"; this.closebutton.UseVisualStyleBackColor = true; this.closebutton.Click += new System.EventHandler(this.closebutton_Click); // // replacebutton // - this.replacebutton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.replacebutton.Location = new System.Drawing.Point(257, 49); + this.replacebutton.Location = new System.Drawing.Point(251, 48); this.replacebutton.Name = "replacebutton"; - this.replacebutton.Size = new System.Drawing.Size(98, 25); - this.replacebutton.TabIndex = 5; + this.replacebutton.Size = new System.Drawing.Size(80, 25); + this.replacebutton.TabIndex = 6; this.replacebutton.Text = "Replace"; this.replacebutton.UseVisualStyleBackColor = true; this.replacebutton.Click += new System.EventHandler(this.replacebutton_Click); // + // findpreviousbutton + // + this.findpreviousbutton.Location = new System.Drawing.Point(337, 17); + this.findpreviousbutton.Name = "findpreviousbutton"; + this.findpreviousbutton.Size = new System.Drawing.Size(86, 25); + this.findpreviousbutton.TabIndex = 5; + this.findpreviousbutton.Text = "Find Previous"; + this.findpreviousbutton.UseVisualStyleBackColor = true; + this.findpreviousbutton.Click += new System.EventHandler(this.findpreviousbutton_Click); + // // ScriptFindReplaceForm // this.AcceptButton = this.findnextbutton; this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.CancelButton = this.closebutton; - this.ClientSize = new System.Drawing.Size(367, 163); + this.ClientSize = new System.Drawing.Size(436, 127); + this.Controls.Add(this.findpreviousbutton); this.Controls.Add(this.replacebutton); this.Controls.Add(this.closebutton); this.Controls.Add(this.replaceallbutton); @@ -159,6 +168,7 @@ namespace CodeImp.DoomBuilder.Windows this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "ScriptFindReplaceForm"; + this.Opacity = 1; this.ShowIcon = false; this.ShowInTaskbar = false; this.Text = "Find and Replace"; @@ -180,5 +190,6 @@ namespace CodeImp.DoomBuilder.Windows private System.Windows.Forms.Button replaceallbutton; private System.Windows.Forms.Button closebutton; private System.Windows.Forms.Button replacebutton; + private System.Windows.Forms.Button findpreviousbutton; } } \ No newline at end of file diff --git a/Source/Core/Windows/ScriptFindReplaceForm.cs b/Source/Core/Windows/ScriptFindReplaceForm.cs index d4b1f75d5e4f29a598823b4dc946de18b7bbb6ca..07a3bd554d4fbb3d8abbf2bc89df7bf4547dddb7 100644 --- a/Source/Core/Windows/ScriptFindReplaceForm.cs +++ b/Source/Core/Windows/ScriptFindReplaceForm.cs @@ -90,6 +90,12 @@ namespace CodeImp.DoomBuilder.Windows { General.Map.ScriptEditor.Editor.FindNext(MakeOptions()); } + + // Find Previous (mxd) + private void findpreviousbutton_Click(object sender, EventArgs e) + { + General.Map.ScriptEditor.Editor.FindPrevious(MakeOptions()); + } // Replace private void replacebutton_Click(object sender, EventArgs e) diff --git a/Source/Core/Windows/ScriptFindReplaceForm.resx b/Source/Core/Windows/ScriptFindReplaceForm.resx index f5da54cc22c0481bd03ed449675095e5244d08ff..d0eedeb94ae4a08edefb5df16ac381a475cc92f3 100644 --- a/Source/Core/Windows/ScriptFindReplaceForm.resx +++ b/Source/Core/Windows/ScriptFindReplaceForm.resx @@ -123,28 +123,10 @@ <metadata name="findtext.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>True</value> </metadata> - <metadata name="casesensitive.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> - <metadata name="wordonly.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> <metadata name="replacetext.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>True</value> </metadata> <metadata name="label2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>True</value> </metadata> - <metadata name="findnextbutton.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> - <metadata name="replaceallbutton.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> - <metadata name="closebutton.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> - <metadata name="replacebutton.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> </root> \ No newline at end of file