deviceupdatesui/deviceupdates/src/dmfotaview.cpp
changeset 64 f2a9f5a3b8ba
parent 42 aa33c2cb9a50
child 66 f8de2c99bcde
--- a/deviceupdatesui/deviceupdates/src/dmfotaview.cpp	Thu Sep 02 20:16:47 2010 +0300
+++ b/deviceupdatesui/deviceupdates/src/dmfotaview.cpp	Fri Sep 17 08:27:39 2010 +0300
@@ -22,8 +22,11 @@
 #include <sysutil.h>
 #include <hbscrollarea.h>
 #include <etel.h>
+#include <eikenv.h>
 #include <featmgr.h>
 #include <etelmm.h>
+#include <apgtask.h>
+#include <coemain.h>
 #include <hbnotificationdialog.h>
 #include <centralrepository.h>
 #include <sysversioninfo.h>
@@ -115,6 +118,8 @@
     
     mSoftKeyBackAction = new HbAction(Hb::BackNaviAction ,this);
     mSoftKeyBackAction->setText("Back");
+    fotaPortraitView->setNavigationAction(mSoftKeyBackAction);
+	fotaLandscapeView->setNavigationAction(mSoftKeyBackAction);
     connect(mSoftKeyBackAction, SIGNAL(triggered()), this, SLOT(backtoMainWindow()));
         
     
@@ -547,8 +552,25 @@
 void DMFotaView::backtoMainWindow()
     {
     qDebug("DMFotaView::backtoMainWindow >>");
-        qApp->quit();
-        qDebug("DMFotaView::backtoMainWindow <<");
+    QString appName = qApp->applicationName();
+    QString cpAppTitle("Control panel");
+    mMainWindow->removeView(fotaPortraitView);
+    mMainWindow->removeView(fotaLandscapeView);
+    fotaPortraitView->deleteLater();
+    fotaLandscapeView->deleteLater();
+    fotaPortraitView = NULL;
+    fotaLandscapeView = NULL;
+    if (appName == cpAppTitle)
+        {
+        TApaTaskList taskList(CEikonEnv::Static()->WsSession());
+        TApaTask task = taskList.FindApp(KControlPanelAppUid);
+        if (task.Exists())
+            {
+            task.BringToForeground();
+            }
+        }
+    qApp->quit();
+    qDebug("DMFotaView::backtoMainWindow <<");
     }
 
 // -----------------------------------------------------------------------------