mmsharing/livecommsui/lcui/src/lcuicomponentrepository.cpp
branchRCL_3
changeset 33 bc78a40cd63c
parent 32 73a1feb507fb
child 35 6c57ef9392d2
--- a/mmsharing/livecommsui/lcui/src/lcuicomponentrepository.cpp	Tue Aug 31 15:12:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,589 +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 "lcuicomponentrepository.h"
-#include "lcview.h"
-#include "lcuidefs.h"
-#include "lclogger.h"
-#include "lcuiengine.h"
-#include "lcvideowidget.h"
-
-//SYSTEM
-#include <hbaction.h>
-#include <hbmenu.h>
-#include <hbtoolbar.h>
-#include <hbmessagebox.h>
-#include <hbdialog.h>
-#include <hbprogressdialog.h>
-#include <hblabel.h>
-#include <hbinstance.h>
-#include <hbdialog.h>
-#include <hbpushbutton.h>
-#include <hbframedrawer.h>
-#include <hbstyleloader.h>
-#include <dialpad.h>
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::LcUiComponentRepository
-// -----------------------------------------------------------------------------
-//
-LcUiComponentRepository::LcUiComponentRepository(LcUiEngine& engine)
-    : HbDocumentLoader(),
-      mEngine(engine),
-      mSlots(0),
-      mIdleView(0),
-      mReceiveView(0),
-      mSendView(0),
-      mTwowayView(0),
-      mAllInOneView(0),
-      mReceiveOnlyView(0),
-      mAcceptQuery(0),
-      mInvitingNote(0),
-      mWaitingNote(0),
-      mRecipientQuery(0),
-      mShareOwnVideoQuery(0)
-{
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::LcUiComponentRepository()" )
-    
-    mSlots = new QHash<QString,const char*>;
-    mSlots->insert( lcActFullscreenId, SLOT( notSupported() ) );
-    mSlots->insert( lcActVideopreferenceId, SLOT( notSupported() ) );
-    mSlots->insert( lcActDialerId, SLOT( notSupported() ) );
-    mSlots->insert( lcActEndactivecallId, SLOT( notSupported() ) );
-    mSlots->insert( lcActStopSharingId, SLOT( endVideoSession() ) );
-    mSlots->insert( lcActEnableCameraId, SLOT( disableCamera() ) );
-    mSlots->insert( lcActMuteId, SLOT( mute() ) );
-    mSlots->insert( lcActGalleryId, SLOT( notSupported() ) );
-    mSlots->insert( lcActChangeCameraId, SLOT( changeCamera() ) );    
-    mSlots->insert( lcActAdjustVideoId, SLOT( notSupported() ) );
-    mSlots->insert( lcActShareImageId, SLOT( notSupported() ) );
-    mSlots->insert( lcActSwapViewsId, SLOT( swap() ) );
-    mSlots->insert( lcActSwitchToVoiceCallId, SLOT( switchToVoiceCall() ) );    
-    mSlots->insert( lcActOpenKeypadId, SLOT( openDialpad() ) );
-    mSlots->insert( lcActDisableCameraId, SLOT( disableCamera() ) );
-    mSlots->insert( lcActSpeakerId, SLOT( speaker() ) );
-
-    mSlots->insert( lcActMenuDisableCameraId, SLOT( disableCamera() ) );    
-    mSlots->insert( lcActMenuChangeCameraId, SLOT( changeCamera() ) );    
-    
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::LcUiComponentRepository()" )
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::~LcUiComponentRepository
-// -----------------------------------------------------------------------------
-//
-LcUiComponentRepository::~LcUiComponentRepository()
-{
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::~LcUiComponentRepository()" )
-    
-    delete mSlots;
-    
-    mIdleViewComponents.clear();
-    mReceiveViewComponents.clear();
-    mSendViewComponents.clear();
-    mTwowayViewComponents.clear();
-    mAllInOneViewComponents.clear();
-    mReceiveOnlyViewComponents.clear();
-    
-    delete mAcceptQuery;
-    delete mInvitingNote;
-    delete mWaitingNote;
-    delete mRecipientQuery;
-    delete mShareOwnVideoQuery;
- 
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::~LcUiComponentRepository()" )
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::createObject
-// -----------------------------------------------------------------------------
-//
-QObject* LcUiComponentRepository::createObject(
-        const QString& type, const QString &name)
-{
-    QObject* object = 0;
-    
-    if ( type == lcLcViewTypeName || 
-         name == lcViewIdleId ||
-         name == lcViewReceiveId || 
-         name == lcViewReceiveOnlyId || 
-         name == lcViewAllInOneId || 
-         name == lcViewSendId ||
-         name == lcViewTwowayId ) {
-        LC_QDEBUG_2( "-> LcUiComponentRepository::createObject() ",
-        "- creating LcView -" )
-        object = new LcView( mEngine, *this );           
-    } 
-    else if ( name == lcWidgetSendVideoId ) {
-        LC_QDEBUG_2( "-> LcUiComponentRepository::createObject() ",
-        "- creating shared video widget -" )
-        object = new LcVideoWidget();
-        static_cast<LcVideoWidget*>(object)->setLocalPlayer(true);
-    }
-    else if ( name == lcWidgetSendVideoId2 ) {
-        LC_QDEBUG_2( "-> LcUiComponentRepository::createObject() ",
-        "- creating shared video widget effect overlay -" )
-        object = new LcVideoWidget(0, false);
-        static_cast<LcVideoWidget*>(object)->setLocalPlayer(true);
-    }
-    else if ( name == lcWidgetRecvVideoId ) {
-        LC_QDEBUG_2( "-> LcUiComponentRepository::createObject() ",
-        "- creating received video widget -" )
-        object = new LcVideoWidget();
-        static_cast<LcVideoWidget*>(object)->setLocalPlayer(false);
-                
-    }  
-    else if ( name == lcWidgetRecvVideoId2 ) {
-        LC_QDEBUG_2( "-> LcUiComponentRepository::createObject() ",
-        "- creating received video widget effect overlay -" )
-        object = new LcVideoWidget(0, false);
-        static_cast<LcVideoWidget*>(object)->setLocalPlayer(false);
-    }
-    else if ( name == lcButtonEndCall ){
-        object = HbDocumentLoader::createObject( type, name );
-        HbFrameDrawer*frameDrawer = new HbFrameDrawer("qtg_fr_btn_red_normal",HbFrameDrawer::NinePieces);
-        static_cast<HbPushButton*>(object)->setFrameBackground(frameDrawer);
-        HbStyleLoader::registerFilePath(":/hbpushbutton_color.css");
-    }
-    else if ( name == lcWidgetDialpad ){
-      HbMainWindow* pWindow = HbInstance::instance()->allMainWindows().at(0);
-        if( pWindow ){
-            object = new Dialpad( *pWindow );
-        }
-    }
-    else {
-        object = HbDocumentLoader::createObject( type, name );
-    }
-    if (object) {
-        object->setObjectName(name);
-    }
-    
-    LC_QDEBUG_2( "livecomms [UI] <- LcUiComponentRepository::createObject(), name=", name )
-    
-    return object;
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::idleView
-// -----------------------------------------------------------------------------
-//
-LcView* LcUiComponentRepository::idleView()
-{
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::idleView()" );
-
-    reset();
-    setObjectTree( mIdleViewComponents );
-    
-    if ( !mIdleView ) {
-        mIdleView = loadView( 
-            mIdleViewComponents, lcViewIdleId, lcIdleViewFile );
-    }
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::idleView()" );
-    return mIdleView;
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::receiveView
-// -----------------------------------------------------------------------------
-//
-LcView* LcUiComponentRepository::receiveView()
-{
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::receiveView()" );
-
-    reset();
-    setObjectTree( mReceiveViewComponents );
-    if ( !mReceiveView ) {
-        mReceiveView = loadView( 
-            mReceiveViewComponents, lcViewReceiveId, lcReceiveViewFile );
-    } 
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::receiveView()" );
-    return mReceiveView;
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::receiveOnlyView
-// -----------------------------------------------------------------------------
-//
-LcView* LcUiComponentRepository::receiveOnlyView()
-{
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::receiveOnlyView()" );
-
-    reset();
-    setObjectTree( mReceiveOnlyViewComponents );
-    if ( !mReceiveOnlyView ) {
-        mReceiveOnlyView = loadView( 
-            mReceiveOnlyViewComponents, lcViewReceiveOnlyId, lcReceiveOnlyViewFile );
-    } 
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::receiveOnlyView()" );
-    return mReceiveOnlyView;
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::twowayView
-// -----------------------------------------------------------------------------
-//
-LcView* LcUiComponentRepository::twowayView()
-{
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::twowayView()" );
-
-    reset();
-    setObjectTree( mTwowayViewComponents );
-    if ( !mTwowayView ) {
-        mTwowayView = loadView( 
-            mTwowayViewComponents, lcViewTwowayId, lcTwowayViewFile );
-    } 
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::twowayView()" );
-    return mTwowayView; 
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::sendView
-// -----------------------------------------------------------------------------
-//
-LcView* LcUiComponentRepository::sendView()
-{
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::sendView()" );
-
-    reset();
-    setObjectTree( mSendViewComponents );
-    if ( !mSendView ) {
-        mSendView = 
-            loadView( mSendViewComponents, lcViewSendId, lcSendViewFile );
-    } 
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::sendView()" );
-    return mSendView; 
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::allInOneView
-// -----------------------------------------------------------------------------
-//
-LcView* LcUiComponentRepository::allInOneView()
-{
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::allInOneView()" );
-
-    reset();
-    setObjectTree( mAllInOneViewComponents );
-    if ( !mAllInOneView ) {
-        mAllInOneView = loadView( 
-            mAllInOneViewComponents, lcViewAllInOneId, lcAllInOneViewFile );
-    }
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::allInOneView()" );
-    return mAllInOneView;   
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::acceptQuery
-// -----------------------------------------------------------------------------
-//
-HbDialog* LcUiComponentRepository::acceptQuery()
-{
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::acceptQuery()" );
-
-    if ( !mAcceptQuery ) {
-        mAcceptQuery = new HbDialog();
-        HbAction* acceptAction = new HbAction( LC_OK );
-        HbAction* rejectAction = new HbAction( LC_CANCEL );
-        mAcceptQuery->addAction(acceptAction);
-        mAcceptQuery->addAction(rejectAction);
-        mAcceptQuery->setVisible(false);
-        HbLabel* label = new HbLabel( LC_ACCEPT_SESSION );
-        mAcceptQuery->setHeadingWidget(label);
-        HbLabel* label2 = new HbLabel();
-        mAcceptQuery->setContentWidget(label2);
-        mAcceptQuery->setTimeout(0);
-        mAcceptQuery->setDismissPolicy(HbDialog::NoDismiss);
-    }
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::acceptQuery()" );
-    return mAcceptQuery;
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::invitingNote
-// -----------------------------------------------------------------------------
-//
-HbProgressDialog* LcUiComponentRepository::invitingNote()
-{
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::invitingNote()" );
-    
-    if ( !mInvitingNote ) {
-        mInvitingNote = new HbProgressDialog();
-        mInvitingNote->setVisible(false);
-        mInvitingNote->setText( LC_INVITING );
-        HbAction* rejectAction = new HbAction( LC_CANCEL );
-        mInvitingNote->addAction(rejectAction);
-    } 
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::invitingNote()" );
-    return mInvitingNote;
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::waitingNote
-// -----------------------------------------------------------------------------
-//
-HbProgressDialog* LcUiComponentRepository::waitingNote()
-{
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::waitingNote()" );
-    
-    if ( !mWaitingNote ) {
-        mWaitingNote = new HbProgressDialog();
-        mWaitingNote->setVisible(false);
-        HbAction* rejectAction = new HbAction( LC_CANCEL );
-        mWaitingNote->addAction(rejectAction);   
-        mWaitingNote->setText( LC_WAITING_VIDEO );
-    }
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::waitingNote()" );
-    return mWaitingNote;
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::recipientQuery
-// -----------------------------------------------------------------------------
-//
-HbDialog* LcUiComponentRepository::recipientQuery()
-{
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::recipientQuery()" );
-
-    if ( !mRecipientQuery ) {
-        mRecipientQuery = new HbDialog();
-        HbLabel* label = new HbLabel( LC_RECIPIENT_QUERY );
-        mRecipientQuery->setHeadingWidget(label);
-        mRecipientQuery->setTimeout(HbDialog::NoTimeout);
-        mRecipientQuery->setDismissPolicy(HbDialog::TapOutside);
-        HbAction* acceptAction = new HbAction( LC_OK );
-        HbAction* rejectAction = new HbAction( LC_CANCEL );
-        mRecipientQuery->addAction(acceptAction);
-        mRecipientQuery->addAction(rejectAction);
-        mRecipientQuery->setVisible(false);
-    }
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::recipientQuery()" );
-    return mRecipientQuery;
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::shareOwnVideoQuery
-// -----------------------------------------------------------------------------
-//
-HbDialog* LcUiComponentRepository::shareOwnVideoQuery()
-{
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::shareOwnVideoQuery()" );
-
-    if ( !mShareOwnVideoQuery ) {
-        mShareOwnVideoQuery = new HbMessageBox( HbMessageBox::MessageTypeQuestion );
-        mShareOwnVideoQuery->setStandardButtons( HbMessageBox::Yes | HbMessageBox::No );
-        mShareOwnVideoQuery->setText( hbTrId( "txt_vt_info_allow_own_image_to_be_sent" ));
-        mShareOwnVideoQuery->setZValue(LC_NOTE_ON_TOP);
-        mShareOwnVideoQuery->setTimeout( HbDialog::NoTimeout );
-        mShareOwnVideoQuery->setDismissPolicy( HbDialog::NoDismiss );        
-        mShareOwnVideoQuery->setVisible(false);
-    }
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::shareOwnVideoQuery()" );
-    return mShareOwnVideoQuery;
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::sharedVideoContextMenuActions
-// -----------------------------------------------------------------------------
-//
-void LcUiComponentRepository::sharedVideoContextMenuActions( HbMenu* menu, LcView& view )
-{
-    Q_UNUSED(view)
-    LC_QDEBUG( 
-   "livecomms [UI] -> LcUiComponentRepository::sharedVideoContextMenuActions()" );
-    
-    menu->actions().clear();
-    //due stubs in unit tests, qobject_cast cannot be used. 
-    //Using static_cast instead
-    HbAction* swap = static_cast<HbAction*>( findObject( lcActSwapViewsId ) );
-    HbAction* changeCamera = 
-        static_cast<HbAction*>( findObject( lcActMenuChangeCameraId ) );
-    
-    HbAction* disableCamera = 
-        static_cast<HbAction*>( findObject( lcActMenuDisableCameraId ) );
-    HbAction* enableCamera = 
-            static_cast<HbAction*>( findObject( lcActEnableCameraId ) );
-              
-    if ( swap ) {
-        LC_QDEBUG_2( "Adding ", swap->text() );
-        menu->addAction( swap );
-    }
-    if ( changeCamera ) {
-        LC_QDEBUG_2( "Adding ", changeCamera->text() );
-        menu->addAction( changeCamera );
-    }
-    if ( mEngine.isLocalPlayerPlaying() ) {
-        if ( disableCamera ) {
-            LC_QDEBUG_2( "Adding ", disableCamera->text() );
-            menu->addAction( disableCamera );
-        }    
-    } else {
-        if ( enableCamera ) {
-            LC_QDEBUG_2( "Adding ", enableCamera->text() );
-            menu->addAction( enableCamera );
-        }        
-    }
-
-  
-    LC_QDEBUG( 
-   "livecomms [UI] <- LcUiComponentRepository::sharedVideoContextMenuActions()" );
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::loadView
-// -----------------------------------------------------------------------------
-//
-LcView* LcUiComponentRepository::loadView( QObjectList& components,
-                                           const QString& viewId, 
-                                           const QString& xmlFile )
-{
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::loadView()" );
-
-    LcView* view = 0;
-    bool ok( false );
-    // Load the XML file
-    components = load( xmlFile, &ok );
-
-    if ( !ok ) {
-        LC_QCRITICAL_3( "! loading of XML file ", xmlFile , " failed !" )
-        return 0;
-    }
-    
-    mLastLoadedView = xmlFile;
-
-    ok = loadLayout( lcLayoutLandscapeDefaultId );
-    if ( !ok ) {
-         LC_QCRITICAL( "! loading of layout failed !" )
-         return 0;
-     }
-
-    view = qobject_cast<LcView*>( findWidget( viewId ) );
-    if ( view ) {
-        connectActions( *view );
-        view->init();
-    }
-    
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::loadView()" );
-    return view;
-}
-
-    
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::connectActions
-// -----------------------------------------------------------------------------
-//
-void LcUiComponentRepository::connectActions( LcView& view ) const
-{
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::connectActions()" );
-    foreach( QAction* hbAction, view.menu()->actions() ) {
-        connect( *hbAction, view );
-    }
-    foreach( QAction* hbAction, view.toolBar()->actions() ) {
-        connect( *hbAction, view );
-    }
-
-    HbAction* changeCamera = 
-        static_cast<HbAction*>( findObject( lcActMenuChangeCameraId ) );
-    HbAction* disableCamera = 
-        static_cast<HbAction*>( findObject( lcActMenuDisableCameraId ) );
-    HbAction* enableCamera = 
-        static_cast<HbAction*>( findObject( lcActEnableCameraId ) );
-
-    QObject::connect( changeCamera, SIGNAL(triggered()), 
-      &view, SLOT(changeCamera()) );
-
-    QObject::connect( disableCamera, SIGNAL(triggered()), 
-      &view, SLOT(disableCamera()) );
-    
-    QObject::connect( enableCamera, SIGNAL(triggered()), 
-          &view, SLOT(disableCamera()) );
-    
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::connectActions()" )  
-}
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::connect
-// -----------------------------------------------------------------------------
-//
-bool LcUiComponentRepository::connect( QAction& hbAction, LcView& view ) const
-{
-    LC_QDEBUG_2( "livecomms [UI] -> LcUiComponentRepository::connect() action=",
-                 hbAction.objectName() )
-    
-    const char* method = mSlots->value( hbAction.objectName() ); 
-    bool slotFound = ( QString( method ).length() > 0 );
-    
-    if ( slotFound ) {
-        QObject::connect( &hbAction, SIGNAL(triggered()), &view, method );  
-    }
-    
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::connect()" )
-    
-    return slotFound;
-}
-
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::loadLayout
-// -----------------------------------------------------------------------------
-//
-bool LcUiComponentRepository::loadLayout( const QString& layoutName )
-    {
-    LC_QDEBUG( "livecomms [UI] -> LcUiComponentRepository::loadLayout()" )    
-    bool ok( false );
-  
-    if ( mLastLoadedView.length() > 0) {
-        LC_QDEBUG_4( "layout = ", layoutName, ", view =",  mLastLoadedView )
-
-        load( mLastLoadedView, layoutName, &ok );
-        if (!ok) {
-            LC_QCRITICAL( "! loading of XML failed !" )
-        }
-        else{
-            mPreviousLayout = mLayout; 
-            mLayout = layoutName;
-        }
-    } else {
-        LC_QCRITICAL( "! not loading layout, since view is not loaded!" )
-    }
-
-    LC_QDEBUG( "livecomms [UI] <- LcUiComponentRepository::loadLayout()" )
-    return ok;
-    }
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::layout()const
-// -----------------------------------------------------------------------------
-//
-QString LcUiComponentRepository::layout()const
-    {
-    LC_QDEBUG_2( "livecomms [UI] -> LcUiComponentRepository::layout()",mLayout )    
-    return mLayout;
-    }
-
-// -----------------------------------------------------------------------------
-// LcUiComponentRepository::previousLayout()const
-// -----------------------------------------------------------------------------
-//
-QString LcUiComponentRepository::previousLayout()const
-    {
-    LC_QDEBUG_2( "livecomms [UI] -> LcUiComponentRepository::previousLayout()",
-                                                              mPreviousLayout )    
-    return mPreviousLayout;
-    }
-// End of file