screensaver/devicedialogplugins/snsrdevicedialogplugin/src/snsrdevicedialog.cpp
changeset 97 66b5fe3c07fd
parent 86 e4f038c420f7
child 98 e6f74eb7f69f
--- a/screensaver/devicedialogplugins/snsrdevicedialogplugin/src/snsrdevicedialog.cpp	Mon Sep 27 11:52:00 2010 +0300
+++ b/screensaver/devicedialogplugins/snsrdevicedialogplugin/src/snsrdevicedialog.cpp	Wed Oct 06 16:06:24 2010 +0300
@@ -23,12 +23,16 @@
 #include <QServiceFilter>
 #include <QServiceInterfaceDescriptor>
 #include <QTimer>
+#ifdef Q_OS_SYMBIAN
 #include <XQSettingsManager>
+#include <screensaverdomaincrkeys.h>
+#endif //Q_OS_SYMBIAN
 #include <HbMainWindow>
 #include <HbIndicatorInterface>
+#include <HbEffect>
 
 #include <screensaver.h>
-#include <screensaverdomaincrkeys.h>
+
 #include "snsrdevicedialog.h"
 #include "snsrdevicedialogdisplaycontrol.h"
 
@@ -93,7 +97,15 @@
     setDismissPolicy(HbPopup::NoDismiss);
     setTimeout(HbPopup::NoTimeout);
     
-    mainWindow()->setAutomaticOrientationEffectEnabled(false);
+    // Disable all the effects for the screensaver dialog. Otherwise, the
+    // automatic fade effect would be applied to the screensaver when screen
+    // orientation changes, revealing the UI beneath (because device dialog
+    // application server has a transparent background). This both looks ugly 
+    // and poses a potential security risk, as in the device locked case 
+    // screensaver is used as a layer to hide any confidential information.
+    // Screensaver containers can still implement custom effects for orientation
+    // swithc etc.
+    HbEffect::disable(this);
 
     setDeviceDialogParameters( parameters );
     
@@ -141,7 +153,8 @@
             return false;
         }
     }
-        
+    
+#ifdef Q_OS_SYMBIAN
     // Check initial view from repository
     if (viewType == ViewTypeInitial ) {
         XQSettingsManager::Error error;
@@ -155,7 +168,12 @@
             viewType = startupView;
         }
     }
-
+#else
+    if (viewType == ViewTypeInitial ) {
+        viewType = ViewTypeStandby;
+	}
+#endif //Q_OS_SYMBIAN
+    
     switch (viewType) {
     case SnsrDeviceDialog::ViewTypeActive:
         mScreensaver->foreground();