diff -r 3d09643def13 -r 6bfad47013df qthighway/xqserviceutil/src/xqserviceutil.cpp --- a/qthighway/xqserviceutil/src/xqserviceutil.cpp Fri Sep 17 08:34:25 2010 +0300 +++ b/qthighway/xqserviceutil/src/xqserviceutil.cpp Mon Oct 04 01:32:41 2010 +0300 @@ -32,6 +32,11 @@ #include #include +namespace +{ + const TInt KWinPosForeground = 0; + const TInt KWinPosBackground = -1; +} // ======== LOCAL FUNCTIONS ======== static bool isKeySet(const QString &key) @@ -115,24 +120,10 @@ { XQSERVICE_DEBUG_PRINT("XQServiceUtil::toBackground"); XQSERVICE_DEBUG_PRINT("value: %d", value); - RWsSession ws; - int sid = RProcess().SecureId().iId; // Assumes UID3 == SID !!! - XQSERVICE_DEBUG_PRINT("sid: %d", sid); - if (ws.Connect() == KErrNone) { - XQSERVICE_DEBUG_PRINT("Connected to window server"); - TApaTaskList tasklist(ws); - TApaTask task = tasklist.FindApp(TUid::Uid(sid)); - XQSERVICE_DEBUG_PRINT("task.Exists(): %x", task.Exists()); - if (task.Exists()) { - if (value) { - task.SendToBackground(); - } - else { - task.BringToForeground(); - } - } - - ws.Close(); + + if (CEikonEnv::Static()) { + CEikonEnv::Static()->RootWin().SetOrdinalPosition(value ? KWinPosBackground : KWinPosForeground); + CEikonEnv::Static()->RootWin().EnableReceiptOfFocus(!value); } }