mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-06 01:50:38 +00:00
Implement Ctrl-F3/Ctrl-Shift-F3 to search for current word/selection
This commit is contained in:
@@ -248,7 +248,7 @@ namespace renderdocui.Windows
|
||||
scintilla1.Tag = name;
|
||||
|
||||
scintilla1.PreviewKeyDown += new PreviewKeyDownEventHandler(scintilla1_PreviewKeyDown);
|
||||
scintilla1.KeyDown += new KeyEventHandler(scintilla1_KeyDown);
|
||||
scintilla1.KeyDown += new KeyEventHandler(editScintilla_KeyDown);
|
||||
|
||||
m_Scintillas.Add(scintilla1);
|
||||
|
||||
@@ -280,12 +280,43 @@ namespace renderdocui.Windows
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
|
||||
void scintilla1_KeyDown(object sender, KeyEventArgs e)
|
||||
void editScintilla_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.S && e.Control)
|
||||
{
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
readonlyScintilla_KeyDown(sender, e);
|
||||
}
|
||||
}
|
||||
|
||||
void readonlyScintilla_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.F3 && e.Control)
|
||||
{
|
||||
ScintillaNET.Range range = null;
|
||||
|
||||
ScintillaNET.Scintilla sc = sender as ScintillaNET.Scintilla;
|
||||
|
||||
if(sc != null)
|
||||
{
|
||||
string search = sc.GetWordFromPosition(sc.CurrentPos);
|
||||
if (sc.Selection.Length > 0)
|
||||
search = sc.Selection.Text;
|
||||
|
||||
if (e.Shift)
|
||||
range = sc.FindReplace.FindPrevious(search, true, ScintillaNET.SearchFlags.MatchCase);
|
||||
else
|
||||
range = sc.FindReplace.FindNext(search, true, ScintillaNET.SearchFlags.MatchCase);
|
||||
|
||||
sc.FindReplace.ClearAllHighlights();
|
||||
sc.FindReplace.HighlightAll(sc.FindReplace.FindAll(search, ScintillaNET.SearchFlags.MatchCase));
|
||||
|
||||
sc.Selection.Range = range;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private HashSet<int> m_Breakpoints = new HashSet<int>();
|
||||
@@ -441,6 +472,7 @@ namespace renderdocui.Windows
|
||||
m_DisassemblyView.TabIndex = 0;
|
||||
|
||||
m_DisassemblyView.KeyDown += new KeyEventHandler(m_DisassemblyView_KeyDown);
|
||||
m_DisassemblyView.KeyDown += new KeyEventHandler(readonlyScintilla_KeyDown);
|
||||
|
||||
m_DisassemblyView.Markers[CURRENT_MARKER].BackColor = System.Drawing.Color.LightCoral;
|
||||
m_DisassemblyView.Markers[CURRENT_MARKER].Symbol = ScintillaNET.MarkerSymbol.Background;
|
||||
@@ -499,6 +531,8 @@ namespace renderdocui.Windows
|
||||
|
||||
scintilla1.Tag = name;
|
||||
|
||||
scintilla1.KeyDown += new KeyEventHandler(readonlyScintilla_KeyDown);
|
||||
|
||||
var w = Helpers.WrapDockContent(dockPanel, scintilla1, name);
|
||||
w.CloseButton = false;
|
||||
w.CloseButtonVisible = false;
|
||||
|
||||
Reference in New Issue
Block a user