Author: titmuss
Date: Wed Jul  2 07:26:12 2008
New Revision: 2655

URL: http://svn.slimdevices.com?rev=2655&root=Jive&view=rev
Log:
Bug: 7914
Description:
When pressing home with a screensaver active, it should always take you home. 
This fixes the Now Playing Screensaver > 
press home > Now Playing Window iteraction.


Modified:
    
7.1/trunk/squeezeplay/src/squeezeplay/share/applets/ScreenSavers/ScreenSaversApplet.lua

Modified: 
7.1/trunk/squeezeplay/src/squeezeplay/share/applets/ScreenSavers/ScreenSaversApplet.lua
URL: 
http://svn.slimdevices.com/7.1/trunk/squeezeplay/src/squeezeplay/share/applets/ScreenSavers/ScreenSaversApplet.lua?rev=2655&root=Jive&r1=2654&r2=2655&view=diff
==============================================================================
--- 
7.1/trunk/squeezeplay/src/squeezeplay/share/applets/ScreenSavers/ScreenSaversApplet.lua
 (original)
+++ 
7.1/trunk/squeezeplay/src/squeezeplay/share/applets/ScreenSavers/ScreenSaversApplet.lua
 Wed Jul  2 07:26:12 2008
@@ -216,25 +216,37 @@
 
        -- key or scroll events quit the screensaver
        window:addListener(EVENT_KEY_PRESS | EVENT_KEY_HOLD | EVENT_SCROLL,
-                          function(event)
-
-                                  -- close all screensaver windows
-                                  for i,w in ipairs(self.active) do
-                                       _deactivate(self, w, 
self.demoScreensaver)
-                                  end
-
-                                  -- keys should close the screensaver, and not
-                                  -- perform an action
-                                  if event:getType() == EVENT_KEY_PRESS then
-                                          local keycode = event:getKeycode()
-
-                                          if keycode == KEY_GO or
-                                                  keycode == KEY_LEFT then
-                                                  return EVENT_CONSUME
-                                          end
-                                  end
-                                  return EVENT_UNUSED
-                          end)
+               function(event)
+
+                       -- close all screensaver windows
+                       for i,w in ipairs(self.active) do
+                               _deactivate(self, w, self.demoScreensaver)
+                       end
+
+                       -- keys should close the screensaver, and not
+                       -- perform an action
+                       if event:getType() == EVENT_KEY_PRESS then
+                               local keycode = event:getKeycode()
+
+                               if keycode == KEY_GO or
+                                       keycode == KEY_LEFT then
+                                       return EVENT_CONSUME
+                               end
+
+                               -- make sure when exiting a screensaver we
+                               -- really go home.
+                               if keycode == KEY_HOME then
+                                       local windowStack = 
Framework.windowStack
+                                       Framework:playSound("JUMP")
+                                       while #windowStack > 1 do
+                                               windowStack[#windowStack - 
1]:hide(Window.transitionNone)
+                                       end
+
+                                       return EVENT_CONSUME
+                               end
+                       end
+                       return EVENT_UNUSED
+               end)
 
        if hideOnMotion then
                window:addListener(EVENT_MOTION,

_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins

Reply via email to