Hex Editor - fix so context menu items dependent on addresses don't if no address is highlighted (prevents some exceptions being thrown when user attempts to use them)

This commit is contained in:
adelikat 2013-11-07 23:14:04 +00:00
parent 9dbcfdffd1
commit 10b609cb6e
2 changed files with 585 additions and 572 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1808,21 +1808,34 @@ namespace BizHawk.Client.EmuHawk
private void ViewerContextMenuStrip_Opening(object sender, CancelEventArgs e) private void ViewerContextMenuStrip_Opening(object sender, CancelEventArgs e)
{ {
copyToolStripMenuItem1.Visible = HighlightedAddress.HasValue || SecondaryHighlightedAddresses.Any(); var iData = Clipboard.GetDataObject();
IDataObject iData = Clipboard.GetDataObject(); CopyContextItem.Visible =
FreezeContextItem.Visible =
AddToRamWatchContextItem.Visible =
PokeContextItem.Visible =
IncrementContextItem.Visible =
DecrementContextItem.Visible =
ContextSeparator2.Visible =
HighlightedAddress.HasValue || SecondaryHighlightedAddresses.Any();
pasteToolStripMenuItem1.Visible = iData != null && iData.GetDataPresent(DataFormats.Text); UnfreezeAllContextItem.Visible = Global.CheatList.ActiveCount > 0;
PasteContextItem.Visible = (iData != null && iData.GetDataPresent(DataFormats.Text));
ContextSeparator1.Visible =
HighlightedAddress.HasValue ||
SecondaryHighlightedAddresses.Any() ||
(iData != null && iData.GetDataPresent(DataFormats.Text));
if (HighlightedAddress.HasValue && IsFrozen(HighlightedAddress.Value)) if (HighlightedAddress.HasValue && IsFrozen(HighlightedAddress.Value))
{ {
freezeToolStripMenuItem.Text = "Un&freeze"; FreezeContextItem.Text = "Un&freeze";
freezeToolStripMenuItem.Image = Properties.Resources.Unfreeze; FreezeContextItem.Image = Properties.Resources.Unfreeze;
} }
else else
{ {
freezeToolStripMenuItem.Text = "&Freeze"; FreezeContextItem.Text = "&Freeze";
freezeToolStripMenuItem.Image = Properties.Resources.Freeze; FreezeContextItem.Image = Properties.Resources.Freeze;
} }
} }