--- a/controlpanelui/src/cpserviceprovider/src/cpservicemainwindow.cpp Thu Jun 10 16:07:41 2010 +0800
+++ b/controlpanelui/src/cpserviceprovider/src/cpservicemainwindow.cpp Fri Jun 25 17:12:20 2010 +0800
@@ -22,7 +22,7 @@
#include "cpsplogger.h"
CpServiceMainWindow::CpServiceMainWindow(QWidget *parent /* = 0*/)
-: HbMainWindow(parent), mLauncherService(0)
+: HbMainWindow(parent), mLauncherService(0), mPreviousView(0)
{
CPSP_LOG("CpServiceMainWindow Constructing...");
mLauncherService = new CpLauncherService(this);
@@ -37,6 +37,8 @@
{
mSettingViewPointer = settingView;
+ mPreviousView = currentView();
+
connect(settingView, SIGNAL(aboutToClose()), this, SLOT(quit()));
addView(settingView);
setCurrentView(settingView);
@@ -46,6 +48,8 @@
{
CPSP_LOG("CpServiceMainWindow::quit()");
+ closeSettingView();
+
connect(mLauncherService, SIGNAL(returnValueDelivered()), qApp, SLOT(quit()));
mLauncherService->complete();
@@ -59,4 +63,14 @@
*/
}
+void CpServiceMainWindow::closeSettingView()
+{
+ if (mSettingViewPointer) {
+ removeView(mSettingViewPointer);
+ mSettingViewPointer->deleteLater();
+ }
+
+ setCurrentView(mPreviousView);
+}
+
//End of File