Fixed navigation bug

A group should only be auto-selected outside of selector events (i.e.,
the back button or clicking a reference)
This commit is contained in:
jeffman 2015-03-26 16:06:12 -04:00
parent de4b062c98
commit 0a0b58be73
1 changed files with 10 additions and 7 deletions

View File

@ -305,8 +305,6 @@ namespace ScriptToolGui
previousNavigationState = new MatchedGroupNavigationEntry(group); previousNavigationState = new MatchedGroupNavigationEntry(group);
} }
SelectGroup(group);
PopulateCodeList(); PopulateCodeList();
PopulateReferenceList(); PopulateReferenceList();
@ -347,7 +345,7 @@ namespace ScriptToolGui
return match; return match;
} }
private void NavigateTo(Game game, string label) private MatchedGroup NavigateTo(Game game, string label)
{ {
foreach (var eachGame in validGames) foreach (var eachGame in validGames)
{ {
@ -387,12 +385,12 @@ namespace ScriptToolGui
} }
} }
SelectGroup(match);
PopulateCodeList(); PopulateCodeList();
PopulateReferenceList(); PopulateReferenceList();
previewButton_Click(null, null); previewButton_Click(null, null);
return match;
} }
private void PushPreviousNavigationState() private void PushPreviousNavigationState()
@ -542,7 +540,9 @@ namespace ScriptToolGui
SaveCurrentState(true); SaveCurrentState(true);
if (groupSelector.SelectedIndex == -1) if (groupSelector.SelectedIndex == -1)
{
NavigateTo(null); NavigateTo(null);
}
else else
{ {
PushPreviousNavigationState(); PushPreviousNavigationState();
@ -572,7 +572,8 @@ namespace ScriptToolGui
SaveCurrentState(true); SaveCurrentState(true);
PushPreviousNavigationState(); PushPreviousNavigationState();
NavigateTo(game, label); var group = NavigateTo(game, label);
SelectGroup(group);
} }
} }
} }
@ -590,11 +591,13 @@ namespace ScriptToolGui
{ {
var matchedEntry = (MatchedGroupNavigationEntry)nav; var matchedEntry = (MatchedGroupNavigationEntry)nav;
NavigateTo(matchedEntry.Group); NavigateTo(matchedEntry.Group);
SelectGroup(matchedEntry.Group);
} }
else if (nav.Type == NavigationType.Reference) else if (nav.Type == NavigationType.Reference)
{ {
var referenceEntry = (ReferenceNavigationEntry)nav; var referenceEntry = (ReferenceNavigationEntry)nav;
NavigateTo(referenceEntry.Game, referenceEntry.Label); var group = NavigateTo(referenceEntry.Game, referenceEntry.Label);
SelectGroup(group);
} }
} }