mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-10 17:24:29 +00:00
Bug 630813 part.8 IsCtrlAltTab() should use KeymapWrapper r=karlt
This commit is contained in:
parent
7c65f01056
commit
dfdc3bb1ef
@ -518,22 +518,23 @@ KeymapWrapper::GetCurrentModifierState()
|
||||
/* static */ bool
|
||||
KeymapWrapper::AreModifiersCurrentlyActive(Modifiers aModifiers)
|
||||
{
|
||||
KeymapWrapper* keymapWrapper = GetInstance();
|
||||
guint modifierState = GetCurrentModifierState();
|
||||
return keymapWrapper->AreModifiersActive(aModifiers, modifierState);
|
||||
return AreModifiersActive(aModifiers, modifierState);
|
||||
}
|
||||
|
||||
bool
|
||||
/* static */ bool
|
||||
KeymapWrapper::AreModifiersActive(Modifiers aModifiers,
|
||||
guint aModifierState) const
|
||||
guint aModifierState)
|
||||
{
|
||||
NS_ENSURE_TRUE(aModifiers, false);
|
||||
|
||||
KeymapWrapper* keymapWrapper = GetInstance();
|
||||
for (PRUint32 i = 0; i < sizeof(Modifier) * 8 && aModifiers; i++) {
|
||||
Modifier modifier = static_cast<Modifier>(1 << i);
|
||||
if (!(aModifiers & modifier)) {
|
||||
continue;
|
||||
}
|
||||
if (!(aModifierState & GetModifierMask(modifier))) {
|
||||
if (!(aModifierState & keymapWrapper->GetModifierMask(modifier))) {
|
||||
return false;
|
||||
}
|
||||
aModifiers &= ~modifier;
|
||||
|
@ -117,6 +117,20 @@ public:
|
||||
*/
|
||||
static bool AreModifiersCurrentlyActive(Modifiers aModifiers);
|
||||
|
||||
/**
|
||||
* AreModifiersActive() just checks whether aModifierState indicates
|
||||
* all modifiers in aModifiers are active or not.
|
||||
*
|
||||
* @param aModifiers One or more of Modifier values except
|
||||
* NOT_MODIFIER.
|
||||
* @param aModifierState GDK's modifier states.
|
||||
* @return TRUE if aGdkModifierType indecates all of
|
||||
* modifiers in aModifier are active.
|
||||
* Otherwise, FALSE.
|
||||
*/
|
||||
static bool AreModifiersActive(Modifiers aModifiers,
|
||||
guint aModifierState);
|
||||
|
||||
/**
|
||||
* InitInputEvent() initializes the aInputEvent with aModifierState.
|
||||
*/
|
||||
@ -210,20 +224,6 @@ protected:
|
||||
static const char* GetModifierName(Modifier aModifier);
|
||||
#endif // PR_LOGGING
|
||||
|
||||
/**
|
||||
* AreModifiersActive() just checks whether aModifierState indicates
|
||||
* all modifiers in aModifiers are active or not.
|
||||
*
|
||||
* @param aModifiers One or more of Modifier values except
|
||||
* NOT_MODIFIER.
|
||||
* @param aModifierState GDK's modifier states.
|
||||
* @return TRUE if aGdkModifierType indecates all of
|
||||
* modifieres in aModifier are active.
|
||||
* Otherwise, FALSE.
|
||||
*/
|
||||
bool AreModifiersActive(Modifiers aModifiers,
|
||||
guint aModifierState) const;
|
||||
|
||||
/**
|
||||
* mGdkKeymap is a wrapped instance by this class.
|
||||
*/
|
||||
|
@ -2922,7 +2922,8 @@ static bool
|
||||
IsCtrlAltTab(GdkEventKey *aEvent)
|
||||
{
|
||||
return aEvent->keyval == GDK_Tab &&
|
||||
aEvent->state & GDK_CONTROL_MASK && aEvent->state & GDK_MOD1_MASK;
|
||||
KeymapWrapper::AreModifiersActive(
|
||||
KeymapWrapper::CTRL | KeymapWrapper::ALT, aEvent->state);
|
||||
}
|
||||
|
||||
bool
|
||||
|
Loading…
x
Reference in New Issue
Block a user