Use accelerators from hot keys in place menu, from the Fabrizio's idea
This commit is contained in:
parent
2d761f302b
commit
063c56be30
|
@ -179,17 +179,20 @@ wxString ReturnKeyNameFromKeyCode( int aKeycode, bool* aIsFound )
|
||||||
* for instance zoom action is ran from the F1 key or the Zoom menu.
|
* for instance zoom action is ran from the F1 key or the Zoom menu.
|
||||||
* a zoom uses the mouse position from a hot key and not from the menu
|
* a zoom uses the mouse position from a hot key and not from the menu
|
||||||
* In this case, the accelerator if Shift+<hotkey>
|
* In this case, the accelerator if Shift+<hotkey>
|
||||||
* But for some keys, the Shift modifier is not usable, and the accelerator is Alt+<hotkey>
|
* But for many keys, the Shift modifier is not usable, and the accelerator is Alt+<hotkey>
|
||||||
*/
|
*/
|
||||||
static void AddModifierToKey( wxString& aFullKey, const wxString & aKey )
|
static void AddModifierToKey( wxString& aFullKey, const wxString & aKey )
|
||||||
{
|
{
|
||||||
#if 1 // set to 0 for new behavior, 1 for old
|
#if 0 // set to 0 for new behavior, 1 for old
|
||||||
aFullKey << wxT( " <" ) << aKey << wxT( ">" );
|
aFullKey << wxT( " <" ) << aKey << wxT( ">" );
|
||||||
#else
|
#else
|
||||||
if( aKey.IsSameAs(wxT( "/" ) ) )
|
if( (aKey.Length() == 1) && (aKey[0] >= 'A') && (aKey[0] <= 'Z'))
|
||||||
aFullKey << wxT( "\t" ) << MODIFIER_ALT << aKey;
|
// We can use Shift+<key> as accelerator ans <key> for hot key
|
||||||
else
|
|
||||||
aFullKey << wxT( "\t" ) << MODIFIER_SHIFT << aKey;
|
aFullKey << wxT( "\t" ) << MODIFIER_SHIFT << aKey;
|
||||||
|
else
|
||||||
|
// We must use Alt+<key> as accelerator ans <key> for hot key
|
||||||
|
aFullKey << wxT( "\t" ) << MODIFIER_ALT << aKey;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue