Do not reset the selection after changing hotkey

This commit is contained in:
Chris Pavlina 2016-01-15 21:06:07 -05:00 committed by Chris Pavlina
parent 06add0d130
commit b2a5307e4b
1 changed files with 14 additions and 24 deletions

View File

@ -235,38 +235,28 @@ void WIDGET_HOTKEY_LIST::EditItem( wxTreeListItem aItem )
wxString current_key = GetItemText( aItem, 1 ); wxString current_key = GetItemText( aItem, 1 );
wxKeyEvent key_event = HK_PROMPT_DIALOG::PromptForKey( GetParent(), name, current_key ); wxKeyEvent key_event = HK_PROMPT_DIALOG::PromptForKey( GetParent(), name, current_key );
long key = MapKeypressToKeycode( key_event );
if( hkdata ) if( hkdata && key )
{ {
long key = MapKeypressToKeycode( key_event );
if( key == 0 ) // See if this key code is handled in hotkeys names list
{ bool exists;
// key: Escape KeyNameFromKeyCode( key, &exists );
UnselectAll();
}
else
{
// See if this key code is handled in hotkeys names list
bool exists;
KeyNameFromKeyCode( key, &exists );
if( exists && hkdata->GetHotkey().m_KeyCode != key ) if( exists && hkdata->GetHotkey().m_KeyCode != key )
{
wxString tag = hkdata->GetSectionTag();
bool canUpdate = ResolveKeyConflicts( key, tag );
if( canUpdate )
{ {
wxString tag = hkdata->GetSectionTag(); hkdata->GetHotkey().m_KeyCode = key;
bool canUpdate = ResolveKeyConflicts( key, tag );
if( canUpdate )
{
hkdata->GetHotkey().m_KeyCode = key;
}
// Remove selection
UnselectAll();
} }
} }
UpdateFromClientData();
} }
UpdateFromClientData();
} }