diff -r 90fe62538f66 -r 5f281e37a2f5 controlpanelui/src/cpapplication/src/cpmainview.cpp --- a/controlpanelui/src/cpapplication/src/cpmainview.cpp Tue Aug 31 15:15:28 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,159 +0,0 @@ -/* -* 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 "cpmainview.h" -#include "cpmainmodel.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "cpcategorysettingformitemdata.h" - -//CpMainView implementation -CpMainView::CpMainView(HbMainWindow *mainWindow/*= 0*/) -: CpBaseSettingView(0,0), - mMainModel(0), - mItemDataHelper(0), - mMainWindow(mainWindow), - mActivityManager(0) -{ - //delay loading - //connect(mMainWindow,SIGNAL(viewReady()),this,SLOT(initializeMainModel())); - // AUTO SAVE ACTIVITY OF CONTROLPANEL - HbApplication *app= qobject_cast(qApp); - mActivityManager = app->activityManager(); - initializeMainModel(); - connect(this, SIGNAL(aboutToClose()),this, SLOT(saveActivity())); -} - -CpMainView::~CpMainView() -{ - delete mMainModel; - delete mItemDataHelper; -} - -bool CpMainView::event(QEvent *e) -{ - if (e->type() == QEvent::Show || e->type() == QEvent::ShowToParent) { - CPPERF_LOG("CpMainView shown."); - } - return CpBaseSettingView::event(e); -} - -void CpMainView::initializeMainModel() -{ - if (HbDataForm *form = qobject_cast(widget())) { - if (!mMainModel) { - mItemDataHelper = new CpItemDataHelper(form); - mMainModel = new CpMainModel; - mMainModel->initialize(*mItemDataHelper); - form->setModel(mMainModel); - connect(form, SIGNAL(activated(QModelIndex)), this, SLOT(onDataFormItemActivated(QModelIndex))); - - connect(mMainWindow, SIGNAL(aboutToChangeView(HbView *, HbView *)), this, SLOT(onAboutToChangeView(HbView *, HbView *))); - } - } - loadActivity(); -} - -void CpMainView::loadActivity() -{ - if (mMainModel == 0) { - return; - } - QVariant data = mActivityManager->activityData(QString("ControlPanelView")); - if (data.canConvert >()) - { - QList isExpanded = qvariant_cast >(data); - HbDataFormModelItem *root = mMainModel->invisibleRootItem(); - int groupCount = 0; - - if (root) { - groupCount = root->childCount(); - } - - if (groupCount == isExpanded.count()) { - for (int i = 0; i < groupCount; i++) { - HbDataFormModelItem *groupItem = root->childAt(i); - QModelIndex index = mMainModel->indexFromItem(groupItem); - HbDataForm *form = qobject_cast(widget()); - if (form) { - if (isExpanded.at(i).toBool()) { - onDataFormItemActivated(index); - } - form->setExpanded(index,isExpanded.at(i).toBool()); - } - } - } - - mActivityManager->removeActivity("ControlPanelView"); - } -} - -void CpMainView::saveActivity() -{ - HbDataFormModelItem *root = mMainModel->invisibleRootItem(); - int groupCount = 0; - QList isExpanded; - if (root) { - groupCount = root->childCount(); - } - for (int i = 0; i < groupCount; i++) { - HbDataFormModelItem *groupItem = root->childAt(i); - QModelIndex index = mMainModel->indexFromItem(groupItem); - HbDataForm *form = qobject_cast(widget()); - isExpanded << form->isExpanded(index); - } - - HbMainWindow *mainWindow = hbInstance->allMainWindows().first(); - HbView *view = mainWindow->currentView(); - if(this == view) - { - mScreenshot = QPixmap::grabWidget(mainWindow, mainWindow->rect()); - } - - QVariantHash metadata; - metadata.insert("screenshot", mScreenshot); - QVariant data(isExpanded); - - mActivityManager->addActivity("ControlPanelView", data, metadata); -} - -void CpMainView::onDataFormItemActivated(const QModelIndex &index) -{ - CPFW_LOG("CpMainView::onDataFormItemActivated"); - CpSettingFormItemData *itemData = static_cast(mMainModel->itemFromIndex(index)); - - if (CpCategorySettingFormItemData *categoryItemData = qobject_cast(itemData)) { - categoryItemData->initialize(*mItemDataHelper); - } -} -void CpMainView::onAboutToChangeView(HbView * oldView, HbView *newView) -{ - Q_UNUSED(newView); - if (this == oldView) { - mScreenshot = QPixmap::grabWidget(mMainWindow, mMainWindow->rect()); - } - } - -// End of File