diff -r ebfee66fde93 -r 84197e66a4bd messagingapp/msgui/msgapp/src/msgactivityhandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingapp/msgui/msgapp/src/msgactivityhandler.cpp Fri Jun 11 13:35:48 2010 +0300 @@ -0,0 +1,106 @@ +/* + * 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: + * Handles saving and opening activites. + * + */ + +#include "msgactivityhandler.h" + +#include "msgviewmanager.h" +#include "msgbaseview.h" +#include "msgmainwindow.h" +#include +#include +#include + +// Activity Names +const QString ListViewActivityName("MsgConversationsList"); + +//----------------------------------------------------------------------------- +// MsgActivityHandler::MsgActivityHandler +// Constructor +//----------------------------------------------------------------------------- +MsgActivityHandler::MsgActivityHandler(QObject* parent): + QObject(parent) +{ + +} + +//----------------------------------------------------------------------------- +// MsgActivityHandler::MsgActivityHandler +// Destructor +//----------------------------------------------------------------------------- +MsgActivityHandler::~MsgActivityHandler() +{ + +} + +//----------------------------------------------------------------------------- +// MsgActivityHandler::saveActivity +// @see header +//----------------------------------------------------------------------------- +void MsgActivityHandler::saveActivity() +{ + HbActivityManager* activityManager = + qobject_cast(qApp)->activityManager(); + + if( mMainWindow->viewManager()->currentView()== MsgBaseView::CLV) + { + // get a screenshot for saving to the activity manager + QVariantHash metadata; + metadata.insert("screenshot", + QPixmap::grabWidget(mMainWindow, mMainWindow->rect())); + + // save any data necessary to save the state + QByteArray serializedActivity; + QDataStream stream(&serializedActivity, + QIODevice::WriteOnly | QIODevice::Append); + stream << ListViewActivityName; + + // add the activity to the activity manager + bool ok = activityManager->addActivity(ListViewActivityName, + serializedActivity, metadata); + } +} + +//----------------------------------------------------------------------------- +// MsgActivityHandler::handleActivity +// @see header +//----------------------------------------------------------------------------- +void MsgActivityHandler::handleActivity(const QVariant &activityData) +{ + // To be handled later + Q_UNUSED(activityData) +} + +//----------------------------------------------------------------------------- +// MsgActivityHandler::clearActivities +// @see header +//----------------------------------------------------------------------------- +void MsgActivityHandler::clearActivities() +{ + HbActivityManager* activityManager = + qobject_cast(qApp)->activityManager(); + activityManager->removeActivity(ListViewActivityName); +} + +//----------------------------------------------------------------------------- +// MsgActivityHandler::setMainWindow +// @see header +//----------------------------------------------------------------------------- +void MsgActivityHandler::setMainWindow(MsgMainWindow* mainWindow) +{ + mMainWindow = mainWindow; +}