--- a/mmsharing/livecommsui/lcui/src/lceffecthandler.cpp Tue Aug 31 15:12:07 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,379 +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:
-*
-*/
-
-//USER
-#include "lceffecthandler.h"
-#include "lclogger.h"
-#include "lcuidefs.h"
-#include "lcuiengine.h"
-
-//SYSTEM
-#include <hbinstance.h>
-#include <hbwidget.h>
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-LcEffectHandler::LcEffectHandler(LcUiEngine& engine,
- HbWidget* sharedVideo,
- HbWidget* sharedVideoOverlay,
- HbWidget* receivedVideo,
- HbWidget* receivedVideoOverlay) :
- mEngine(engine),
- mSharedVideo(sharedVideo),
- mSharedVideoOverlay(sharedVideoOverlay),
- mReceivedVideo(receivedVideo),
- mReceivedVideoOverlay(receivedVideoOverlay),
- mSwapSharedCompleted(false),
- mSwapReceivedCompleted(false),
- mSwapInProgress(false)
-{
- HbEffect::add(lcEffectWinId, lcEffectWinDisappear, lcEffectWinDisappearId );
- HbEffect::add(lcEffectWinId, lcEffectWinAppear, lcEffectWinAppearId );
- HbEffect::add(lcEffectWinId, lcEffectWinFlip, lcEffectWinFlipId );
- HbEffect::add(lcEffectWinId, lcEffectWinSwapDown, lcEffectWinSwapDownId );
- HbEffect::add(lcEffectWinId, lcEffectWinSwapUp, lcEffectWinSwapUpId );
-
- mEffectCallBack = lcEffectWinDefaultCallback;
-}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-LcEffectHandler::~LcEffectHandler()
-{
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::setVisibility(HbWidget* widget, bool visible)
-{
- if ( !HbEffect::effectRunning( widget )) {
- widget->setVisible( visible );
- }
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::setDissappearEffect(
- LcEffectHandler::DissapperEffect aEffectType )
-{
- if ( aEffectType == LcEffectHandler::DissappearToFlip ) {
- mEffectCallBack = "windowDisappearToFlipComplete";
- } else if ( aEffectType == LcEffectHandler::NormalDissappear ) {
- mEffectCallBack = "windowDisappearComplete";
- } else {
- mEffectCallBack = lcEffectWinDefaultCallback;
- }
-}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::showSendWindow()
-{
- LC_QDEBUG( "livecomms [UI] -> LcEffectHandler::showSendWindow()" )
- if ( mSharedVideo ) {
- if ( mSwapSharedCompleted || !HbEffect::effectRunning( mSharedVideoOverlay )) {
- startEffect( mSharedVideoOverlay,
- lcEffectWinAppearId, "windowAppearComplete" );
-
- mSharedVideo->show();
- } else {
- LC_QDEBUG( "livecomms [UI] LcEffectHandler: postponed due ongoing animation" )
- }
- }
- LC_QDEBUG( "livecomms [UI] <- LcEffectHandler::showSendWindow()" )
-}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::showReceiveWindow()
-{
- LC_QDEBUG( "livecomms [UI] -> LcEffectHandler::showReceiveWindow()" )
- if ( mReceivedVideo ) {
- if ( mSwapReceivedCompleted || !HbEffect::effectRunning( mReceivedVideoOverlay )) {
- startEffect( mReceivedVideoOverlay,
- lcEffectWinAppearId, "windowAppearComplete" );
- mReceivedVideo->show();
- } else {
- LC_QDEBUG( "livecomms [UI] LcEffectHandler: postponed due ongoing animation" )
- }
- }
- LC_QDEBUG( "livecomms [UI] <- LcEffectHandler::showReceiveWindow()" )
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::hideSendWindow()
-{
- LC_QDEBUG( "livecomms [UI] -> LcEffectHandler::hideSendWindow()" )
- if ( mSharedVideo && mSharedVideo->isVisible() ) {
- startEffect( mSharedVideoOverlay,
- lcEffectWinDisappearId, mEffectCallBack.toAscii().data() );
- mSharedVideo->hide();
- }
-
- mEffectCallBack = lcEffectWinDefaultCallback;
- LC_QDEBUG( "livecomms [UI] <- LcEffectHandlerLcEffectHandler::hideSendWindow()" )
-}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::hideReceiveWindow()
-{
- LC_QDEBUG( "livecomms [UI] -> LcEffectHandler::hideReceiveWindow()" )
- if ( mReceivedVideo && mReceivedVideo->isVisible() ) {
- startEffect( mReceivedVideoOverlay,
- lcEffectWinDisappearId, "windowDisappearComplete" );
- mReceivedVideo->hide();
- }
-
- LC_QDEBUG( "livecomms [UI] <- LcEffectHandler::hideReceiveWindow()" )
-}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::swap()
-{
- LC_QDEBUG( "livecomms [UI] -> LcEffectHandler::swap()" )
-
- // Emit the signal which triggers to loading of new swapped section
- mSwapInProgress = true;
- emit loadSwapLayout();
-
- startEffects();
-
- LC_QDEBUG( "livecomms [UI] <- LcEffectHandler::swap()" )
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::startEffects()
-{
- if( mSharedVideo && mReceivedVideo ) {
-
- mSwapSharedCompleted = false;
- mSwapReceivedCompleted = false;
-
- startEffect( mSharedVideoOverlay, lcEffectWinDisappearId, "windowSwapSharedComplete" );
- startEffect( mReceivedVideoOverlay, lcEffectWinDisappearId, "windowSwapReceivedComplete" );
-
- mSharedVideo->hide();
- mReceivedVideo->hide();
- }
-
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::startEffect(
- HbWidget* widget, const char *effectId, const char *callBack )
-{
- LC_QDEBUG( "livecomms [UI] -> LcEffectHandler::startEffect()" )
- if( widget ) {
- widget->setOpacity(1.0); // Previous effect might have set opacity to zero
- widget->show();
- LC_QDEBUG_2( "livecomms [UI] window: ", widget->geometry() )
- LC_QDEBUG_2( "livecomms [UI] effect name: ", QString(effectId) )
- HbEffect::start( widget, lcEffectWinId, effectId, this, callBack );
- }
- LC_QDEBUG( "livecomms [UI] <- LcEffectHandler::startEffect()" )
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::windowAppearComplete(HbEffect::EffectStatus status)
-{
- Q_UNUSED(status);
- LC_QDEBUG( "livecomms [UI] -> LcEffectHandler::windowAppearComplete()" )
-
- if ( status.item && status.item == mSharedVideoOverlay &&
- !HbEffect::effectRunning( mSharedVideoOverlay ) ) {
- mSharedVideoOverlay->hide();
-
- }
- if ( status.item && status.item == mReceivedVideoOverlay &&
- !HbEffect::effectRunning( mReceivedVideoOverlay ) ) {
- mReceivedVideoOverlay->hide();
-
- }
-
- LC_QDEBUG( "livecomms [UI] <- LcEffectHandler::windowAppearComplete()" )
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::windowDisappearComplete(HbEffect::EffectStatus status)
-{
- Q_UNUSED(status);
- LC_QDEBUG( "livecomms [UI] -> LcEffectHandler::windowDisappearComplete()" )
- LC_QDEBUG( "livecomms [UI] <- LcEffectHandler::windowDisappearComplete()" )
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::windowDisappearToFlipComplete(HbEffect::EffectStatus status)
-{
- Q_UNUSED(status);
- LC_QDEBUG( "livecomms [UI] -> LcEffectHandler::windowDisappearToFlipComplete()" )
- if( mSharedVideo ) {
- mSharedVideo->hide();
- startEffect( mSharedVideoOverlay, lcEffectWinFlipId, "windowFlipComplete" );
- }
- LC_QDEBUG( "livecomms [UI] <- LcEffectHandler::windowDisappearToFlipComplete()" )
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::windowFlipComplete(HbEffect::EffectStatus status)
-{
- Q_UNUSED(status);
- LC_QDEBUG( "livecomms [UI] -> LcEffectHandler::flipHideComplete()" )
- if( mEngine.isLocalPlayerPlaying() ) {
- showSendWindow();
- }
- LC_QDEBUG( "livecomms [UI] <- LcEffectHandler::flipHideComplete()" )
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::windowSwapSharedComplete(HbEffect::EffectStatus status)
-{
- Q_UNUSED(status);
- LC_QDEBUG( "livecomms [UI] -> LcEffectHandler::windowSwapSharedComplete()" )
- if( mSharedVideo ) {
- LC_QDEBUG_2( "livecomms [UI] window: ", mSharedVideo->geometry() )
- LC_QDEBUG_2( "livecomms [UI] effect window: ", mSharedVideoOverlay->geometry() )
-
- mSwapSharedCompleted = true;
-
- handleSwapCompletion();
- }
- LC_QDEBUG( "livecomms [UI] <- LcEffectHandler::windowSwapSharedComplete()" )
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::windowSwapReceivedComplete(HbEffect::EffectStatus status)
-{
- Q_UNUSED(status);
- LC_QDEBUG( "livecomms [UI] -> LcEffectHandler::windowSwapReceivedComplete()" )
- if( mReceivedVideo ) {
- LC_QDEBUG_2( "livecomms [UI] window: ", mReceivedVideo->geometry() )
- LC_QDEBUG_2( "livecomms [UI] effect window: ", mReceivedVideoOverlay->geometry() )
-
- mSwapReceivedCompleted = true;
-
- handleSwapCompletion();
- }
- LC_QDEBUG( "livecomms [UI] <- LcEffectHandler::windowSwapReceivedComplete()" )
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-bool LcEffectHandler::isSharedVideoAtTop() const
-{
- return ( mSharedVideo && mReceivedVideo &&
- mSharedVideo->geometry().top() < mReceivedVideo->geometry().top());
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-bool LcEffectHandler::videosSideBySide() const
-{
- return ( mSharedVideo && mReceivedVideo &&
- mSharedVideo->geometry().top() == mReceivedVideo->geometry().top() );
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void LcEffectHandler::handleSwapCompletion()
-{
- LC_QDEBUG( "livecomms [UI] -> LcEffectHandler::handleSwapCompletion()" )
- if ( mSwapSharedCompleted && mSwapReceivedCompleted ){
- LC_QDEBUG( "livecomms [UI] Both swaps done, complete" )
-
- emit swapCompleted();
-
- if( mEngine.isLocalPlayerPlaying() ) {
- showSendWindow();
- }
- if( mEngine.isRemotePlayerPlaying() ) {
- showReceiveWindow();
- }
-
- mSwapInProgress = false;
- }
- LC_QDEBUG( "livecomms [UI] <- LcEffectHandler::handleSwapCompletion()" )
-}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-bool LcEffectHandler::isSwapInProgress()
-{
- return mSwapInProgress;
-}
-
-
-// End of file
-