diff -r 360d55486d7f -r 5de72ea7a065 calendarui/views/src/calennativeview.cpp --- a/calendarui/views/src/calennativeview.cpp Fri Jun 11 13:37:54 2010 +0300 +++ b/calendarui/views/src/calennativeview.cpp Wed Jun 23 18:11:28 2010 +0300 @@ -24,6 +24,8 @@ #include #include #include +#include //Activity Manager +#include //hbapplication //user includes #include @@ -32,6 +34,7 @@ #include "calencontext.h" #include "calensettingsview.h" #include "calendateutils.h" +#include "calenconstants.h" /*! \class CalenNativeView @@ -42,7 +45,7 @@ Default constructor. */ CalenNativeView::CalenNativeView(MCalenServices &services) : - mServices(services) + mServices(services), mIsCapturedScreenShotValid(false) { setTitle(hbTrId("txt_calendar_title_calendar")); @@ -206,4 +209,49 @@ return mServices.InfobarTextL(); } +// ---------------------------------------------------------------------------- +// captureScreenshot caltures screen shot for the given viewId +// @param viewId view for which screenshot needs to be captured +// ---------------------------------------------------------------------------- +// +void CalenNativeView::captureScreenshot(bool captureScreenShot) + { + // get a screenshot for saving to the activity manager. It's done for once + // to optimize the performance + if (captureScreenShot) { + mScreenShotMetadata.clear(); // remove any screenshot captured earlier + mScreenShotMetadata.insert("screenshot", QPixmap::grabWidget(mainWindow(), mainWindow()->rect())); + } + mIsCapturedScreenShotValid = captureScreenShot; // set the validity of the screenshot captured + } + +// ---------------------------------------------------------------------------- +// saveActivity saves the activity for current view +// ---------------------------------------------------------------------------- +// +void CalenNativeView::saveActivity() + { + // Get a pointer to activity manager + HbActivityManager* activityManager = qobject_cast(qApp)->activityManager(); + + // check if alerady a valid screen shot is captured + if (!mIsCapturedScreenShotValid) { + mScreenShotMetadata.clear(); // remove any screenshot captured earlier + mScreenShotMetadata.insert("screenshot", QPixmap::grabWidget(mainWindow(), mainWindow()->rect())); + } + + // Save any data necessary to save the state + QByteArray serializedActivity; + QDataStream stream(&serializedActivity, QIODevice::WriteOnly | QIODevice::Append); + stream << mActivityId; + + bool ok(false); + // Save activity + ok = activityManager->addActivity(activityName, serializedActivity, mScreenShotMetadata); + + // Check is activity saved sucessfully + if ( !ok ) { + qFatal("Add failed" ); // Panic is activity is not saved successfully + } + } //End Of File