Debugger - disassembler - support ctrl+C to copy selected rows to the clipboard
This commit is contained in:
parent
5d2eb17771
commit
652640d580
|
@ -208,6 +208,7 @@
|
|||
this.DisassemblerView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.Address,
|
||||
this.Instruction});
|
||||
this.DisassemblerView.FullRowSelect = true;
|
||||
this.DisassemblerView.GridLines = true;
|
||||
this.DisassemblerView.ItemCount = 0;
|
||||
this.DisassemblerView.Location = new System.Drawing.Point(6, 39);
|
||||
|
@ -221,6 +222,7 @@
|
|||
this.DisassemblerView.View = System.Windows.Forms.View.Details;
|
||||
this.DisassemblerView.Scroll += new System.Windows.Forms.ScrollEventHandler(this.DisassemblerView_Scroll);
|
||||
this.DisassemblerView.SizeChanged += new System.EventHandler(this.DisassemblerView_SizeChanged);
|
||||
this.DisassemblerView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.DisassemblerView_KeyDown);
|
||||
//
|
||||
// Address
|
||||
//
|
||||
|
|
|
@ -160,5 +160,33 @@ namespace BizHawk.Client.EmuHawk
|
|||
SetDisassemblerItemCount();
|
||||
Disassemble();
|
||||
}
|
||||
|
||||
private void DisassemblerView_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.C) // Ctrl + C
|
||||
{
|
||||
CopySelectedDisassembler();
|
||||
}
|
||||
}
|
||||
|
||||
private void CopySelectedDisassembler()
|
||||
{
|
||||
var indices = DisassemblerView.SelectedIndices;
|
||||
|
||||
if (indices.Count > 0)
|
||||
{
|
||||
var blob = new StringBuilder();
|
||||
foreach (int index in indices)
|
||||
{
|
||||
blob.Append(DisassemblyLines[index].Address)
|
||||
.Append(" ")
|
||||
.Append(DisassemblyLines[index].Mnemonic)
|
||||
.AppendLine();
|
||||
}
|
||||
|
||||
blob.Remove(blob.Length - 2, 2); // Lazy way to not have a line break at the end
|
||||
Clipboard.SetDataObject(blob.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue