Remove ui::Widget::isScancodeMnemonic() member function

This commit is contained in:
David Capello 2014-06-28 11:14:03 -03:00
parent 2fa7ee5a77
commit b37ec489f6
3 changed files with 8 additions and 25 deletions

View File

@ -102,6 +102,11 @@ bool ButtonBase::onProcessMessage(Message* msg)
// If the button is enabled.
if (isEnabled()) {
bool mnemonicPressed =
(msg->altPressed() &&
getMnemonicChar() &&
getMnemonicChar() == tolower(keymsg->unicodeChar()));
// For kButtonWidget
if (m_behaviorType == kButtonWidget) {
// Has focus and press enter/space
@ -113,8 +118,9 @@ bool ButtonBase::onProcessMessage(Message* msg)
return true;
}
}
// Check if the user pressed mnemonic.
if ((msg->altPressed()) && (isScancodeMnemonic(scancode))) {
if (mnemonicPressed) {
setSelected(true);
return true;
}
@ -136,14 +142,10 @@ bool ButtonBase::onProcessMessage(Message* msg)
else {
/* if the widget has the focus and the user press space or
if the user press Alt+the underscored letter of the button */
if ((hasFocus() &&
(scancode == kKeySpace)) ||
((msg->altPressed()) &&
(isScancodeMnemonic(scancode)))) {
if ((hasFocus() && (scancode == kKeySpace)) || mnemonicPressed) {
if (m_behaviorType == kCheckWidget) {
// Swap the select status
setSelected(!isSelected());
invalidate();
}
else if (m_behaviorType == kRadioWidget) {

View File

@ -1271,23 +1271,6 @@ int Widget::getMnemonicChar() const
return 0;
}
bool Widget::isScancodeMnemonic(int scancode) const
{
int ascii = 0;
if (scancode >= KEY_0 && scancode <= KEY_9)
ascii = '0' + (scancode - KEY_0);
else if (scancode >= KEY_A && scancode <= KEY_Z)
ascii = 'a' + (scancode - KEY_A);
else
return false;
int mnemonic = getMnemonicChar();
return (mnemonic > 0 && mnemonic == ascii);
}
/**********************************************************************/
/* widget message procedure */
bool Widget::onProcessMessage(Message* msg)
{
ASSERT(msg != NULL);

View File

@ -341,8 +341,6 @@ namespace ui {
// (the underscored character, i.e. the letter after & symbol).
int getMnemonicChar() const;
bool isScancodeMnemonic(int scancode) const;
protected:
void offsetWidgets(int dx, int dy);