controlpanelui/src/cpserviceprovider/src/cpservicemainwindow.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 15:15:28 +0300
branchRCL_3
changeset 13 90fe62538f66
permissions -rw-r--r--
Revision: 201029 Kit: 201035

/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0""
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  
*
*/

#include "cpservicemainwindow.h"
#include <QCoreApplication>
#include <cpbasesettingview.h>
#include "cplauncherservice.h"
#include "cpsplogger.h"

CpServiceMainWindow::CpServiceMainWindow(QWidget *parent /* = 0*/)
: HbMainWindow(parent), mLauncherService(0), mPreviousView(0)
{
    CPSP_LOG_FUNC_ENTRY("CpServiceMainWindow::CpServiceMainWindow")
        
    mLauncherService = new CpLauncherService(this);
}

CpServiceMainWindow::~CpServiceMainWindow()
{
    CPSP_LOG_FUNC_ENTRY("CpServiceMainWindow::~CpServiceMainWindow")
}

void CpServiceMainWindow::setSettingView(CpBaseSettingView *settingView)
{
    CPSP_LOG_FUNC_ENTRY("CpServiceMainWindow::setSettingView")
    
    mSettingViewPointer = settingView;
    
    mPreviousView = currentView();
    
    connect(settingView, SIGNAL(aboutToClose()), this, SLOT(quit()));    
    addView(settingView);
    setCurrentView(settingView);
}

void CpServiceMainWindow::quit()
{
    CPSP_LOG_FUNC_ENTRY("CpServiceMainWindow::quit");
    
    closeSettingView();
    
    connect(mLauncherService, SIGNAL(returnValueDelivered()), qApp, SLOT(quit()));
    mLauncherService->complete();
  
    /*
    hide();
    mLauncherService->complete();
    if (mSettingViewPointer) {
        removeView(mSettingViewPointer);
        mSettingViewPointer->deleteLater();
    }  
    */
}

void CpServiceMainWindow::closeSettingView()
{
    CPSP_LOG_FUNC_ENTRY("CpServiceMainWindow::closeSettingView")
    
    if (mSettingViewPointer) {
        removeView(mSettingViewPointer);
        mSettingViewPointer->deleteLater();
    }
    
    setCurrentView(mPreviousView);
}

//End of File