controlpanelui/examples/pluginlauncherclient/src/mainview.cpp
changeset 22 a5692c68d772
parent 19 36aa4756ee82
--- a/controlpanelui/examples/pluginlauncherclient/src/mainview.cpp	Thu Jun 10 16:07:41 2010 +0800
+++ b/controlpanelui/examples/pluginlauncherclient/src/mainview.cpp	Fri Jun 25 17:12:20 2010 +0800
@@ -24,16 +24,17 @@
 #include <hbmessagebox.h>
 #include <xqaiwrequest.h>
 #include <XQServiceRequest.h>
+#include <QTimer>
 
 MainView::MainView(QGraphicsItem *parent/* = 0*/)
-: HbView(parent)
+: HbView(parent),mRequest(0)
 {
 	init();
 }
 
 MainView::~MainView()
 {
-
+    delete mRequest;
 }
 
 void MainView::init()
@@ -60,16 +61,21 @@
 
 void MainView::launchQtHighwayProfileView()
 {
-    XQAiwRequest *request = mAppMgr.create("com.nokia.symbian.ICpPluginLauncher", "launchSettingView(QString,QVariant)", true);
+    if (mRequest) {
+        delete mRequest;
+        mRequest = 0;
+    }
+    
+    mRequest = mAppMgr.create("com.nokia.symbian.ICpPluginLauncher", "launchSettingView(QString,QVariant)", true);
 
-    if (!request)
+    if (!mRequest)
     {
         return;
     }
     else
     {
-        connect(request, SIGNAL(requestOk(QVariant)), SLOT(handleReturnValue(QVariant)));
-        connect(request, SIGNAL(requestError(int,QString)), SLOT(handleError(int,QString)));
+        connect(mRequest, SIGNAL(requestOk(QVariant)), SLOT(handleReturnValue(QVariant)));
+        connect(mRequest, SIGNAL(requestError(int,QString)), SLOT(handleError(int,QString)));
     }
 
 
@@ -77,15 +83,18 @@
     QList<QVariant> args;
     args << QVariant( "cppersonalizationplugin.dll" );
     args << QVariant ( "profile_view" );
-    request->setArguments(args);
+    mRequest->setArguments(args);
 
+    mRequest->setSynchronous(false);
+    
+    QTimer::singleShot(20* 1000, this, SLOT(closeSettingView()));
+    
     // Make the request
-    if (!request->send())
+    if (!mRequest->send())
     {
         //report error     
     }
     
-    delete request;
 }
 
 void MainView::handleReturnValue(const QVariant &returnValue)
@@ -98,4 +107,12 @@
     HbMessageBox::information( QString("handle error:") + errorMessage);
 }
 
+void MainView::closeSettingView()
+{   
+    if (mRequest) {
+        delete mRequest;
+        mRequest = 0;
+    }
+}
+
 //End of File