From 2f5cf3e2da5594aa8ba610261130a22fccf0117f Mon Sep 17 00:00:00 2001 From: "gtm.daemon" Date: Fri, 26 Mar 2010 00:33:37 +0000 Subject: [Author: dmaclach] Stop animation slow down applying to shift-tabs. Tab and shift-tab are often used for navigating around UI elements, and in the majority of cases slowing down the animations while navigating around UI elements is not desired. TBR=thomasvl,mrossetti DELTA=24 (15 added, 4 deleted, 5 changed) --- AppKit/GTMNSAnimation+Duration.m | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'AppKit/GTMNSAnimation+Duration.m') diff --git a/AppKit/GTMNSAnimation+Duration.m b/AppKit/GTMNSAnimation+Duration.m index c47772b..02f2b67 100644 --- a/AppKit/GTMNSAnimation+Duration.m +++ b/AppKit/GTMNSAnimation+Duration.m @@ -29,7 +29,18 @@ NSTimeInterval GTMModifyDurationBasedOnCurrentState(NSTimeInterval duration, if (!(modifiers & (NSAlternateKeyMask | NSCommandKeyMask))) { if (modifiers & NSShiftKeyMask) { - duration *= 5.0; + // 25 is the ascii code generated for a shift-tab (End-of-message) + // The shift modifier is ignored if it is applied to a Tab key down. + // Tab and shift-tab are often used for navigating around UI elements, + // and in the majority of cases slowing down the animations while + // navigating around UI elements is not desired. + if ((eventMask & NSKeyDownMask) + && ([[event characters] length]) + && ([[event characters] characterAtIndex:0] == 25)) { + duration = duration; + } else { + duration *= 5.0; + } } // These are additive, so shift+control returns 10 * duration. if (modifiers & NSControlKeyMask) { -- cgit v1.2.3