diff -r 819e59dfc032 -r 2d9cac8919d3 screengrabber/src/enginewrapper.cpp --- a/screengrabber/src/enginewrapper.cpp Mon Oct 04 10:09:02 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,250 +0,0 @@ -/* -* Copyright (c) 2010 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 -#include -#include -#include "enginewrapper.h" - -#include "settingsview.h" -#include "sgengine.h" -#include "mainview.h" -#include "notifications.h" - - -// --------------------------------------------------------------------------- - -EngineWrapper::EngineWrapper() -: iSGEngine(0), iProgressNote(0) -{ -} - -// --------------------------------------------------------------------------- - -EngineWrapper::~EngineWrapper() -{ - if (iSGEngine) { - iSGEngine->DeActivateModelL(); - delete iSGEngine; - } - if(iProgressNote){ - delete iProgressNote; - } -} - -// --------------------------------------------------------------------------- - -bool EngineWrapper::init() -{ - TRAPD(error, iSGEngine = SGEngine::NewL(this)); - - - if (error == KErrNone) { - TRAP(error, iSGEngine->ActivateModelL()); - } - - if (error != KErrNone) { - return false; - } - else { - return true; - } - -} - -// --------------------------------------------------------------------------- - -GrabSettings EngineWrapper::getGrabSettings() -{ - TGrabSettings tSettings = iSGEngine->GrabSettings(); - GrabSettings settings; - - // Convert TGrabSettings to GrabSettings - settings.mCaptureMode = tSettings.iCaptureMode; - - // Single image settings - settings.mSingleCaptureHotkey = tSettings.iSingleCaptureHotkey; - settings.mSingleCaptureImageFormat = tSettings.iSingleCaptureImageFormat; - settings.mSingleCaptureMemoryInUseMultiDrive = tSettings.iSingleCaptureMemoryInUseMultiDrive; - settings.mSingleCaptureFileName = QString((QChar*)tSettings.iSingleCaptureFileName.Ptr(),tSettings.iSingleCaptureFileName.Length()); - - //Seguantial image settings - settings.mSequantialCaptureDelay = tSettings.iSequantialCaptureDelay; - settings.mSequantialCaptureHotkey = tSettings.iSequantialCaptureHotkey; - settings.mSequantialCaptureImageFormat = tSettings.iSequantialCaptureImageFormat; - settings.mSequantialCaptureMemoryInUseMultiDrive = tSettings.iSequantialCaptureMemoryInUseMultiDrive; - settings.mSequantialCaptureDelay = tSettings.iSequantialCaptureDelay; - //convert TFilename to QString - settings.mSequantialCaptureFileName = QString((QChar*)tSettings.iSequantialCaptureFileName.Ptr(),tSettings.iSequantialCaptureFileName.Length()); - - - // Video settings - settings.mVideoCaptureHotkey = tSettings.iVideoCaptureHotkey; - settings.mVideoCaptureVideoFormat = tSettings.iVideoCaptureVideoFormat; - settings.mVideoCaptureMemoryInUseMultiDrive = tSettings.iVideoCaptureMemoryInUseMultiDrive; - //convert TFilename to QString - settings.mVideoCaptureFileName = QString((QChar*)tSettings.iVideoCaptureFileName.Ptr(),tSettings.iVideoCaptureFileName.Length()); - - return settings; -} - -// --------------------------------------------------------------------------- - -bool EngineWrapper::saveSettings(const GrabSettings& settings) -{ - TGrabSettings tSettings; - // Convert GrabSettings to TGrabSettings - tSettings.iCaptureMode = settings.mCaptureMode; - - tSettings.iSingleCaptureHotkey = settings.mSingleCaptureHotkey; - tSettings.iSingleCaptureImageFormat = settings.mSingleCaptureImageFormat; - tSettings.iSingleCaptureMemoryInUseMultiDrive = settings.mSingleCaptureMemoryInUseMultiDrive; - //convert TFilename to QString - tSettings.iSingleCaptureFileName = TFileName(settings.mSingleCaptureFileName.utf16()); - tSettings.iSequantialCaptureDelay = settings.mSequantialCaptureDelay; - tSettings.iSequantialCaptureHotkey = settings.mSequantialCaptureHotkey; - tSettings.iSequantialCaptureImageFormat = settings.mSequantialCaptureImageFormat; - tSettings.iSequantialCaptureMemoryInUseMultiDrive = settings.mSequantialCaptureMemoryInUseMultiDrive; - tSettings.iSequantialCaptureDelay = settings.mSequantialCaptureDelay; - //convert TFilename to QString - tSettings.iSequantialCaptureFileName = TFileName(settings.mSequantialCaptureFileName.utf16()); - - tSettings.iVideoCaptureHotkey = settings.mVideoCaptureHotkey; - tSettings.iVideoCaptureVideoFormat = settings.mVideoCaptureVideoFormat; - tSettings.iVideoCaptureMemoryInUseMultiDrive = settings.mVideoCaptureMemoryInUseMultiDrive; - //convert TFilename to QString - tSettings.iVideoCaptureFileName = TFileName(settings.mVideoCaptureFileName.utf16()); - TRAPD(error, iSGEngine->SaveSettingsL(tSettings)); - - if (error == KErrNone) { - TRAP(error, iSGEngine->ActivateCaptureKeysL(true)); - } - - if (error == KErrNone) { - return true; - } - else { - return false; - } - - -} - -// --------------------------------------------------------------------------- - - -void EngineWrapper::ShowImageCapturedNote() -{ - Notifications::imageCaptured(); -} - -// --------------------------------------------------------------------------- - -void EngineWrapper::ShowErrorMessage(const TDesC16& aErrorMessage) -{ - QString errorMessage((QChar*)aErrorMessage.Ptr(),aErrorMessage.Length()); - Notifications::error(errorMessage); - -} - -// --------------------------------------------------------------------------- - -void EngineWrapper::sendUIToBackground() -{ - CCoeEnv* coeEnv = CCoeEnv::Static(); - TApaTask selfTask(coeEnv->WsSession()); - selfTask.SetWgId(coeEnv->RootWin().Identifier()); - selfTask.SendToBackground(); -} - -// --------------------------------------------------------------------------- - - -#if defined(HB_QT_S60_EVENT_FILTER) -bool EngineWrapper::handleCaptureCommands(const TWsEvent* aEvent) -#else -bool EngineWrapper::handleCaptureCommands(const QSymbianEvent *aEvent) -#endif -{ - TBool retVal = ETrue; - TRAPD(errorCode, retVal = iSGEngine->HandleCaptureCommandsL(aEvent)); - if (errorCode != KErrNone) { - Notifications::error("Error occured when capturing screen."); - } - - return convertTBoolToBool(retVal); - -} - -// --------------------------------------------------------------------------- - -bool EngineWrapper::convertTBoolToBool(TBool value) -{ - if (value) { - return true; - } - else { - return false; - } -} - -// --------------------------------------------------------------------------- - -void EngineWrapper::ShowSequantialImagesCapturedNote(TInt amount) -{ - Notifications::sequantialImagesCaptured(amount); -} - -// --------------------------------------------------------------------------- - -void EngineWrapper::ShowVideoCapturedNote() -{ - Notifications::videoCaptured(); -} - -// --------------------------------------------------------------------------- - -void EngineWrapper::ShowProgressBar(int max) -{ - iProgressNote = Notifications::showProgressBar(max); -} - -// --------------------------------------------------------------------------- - -void EngineWrapper::IncrementProgressbarValue() -{ - iProgressNote->setProgressValue(iProgressNote->progressValue() + 1); -} - -// --------------------------------------------------------------------------- - -void EngineWrapper::CloseProgressbar() -{ - delete iProgressNote; - iProgressNote = 0; -} - -void EngineWrapper::EnableRcpOfFoc(TBool aState) -{ - iSGEngine->EnableRcpOfFoc(aState); -} - -void EngineWrapper::LoadSettings(void) -{ - iSGEngine->LoadSettingsL(); -} - -// ---------------------------------------------------------------------------