# HG changeset patch # User hgs # Date 1286260009 -10800 # Node ID adb51f74b890a9b0da05ffde1f2d25eb4eb27a0d # Parent 4707a0db12f6866ce550e9da22d1327835e6a648 201039 diff -r 4707a0db12f6 -r adb51f74b890 layers.sysdef.xml --- a/layers.sysdef.xml Mon Sep 20 18:25:37 2010 +0300 +++ b/layers.sysdef.xml Tue Oct 05 09:26:49 2010 +0300 @@ -18,7 +18,7 @@ - + diff -r 4707a0db12f6 -r adb51f74b890 package_definition.xml --- a/package_definition.xml Mon Sep 20 18:25:37 2010 +0300 +++ b/package_definition.xml Tue Oct 05 09:26:49 2010 +0300 @@ -1,6 +1,6 @@ - + @@ -20,140 +20,44 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - + + - - + + - - + + @@ -173,4 +77,3 @@ - diff -r 4707a0db12f6 -r adb51f74b890 videocollection/inc/videocollectioncommon.h --- a/videocollection/inc/videocollectioncommon.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/inc/videocollectioncommon.h Tue Oct 05 09:26:49 2010 +0300 @@ -78,7 +78,7 @@ */ const char * const VideoDetailLabels[] = { QT_TR_NOOP("txt_videos_list_title"), - QT_TR_NOOP("txt_videos_list_filename"), + QT_TR_NOOP("txt_videos_list_file_name"), QT_TR_NOOP("txt_videos_list_file_path"), QT_TR_NOOP("txt_videos_list_drm"), QT_TR_NOOP("txt_videos_list_service"), diff -r 4707a0db12f6 -r adb51f74b890 videocollection/mpxmyvideoscollection/src/vcxmyvideosasyncfileoperations.cpp --- a/videocollection/mpxmyvideoscollection/src/vcxmyvideosasyncfileoperations.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/mpxmyvideoscollection/src/vcxmyvideosasyncfileoperations.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -481,8 +481,7 @@ { video = CMPXMedia::NewL( *videoInCache ); } - - if ( !video ) + else { video = iCollection.iMyVideosMdsDb->CreateVideoL( aMdsId, EFalse /* brief details */ ); } diff -r 4707a0db12f6 -r adb51f74b890 videocollection/mpxmyvideoscollection/src/vcxmyvideoscollectionutil.cpp --- a/videocollection/mpxmyvideoscollection/src/vcxmyvideoscollectionutil.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/mpxmyvideoscollection/src/vcxmyvideoscollectionutil.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -180,7 +180,9 @@ for ( TInt i = 0; i < count; i++ ) { media = CMPXMedia::NewL( *(fromArray->AtL( i )) ); // points to same shared memory + CleanupStack::PushL( media ); toArray->AppendL( media ); //ownership moves + CleanupStack::Pop( media ); } } diff -r 4707a0db12f6 -r adb51f74b890 videocollection/tsrc/stubs/inc/videohintwidgetdata.h --- a/videocollection/tsrc/stubs/inc/videohintwidgetdata.h Mon Sep 20 18:25:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +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: stub data for video hint widget -* -*/ - -#ifndef VIDEOHINTWIDGETDATA_H -#define VIDEOHINTWIDGETDATA_H - - -class VideoHintWidgetData -{ -public: // methods - static void reset() - { - mSettedHintLevel = -1; - mSettedButtonShowLevel = false; - } - -public: // data - static int mSettedHintLevel; - static bool mSettedButtonShowLevel; - -}; - -#endif /* VIDEOHINTWIDGETDATA_H */ diff -r 4707a0db12f6 -r adb51f74b890 videocollection/tsrc/stubs/inc/videoservices.h --- a/videocollection/tsrc/stubs/inc/videoservices.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/tsrc/stubs/inc/videoservices.h Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: % +// Version : %version: 4 % #ifndef __VIDEOSERVICES_H__ #define __VIDEOSERVICES_H__ @@ -39,6 +39,8 @@ { Q_OBJECT + Q_DISABLE_COPY( VideoServices ) + public: /** @@ -123,6 +125,7 @@ */ virtual ~VideoServices(); + public: void setEngine( VideoPlayerEngine* engine ); /** @@ -137,8 +140,6 @@ */ VideoPlayerEngine* engine(); - Q_DISABLE_COPY( VideoServices ) - private: /** diff -r 4707a0db12f6 -r adb51f74b890 videocollection/tsrc/stubs/src/hbdocumentloader.cpp --- a/videocollection/tsrc/stubs/src/hbdocumentloader.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/tsrc/stubs/src/hbdocumentloader.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -30,7 +30,6 @@ #include "videocollectionuiloaderdef.h" #include "videolistwidget.h" #include "videolistview.h" -#include "videohintwidget.h" #include "videolistselectiondialog.h" bool HbDocumentLoader::mFindWidgetFails = false; @@ -229,10 +228,6 @@ { obj = new VideoListWidget(0, 0); } - else if(name == DOCML_NAME_VC_VIDEOHINTWIDGET) - { - obj = new VideoHintWidget(0, 0); - } else if(name == DOCML_NAME_OPTIONS_MENU) { obj = new HbMenu(); @@ -269,11 +264,7 @@ { obj = new HbAction(); } - else if(name == DOCML_NAME_HINT_BUTTON) - { - obj = new HbPushButton(); - } - else if(name == DOCML_NAME_NO_VIDEOS_LABEL) + else if(name == DOCML_NAME_NO_CONTENT_LABEL) { obj = new HbLabel(); } diff -r 4707a0db12f6 -r adb51f74b890 videocollection/tsrc/stubs/src/videocollectionuiloader.cpp --- a/videocollection/tsrc/stubs/src/videocollectionuiloader.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/tsrc/stubs/src/videocollectionuiloader.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -26,7 +26,6 @@ #include "videocollectionuiloaderdef.h" #include "videolistview.h" #include "videolistwidget.h" -#include "videohintwidget.h" #include "videolistselectiondialog.h" #include "videocollectionwrapper.h" @@ -166,10 +165,6 @@ { } - else if (name == DOCML_NAME_VC_VIDEOHINTWIDGET) - { - - } else if (name == DOCML_NAME_OPTIONS_MENU) { @@ -246,10 +241,6 @@ return 0; } } - else if (name == DOCML_NAME_VC_VIDEOHINTWIDGET) - { - object = new VideoHintWidget(this); - } if (object) { object->setObjectName(name); diff -r 4707a0db12f6 -r adb51f74b890 videocollection/tsrc/stubs/src/videohintwidget.cpp --- a/videocollection/tsrc/stubs/src/videohintwidget.cpp Mon Sep 20 18:25:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +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: Videolist content widget implementation -* -*/ - -#include "videohintwidget.h" -#include "videohintwidgetdata.h" - -int VideoHintWidgetData::mSettedHintLevel = -1; -bool VideoHintWidgetData::mSettedButtonShowLevel = false; - -VideoHintWidget::VideoHintWidget(VideoCollectionUiLoader *uiLoader, - QGraphicsItem *parent): - HbWidget(parent), - mUiLoader(uiLoader), - mCurrentLevel(AllVideos) -{ - // NOP -} - -VideoHintWidget::~VideoHintWidget() -{ - // nop -} - -void VideoHintWidget::initialize() -{ - // not stubbed - return; -} - -void VideoHintWidget::setLevel(HintLevel level) -{ - VideoHintWidgetData::mSettedHintLevel = (int)level; -} - -void VideoHintWidget::setButtonShown(bool shown) -{ - VideoHintWidgetData::mSettedButtonShowLevel = shown; -} - -void VideoHintWidget::orientationChangedSlot(Qt::Orientation targetOrientation) -{ - Q_UNUSED(targetOrientation); - // not stubbed -} - -void VideoHintWidget::activate() -{ - setVisible(true); -} - -void VideoHintWidget::deactivate() -{ - setVisible(false); -} - -void VideoHintWidget::updateUiComponents() -{ - // not stubbed -} - -// end of file diff -r 4707a0db12f6 -r adb51f74b890 videocollection/tsrc/stubs/src/videolisttoolbar.cpp --- a/videocollection/tsrc/stubs/src/videolisttoolbar.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/tsrc/stubs/src/videolisttoolbar.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 1 % +// Version : %version: 2 % // INCLUDE FILES #include @@ -104,14 +104,6 @@ Q_UNUSED(uidKey); } -// --------------------------------------------------------------------------- -// openOperatorServiceSlot() -// --------------------------------------------------------------------------- -// -void VideoListToolbar::openOperatorServiceSlot() -{ -} - // ------------------------------------------------------------------------------------------------- // addVideosToCollectionSlot() // ------------------------------------------------------------------------------------------------- diff -r 4707a0db12f6 -r adb51f74b890 videocollection/tsrc/stubs/src/videolistview.cpp --- a/videocollection/tsrc/stubs/src/videolistview.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/tsrc/stubs/src/videolistview.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -125,12 +125,6 @@ // not stubbed } -void VideoListView::setHintLevel(VideoHintWidget::HintLevel level) -{ - Q_UNUSED(level); - // not stubbed -} - void VideoListView::updateSubLabel() { // not stubbed diff -r 4707a0db12f6 -r adb51f74b890 videocollection/tsrc/stubs/stubs.pro --- a/videocollection/tsrc/stubs/stubs.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/tsrc/stubs/stubs.pro Tue Oct 05 09:26:49 2010 +0300 @@ -73,7 +73,6 @@ inc/videocollectionwrapperdata.h \ inc/videolistdatamodeldata.h \ inc/videolistselectiondialogdata.h \ - inc/videohintwidgetdata.h \ inc/videolistwidgetdata.h \ inc/videolistviewdata.h \ inc/videolisttoolbardata.h \ @@ -88,7 +87,6 @@ inc/videoservices.h \ ../../videocollectionview/inc/videocollectionuiloader.h \ ../../videocollectionview/inc/videocollectionviewutils.h \ - ../../videocollectionview/inc/videohintwidget.h \ ../../videocollectionview/inc/videolistselectiondialog.h \ ../../videocollectionview/inc/videolistwidget.h \ ../../videocollectionview/inc/videolistview.h \ @@ -132,7 +130,6 @@ src/xqserviceutilxtra.cpp \ src/videocollectionuiloader.cpp \ src/videocollectionviewutils.cpp \ - src/videohintwidget.cpp \ src/videolistselectiondialog.cpp \ src/videolistwidget.cpp \ src/videolistview.cpp \ diff -r 4707a0db12f6 -r adb51f74b890 videocollection/tsrc/videoservicestestapp/inc/videoservicestestappview.h --- a/videocollection/tsrc/videoservicestestapp/inc/videoservicestestappview.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/tsrc/videoservicestestapp/inc/videoservicestestappview.h Tue Oct 05 09:26:49 2010 +0300 @@ -37,16 +37,13 @@ void handleError(int errorCode, const QString& errorMessage); void fetchVideo(); - void fetchVideoDeprecatedOldService(); void fetchVideoDeprecatedNewService(); void browseCapturedVideos(); - void browseCapturedVideosDeprecatedOldService(); void browseCapturedVideosDeprecatedNewService(); public slots: void browseCapturedVideosFinished(HbAction *action); - void browseCapturedVideosDeprecatedOldServiceFinished(HbAction *action); void browseCapturedVideosDeprecatedNewServiceFinished(HbAction *action); private: diff -r 4707a0db12f6 -r adb51f74b890 videocollection/tsrc/videoservicestestapp/src/videoservicestestappview.cpp --- a/videocollection/tsrc/videoservicestestapp/src/videoservicestestappview.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/tsrc/videoservicestestapp/src/videoservicestestappview.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -124,16 +124,7 @@ if (bottomLayout) { - //bottomLayout->addStretch(); -/* - HbPushButton* button = new HbPushButton("Fetch video OLD IF OLD S"); - if (button) - { - connect(button, SIGNAL(clicked()), this, SLOT(fetchVideoDeprecatedOldService())); - bottomLayout->addItem(button); - } -*/ - HbPushButton* button = new HbPushButton("Fetch video OLD IF NEW S"); + HbPushButton* button = new HbPushButton("Fetch video OLD (removed)"); if (button) { connect(button, SIGNAL(clicked()), this, SLOT(fetchVideoDeprecatedNewService())); @@ -147,15 +138,7 @@ bottomLayout->addItem(button); } -/* - button = new HbPushButton("Browse \"Captured\" videos OLD IF OLD S"); - if (button) - { - connect(button, SIGNAL(clicked()), this, SLOT(browseCapturedVideosDeprecatedOldService())); - bottomLayout->addItem(button); - } -*/ - button = new HbPushButton("Browse \"Captured\" videos OLD IF NEW S"); + button = new HbPushButton("Browse \"Captured\" videos OLD(removed)"); if (button) { connect(button, SIGNAL(clicked()), this, SLOT(browseCapturedVideosDeprecatedNewService())); @@ -188,7 +171,7 @@ delete mReq; mReq = 0; - mReq = mAppMgr.create(XQI_VIDEO_FETCH, "fetch()", true); + mReq = mAppMgr.create(XQI_VIDEO_FETCH, XQOP_VIDEO_FETCH, true); qDebug() << "VideoServicesTestAppView::fetchVideo: mReq=" << mReq; @@ -233,7 +216,8 @@ delete mReq; mReq = 0; - mReq = mAppMgr.create("com.nokia.symbian.IVideoBrowse", "browseVideos(int,int)", true); + //mReq = mAppMgr.create(XQI_VIDEO_BROWSE, XQOP_VIDEO_BROWSE, true); + mReq = mAppMgr.create(XQI_VIDEO_BROWSE, "browseVideos(int,int)", true); qDebug() << "VideoServicesTestAppView::browseCapturedVideos: mReq=" << mReq; @@ -260,8 +244,8 @@ dialog->setInputMode(HbInputDialog::IntInput, 1); dialog->setPromptText("Enter category", 0); dialog->setPromptText("Enter sort role", 1); - dialog->setValue(3, 0); - dialog->setValue(0, 1); + dialog->setValue(KVcxMvcCategoryIdCaptured, 0); + dialog->setValue(XQService::SortTitle, 1); dialog->open(this, SLOT(browseCapturedVideosFinished(HbAction *))); qDebug() << "VideoServicesTestAppView::browseCapturedVideos END"; @@ -294,49 +278,6 @@ } } -void VideoServicesTestAppView::fetchVideoDeprecatedOldService() -{ - qDebug() << "VideoServicesTestAppView::fetchVideo START"; - - mResultEdit->setText(""); - mErrorEdit->setText(""); - mErrorCodeEdit->setText(""); - - delete mReq; - mReq = 0; - mReq = mAppMgr.create("com.nokia.Videos", "IVideoFetch", "fetch(QString)", true); - - qDebug() << "VideoServicesTestAppView::fetchVideo: mReq=" << mReq; - - if (!mReq) - { - mErrorEdit->setText("Failed to create REQ"); - return; - } - else - { - connect(mReq, SIGNAL(requestOk(const QVariant&)), SLOT(handleOk(const QVariant&))); - connect(mReq, SIGNAL(requestError(int,const QString&)), SLOT(handleError(int,const QString&))); - } - - // Set arguments for request (application title) - QList args; - args << QVariant(QString("")); - mReq->setArguments(args); - - // Make the request - if (!mReq->send()) - { - mErrorEdit->setText("Failed to send REQ"); - qDebug() << "VideoServicesTestAppView::fetchVideo: XQAiwRequest::send returned false"; - } - // req no longer needed, remove it - delete mReq; - mReq = 0; - - qDebug() << "VideoServicesTestAppView::fetchVideo END"; -} - void VideoServicesTestAppView::fetchVideoDeprecatedNewService() { qDebug() << "VideoServicesTestAppView::fetchVideo START"; @@ -379,76 +320,6 @@ qDebug() << "VideoServicesTestAppView::fetchVideo END"; } - -void VideoServicesTestAppView::browseCapturedVideosDeprecatedOldService() -{ - qDebug() << "VideoServicesTestAppView::browseCapturedVideos START"; - - mResultEdit->setText(""); - mErrorEdit->setText(""); - mErrorCodeEdit->setText(""); - - delete mReq; - mReq = 0; - mReq = mAppMgr.create("com.nokia.Videos", "IVideoBrowse", "browseVideos(QString,int,int)", true); - - qDebug() << "VideoServicesTestAppView::browseCapturedVideos: mReq=" << mReq; - - if (!mReq) - { - mErrorEdit->setText("Failed to create REQ"); - return; - } - else - { - connect(mReq, SIGNAL(requestOk(QVariant)), SLOT(handleOk(QVariant))); - connect(mReq, SIGNAL(requestError(int,QString)), SLOT(handleError(int,QString))); - } - - HbInputDialog *dialog = new HbInputDialog(); - dialog->setAttribute(Qt::WA_DeleteOnClose); - dialog->setAdditionalRowVisible(true); - dialog->setInputMode(HbInputDialog::IntInput, 0); - dialog->setInputMode(HbInputDialog::IntInput, 1); - dialog->setPromptText("Enter category", 0); - dialog->setPromptText("Enter sort role", 1); - dialog->setValue(3, 0); - dialog->setValue(0, 1); - dialog->open(this, SLOT(browseCapturedVideosDeprecatedOldServiceFinished(HbAction *))); - - qDebug() << "VideoServicesTestAppView::browseCapturedVideos END"; -} - -void VideoServicesTestAppView::browseCapturedVideosDeprecatedOldServiceFinished(HbAction *action) -{ - HbInputDialog *dialog = static_cast(sender()); - - const QString title = ""; - - int category = dialog->value(0).toInt(); - int sortRole = dialog->value(1).toInt(); - - if(dialog->actions().first() == action) - { - // set arguments - QList args; - args.append(title); - args.append(QVariant(category)); - args.append(QVariant(sortRole)); - mReq->setArguments(args); - - // Make the request - if (!mReq->send()) - { - mErrorEdit->setText("Failed to send REQ"); - qDebug() << "VideoServicesTestAppView::browseCapturedVideosFinished: XQAiwRequest::send returned false"; - } - // req no longer needed, remove it - delete mReq; - mReq = 0; - } -} - void VideoServicesTestAppView::browseCapturedVideosDeprecatedNewService() { qDebug() << "VideoServicesTestAppView::browseCapturedVideos START"; diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/conf/videoplayerservicelist.confml Binary file videocollection/videocollectionview/conf/videoplayerservicelist.confml has changed diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/data/collectionview.docml --- a/videocollection/videocollectionview/data/collectionview.docml Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/data/collectionview.docml Tue Oct 05 09:26:49 2010 +0300 @@ -1,5 +1,5 @@ - + @@ -23,14 +23,14 @@ - - - + + + - - - - + + + + @@ -40,16 +40,20 @@ - - + + + + - + + + - + @@ -69,43 +73,6 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -126,11 +93,10 @@ - +
- + -
diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/inc/videocollectionuiloaderdef.h --- a/videocollection/videocollectionview/inc/videocollectionuiloaderdef.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/inc/videocollectionuiloaderdef.h Tue Oct 05 09:26:49 2010 +0300 @@ -21,7 +21,6 @@ // Constants static const char* DOCML_VIDEOCOLLECTIONVIEW_FILE = ":/layout/collectionview.docml"; static const char* DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST = "listsSection"; -static const char* DOCML_VIDEOCOLLECTIONVIEW_SECTION_HINT = "hintSection"; static const char* DOCML_NAME_VIEW = "view"; // Videocollection View @@ -29,7 +28,6 @@ static const char* DOCML_NAME_VC_COLLECTIONWIDGET = "vc:mCollectionWidget"; static const char* DOCML_NAME_VC_COLLECTIONCONTENTWIDGET = "vc:mCollectionContentWidget"; static const char* DOCML_NAME_VC_VIDEOLISTWIDGET = "vc:mListWidget"; -static const char* DOCML_NAME_VC_VIDEOHINTWIDGET = "vc:mHintWidget"; // Videocollection Options Menu static const char* DOCML_NAME_OPTIONS_MENU = "vc:mOptionsMenu"; @@ -44,9 +42,8 @@ static const char* DOCML_NAME_CREATE_COLLECTION = "vc:mCreateNewCollection"; static const char* DOCML_NAME_DELETE_MULTIPLE = "vc:mDeleteMultiple"; -// Videocollection hint widget -static const char* DOCML_NAME_HINT_BUTTON = "vc:mHintButton"; -static const char* DOCML_NAME_NO_VIDEOS_LABEL = "vc:mNoVideosLabel"; +// Videocollection no content label +static const char* DOCML_NAME_NO_CONTENT_LABEL = "vc:mNoContentLabel"; // video multiselection dialog static const char* DOCML_VIDEOSELECTIONDIALOG_FILE = ":/layout/videolistselectiondialog.docml"; diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/inc/videohintwidget.h --- a/videocollection/videocollectionview/inc/videohintwidget.h Mon Sep 20 18:25:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,132 +0,0 @@ -/* -* Copyright (c) 2008 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: Videolist hint widget -* -*/ - - -#ifndef VIDEOHINTWIDGET_H -#define VIDEOHINTWIDGET_H - -#include -#include - -class HbPushButton; -class HbLabel; -class VideoCollectionUiLoader; -class QGraphicsItem; - -/** - * Widget for displaying no videos text and possible hint and button for user - * find where to download new videos. - */ -class VideoHintWidget : public HbWidget -{ - Q_OBJECT - -public: - - enum HintLevel { - AllVideos, - Collection - }; - - /** - * Contructor. - * - * @param parent parent of this widget - */ - VideoHintWidget(VideoCollectionUiLoader *uiLoader, QGraphicsItem *parent = 0); - - /** - * Destructor. - * - */ - ~VideoHintWidget(); - - /** - * Method creates colleciton wrapper, grid and list views, - * layout and activates correct view based on the current orientation - * - */ - void initialize(); - - /** - * Sets the level where the hint is correctly. Hint displays differently in - * for example collection level, than in allVideos level. - * - * @param level The current level. - */ - void setLevel(HintLevel level); - - /** - * Adjusts if the button is shown in landscape. - */ - void setButtonShown(bool shown); - - /** - * Method enables and displays this widget. - */ - void activate(); - - /** - * Method disables and hides this widget. - */ - void deactivate(); - -private slots: - - /** - * Method activates correct view based on the given orientation. - */ - void orientationChangedSlot(Qt::Orientation orientation); - -private: - - /** - * Shows/hides the correct UI components for current state. - */ - void updateUiComponents(); - -private: - - Q_DISABLE_COPY(VideoHintWidget) - - /** - * Pointer to the XML UI (DocML) loader, not owned - */ - VideoCollectionUiLoader *mUiLoader; - - /** - * Current hint level. - */ - HintLevel mCurrentLevel; - - /** - * If button is shown in landscape at all. - */ - bool mButtonShown; - - /** - * true if widget has been activated. - */ - bool mActivated; - - /** - * Localized text for the service button. - */ - QString mHintText; -}; - -#endif // VIDEOHINTWIDGET_H diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/inc/videolisttoolbar.h --- a/videocollection/videocollectionview/inc/videolisttoolbar.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/inc/videolisttoolbar.h Tue Oct 05 09:26:49 2010 +0300 @@ -91,11 +91,6 @@ */ void viewStateChanged(VideoCollectionCommon::TCollectionLevels currentLevel, bool noVideos, bool modelReady); - - /** - * Launches the first operator service from the operator service list. - */ - void openOperatorServiceSlot(); /** * Slot is connected into "Add videos" signal diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/inc/videolistview.h --- a/videocollection/videocollectionview/inc/videolistview.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/inc/videolistview.h Tue Oct 05 09:26:49 2010 +0300 @@ -22,8 +22,6 @@ #include #include -#include "videohintwidget.h" - class QGraphicsItem; class QVariant; class HbToolBarExtension; @@ -251,11 +249,6 @@ void showHint(bool show = true); /** - * - */ - void setHintLevel(VideoHintWidget::HintLevel level); - - /** * Updates the sublabel text. */ void updateSubLabel(); @@ -315,11 +308,6 @@ bool mViewReady; /** - * Hint level for the hint widget. - */ - VideoHintWidget::HintLevel mHintLevel; - - /** * Pointer to videoservices instance * if exists, app has started as service */ @@ -334,7 +322,6 @@ * String containing the name of the currently open collection */ QString mCollectionName; - }; #endif // VIDEOLISTVIEW_H diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/src/videocollectionuiloader.cpp --- a/videocollection/videocollectionview/src/videocollectionuiloader.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/src/videocollectionuiloader.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 24.1.1 % +// Version : %version: 24.1.2 % // INCLUDE FILES #include @@ -30,7 +30,6 @@ #include "videolistview.h" #include "videolistselectiondialog.h" #include "videolistwidget.h" -#include "videohintwidget.h" #include "videocollectionwrapper.h" #include "videoproxymodelgeneric.h" #include "videocollectionviewutils.h" @@ -456,14 +455,6 @@ } } } - else if (name.compare(DOCML_NAME_VC_VIDEOHINTWIDGET) == 0) - { - VideoHintWidget *hintWidget = qobject_cast(object); - if (hintWidget) - { - hintWidget->initialize(); - } - } else if (name.compare(DOCML_NAME_OPTIONS_MENU) == 0) { // ensure that all the actions related to options menu are loaded @@ -679,10 +670,6 @@ { object = new VideoListWidget(this); } - else if ( type == VideoHintWidget::staticMetaObject.className() ) - { - object = new VideoHintWidget(this); - } if ( object ) { object->setObjectName( name ); diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/src/videohintwidget.cpp --- a/videocollection/videocollectionview/src/videohintwidget.cpp Mon Sep 20 18:25:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,186 +0,0 @@ -/* -* Copyright (c) 2008 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: Videolist content widget implementation -* -*/ - -// Version : %version: 15 % - -// INCLUDE FILES -#include -#include -#include -#include - -#include "videohintwidget.h" -#include "videocollectionuiloader.h" -#include "videocollectionviewutils.h" -#include "videocollectioncenrepdefs.h" -#include "videocollectiontrace.h" - -// --------------------------------------------------------------------------- -// Constructor -// --------------------------------------------------------------------------- -// -VideoHintWidget::VideoHintWidget( VideoCollectionUiLoader *uiLoader, QGraphicsItem *parent ) - : HbWidget( parent ) - , mUiLoader( uiLoader ) - , mCurrentLevel( AllVideos ) - , mButtonShown( false ) - , mActivated( false ) -{ - FUNC_LOG; - // NOP -} - -// --------------------------------------------------------------------------- -// Destructor -// --------------------------------------------------------------------------- -// -VideoHintWidget::~VideoHintWidget() -{ - FUNC_LOG; -} - -// --------------------------------------------------------------------------- -// initialize -// --------------------------------------------------------------------------- -// -void VideoHintWidget::initialize() -{ - FUNC_LOG; - VideoCollectionViewUtils& utils = VideoCollectionViewUtils::instance(); - - QString textId = utils.getCenRepStringValue(KVideoCollectionViewCenrepServiceItem1Text); - if(!textId.isEmpty()) - { - mHintText = hbTrId(textId.toLatin1().constData()); - } -} - -// --------------------------------------------------------------------------- -// setLevel -// --------------------------------------------------------------------------- -// -void VideoHintWidget::setLevel(HintLevel level) -{ - FUNC_LOG; - INFO_1("VideoHintWidget::setLevel() level: %d", level); - mCurrentLevel = level; - if(mActivated) { - updateUiComponents(); - } -} - -// --------------------------------------------------------------------------- -// setButtonShown -// --------------------------------------------------------------------------- -// -void VideoHintWidget::setButtonShown(bool shown) -{ - FUNC_LOG; - INFO_1("VideoHintWidget::setButtonShown() shown: %d", shown); - mButtonShown = shown; - if(mActivated) { - updateUiComponents(); - } -} - -// --------------------------------------------------------------------------- -// orientationChanged -// --------------------------------------------------------------------------- -// -void VideoHintWidget::orientationChangedSlot(Qt::Orientation targetOrientation) -{ - FUNC_LOG; - Q_UNUSED(targetOrientation); - updateUiComponents(); -} - -// --------------------------------------------------------------------------- -// activate -// --------------------------------------------------------------------------- -// -void VideoHintWidget::activate() -{ - FUNC_LOG; - if (!mActivated) - { - HbMainWindow *mainWnd = hbInstance->allMainWindows().value(0); - connect( - mainWnd, SIGNAL(orientationChanged(Qt::Orientation)), - this, SLOT(orientationChangedSlot(Qt::Orientation))); - - updateUiComponents(); - - setVisible(true); - - mActivated = true; - } -} - -// --------------------------------------------------------------------------- -// deactivate -// --------------------------------------------------------------------------- -// -void VideoHintWidget::deactivate() -{ - FUNC_LOG; - if (mActivated) - { - mActivated = false; - - setVisible(false); - - HbMainWindow *mainWnd = hbInstance->allMainWindows().value(0); - disconnect( - mainWnd, SIGNAL(orientationChanged(Qt::Orientation)), - this, SLOT(orientationChangedSlot(Qt::Orientation))); - } -} - -// --------------------------------------------------------------------------- -// updateUiComponents -// --------------------------------------------------------------------------- -// -void VideoHintWidget::updateUiComponents() -{ - FUNC_LOG; - HbMainWindow *mainWnd = hbInstance->allMainWindows().value(0); - if (mainWnd) - { - HbPushButton *hintButton = - mUiLoader->findWidget( - DOCML_NAME_HINT_BUTTON); - HbLabel *noVideosLabel = - mUiLoader->findWidget( - DOCML_NAME_NO_VIDEOS_LABEL); - if (hintButton && noVideosLabel) - { - noVideosLabel->setVisible(true); - - if (mCurrentLevel == AllVideos && !mHintText.isEmpty()) - { - hintButton->setText(mHintText); - hintButton->setVisible(mButtonShown); - } - else - { - hintButton->setVisible(false); - } - } - } -} - -// end of file diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/src/videolistselectiondialog.cpp --- a/videocollection/videocollectionview/src/videolistselectiondialog.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/src/videolistselectiondialog.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 30.1.4 % +// Version : %version: 30.1.5 % // INCLUDE FILES #include @@ -793,7 +793,7 @@ if(mSelectedAlbumId.iId2 > KVcxMvcMediaTypeVideo) { VideoProxyModelGeneric *model = - VideoCollectionWrapper::instance().getCollectionsModel(); + VideoCollectionWrapper::instance().getGenericModel(); if(!model) { return name; diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/src/videolisttoolbar.cpp --- a/videocollection/videocollectionview/src/videolisttoolbar.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/src/videolisttoolbar.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 1.1.2 % +// Version : %version: 1.1.3 % // INCLUDE FILES #include @@ -311,20 +311,6 @@ } } -// --------------------------------------------------------------------------- -// openOperatorServiceSlot() -// --------------------------------------------------------------------------- -// -void VideoListToolbar::openOperatorServiceSlot() -{ - FUNC_LOG; - - if(mVideoOperatorServices.count() > 0) - { - mVideoOperatorServices[0]->launchService(); - } -} - // ------------------------------------------------------------------------------------------------- // addVideosToCollectionSlot() // ------------------------------------------------------------------------------------------------- diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/src/videolistview.cpp --- a/videocollection/videocollectionview/src/videolistview.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/src/videolistview.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 113.1.13 % +// Version : %version: 113.1.15 % // INCLUDE FILES #include @@ -26,13 +26,13 @@ #include #include #include +#include #include #include #include "videoservices.h" #include "videocollectionviewutils.h" #include "videolistwidget.h" -#include "videohintwidget.h" #include "videolistview.h" #include "videolisttoolbar.h" #include "videolistmenu.h" @@ -58,7 +58,6 @@ , mMenu(0) , mModelReady(false) , mViewReady(false) - , mHintLevel(VideoHintWidget::AllVideos) , mVideoServices(0) , mCurrentList(0) { @@ -168,21 +167,8 @@ true, VideoCollectionUiLoaderParam::LoadPhaseSecondary)); params.append(VideoCollectionUiLoaderParam( - DOCML_NAME_VC_VIDEOHINTWIDGET, - DOCML_VIDEOCOLLECTIONVIEW_FILE, - DOCML_VIDEOCOLLECTIONVIEW_SECTION_HINT, - true, - VideoCollectionUiLoaderParam::LoadPhaseSecondary)); - params.append(VideoCollectionUiLoaderParam( - DOCML_NAME_HINT_BUTTON, + DOCML_NAME_NO_CONTENT_LABEL, DOCML_VIDEOCOLLECTIONVIEW_FILE, - DOCML_VIDEOCOLLECTIONVIEW_SECTION_HINT, - true, - VideoCollectionUiLoaderParam::LoadPhaseSecondary)); - params.append(VideoCollectionUiLoaderParam( - DOCML_NAME_NO_VIDEOS_LABEL, - DOCML_VIDEOCOLLECTIONVIEW_FILE, - DOCML_VIDEOCOLLECTIONVIEW_SECTION_HINT, true, VideoCollectionUiLoaderParam::LoadPhaseSecondary)); mUiLoader->addData(params, @@ -512,19 +498,6 @@ mToolbar->initialize(); mToolbar->viewStateChanged(mCurrentList->getLevel(), true, false); - - // make sure that the hint widget's button is connected, and connected only once. - QObject *hintButton = - mUiLoader->findObject( - DOCML_NAME_HINT_BUTTON, false); - - if(hintButton) - { - connect(hintButton, SIGNAL(clicked(bool)), - mToolbar, SLOT(openOperatorServiceSlot()), - Qt::UniqueConnection); - } - // note that if hintButton is not found, then it's connected in objectReadySlot. } return 0; @@ -551,29 +524,16 @@ mModelReady = true; - // decide if the hintwidget needs to be shown or not. + // decide if no content label needs to be shown or not. show = show && model->rowCount() == 0; - - // If show is false, then hint widget is fetched only if it exists. If - // show is true then hint widget is also created and prepared if it does not exists. - VideoHintWidget *hintWidget = - mUiLoader->findWidget( - DOCML_NAME_VC_VIDEOHINTWIDGET, show); - - if (hintWidget) + + // set visibility for the label. + HbLabel *noContentLabel = + mUiLoader->findWidget( + DOCML_NAME_NO_CONTENT_LABEL); + if (noContentLabel) { - hintWidget->setLevel(mHintLevel); - if (show) - { - hintWidget->activate(); - bool showHintBtns = (mCurrentList->getLevel() != VideoCollectionCommon::ELevelDefaultColl); - hintWidget->setButtonShown(showHintBtns); - } - else - { - hintWidget->deactivate(); - hintWidget->setButtonShown(true); - } + noContentLabel->setVisible(show); } mToolbar->viewStateChanged(mCurrentList->getLevel(), show, mModelReady); @@ -597,16 +557,6 @@ } // --------------------------------------------------------------------------- -// setHintLevel -// --------------------------------------------------------------------------- -// -void VideoListView::setHintLevel(VideoHintWidget::HintLevel level) -{ - FUNC_LOG; - mHintLevel = level; -} - -// --------------------------------------------------------------------------- // updateSubLabel // --------------------------------------------------------------------------- // @@ -631,16 +581,16 @@ { if (mCurrentList->getLevel() == VideoCollectionCommon::ELevelVideos) { - // no need to update sublabel if there are no items in videolist - // hint widget is shown instead + // no need to update sublabel if there are no items in videolist. + // no content label is shown instead. if (itemCount) { - subLabel->setHeading(hbTrId("txt_videos_subtitle_all_videos_ln", itemCount)); + subLabel->setHeading(hbTrId("txt_videos_subtitle_all_videos_l1", itemCount)); } } else if (mCurrentList->getLevel() == VideoCollectionCommon::ELevelCategory) { - subLabel->setHeading(hbTrId("txt_videos_subtitle_collections_ln", itemCount)); + subLabel->setHeading(hbTrId("txt_videos_subtitle_collections_l1", itemCount)); } else { @@ -774,8 +724,6 @@ // activate all videos list mCurrentList = videoListWidget; mCurrentList->activate(VideoCollectionCommon::ELevelVideos); - - setHintLevel(VideoHintWidget::AllVideos); // update the sublabel, as in most cases the data is already up to date. updateSubLabel(); @@ -916,10 +864,8 @@ updateSubLabel(); - // update hint widget for correct content mModelReady = model->rowCount() > 0; - setHintLevel(VideoHintWidget::Collection); - + if(mToolbar) { // if toolbar not yet created, it means that we're activating @@ -986,10 +932,6 @@ qobject_cast(object)->doDelayedsSlot(); } } - else if (name.compare(DOCML_NAME_HINT_BUTTON) == 0) - { - connect(object, SIGNAL(clicked(bool)), mToolbar, SLOT(openOperatorServiceSlot())); - } } // ------------------------------------------------------------------------------------------------- diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/src/videolistwidget.cpp --- a/videocollection/videocollectionview/src/videolistwidget.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/src/videolistwidget.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -435,11 +435,11 @@ mContextMenu->addAction(hbTrId("txt_common_menu_select"), this, SLOT(openItemSlot())); mContextMenuActions[EActionAttach]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_ATTACH); - mContextMenuActions[EActionOpen] = + mContextMenuActions[EActionOpen] = mContextMenu->addAction(hbTrId("txt_common_menu_open"), this, SLOT(openItemSlot())); mContextMenuActions[EActionOpen]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_OPEN); - mContextMenuActions[EActionPlay] = + mContextMenuActions[EActionPlay] = mContextMenu->addAction(hbTrId("txt_videos_menu_play"), this, SLOT(playItemSlot())); mContextMenuActions[EActionPlay]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_PLAY); @@ -449,25 +449,29 @@ } else if (mService == VideoServices::EBrowse) { - mContextMenuActions[EActionPlay] = + mContextMenuActions[EActionPlay] = mContextMenu->addAction(hbTrId("txt_videos_menu_play"), this, SLOT(playItemSlot())); mContextMenuActions[EActionPlay]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_PLAY); - mContextMenuActions[EActionDelete] = - mContextMenu->addAction(hbTrId("txt_common_menu_delete"), this, SLOT(deleteItemSlot())); - mContextMenuActions[EActionDelete]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_DELETE); - mContextMenuActions[EActionDetails] = mContextMenu->addAction(hbTrId("txt_common_menu_details"), this, SLOT(openDetailsSlot())); mContextMenuActions[EActionDetails]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_DETAILS); + + mContextMenuActions[EActionDelete] = + mContextMenu->addAction(hbTrId("txt_common_menu_delete"), this, SLOT(deleteItemSlot())); + mContextMenuActions[EActionDelete]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_DELETE); } else { - mContextMenuActions[EActionPlay] = + mContextMenuActions[EActionPlay] = mContextMenu->addAction(hbTrId("txt_videos_menu_play"), this, SLOT(playItemSlot())); mContextMenuActions[EActionPlay]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_PLAY); + + mContextMenuActions[EActionDetails] = + mContextMenu->addAction(hbTrId("txt_common_menu_details"), this, SLOT(openDetailsSlot())); + mContextMenuActions[EActionDetails]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_DETAILS); - mContextMenuActions[EActionOpen] = + mContextMenuActions[EActionOpen] = mContextMenu->addAction(hbTrId("txt_common_menu_open"), this, SLOT(openItemSlot())); mContextMenuActions[EActionOpen]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_OPEN); @@ -475,11 +479,11 @@ mContextMenu->addAction(hbTrId("txt_videos_menu_add_to_collection"), this, SLOT(addToCollectionSlot())); mContextMenuActions[EActionAddToCollection]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_ADD_TO); - mContextMenuActions[EActionRemove] = + mContextMenuActions[EActionRemove] = mContextMenu->addAction(hbTrId("txt_videos_menu_remove_from_collection"), this, SLOT(removeFromCollectionSlot())); mContextMenuActions[EActionRemove]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_REMOVE_FROM); - mContextMenuActions[EActionRename] = + mContextMenuActions[EActionRename] = mContextMenu->addAction(hbTrId("txt_common_menu_rename_item"), this, SLOT(renameSlot())); mContextMenuActions[EActionRename]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_RENAME); @@ -487,13 +491,9 @@ mContextMenu->addAction(hbTrId("txt_videos_menu_remove_collection"), this, SLOT(removeCollectionSlot())); mContextMenuActions[EActionRemoveCollection]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_REMOVE_COLLECTION); - mContextMenuActions[EActionDelete] = + mContextMenuActions[EActionDelete] = mContextMenu->addAction(hbTrId("txt_common_menu_delete"), this, SLOT(deleteItemSlot())); mContextMenuActions[EActionDelete]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_DELETE); - - mContextMenuActions[EActionDetails] = - mContextMenu->addAction(hbTrId("txt_common_menu_details"), this, SLOT(openDetailsSlot())); - mContextMenuActions[EActionDetails]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_DETAILS); } } diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/tsrc/testcollectionview/src/testcollectionview.cpp --- a/videocollection/videocollectionview/tsrc/testcollectionview/src/testcollectionview.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/tsrc/testcollectionview/src/testcollectionview.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -217,7 +217,7 @@ // -captured category init(); serviceUtil->setCurrentService(true); - videoServices->mCurrentService = VideoServices::EBrowse; + videoServices->setCurrentService(VideoServices::EBrowse); VideoCollectionViewUtilsData::mIsServiceValue = true; VideoCollectionViewUtils::instance().setIsService(); VideoServiceBrowseData::mBrowseCategory = KVcxMvcCategoryIdCaptured; @@ -234,7 +234,7 @@ serviceUtil->setCurrentService(true); VideoCollectionViewUtilsData::mIsServiceValue = true; VideoCollectionViewUtils::instance().setIsService(); - videoServices->mCurrentService = VideoServices::EBrowse; + videoServices->setCurrentService(VideoServices::EBrowse); VideoServiceBrowseData::mBrowseCategory = KVcxMvcCategoryIdDownloads; mTestView->activateView(); QCOMPARE(VideoListViewData::mActivateViewCount, 1); @@ -248,7 +248,7 @@ serviceUtil->setCurrentService(true); VideoCollectionViewUtilsData::mIsServiceValue = true; VideoCollectionViewUtils::instance().setIsService(); - videoServices->mCurrentService = VideoServices::EUriFetcher; + videoServices->setCurrentService(VideoServices::EUriFetcher); mTestView->activateView(); QCOMPARE(VideoListViewData::mActivateViewCount, 1); QVERIFY(VideoListViewData::mActivatedItemId == TMPXItemId::InvalidId()); diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/tsrc/testhintwidget/inc/testhintwidget.h --- a/videocollection/videocollectionview/tsrc/testhintwidget/inc/testhintwidget.h Mon Sep 20 18:25:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +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: tester for methods in VideoProxyModelGeneric -* -*/ - -#ifndef __TESTHINTWIDGET_H__ -#define __TESTHINTWIDGET_H__ - - -// INCLUDES -#include - -class VideoHintWidget; -class VideoCollectionUiLoader; - -class TestHintWidget : public QObject -{ - Q_OBJECT - -public: - TestHintWidget(); - ~TestHintWidget(); - - void init(bool callInitialize); - void cleanup(); - - // test functions for the test framework -private slots: - - void testInitialize(); - void testSetLevel(); - void testActivate(); - void testDeactivate(); - void testUpdateUiComponents(); - void testOrientationChangedSlot(); - void testSetButtonShown(); - -signals: - - /** - * test signal - */ - void testSignal(Qt::Orientation); - - -private: - - - /** - * object under test - */ - VideoHintWidget* mTestObject; - - /** - * Ui loader - */ - VideoCollectionUiLoader* mUiLoader; - -}; - - -#endif // __TESTLISTWIDGET_H__ - -// End of file diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/tsrc/testhintwidget/src/testhintwidget.cpp --- a/videocollection/videocollectionview/tsrc/testhintwidget/src/testhintwidget.cpp Mon Sep 20 18:25:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,368 +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: tester for methods in VideoListWidget -* -*/ - -#include -#include -#include -#include -#include -#include - -#include "videocollectionuiloader.h" -#include "videocollectionviewutils.h" -#include "videocollectionviewutilsdata.h" -#include "videocollectionuiloaderdata.h" -#include "testhintwidget.h" - -#define private public -#include "videohintwidget.h" -#undef private - -// --------------------------------------------------------------------------- -// main -// --------------------------------------------------------------------------- -// -int main(int argc, char *argv[]) -{ - HbApplication app(argc, argv); - HbApplication::setKeypadNavigationEnabled(false); - HbMainWindow mainWnd; - hbInstance->mWindowses.append(&mainWnd); - - TestHintWidget tv; - - int res; - if(argc > 1) - { - res = QTest::qExec(&tv, argc, argv); - } - else - { - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\testhintwidget.txt"; - res = QTest::qExec(&tv, 3, pass); - } - - return res; -} - -// --------------------------------------------------------------------------- -// constructor -// --------------------------------------------------------------------------- -// -TestHintWidget::TestHintWidget(): - mTestObject(0), - mUiLoader(0) -{ - // nop -} - -// --------------------------------------------------------------------------- -// destructor -// --------------------------------------------------------------------------- -// -TestHintWidget::~TestHintWidget() -{ - cleanup(); -} - -// --------------------------------------------------------------------------- -// init -// --------------------------------------------------------------------------- -// -void TestHintWidget::init(bool callInitialize) -{ - mUiLoader = new VideoCollectionUiLoader; - - HbDocumentLoader::mFindWidgetFails = false; - bool ok(false); - mUiLoader->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok); - if(!ok) - { - cleanup(); - QFAIL("docml loading failed!"); - } - - mTestObject = mUiLoader->findObject(DOCML_NAME_VC_VIDEOHINTWIDGET); - if(!mTestObject) - { - mTestObject = new VideoHintWidget(mUiLoader); - } - - mTestObject->mHintText = "Go get some!"; - - if (callInitialize) - { - mTestObject->mHintText = ""; - mTestObject->initialize(); - } -} - -// --------------------------------------------------------------------------- -// cleanup -// --------------------------------------------------------------------------- -// -void TestHintWidget::cleanup() -{ - if (mUiLoader) - { - VideoHintWidget* temp = mUiLoader->findObject(DOCML_NAME_VC_VIDEOHINTWIDGET); - if (!temp) - { - // need to delete mTestObject as it is not owned by uiloader. - delete mTestObject; - mTestObject = 0; - } - mTestObject = 0; - - delete mUiLoader; - mUiLoader = 0; - } - - VideoCollectionViewUtilsData::reset(); - VideoCollectionUiLoaderData::reset(); -} - -// --------------------------------------------------------------------------- -// testInitialize -// --------------------------------------------------------------------------- -// -void TestHintWidget::testInitialize() -{ - init(false); - - // Fail - mTestObject->mHintText = ""; - VideoCollectionViewUtilsData::mCenRepStringValues.append(""); - mTestObject->initialize(); - QVERIFY(mTestObject->mHintText.isEmpty()); - - // Succeed - VideoCollectionViewUtilsData::mCenRepStringValues.append("test"); - mTestObject->initialize(); - QVERIFY(!mTestObject->mHintText.isEmpty()); - - cleanup(); -} - -// --------------------------------------------------------------------------- -// testSetLevel -// --------------------------------------------------------------------------- -// -void TestHintWidget::testSetLevel() -{ - init(false); - mTestObject->setVisible(false); - - mTestObject->setLevel(VideoHintWidget::Collection); - QCOMPARE(mTestObject->mCurrentLevel, VideoHintWidget::Collection); - - mTestObject->setLevel(VideoHintWidget::AllVideos); - QCOMPARE(mTestObject->mCurrentLevel, VideoHintWidget::AllVideos); - - mTestObject->setLevel(VideoHintWidget::AllVideos); - QCOMPARE(mTestObject->mCurrentLevel, VideoHintWidget::AllVideos); - - mTestObject->setLevel(VideoHintWidget::Collection); - QCOMPARE(mTestObject->mCurrentLevel, VideoHintWidget::Collection); - cleanup(); -} - -// --------------------------------------------------------------------------- -// testActivate -// --------------------------------------------------------------------------- -// -void TestHintWidget::testActivate() -{ - init(false); - - mTestObject->setVisible(false); - - // successful case. - mTestObject->mActivated = false; - - HbLabel *noVideosLabel = mUiLoader->findWidget(DOCML_NAME_NO_VIDEOS_LABEL); - QVERIFY(noVideosLabel); - noVideosLabel->setVisible(false); - - mTestObject->activate(); - QVERIFY(mTestObject->isVisible()); - QVERIFY(noVideosLabel->isVisible()); // checks that updateUiComponents() has been called. - QVERIFY(mTestObject->mActivated == true); - - // second call - noVideosLabel->setVisible(false); - mTestObject->activate(); - QVERIFY(mTestObject->isVisible()); - QVERIFY(!noVideosLabel->isVisible()); // shouldn't call updateUiComponents() again. - QVERIFY(mTestObject->mActivated == true); - - cleanup(); -} - -// --------------------------------------------------------------------------- -// testDeactivate -// --------------------------------------------------------------------------- -// -void TestHintWidget::testDeactivate() -{ - init(false); - - mTestObject->setVisible(true); - mTestObject->mActivated = true; - - // when serviceButton does not exist - HbDocumentLoader::mFindWidgetFails = true; - mTestObject->deactivate(); - QVERIFY(mTestObject->mActivated == false); - QVERIFY(mTestObject->isVisible() == false); - - // service button exists - mTestObject->setVisible(true); - mTestObject->mActivated = true; - HbDocumentLoader::mFindWidgetFails = false; - mTestObject->deactivate(); - QVERIFY(mTestObject->mActivated == false); - QVERIFY(mTestObject->isVisible() == false); - - // second call. widget is not active. - mTestObject->setVisible(true); - mTestObject->deactivate(); - QVERIFY(mTestObject->mActivated == false); - QVERIFY(mTestObject->isVisible()); - - cleanup(); -} - -// --------------------------------------------------------------------------- -// testUpdateUiComponents -// --------------------------------------------------------------------------- -// -void TestHintWidget::testUpdateUiComponents() -{ - HbMainWindow *mainWnd = hbInstance->allMainWindows()[0]; - - init(false); - - // when a widget cannot be found. - mTestObject->mActivated = true; - mTestObject->mButtonShown = true; - HbDocumentLoader::mFindWidgetFails = true; - mTestObject->setLevel(VideoHintWidget::AllVideos); - // no verification possible except that it doesn't crash - - HbDocumentLoader::mFindWidgetFails = false; - HbLabel *hintLabel = mUiLoader->findWidget(DOCML_NAME_NO_VIDEOS_LABEL); - QVERIFY(hintLabel); - HbPushButton *serviceButton = mUiLoader->findWidget(DOCML_NAME_HINT_BUTTON); - QVERIFY(serviceButton); - - // current level is all videos - serviceButton->setVisible(false); - mTestObject->setLevel(VideoHintWidget::AllVideos); - QVERIFY(hintLabel->isVisible()); - QVERIFY(serviceButton->isVisible()); - - // current level is not all videos - serviceButton->setVisible(true); - mTestObject->setLevel(VideoHintWidget::Collection); - QVERIFY(hintLabel->isVisible()); - QVERIFY(serviceButton->isVisible() == false); - - // no hint text - serviceButton->setVisible(true); - mTestObject->mHintText = ""; - mTestObject->setLevel(VideoHintWidget::AllVideos); - QVERIFY(hintLabel->isVisible()); - QVERIFY(serviceButton->isVisible() == false); - - cleanup(); -} - -// --------------------------------------------------------------------------- -// testOrientationChangedSlot -// --------------------------------------------------------------------------- -// -void TestHintWidget::testOrientationChangedSlot() -{ - // NOTE: This also checks that the signals are connected and - // disconnected correctly. - - HbMainWindow *mainWnd = hbInstance->allMainWindows()[0]; - mainWnd->setOrientation(Qt::Horizontal); - connect(this, SIGNAL(testSignal(Qt::Orientation)), mainWnd, SIGNAL(orientationChanged(Qt::Orientation))); - - init(false); - - HbLabel *noVideosLabel = mUiLoader->findWidget(DOCML_NAME_NO_VIDEOS_LABEL); - QVERIFY(noVideosLabel); - - // test that updateUiComponents is not called when only initialize has been called, - // ie that no activate calls have been made yet. - // mTestObject->setVisible is needed because othervise childs cannot be set visible, ie the - // serviceButton->setVisible does not work as expected. - mTestObject->setVisible(true); - noVideosLabel->setVisible(true); - emit testSignal(Qt::Vertical); - QVERIFY(noVideosLabel->isVisible()); - mTestObject->setVisible(false); - - // tests that updateUiComponents is called when widget is visible. - mTestObject->activate(); - noVideosLabel->setVisible(false); - emit testSignal(Qt::Horizontal); - QVERIFY(noVideosLabel->isVisible()); - mTestObject->deactivate(); - - // tests that updateUiComponents is not called when widget is not visible: - // mTestObject->setVisible is needed because othervise childs cannot be set visible, ie the - // serviceButton->setVisible does not work as expected. - mTestObject->setVisible(true); - noVideosLabel->setVisible(true); - emit testSignal(Qt::Vertical); - QVERIFY(noVideosLabel->isVisible()); - - cleanup(); -} - -// --------------------------------------------------------------------------- -// testSetButtonShown -// --------------------------------------------------------------------------- -// -void TestHintWidget::testSetButtonShown() -{ - HbMainWindow *mainWnd = hbInstance->allMainWindows()[0]; - - init(true); - - HbLabel *noVideosLabel = mUiLoader->findWidget(DOCML_NAME_NO_VIDEOS_LABEL); - QVERIFY(noVideosLabel); - - mTestObject->mActivated = true; - noVideosLabel->setVisible(false); - mTestObject->setButtonShown(true); - QVERIFY(noVideosLabel->isVisible()); - - mTestObject->mActivated = false; - noVideosLabel->setVisible(false); - mTestObject->setButtonShown(false); - QVERIFY(noVideosLabel->isVisible() == false); -} - -// end of file diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/tsrc/testhintwidget/testhintwidget.pro --- a/videocollection/videocollectionview/tsrc/testhintwidget/testhintwidget.pro Mon Sep 20 18:25:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +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: -# - -TEMPLATE = app - -TARGET = - -DEPENDPATH += . \ - inc \ - src \ - ../../../tsrc/stubs - -INCLUDEPATH += . \ - inc \ - ../../../tsrc/stubs/inc \ - \ # keep these at bottom so that stubbed headers are taken first - ../../../inc \ - ../../../videocollectionview/inc \ - ../../../videocollectionwrapper/inc \ - ../../../../inc \ - ../../../../videoplayerapp/videoplayerengine/inc - -HEADERS += inc/testhintwidget.h \ - \ # headers needed in test - ../../../videocollectionview/inc/videohintwidget.h \ - -SOURCES += src/testhintwidget.cpp \ - \ # sources needed in test - ../../../videocollectionview/src/videohintwidget.cpp \ - -TESTEDCLASS = videohintwidget -include(../../../tsrc/stubs/stubs.pro) - -RESOURCES += ../../data/videocollectionview.qrc diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/tsrc/testlisttoolbar/inc/testlisttoolbar.h --- a/videocollection/videocollectionview/tsrc/testlisttoolbar/inc/testlisttoolbar.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/tsrc/testlisttoolbar/inc/testlisttoolbar.h Tue Oct 05 09:26:49 2010 +0300 @@ -84,12 +84,6 @@ */ void testViewStateChangedWithServiceExt(); - - /** - * Tests openoperatorServiceSlot - */ - void testOpenOperatorServiceSlot(); - /** * Tests addVideosToCollectionSlot */ diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/tsrc/testlisttoolbar/src/testlisttoolbar.cpp --- a/videocollection/videocollectionview/tsrc/testlisttoolbar/src/testlisttoolbar.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/tsrc/testlisttoolbar/src/testlisttoolbar.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 2 % +// Version : %version: 3 % #include #include @@ -550,31 +550,6 @@ disconnect(mTestObject, SIGNAL(toolbarExtensionChanged(HbToolBarExtension*)), this, SLOT(testToolbarExtensionChangedSlot(HbToolBarExtension*))); } - - - -// --------------------------------------------------------------------------- -// testOpenOperatorServiceSlot -// --------------------------------------------------------------------------- -// -void TestListToolbar::testOpenOperatorServiceSlot() -{ - mTestObject->initialize(); - // no operator services - mTestObject->openOperatorServiceSlot(); - QVERIFY(VideoOperatorServiceData::mLaunchServiceCallCount == 0); - - cleanup(); - init(); - VideoOperatorServiceData::mTitles.append("TestTitle"); - VideoOperatorServiceData::mUris.append("TestURI"); - VideoOperatorServiceData::mIcons.append("TestIcon"); - mTestObject->initialize(); - // more than zero operator services - mTestObject->openOperatorServiceSlot(); - QVERIFY(VideoOperatorServiceData::mLaunchServiceCallCount == 1); -} - // --------------------------------------------------------------------------- // testAddVideosToCollectionSlot // --------------------------------------------------------------------------- diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/tsrc/testlistview/src/testlistview.cpp --- a/videocollection/videocollectionview/tsrc/testlistview/src/testlistview.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/tsrc/testlistview/src/testlistview.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 58 % +// Version : %version: 60 % #define private public #include "videoservices.h" @@ -41,6 +41,7 @@ #include "hblistview.h" #include "hbinputdialog.h" #include "hbtoolbarextension.h" +#include "hblabel.h" #include #include #include @@ -54,8 +55,6 @@ #include "videocollectionviewutils.h" #include "videolistselectiondialog.h" #include "videocollectionwrapper.h" -#include "videohintwidget.h" -#include "videohintwidgetdata.h" #include "videolistwidgetdata.h" #include "videocollectionwrapperdata.h" #include "videocollectionviewutilsdata.h" @@ -266,7 +265,6 @@ void TestListView::testInitializeView() { VideoListWidget *videoListWidget = 0; - VideoHintWidget *hintWidget = 0; init(false); // Test mUiLoader is null @@ -947,11 +945,11 @@ mTestView->mCurrentList = videoListWidget; emit testLayoutChangedSignal(); - QCOMPARE( label->heading(), QString("txt_videos_subtitle_all_videos_ln") ); + QCOMPARE( label->heading(), QString("txt_videos_subtitle_all_videos_l1") ); mTestView->mCurrentList = collectionWidget; emit testLayoutChangedSignal(); - QCOMPARE( label->heading(), QString("txt_videos_subtitle_collections_ln") ); + QCOMPARE( label->heading(), QString("txt_videos_subtitle_collections_l1") ); mTestView->mCurrentList = collectionContentWidget; emit testLayoutChangedSignal(); @@ -983,50 +981,48 @@ mTestView->mModelReady = true; connect(this, SIGNAL(testLayoutChangedSignal()), mTestView, SLOT(layoutChangedSlot())); - // hint widget cannot be loaded. (cannot be tested, run for coverity) - VideoCollectionUiLoaderData::mFindFailureNameList.append(DOCML_NAME_VC_VIDEOHINTWIDGET); + // no content label cannot be loaded. (cannot be tested, run for coverity) + VideoCollectionUiLoaderData::mFindFailureNameList.append(DOCML_NAME_NO_CONTENT_LABEL); emit testLayoutChangedSignal(); VideoCollectionUiLoaderData::mFindFailureNameList.clear(); - VideoHintWidget *hintWidget = mUiLoader->findWidget(DOCML_NAME_VC_VIDEOHINTWIDGET); - hintWidget->deactivate(); - ///// - // hint widget showing + // no content label showing // model not ready, row count zero. + HbLabel *noContentLabel = + mUiLoader->findWidget( + DOCML_NAME_NO_CONTENT_LABEL); + noContentLabel->setVisible(false); mTestView->mModelReady = false; setRowCount(0); VideoListWidget *backup = mTestView->mCurrentList; mTestView->mCurrentList = mUiLoader->findWidget(DOCML_NAME_VC_COLLECTIONWIDGET); emit testLayoutChangedSignal(); - QVERIFY(hintWidget->isVisible() == false); - QVERIFY(VideoHintWidgetData::mSettedButtonShowLevel); + QVERIFY(noContentLabel->isVisible() == false); mTestView->mCurrentList = backup; // model not ready, row count not zero. setRowCount(1); + noContentLabel->setVisible(false); emit testLayoutChangedSignal(); - QVERIFY(hintWidget->isVisible() == false ); - QVERIFY(VideoHintWidgetData::mSettedButtonShowLevel); + QVERIFY(noContentLabel->isVisible() == false ); QVERIFY(mTestView->mModelReady); // model ready, row count not zero mTestView->mModelReady = true; + noContentLabel->setVisible(false); emit testLayoutChangedSignal(); - QVERIFY(hintWidget->isVisible() == false ); - QVERIFY(VideoHintWidgetData::mSettedButtonShowLevel); + QVERIFY(noContentLabel->isVisible() == false ); // model ready, row count is zero setRowCount(0); emit testLayoutChangedSignal(); - QVERIFY(hintWidget->isVisible() == true ); - QVERIFY(VideoHintWidgetData::mSettedButtonShowLevel); - + QVERIFY(noContentLabel->isVisible() == true ); + // model ready, row count is zero, show to be false connect(this, SIGNAL(testSignal()), mTestView, SLOT(openCollectionViewSlot())); emit testSignal(); - QVERIFY(hintWidget->isVisible() == false ); - QVERIFY(VideoHintWidgetData::mSettedButtonShowLevel); + QVERIFY(noContentLabel->isVisible() == false ); disconnect(this, SIGNAL(testSignal()), mTestView, SLOT(openCollectionViewSlot())); mTestView->mCurrentList = mUiLoader->findWidget(DOCML_NAME_VC_VIDEOLISTWIDGET); diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/tsrc/testvideocollectionuiloader/src/testvideocollectionuiloader.cpp --- a/videocollection/videocollectionview/tsrc/testvideocollectionuiloader/src/testvideocollectionuiloader.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/tsrc/testvideocollectionuiloader/src/testvideocollectionuiloader.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -29,7 +29,6 @@ #include "videolistwidgetdata.h" #include "testvideocollectionuiloader.h" -#include "videohintwidget.h" #include "videocollectionwrapperdata.h" #define private public @@ -171,12 +170,6 @@ DOCML_VIDEOCOLLECTIONVIEW_FILE, true, VideoCollectionUiLoaderParam::LoadPhasePrimary); - VideoCollectionUiLoaderParam hint( - DOCML_NAME_VC_VIDEOHINTWIDGET, - DOCML_VIDEOCOLLECTIONVIEW_FILE, - DOCML_VIDEOCOLLECTIONVIEW_SECTION_HINT, - true, - VideoCollectionUiLoaderParam::LoadPhasePrimary); // pre-load widget asynchronously and find widget params.append(banner); @@ -241,38 +234,6 @@ QVERIFY(!mObjects.contains(DOCML_NAME_VC_HEADINGBANNER)); cleanup(); init(); - - // do not pre-load widget but add it in queue, section loaded - ok = false; - mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok); - QVERIFY(ok); - mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, - DOCML_VIDEOCOLLECTIONVIEW_SECTION_HINT, - &ok); - QVERIFY(ok); - params.append(hint); - mTestObject->addData(params, - this, - SLOT(handleObjectReady(QObject*, const QString&))); - VideoHintWidget *hintWidget = - mTestObject->findWidget( - DOCML_NAME_VC_VIDEOHINTWIDGET); - QVERIFY(hintWidget); - QVERIFY(mObjects.contains(DOCML_NAME_VC_VIDEOHINTWIDGET)); - params.clear(); - cleanup(); - init(); - - // do not pre-load widget, section not loaded - ok = false; - HbDocumentLoader::mFindWidgetFails = true; - mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok); - QVERIFY(ok); - hintWidget = - mTestObject->findWidget( - DOCML_NAME_VC_VIDEOHINTWIDGET); - QVERIFY(!hintWidget); - QVERIFY(!mObjects.contains(DOCML_NAME_VC_VIDEOHINTWIDGET)); } // --------------------------------------------------------------------------- @@ -439,21 +400,6 @@ // load section: // -docml loaded - // -two correct sections - ok = false; - mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok); - QVERIFY(ok); - mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST, &ok); - QVERIFY(ok); - QVERIFY(mTestObject->mSections.contains(DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST)); - mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, DOCML_VIDEOCOLLECTIONVIEW_SECTION_HINT, &ok); - QVERIFY(ok); - QVERIFY(mTestObject->mSections.contains(DOCML_VIDEOCOLLECTIONVIEW_SECTION_HINT)); - cleanup(); - init(); - - // load section: - // -docml loaded // -same section twice ok = false; mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok); @@ -628,12 +574,6 @@ true, VideoCollectionUiLoaderParam::LoadPhasePrimary)); params.append(VideoCollectionUiLoaderParam( - DOCML_NAME_VC_VIDEOHINTWIDGET, - DOCML_VIDEOCOLLECTIONVIEW_FILE, - DOCML_VIDEOCOLLECTIONVIEW_SECTION_HINT, - true, - VideoCollectionUiLoaderParam::LoadPhasePrimary)); - params.append(VideoCollectionUiLoaderParam( DOCML_NAME_OPTIONS_MENU, DOCML_VIDEOCOLLECTIONVIEW_FILE, true, @@ -679,15 +619,8 @@ false, VideoCollectionUiLoaderParam::LoadPhasePrimary)); params.append(VideoCollectionUiLoaderParam( - DOCML_NAME_HINT_BUTTON, + DOCML_NAME_NO_CONTENT_LABEL, DOCML_VIDEOCOLLECTIONVIEW_FILE, - DOCML_VIDEOCOLLECTIONVIEW_SECTION_HINT, - true, - VideoCollectionUiLoaderParam::LoadPhasePrimary)); - params.append(VideoCollectionUiLoaderParam( - DOCML_NAME_NO_VIDEOS_LABEL, - DOCML_VIDEOCOLLECTIONVIEW_FILE, - DOCML_VIDEOCOLLECTIONVIEW_SECTION_HINT, true, VideoCollectionUiLoaderParam::LoadPhasePrimary)); params.append(VideoCollectionUiLoaderParam( diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/tsrc/testvideolistselectiondialog/inc/videolistselectiondialogtester.h --- a/videocollection/videocollectionview/tsrc/testvideolistselectiondialog/inc/videolistselectiondialogtester.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/tsrc/testvideolistselectiondialog/inc/videolistselectiondialogtester.h Tue Oct 05 09:26:49 2010 +0300 @@ -18,6 +18,7 @@ #ifndef __VIDEOLISTSELECTIONDIALOGTESTER_H__ #define __VIDEOLISTSELECTIONDIALOGTESTER_H__ +#include #include "videolistselectiondialog.h" class VideoListSelectionDialogTesterHelper : public QObject @@ -142,7 +143,7 @@ emit finishedSignal(action); } - VideoListSelectionDialog *mTestable; + QPointer mTestable; /** * flag indicating if signals are connected. diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/tsrc/testvideolistselectiondialog/src/testvideolistselectiondialog.cpp --- a/videocollection/videocollectionview/tsrc/testvideolistselectiondialog/src/testvideolistselectiondialog.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/tsrc/testvideolistselectiondialog/src/testvideolistselectiondialog.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -158,7 +158,10 @@ // void TestVideoListSelectionDialog::cleanup() { - mTestHelper->disconnectSignals(); + if(mTestHelper) + { + mTestHelper->disconnectSignals(); + } delete mTestObject; mTestObject = 0; @@ -169,8 +172,6 @@ mSourceModel = 0; mModel = 0; - - } // --------------------------------------------------------------------------- @@ -196,6 +197,8 @@ QVERIFY(mTestObject->mModel == 0); QVERIFY(mTestObject->mListWidget == 0); + if(mTestHelper) + mTestHelper->disconnectSignals(); delete mTestObject; mTestObject = 0; @@ -215,8 +218,6 @@ { VideoCollectionWrapperData::reset(); VideoListWidgetData::reset(); - cleanup(); - init(); QVERIFY(mInitOk == true); QVERIFY(mModel != 0); @@ -280,6 +281,8 @@ QVERIFY(mTestObject->mModelReady == false); QVERIFY(mTestObject->mAlbumListReady == false); + if(mTestHelper) + mTestHelper->disconnectSignals(); delete mTestObject; mTestObject = new VideoListSelectionDialog(mTestUiLoader); VideoProxyModelData::reset(); @@ -309,6 +312,8 @@ QVERIFY(mTestObject->mModelReady == false); QVERIFY(mTestObject->mAlbumListReady == false); + if(mTestHelper) + mTestHelper->disconnectSignals(); delete mTestObject; mTestObject = new VideoListSelectionDialog(mTestUiLoader); VideoProxyModelData::reset(); @@ -363,6 +368,8 @@ QVERIFY(mTestObject->mModelReady == false); QVERIFY(mTestObject->mAlbumListReady == false); + if(mTestHelper) + mTestHelper->disconnectSignals(); delete mTestObject; mTestObject = new VideoListSelectionDialog(mTestUiLoader); VideoProxyModelData::reset(); @@ -392,6 +399,8 @@ QVERIFY(mTestObject->mModelReady == false); QVERIFY(mTestObject->mAlbumListReady == false); + if(mTestHelper) + mTestHelper->disconnectSignals(); delete mTestObject; mTestObject = new VideoListSelectionDialog(mTestUiLoader); VideoProxyModelData::reset(); @@ -421,6 +430,8 @@ QVERIFY(mTestObject->mModelReady == false); QVERIFY(mTestObject->mAlbumListReady == false); + if(mTestHelper) + mTestHelper->disconnectSignals(); delete mTestObject; mTestObject = new VideoListSelectionDialog(mTestUiLoader); VideoProxyModelData::reset(); @@ -449,6 +460,8 @@ QVERIFY(mTestObject->mModelReady == false); QVERIFY(mTestObject->mAlbumListReady == false); + if(mTestHelper) + mTestHelper->disconnectSignals(); delete mTestObject; mTestObject = new VideoListSelectionDialog(mTestUiLoader); VideoProxyModelData::reset(); @@ -534,6 +547,8 @@ mTestObject->mModel = backup; backup = 0; mTestObject->mListWidget = backupWidget; backupWidget = 0; + if(mTestHelper) + mTestHelper->disconnectSignals(); delete mTestObject; mTestObject = new VideoListSelectionDialog(mTestUiLoader); @@ -553,6 +568,8 @@ QVERIFY(mTestObject->mCheckBox == 0); VideoListWidgetData::mInitializeReturnValue = 0; + if(mTestHelper) + mTestHelper->disconnectSignals(); delete mTestObject; mTestObject = new VideoListSelectionDialog(mTestUiLoader); diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/tsrc/videocollectionviewtests.pro --- a/videocollection/videocollectionview/tsrc/videocollectionviewtests.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/tsrc/videocollectionviewtests.pro Tue Oct 05 09:26:49 2010 +0300 @@ -18,12 +18,14 @@ TEMPLATE = subdirs CONFIG += ordered - -SUBDIRS += testcollectionview -SUBDIRS += testhintwidget -SUBDIRS += testlistview -SUBDIRS += testlistwidget -SUBDIRS += testvideocollectionuiloader + +SUBDIRS += testcollectionview +SUBDIRS += testlistmenu +SUBDIRS += testlisttoolbar +SUBDIRS += testlistview +SUBDIRS += testlistwidget +SUBDIRS += testvideocollectionuiloader SUBDIRS += testvideocollectionviewutils SUBDIRS += testvideolistselectiondialog - \ No newline at end of file +SUBDIRS += testvideooperatorservice +SUBDIRS += testvideooperatorservice_p \ No newline at end of file diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionview/videocollectionview.pro --- a/videocollection/videocollectionview/videocollectionview.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionview/videocollectionview.pro Tue Oct 05 09:26:49 2010 +0300 @@ -58,7 +58,6 @@ inc/videolisttoolbar.h \ inc/videolistmenu.h \ inc/videolistwidget.h \ - inc/videohintwidget.h \ inc/videocollectionviewutils.h \ inc/videocollectionuiloader.h \ inc/videolistselectiondialog.h \ @@ -71,7 +70,6 @@ src/videolisttoolbar.cpp \ src/videolistmenu.cpp \ src/videolistwidget.cpp \ - src/videohintwidget.cpp \ src/videocollectionviewutils.cpp \ src/videocollectionuiloader.cpp \ src/videolistselectiondialog.cpp \ diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionwrapper/tsrc/testvideocollectionclient/testvideocollectionclient.pro --- a/videocollection/videocollectionwrapper/tsrc/testvideocollectionclient/testvideocollectionclient.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionwrapper/tsrc/testvideocollectionclient/testvideocollectionclient.pro Tue Oct 05 09:26:49 2010 +0300 @@ -1,6 +1,19 @@ -# ##################################################################### -# Automatically generated by qmake (2.01a) Tue 5. May 13:25:42 2009 -# ##################################################################### +# +# 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: +# + TEMPLATE = app TARGET = DEPENDPATH += . \ diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionwrapper/tsrc/testvideocollectionlistener/testvideocollectionlistener.pro --- a/videocollection/videocollectionwrapper/tsrc/testvideocollectionlistener/testvideocollectionlistener.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionwrapper/tsrc/testvideocollectionlistener/testvideocollectionlistener.pro Tue Oct 05 09:26:49 2010 +0300 @@ -1,6 +1,19 @@ -# ##################################################################### -# Automatically generated by qmake (2.01a) Tue 5. May 13:25:42 2009 -# ##################################################################### +# +# 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: +# + TEMPLATE = app TARGET = DEPENDPATH += . \ diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionwrapper/tsrc/testvideocollectionwrapper_p/testvideocollectionwrapper_p.pro --- a/videocollection/videocollectionwrapper/tsrc/testvideocollectionwrapper_p/testvideocollectionwrapper_p.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionwrapper/tsrc/testvideocollectionwrapper_p/testvideocollectionwrapper_p.pro Tue Oct 05 09:26:49 2010 +0300 @@ -1,6 +1,18 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Tue 5. May 13:25:42 2009 -###################################################################### +# +# 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: +# TEMPLATE = app TARGET = diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionwrapper/tsrc/testvideodatacontainer/testvideodatacontainer.pro --- a/videocollection/videocollectionwrapper/tsrc/testvideodatacontainer/testvideodatacontainer.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionwrapper/tsrc/testvideodatacontainer/testvideodatacontainer.pro Tue Oct 05 09:26:49 2010 +0300 @@ -1,6 +1,18 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Tue 5. May 13:25:42 2009 -###################################################################### +# +# 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: +# TEMPLATE = app TARGET = diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionwrapper/tsrc/testvideodeleteworker/testvideodeleteworker.pro --- a/videocollection/videocollectionwrapper/tsrc/testvideodeleteworker/testvideodeleteworker.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionwrapper/tsrc/testvideodeleteworker/testvideodeleteworker.pro Tue Oct 05 09:26:49 2010 +0300 @@ -1,6 +1,18 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Tue 5. May 13:25:42 2009 -###################################################################### +# +# 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: +# TEMPLATE = app TARGET = diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionwrapper/tsrc/testvideomodel/testvideomodel.pro --- a/videocollection/videocollectionwrapper/tsrc/testvideomodel/testvideomodel.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionwrapper/tsrc/testvideomodel/testvideomodel.pro Tue Oct 05 09:26:49 2010 +0300 @@ -1,6 +1,18 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Tue 5. May 13:25:42 2009 -###################################################################### +# +# 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: +# TEMPLATE = app TARGET = diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionwrapper/tsrc/testvideomodel_p/testvideomodel_p.pro --- a/videocollection/videocollectionwrapper/tsrc/testvideomodel_p/testvideomodel_p.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionwrapper/tsrc/testvideomodel_p/testvideomodel_p.pro Tue Oct 05 09:26:49 2010 +0300 @@ -1,6 +1,18 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Tue 5. May 13:25:42 2009 -###################################################################### +# +# 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: +# TEMPLATE = app TARGET = diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionwrapper/tsrc/testvideoproxymodelallvideos/testvideoproxymodelallvideos.pro --- a/videocollection/videocollectionwrapper/tsrc/testvideoproxymodelallvideos/testvideoproxymodelallvideos.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionwrapper/tsrc/testvideoproxymodelallvideos/testvideoproxymodelallvideos.pro Tue Oct 05 09:26:49 2010 +0300 @@ -1,3 +1,19 @@ +# +# 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: +# + TEMPLATE = app TARGET = DEFINES += BUILD_VIDEOCOLLECTION_DLL diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionwrapper/tsrc/testvideoproxymodelcollections/testvideoproxymodelcollections.pro --- a/videocollection/videocollectionwrapper/tsrc/testvideoproxymodelcollections/testvideoproxymodelcollections.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionwrapper/tsrc/testvideoproxymodelcollections/testvideoproxymodelcollections.pro Tue Oct 05 09:26:49 2010 +0300 @@ -1,3 +1,19 @@ +# +# 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: +# + TEMPLATE = app TARGET = DEFINES += BUILD_VIDEOCOLLECTION_DLL diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionwrapper/tsrc/testvideoproxymodelcontent/testvideoproxymodelcontent.pro --- a/videocollection/videocollectionwrapper/tsrc/testvideoproxymodelcontent/testvideoproxymodelcontent.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionwrapper/tsrc/testvideoproxymodelcontent/testvideoproxymodelcontent.pro Tue Oct 05 09:26:49 2010 +0300 @@ -1,3 +1,19 @@ +# +# 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: +# + TEMPLATE = app TARGET = DEFINES += BUILD_VIDEOCOLLECTION_DLL diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionwrapper/tsrc/testvideoproxymodelgeneric/testvideoproxymodelgeneric.pro --- a/videocollection/videocollectionwrapper/tsrc/testvideoproxymodelgeneric/testvideoproxymodelgeneric.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videocollection/videocollectionwrapper/tsrc/testvideoproxymodelgeneric/testvideoproxymodelgeneric.pro Tue Oct 05 09:26:49 2010 +0300 @@ -1,6 +1,19 @@ -# ##################################################################### -# Automatically generated by qmake (2.01a) Tue 5. May 13:25:42 2009 -# ##################################################################### +# +# 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: +# + TEMPLATE = app TARGET = DEFINES += BUILD_VIDEOCOLLECTION_DLL diff -r 4707a0db12f6 -r adb51f74b890 videocollection/videocollectionwrapper/tsrc/videocollectionwrappertest.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videocollection/videocollectionwrapper/tsrc/videocollectionwrappertest.pro Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,35 @@ +# +# 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: Project file for building videocollectionwrapper tests +# +# + +TEMPLATE = subdirs + +CONFIG += ordered + +SUBDIRS += testvideocollectionclient +SUBDIRS += testvideocollectionlistener +SUBDIRS += testvideocollectionwrapper_p +SUBDIRS += testvideodatacontainer +SUBDIRS += testvideodeleteworker +SUBDIRS += testvideomodel +SUBDIRS += testvideomodel_p +SUBDIRS += testvideoproxymodelallvideos +SUBDIRS += testvideoproxymodelcollections +SUBDIRS += testvideoproxymodelcontent +SUBDIRS += testvideoproxymodelgeneric +SUBDIRS += testvideothumbnaildata +SUBDIRS += testvideothumbnaildata_p +SUBDIRS += testvideothumbnailfetcher \ No newline at end of file diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videohelix/src/mpxcalldetector.cpp --- a/videoplayback/videohelix/src/mpxcalldetector.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videohelix/src/mpxcalldetector.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 1 % +// Version : %version: 2 % // INCLUDE FILES #include @@ -101,10 +101,10 @@ if ( status == KErrNone ) { - TInt status; - iTsyProperty.Get( status ); + TInt callStatus; + iTsyProperty.Get( callStatus ); - if ( status != EPSCTsyCallStateNone ) + if ( callStatus != EPSCTsyCallStateNone && callStatus != EPSCTsyCallStateDisconnecting ) { iObserver->CallDetectedL(); } diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videohelix/src/mpxvideoplaybackmode.cpp --- a/videoplayback/videohelix/src/mpxvideoplaybackmode.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videohelix/src/mpxvideoplaybackmode.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -16,7 +16,7 @@ */ -// Version : %version: 35 % +// Version : %version: ou1cpsw#37 % // @@ -196,10 +196,6 @@ iVideoPlaybackCtlr->iState->HandlePause(); TRAP_IGNORE( iVideoPlaybackCtlr->SendHideControlsEventL() ); } - else if ( iVideoPlaybackCtlr->IsPhoneCall() || iVideoPlaybackCtlr->IsVideoCall() ) - { - iVideoPlaybackCtlr->iState->HandlePause(); - } } else { @@ -251,6 +247,8 @@ RMobilePhone::TMobilePhoneNetworkMode networkMode; User::LeaveIfError( telServer.Connect() ); + CleanupClosePushL( telServer ); + User::LeaveIfError( telServer.LoadPhoneModule( KMmTsyModuleName ) ); TInt numPhones; @@ -263,6 +261,7 @@ User::LeaveIfError( telServer.GetPhoneInfo( 0, phoneInfo ) ); User::LeaveIfError( mobilePhone.Open( telServer, phoneInfo.iName ) ); + CleanupClosePushL( mobilePhone ); User::LeaveIfError( mobilePhone.Initialise() ); User::LeaveIfError( mobilePhone.GetCurrentMode( networkMode ) ); @@ -272,8 +271,8 @@ networkMode2g = ETrue; } - mobilePhone.Close(); - telServer.Close(); + CleanupStack::PopAndDestroy( &mobilePhone ); + CleanupStack::PopAndDestroy( &telServer ); MPX_DEBUG(_L("CMPXVideoPlaybackMode::IsNetworkMode2GL(%d)"), networkMode2g); diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videohelix/src/mpxvideoplaybackstate.cpp --- a/videoplayback/videohelix/src/mpxvideoplaybackstate.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videohelix/src/mpxvideoplaybackstate.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -16,7 +16,7 @@ */ -// Version : %version: 49 % +// Version : %version: 51 % // @@ -1891,7 +1891,7 @@ // // Delayed pause, background event was received while we were in buffering state // - HandlePause(); + DoHandlePause(); } } else diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videohelix/tsrc/ut_videohelixtest/src/videohelixtestbody.cpp --- a/videoplayback/videohelix/tsrc/ut_videohelixtest/src/videohelixtestbody.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/src/videohelixtestbody.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 27 % +// Version : %version: 28 % // [INCLUDE FILES] - do not remove @@ -1830,11 +1830,6 @@ if ( err == KErrNone ) { - // - // Clear ringing - // - RProperty::Set(KPSUidCtsyCallInformation, KCTsyCallState, EPSCTsyCallStateNone); - CreateBackgroundCommand(background); } } diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/controlinc/videoplaybacktoolbar.h --- a/videoplayback/videoplaybackview/controlinc/videoplaybacktoolbar.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/controlinc/videoplaybacktoolbar.h Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 5 % +// Version : %version: 6 % @@ -105,6 +105,9 @@ void retrieveButtons(); private: + void setAspectRatioButton(); + + private: VideoPlaybackControlsController *mController; HbToolBar *mToolBar; QTimer *mSeekStartTimer; @@ -120,7 +123,6 @@ int mPosition; int mDuration; int mAspectRatio; - TReal32 mDisplayAspectRatio; }; #endif /*VIDEOPLAYBACKTOOLBAR_H_*/ diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/controlinc/videoplaybackvolumecontrol.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayback/videoplaybackview/controlinc/videoplaybackvolumecontrol.h Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,71 @@ +/* +* 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: Implementation of VideoPlaybackVolumeControl +* +*/ + +// Version : %version: 1 % + + + +#ifndef VIDEOPLAYBACKVOLUMECONTROL_H_ +#define VIDEOPLAYBACKVOLUMECONTROL_H_ + + +// INCLUDES +#include + +// FORWARD DECLARATIONS +class QTimer; +class HbVolumeSliderPopup; +class VideoPlaybackControlsController; + +class VideoPlaybackVolumeControl : public QObject +{ + Q_OBJECT + + public: + VideoPlaybackVolumeControl( VideoPlaybackControlsController* controller ); + virtual ~VideoPlaybackVolumeControl(); + + public: + void volumeChanged( int volume ); + void setVisible( bool visible ); + bool isVisible(); + + private: + void initialize(); + void setVolume( int volume ); + + private slots: + void handleSliderValueChanged( int volume ); + void handleMuteIconClicked(); + void handleSliderPressed(); + void handleSliderReleased(); + void handleDraggingTimerTimeOut(); + + private: + VideoPlaybackControlsController *mController; + HbVolumeSliderPopup *mVolumePopup; + QTimer *mDraggingHandlerTimer; + + QList mExpectedVolList; + int mVolume; + int mDraggingVolume; + int mVolumeNormalizer; + bool mMutedByMuteIcon; + bool mDragging; +}; + +#endif /*VIDEOPLAYBACKVOLUMECONTROL_H_*/ diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/controlsrc/videoplaybackcontrolscontroller.cpp --- a/videoplayback/videoplaybackview/controlsrc/videoplaybackcontrolscontroller.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/controlsrc/videoplaybackcontrolscontroller.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: da1mmcf#54 % +// Version : %version: da1mmcf#57 % @@ -29,7 +29,6 @@ #include #include -#include #include #include #include @@ -37,10 +36,11 @@ #include #include -#include "mpxvideoviewwrapper.h" +#include "videoservices.h" #include "videobaseplaybackview.h" #include "videoplaybackcontrolbar.h" #include "videoplaybackcontrolpolicy.h" +#include "videoplaybackvolumecontrol.h" #include "videoplaybackdocumentloader.h" #include "videoplaybackviewfiledetails.h" #include "videoplaybackstatuspanecontrol.h" @@ -49,7 +49,6 @@ #include "videoplaybackcontrolscontroller.h" #include "videoplaybackcontrolconfiguration.h" #include "videoplaybackdetailsplaybackwindow.h" -#include "videoservices.h" // ================= MEMBER FUNCTIONS ============================================================== @@ -148,15 +147,6 @@ mControlsConfig->createControlList(); // - // Create volume popup control - // - mVolumeControl = new HbVolumeSliderPopup(); - mVolumeControl->setVisible( false ); - mVolumeControl->setTimeout( KControlsTimeOut ); - mVolumeControl->setTickPosition( Hb::NoSliderTicks ); - mVolumeControl->setRange( KPbPlaybackVolumeLevelMin, KPbPlaybackVolumeLevelMax ); - - // // grab tap gesture // mView->grabGesture( Qt::TapGesture ); @@ -283,7 +273,7 @@ mVideoServices->decreaseReferenceCount(); mVideoServices = 0; } - + if( mShareUi ) { delete mShareUi; @@ -295,8 +285,7 @@ // VideoPlaybackControlsController::addFileDetails() // ------------------------------------------------------------------------------------------------- // -void VideoPlaybackControlsController::addFileDetails( - VideoPlaybackViewFileDetails* details ) +void VideoPlaybackControlsController::addFileDetails( VideoPlaybackViewFileDetails* details ) { MPX_ENTER_EXIT(_L("VideoPlaybackControlsController::addFileDetails")); @@ -311,15 +300,6 @@ evaluateAndChangeViewMode(); // - // Dimmed the volume control if it is video only - // - if ( ! mFileDetails->mAudioEnabled ) - { - mVolumeControl->setValue( 0 ); - mVolumeControl->setEnabled( false ); - } - - // // grab pan gesture for playlist and seekable(skippable) clip // if ( mFileDetails->mMultiItemPlaylist && mFileDetails->mSeekable ) @@ -692,8 +672,6 @@ MPX_DEBUG(_L(" EIndicatorBitmap load IndicatorBitmaps ok = %d"), ok); } - widget = mLoader->findWidget( QString( "bitmapLayout" ) ); - HbWidget *bitmapWidget = qobject_cast( widget ); setDefaultBitmap(); @@ -770,7 +748,7 @@ // // If the volume control is visible, hide it // - if ( mVolumeControl->isVisible() ) + if ( mVolumeControl && mVolumeControl->isVisible() ) { mVolumeControl->setVisible( false ); } @@ -933,10 +911,12 @@ { MPX_DEBUG(_L("VideoPlaybackControlsController::volumeChanged() [%d]"), volume); - if ( mVolumeControl ) + if ( ! mVolumeControl ) { - mVolumeControl->setValue( volume ); + mVolumeControl = new VideoPlaybackVolumeControl( this ); } + + mVolumeControl->volumeChanged( volume ); } // ------------------------------------------------------------------------------------------------- @@ -947,10 +927,12 @@ { MPX_DEBUG(_L("VideoPlaybackControlsController::showVolumeControls()")); - if ( mVolumeControl ) + if ( ! mVolumeControl ) { - mVolumeControl->setVisible( true ); + mVolumeControl = new VideoPlaybackVolumeControl( this ); } + + mVolumeControl->setVisible( true ); } // ------------------------------------------------------------------------------------------------- @@ -1222,7 +1204,7 @@ void VideoPlaybackControlsController::evaluateAndChangeViewMode( TPlaybackViewMode viewMode, bool transitionEffect ) { - MPX_DEBUG(_L("VideoPlaybackControlsController::changeViewMode( %d, %d )"), + MPX_DEBUG(_L("VideoPlaybackControlsController::evaluateAndChangeViewMode( %d, %d )"), viewMode, transitionEffect ); switch ( viewMode ) @@ -1361,8 +1343,12 @@ rect = widget->geometry(); } + // + // Turn off the transition effect since it hits performance with high resolution clip + // Need to test again with transition effect on with IVE 3.5 + // mViewWrapper->UpdateVideoRect( - rect.x(), rect.y(), rect.width(), rect.height(), transitionEffect ); + rect.x(), rect.y(), rect.width(), rect.height(), false ); } } diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/controlsrc/videoplaybackfiledetailswidget.cpp --- a/videoplayback/videoplaybackview/controlsrc/videoplaybackfiledetailswidget.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/controlsrc/videoplaybackfiledetailswidget.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 29 % +// Version : %version: 30 % #include @@ -99,31 +99,31 @@ mFileDetailsUpdated = true; // - // Description - // - addItemToListWidget( - hbTrId( "txt_videos_list_description" ), details->mDescription ); - - // // File name & File path // - // prevent exposure of private paths and show only : - // (a) for standalone video player not when is launched from another app + // prevent exposure of private paths and show only : + // (a) for standalone video player not when is launched from another app // (b) for local playback ony not for streaming video // if ( !mController->isService() ) - { + { QFileInfo fileInfo( details->mClipName ); - - // File name + + // File name QString filename = fileInfo.completeBaseName(); - addItemToListWidget( hbTrId( "txt_videos_list_file_name" ), filename ); - - // File path + addItemToListWidget( hbTrId( "txt_videos_list_file_name" ), filename ); + + // File path QString path = fileInfo.absoluteFilePath(); addItemToListWidget( hbTrId( "txt_videos_list_file_path" ), path ); - } - + } + + // + // Description + // + addItemToListWidget( + hbTrId( "txt_videos_list_description" ), details->mDescription ); + // // Duration // diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/controlsrc/videoplaybacktoolbar.cpp --- a/videoplayback/videoplaybackview/controlsrc/videoplaybacktoolbar.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/controlsrc/videoplaybacktoolbar.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 13 % +// Version : %version: 14 % @@ -193,15 +193,6 @@ // RWindow *window = mController->view()->getWindow(); TRect displayRect = TRect( TPoint( window->Position() ), TSize( window->Size() ) ); - - // - // get window aspect ratio - // if device is in portrait mode, width > height - // if device is in landscape mode, width < height - // - TReal32 width = (TReal32) displayRect.Width(); - TReal32 height = (TReal32) displayRect.Height(); - mDisplayAspectRatio = (width > height)? (width / height) : (height / width); } } @@ -423,33 +414,7 @@ mAspectRatio = aspectRatio; - // - // If we are in attach service or audio only view, then don't update the icon. - // Aspect ratio icon slots are shared with attach and share icon. - // Just update the mAspectRatio - // and once we go back to full screen, we will show the correct aspect ratio icon - // - if ( ! mController->isAttachOperation() && mController->viewMode() == EFullScreenView ) - { - switch( mAspectRatio ) - { - case EMMFNatural: - { - mButtonActions[E1stButton]->setIcon( *mButtonIcons[EStretchIcon] ); - break; - } - case EMMFStretch: - { - mButtonActions[E1stButton]->setIcon( *mButtonIcons[EZoomIcon] ); - break; - } - default: - { - mButtonActions[E1stButton]->setIcon( *mButtonIcons[ENaturalIcon] ); - break; - } - } - } + setAspectRatioButton(); } // ------------------------------------------------------------------------------------------------- @@ -530,40 +495,13 @@ { if ( mController->viewMode() == EFullScreenView ) { - // - // Show aspect ratio button - // - aspectRatioChanged( mAspectRatio ); + setAspectRatioButton(); - if ( ! details->mVideoEnabled || - details->mVideoHeight <= 0 || - details->mVideoWidth <= 0 || - details->mTvOutConnected ) - { - // - // dim 'aspect ratio' buttons - // - mButtonActions[E1stButton]->setEnabled( false ); - } - else + if ( mButtons.count() ) { - // - // check if video clip has same aspect ratio as display window - // - TReal32 videoAspectRatio = (TReal32) details->mVideoWidth / (TReal32) details->mVideoHeight; - bool enabled = ( mDisplayAspectRatio == videoAspectRatio )? false : true; - - // - // enable or dim 'aspect ratio' buttons accordingly - // - mButtonActions[E1stButton]->setEnabled( enabled ); - - if ( mButtons.count() ) - { - disconnect( mButtons[E1stButton], SIGNAL( released() ), 0, 0 ); - connect( mButtons[E1stButton], SIGNAL( released() ), - this, SLOT( changeAspectRatio() ) ); - } + disconnect( mButtons[E1stButton], SIGNAL( released() ), 0, 0 ); + connect( mButtons[E1stButton], SIGNAL( released() ), + this, SLOT( changeAspectRatio() ) ); } } else if ( mController->viewMode() == EAudioOnlyView ) @@ -792,4 +730,56 @@ } } +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackToolBar::setAspectRatioButton +// ------------------------------------------------------------------------------------------------- +// +void VideoPlaybackToolBar::setAspectRatioButton() +{ + MPX_DEBUG(_L("VideoPlaybackToolBar::setAspectRatioButton")); + + // + // If we are in attach service or audio only view, then don't update the icon. + // Aspect ratio icon slots are shared with attach and share icon. + // Just update the mAspectRatio + // and once we go back to full screen, we will show the correct aspect ratio icon + // + if ( ! mController->isAttachOperation() && mController->viewMode() == EFullScreenView ) + { + switch( mAspectRatio ) + { + case EMMFNatural: + { + mButtonActions[E1stButton]->setIcon( *mButtonIcons[EStretchIcon] ); + break; + } + case EMMFStretch: + { + mButtonActions[E1stButton]->setIcon( *mButtonIcons[EZoomIcon] ); + break; + } + default: + { + mButtonActions[E1stButton]->setIcon( *mButtonIcons[ENaturalIcon] ); + break; + } + } + + if ( mController->fileDetails()->mAspectRatioChangeable ) + { + if ( ! mButtonActions[E1stButton]->isEnabled() ) + { + mButtonActions[E1stButton]->setEnabled( true ); + } + } + else + { + if ( mButtonActions[E1stButton]->isEnabled() ) + { + mButtonActions[E1stButton]->setEnabled( false ); + } + } + } +} + //End of file diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/controlsrc/videoplaybackvolumecontrol.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayback/videoplaybackview/controlsrc/videoplaybackvolumecontrol.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,338 @@ +/* +* 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: Implementation of VideoPlaybackVolumeControl +* +*/ + +// Version : %version: 1 % + + +#include +#include + +#include "mpxvideo_debug.h" +#include "videoplaybackvolumecontrol.h" +#include "videoplaybackcontrolscontroller.h" + +const int KVolumeDragEventTimeOut = 100000; //set volume maximum 10 times a sec during dragging + + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackVolumeControl::VideoPlaybackVolumeControl() +// ------------------------------------------------------------------------------------------------- +// +VideoPlaybackVolumeControl::VideoPlaybackVolumeControl( VideoPlaybackControlsController* controller ) + : mController( controller ) + , mVolumePopup( NULL ) + , mDraggingHandlerTimer( NULL ) + , mVolume( KPbPlaybackVolumeLevelMin ) + , mVolumeNormalizer( 0 ) + , mMutedByMuteIcon( false ) + , mDragging( false ) +{ + MPX_ENTER_EXIT(_L("VideoPlaybackVolumeControl::VideoPlaybackVolumeControl")); +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackVolumeControl::~VideoPlaybackVolumeControl() +// ------------------------------------------------------------------------------------------------- +// +VideoPlaybackVolumeControl::~VideoPlaybackVolumeControl() +{ + MPX_DEBUG(_L("VideoPlaybackVolumeControl::~VideoPlaybackVolumeControl()")); + + if ( mDraggingHandlerTimer ) + { + disconnect( mDraggingHandlerTimer, SIGNAL( timeout() ), this, SLOT( handleDraggingTimerTimeOut() ) ); + + if ( mDraggingHandlerTimer->isActive() ) + { + mDraggingHandlerTimer->stop(); + } + + delete mDraggingHandlerTimer; + mDraggingHandlerTimer = NULL; + } + + if ( mVolumePopup ) + { + disconnect( mVolumePopup, SIGNAL( valueChanged( int ) ), this, SLOT( handleSliderValueChanged( int ) ) ); + disconnect( mVolumePopup, SIGNAL( iconClicked() ), this, SLOT( handleMuteIconClicked() ) ); + disconnect( mVolumePopup, SIGNAL( sliderPressed() ), this, SLOT( handleSliderPressed() ) ); + disconnect( mVolumePopup, SIGNAL( sliderReleased() ), this, SLOT( handleSliderReleased() ) ); + + delete mVolumePopup; + mVolumePopup = NULL; + } +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackVolumeControl::initialize() +// ------------------------------------------------------------------------------------------------- +// +void VideoPlaybackVolumeControl::initialize() +{ + MPX_ENTER_EXIT(_L("VideoPlaybackVolumeControl::initialize()")); + + if ( ! mVolumePopup ) + { + // + // Create volume popup control + // + mVolumePopup = new HbVolumeSliderPopup(); + mVolumePopup->setVisible( false ); + mVolumePopup->setTimeout( KControlsTimeOut ); + mVolumePopup->setTickPosition( Hb::NoSliderTicks ); + + connect( mVolumePopup, SIGNAL( valueChanged( int ) ), this, SLOT( handleSliderValueChanged( int ) ), Qt::QueuedConnection ); + connect( mVolumePopup, SIGNAL( iconClicked() ), this, SLOT( handleMuteIconClicked() ) ); + connect( mVolumePopup, SIGNAL( sliderPressed() ), this, SLOT( handleSliderPressed() ) ); + connect( mVolumePopup, SIGNAL( sliderReleased() ), this, SLOT( handleSliderReleased() ) ); + + if ( mController->fileDetails()->mAudioEnabled ) + { + int volumeSteps = mController->volumeSteps(); + + mVolumePopup->setRange( 0, volumeSteps ); + mVolumePopup->setSingleStep( 1 ); + mVolumeNormalizer = ( KPbPlaybackVolumeLevelMax - KPbPlaybackVolumeLevelMin ) / volumeSteps; + mVolumePopup->setValue( mVolume / mVolumeNormalizer ); + + mDraggingHandlerTimer = new QTimer(); + mDraggingHandlerTimer->setSingleShot( false ); + mDraggingHandlerTimer->setInterval( KVolumeDragEventTimeOut ); + connect( mDraggingHandlerTimer, SIGNAL( timeout() ), this, SLOT( handleDraggingTimerTimeOut() ) ); + } + else + { + // + // Dimmed the volume control if it is video only + // + mVolumePopup->setValue( 0 ); + mVolumePopup->setEnabled( false ); + } + + } +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackVolumeControl::volumeChanged() +// ------------------------------------------------------------------------------------------------- +// +void VideoPlaybackVolumeControl::volumeChanged( int volume ) +{ + MPX_DEBUG(_L("VideoPlaybackVolumeControl::volumeChanged() volume = %d"), volume ); + + // + // If we get expected volume from video helix, we don't need to set the volume to volume slider. + // Or we can stay in infinite loop like this..1->2->3->4->1->2->3->4... + // Unlike 9.2, mVolumePopup updates UI first and then emit volumechanged signal, + // so there should be workaround to avoid infinite loop + // 1. mVolumePopup->setValue( 5 ) + // 2. mVolumePopup emits valueChanged( 5 ) + // 3. set the volume 5 to video helix + // 4. video helix sends voluemchanged with volume 5 + // + if ( mExpectedVolList.length() && mExpectedVolList.first() == volume ) + { + MPX_DEBUG(_L("VideoPlaybackVolumeControl::volumeChanged() mExpectedVolList.first() = %d"), + mExpectedVolList.first() ); + + mExpectedVolList.removeFirst(); + } + else if ( ! mDragging ) + { + mVolume = volume; + + if ( mVolumePopup ) + { + mVolumePopup->setValue( mVolume / mVolumeNormalizer ); + setVisible( true ); + } + } +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackVolumeControl::setVisible() +// ------------------------------------------------------------------------------------------------- +// +void VideoPlaybackVolumeControl::setVisible( bool visible ) +{ + MPX_DEBUG(_L("VideoPlaybackVolumeControl::setVisible() visibility = %d"), visible ); + + // + // Late init. When we have to show the volume control, we create. + // + if ( ! mVolumePopup ) + { + initialize(); + } + + mVolumePopup->setVisible( visible ); +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackVolumeControl::isVisible() +// ------------------------------------------------------------------------------------------------- +// +bool VideoPlaybackVolumeControl::isVisible() +{ + bool visible = false; + + if ( mVolumePopup ) + { + visible = mVolumePopup->isVisible(); + } + + MPX_DEBUG(_L("VideoPlaybackVolumeControl::isVisible()"), visible ); + + return visible; +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackVolumeControl::handleSliderValueChanged() +// ------------------------------------------------------------------------------------------------- +// +void VideoPlaybackVolumeControl::handleSliderValueChanged( int volume ) +{ + MPX_DEBUG(_L("VideoPlaybackVolumeControl::handleSliderValueChanged() vol = %d"), volume ); + + volume *= mVolumeNormalizer; + + // + // If user is dragging, we won't send all the volumechanged value to video helix + // since it causes huge traffic and issues with asynchnous calls + // So we send commands 10 times a sec as we do in 9.2 + // + if ( mDragging ) + { + mDraggingVolume = volume; + } + else + { + setVolume( volume ); + } +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackVolumeControl::handleMuteIconClicked() +// ------------------------------------------------------------------------------------------------- +// +void VideoPlaybackVolumeControl::handleMuteIconClicked() +{ + MPX_DEBUG(_L("VideoPlaybackVolumeControl::handleMuteIconClicked()")); + + if ( mVolumePopup->value() ) + { + mController->handleCommand( EMPXPbvCmdUnMute ); + } + else + { + mMutedByMuteIcon = true; + mController->handleCommand( EMPXPbvCmdMute ); + } +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackVolumeControl::handleSliderPressed() +// ------------------------------------------------------------------------------------------------- +// +void VideoPlaybackVolumeControl::handleSliderPressed() +{ + MPX_DEBUG(_L("VideoPlaybackVolumeControl::handleSliderPressed()")); + + mDragging = true; + + if ( mDraggingHandlerTimer && mDraggingHandlerTimer->isActive() ) + { + mDraggingHandlerTimer->stop(); + } + + mDraggingHandlerTimer->start( 0 ); +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackVolumeControl::handleSliderReleased() +// ------------------------------------------------------------------------------------------------- +// +void VideoPlaybackVolumeControl::handleSliderReleased() +{ + MPX_DEBUG(_L("VideoPlaybackVolumeControl::handleSliderReleased()")); + + mDragging = false; + + if ( mDraggingHandlerTimer ) + { + mDraggingHandlerTimer->stop(); + } + + setVolume( mDraggingVolume ); +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackVolumeControl::handleDraggingTimerTimeOut() +// ------------------------------------------------------------------------------------------------- +// +void VideoPlaybackVolumeControl::handleDraggingTimerTimeOut() +{ + MPX_DEBUG(_L("VideoPlaybackVolumeControl::handleDraggingTimerTimeOut() mDraggingVolume = %d") + ,mDraggingVolume ); + + if ( mDragging ) + { + setVolume( mDraggingVolume ); + } +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackVolumeControl::setVolume() +// ------------------------------------------------------------------------------------------------- +// +void VideoPlaybackVolumeControl::setVolume( int volume ) +{ + MPX_DEBUG(_L("VideoPlaybackVolumeControl::setVolume() mVolume = %d, volume = %d") + , mVolume, volume ); + + if ( mVolume != volume ) + { + mVolume = volume; + + if ( mMutedByMuteIcon && volume == 0 ) + { + MPX_DEBUG(_L("VideoPlaybackVolumeControl::setVolume() don't need to update volume right after muted")); + + // + // If this function gets called sincen user tap on mute icon to mute, + // Then add min value to the expectedlist. playback plugin will send min value to ui. + // + mExpectedVolList.append( KPbPlaybackVolumeLevelMin ); + + // + // Don't need to update volume '0' right after muted. + // If we set '0' to playbackplugin after muted, + // it won't go back to previous volume with unmuted through media key or remote + // + mMutedByMuteIcon = false; + } + else + { + MPX_DEBUG(_L("VideoPlaybackVolumeControl::setVolume() setvolume = %d"), mVolume ); + + mExpectedVolList.append( mVolume ); + mController->handleCommand( EMPXPbvCmdSetVolume, mVolume ); + } + } +} + +//End of file diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/inc/videoplaybackcontrolscontroller.h --- a/videoplayback/videoplaybackview/inc/videoplaybackcontrolscontroller.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/inc/videoplaybackcontrolscontroller.h Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: da1mmcf#28 % +// Version : %version: da1mmcf#29 % @@ -30,6 +30,7 @@ #include #include "mpxvideo_debug.h" +#include "mpxvideoviewwrapper.h" #include "videoplaybackcontrol.hrh" #include "mpxcommonvideoplaybackview.hrh" #include "videoplaybackviewfiledetails.h" @@ -39,16 +40,15 @@ class QString; class HbAction; class ThumbnailManager; -class HbVolumeSliderPopup ; -class CMPXVideoViewWrapper; +class ShareUi; class VideoBasePlaybackView; +class VideoPlaybackVolumeControl; class VideoPlaybackControlPolicy; class VideoPlaybackDocumentLoader; class VideoPlaybackFullScreenControl; class VideoPlaybackControlsController; class VideoPlaybackControlConfiguration; class VideoServices; -class ShareUi; // DATA TYPES @@ -156,9 +156,11 @@ bool isRNLogoBitmapInControlList(); bool shouldShowRNLogo(); - + inline bool isService(); + inline int volumeSteps(); + private: /** * Initialize controller @@ -291,7 +293,7 @@ QTimer *mRNLogoTimer; VideoPlaybackDocumentLoader *mLoader; - HbVolumeSliderPopup *mVolumeControl; + VideoPlaybackVolumeControl *mVolumeControl; ThumbnailManager *mThumbnailManager; VideoServices *mVideoServices; @@ -306,7 +308,7 @@ TMPXPlaybackState mState; TPlaybackViewMode mViewMode; Qt::Orientation mOrientation; - + ShareUi *mShareUi; }; @@ -400,7 +402,6 @@ return mFileDetailsAdded; } - // ------------------------------------------------------------------------------------------------- // VideoPlaybackControlsController::isService // ------------------------------------------------------------------------------------------------- @@ -409,11 +410,23 @@ bool VideoPlaybackControlsController::isService() { MPX_DEBUG(_L("VideoPlaybackControlsController::isService()")); - + return XQServiceUtil::isService(); } +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackControlsController::volumeSteps +// ------------------------------------------------------------------------------------------------- +// +inline +int VideoPlaybackControlsController::volumeSteps() +{ + int volumeSteps = mViewWrapper->VolumeSteps(); + MPX_DEBUG(_L("VideoPlaybackControlsController::volumeSteps() steps = %d"), volumeSteps); -#endif /*MPXVIDEOPLAYBACKCONTROLSCONTROLLER_P_H_*/ + return volumeSteps; +} + +#endif /*MPXVIDEOPLAYBACKCONTROLSCONTROLLER_H_*/ // End of File diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/inc/videoplaybackviewfiledetails.h --- a/videoplayback/videoplaybackview/inc/videoplaybackviewfiledetails.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/inc/videoplaybackviewfiledetails.h Tue Oct 05 09:26:49 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -15,7 +15,7 @@ * */ -// Version : %version: 6 % +// Version : %version: 7 % @@ -27,28 +27,28 @@ #include "mpxhelixplaybackplugindefs.h" -// +// // CLASS DECLARATION // class VideoPlaybackViewFileDetails : public QObject { - public: + public: // // Constructor // VideoPlaybackViewFileDetails(); - + // // Destructor. // virtual ~VideoPlaybackViewFileDetails(); - + // // Clear all file details // void clearFileDetails(); - public: + public: // // Data // @@ -60,7 +60,7 @@ QString mLocation; QString mCopyright; QString mLanguage; - QString mKeywords; + QString mKeywords; TMPXVideoMode mPlaybackMode; bool mSeekable; @@ -72,6 +72,7 @@ bool mTvOutConnected; bool mDrmProtected; bool mMultiItemPlaylist; + bool mAspectRatioChangeable; int mVideoHeight; int mVideoWidth; @@ -81,6 +82,6 @@ int mModificationTime; }; -#endif // __MPXVIDEOPLAYBACKVIEWFILEDETAILS__ - +#endif // __MPXVIDEOPLAYBACKVIEWFILEDETAILS__ + // EOF diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testcontrolscontroller/inc/testcontrolscontroller.h --- a/videoplayback/videoplaybackview/tsrc/testcontrolscontroller/inc/testcontrolscontroller.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testcontrolscontroller/inc/testcontrolscontroller.h Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 10 % +// Version : %version: 11 % #ifndef __TESTCONTROLSCONTROLLER_H__ #define __TESTCONTROLSCONTROLLER_H__ @@ -73,6 +73,7 @@ void testHandleEventShowVolumeControls(); void testHandleEventBackground(); void testIsFileDetailsAdded(); + void testVolumeSteps(); // // test handleCommand() diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testcontrolscontroller/src/testcontrolscontroller.cpp --- a/videoplayback/videoplaybackview/tsrc/testcontrolscontroller/src/testcontrolscontroller.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testcontrolscontroller/src/testcontrolscontroller.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 17 % +// Version : %version: 18 % #include #include @@ -37,7 +37,7 @@ #include "videoplaybackcontrolconfiguration.h" #include "thumbnailmanager_qt.h" #include "videoplaybackdocumentloader.h" -#include "hbvolumesliderpopup.h" +#include "videoplaybackvolumecontrol.h" #include "videoservices.h" #include "xqserviceutilxtra.h" @@ -158,13 +158,7 @@ // // validate 'TvOutConnected' // - verifyHandleEventTvOutResult(true, true); - - // - // video-only, validate volume control is dimmed - // - QVERIFY( mController->mVolumeControl->mValue == 0 ); - QVERIFY( mController->mVolumeControl->isEnabled() == false ); + verifyHandleEventTvOutResult( true, true ); // // verify 'title' (via mClipName) is set properly @@ -425,7 +419,7 @@ int value = 40; mController->handleEvent( EControlCmdSetVolume, value ); - QVERIFY( mController->mVolumeControl->mValue == value ); + QVERIFY( mController->mVolumeControl->mVolume == value ); cleanup(); } @@ -1169,10 +1163,10 @@ // emit signal, this will in turns invoke mController sendVideo() slot // emit commandSignal(); - + // // emit again. - // + // emit commandSignal(); // @@ -1367,4 +1361,20 @@ cleanup(); } +// ------------------------------------------------------------------------------------------------- +// TestControlsController::testVolumeSteps +// ------------------------------------------------------------------------------------------------- +// +void TestControlsController::testVolumeSteps() +{ + init(); + + int volume = 5; + mViewWrapper->mVolumeSteps = volume; + + QVERIFY( mViewWrapper->VolumeSteps() == volume ); + + cleanup(); +} + // End of file diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testcontrolscontroller/stub/inc/hbvolumesliderpopup.h --- a/videoplayback/videoplaybackview/tsrc/testcontrolscontroller/stub/inc/hbvolumesliderpopup.h Mon Sep 20 18:25:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +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: Implementation of HbVolumeSliderPopup -* -*/ - -// Version : %version: 2 % - - - -#ifndef HBVOLUMESLIDERPOPUP_H -#define HBVOLUMESLIDERPOPUP_H - -#include - - -class HbVolumeSliderPopup : public HbWidget -{ - Q_OBJECT - - public: - HbVolumeSliderPopup(); - virtual ~HbVolumeSliderPopup(); - - public: - void setEnabled( bool enabled ); - void setVisible( bool visible ); - bool isEnabled(); - bool isVisible(); - void setValue( int value ); - void setTimeout( int timeout ); - void setTickPosition( Hb::SliderTickPositions position ); - void setRange( int min, int max ); - - public: - bool mVisible; - bool mEnabled; - int mValue; - int mTimeOut; - int mMin; - int mMax; - Hb::SliderTickPositions mPosition; -}; - -#endif /*HBVOLUMESLIDERPOPUP_H*/ - diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testcontrolscontroller/stub/inc/mpxvideoviewwrapper.h --- a/videoplayback/videoplaybackview/tsrc/testcontrolscontroller/stub/inc/mpxvideoviewwrapper.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testcontrolscontroller/stub/inc/mpxvideoviewwrapper.h Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 4 % +// Version : %version: 5 % @@ -47,19 +47,20 @@ static CMPXVideoViewWrapper* NewL( VideoBasePlaybackView* aView ); virtual ~CMPXVideoViewWrapper(); - CMPXVideoViewWrapper( VideoBasePlaybackView* aView ); + CMPXVideoViewWrapper( VideoBasePlaybackView* aView ); void ConstructL(); public: void HandleCommandL( TInt aCommand ); - + void SetPropertyL( TMPXPlaybackProperty aProperty, TInt aValue ); void UpdateVideoRect( TInt aX, TInt aY, TInt aWidth, TInt aHeight, TBool transitionEffect ); TBool IsResumingPlaybackAfterTermination(); - + TInt VolumeSteps(); + public: // data VideoBasePlaybackView* mView; @@ -69,6 +70,7 @@ TBool mForeground; int mProperty; int mCommandId; + int mVolumeSteps; }; #endif // __MPXVIDEOVIEWWRAPPER_H__ diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testcontrolscontroller/stub/src/hbvolumesliderpopup.cpp --- a/videoplayback/videoplaybackview/tsrc/testcontrolscontroller/stub/src/hbvolumesliderpopup.cpp Mon Sep 20 18:25:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,132 +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: Implementation of HbVolumeSliderPopup -* -*/ - -// Version : %version: 2 % - - - -#include "mpxvideo_debug.h" -#include "hbvolumesliderpopup.h" - -// ------------------------------------------------------------------------------------------------- -// HbVolumeSliderPopup::HbVolumeSliderPopup -// ------------------------------------------------------------------------------------------------- -// -HbVolumeSliderPopup::HbVolumeSliderPopup() -{ - MPX_ENTER_EXIT(_L("HbVolumeSliderPopup::HbVolumeSliderPopup()")); -} - -// ------------------------------------------------------------------------------------------------- -// HbVolumeSliderPopup::~HbVolumeSliderPopup -// ------------------------------------------------------------------------------------------------- -// -HbVolumeSliderPopup::~HbVolumeSliderPopup() -{ - MPX_DEBUG(_L("HbVolumeSliderPopup::HbVolumeSliderPopup") ); -} - -// ------------------------------------------------------------------------------------------------- -// HbVolumeSliderPopup::setEnabled -// ------------------------------------------------------------------------------------------------- -// -void HbVolumeSliderPopup::setEnabled( bool enabled ) -{ - MPX_DEBUG(_L("HbVolumeSliderPopup::setEnabled %d"), enabled ); - - mEnabled = enabled; -} - -// ------------------------------------------------------------------------------------------------- -// HbVolumeSliderPopup::isEnabled -// ------------------------------------------------------------------------------------------------- -// -bool HbVolumeSliderPopup::isEnabled() -{ - MPX_DEBUG(_L("HbVolumeSliderPopup::isEnabled %d"), mEnabled ); - - return mEnabled; -} - -// ------------------------------------------------------------------------------------------------- -// HbVolumeSliderPopup::setVisible -// ------------------------------------------------------------------------------------------------- -// -void HbVolumeSliderPopup::setVisible( bool visible ) -{ - MPX_DEBUG(_L("HbVolumeSliderPopup::setVisible %d"), visible ); - - mVisible = visible; -} - -// ------------------------------------------------------------------------------------------------- -// HbVolumeSliderPopup::isVisible -// ------------------------------------------------------------------------------------------------- -// -bool HbVolumeSliderPopup::isVisible() -{ - MPX_DEBUG(_L("HbVolumeSliderPopup::isVisible %d"), mVisible ); - - return mVisible; -} - -// ------------------------------------------------------------------------------------------------- -// HbVolumeSliderPopup::setValue -// ------------------------------------------------------------------------------------------------- -// -void HbVolumeSliderPopup::setValue( int value ) -{ - MPX_DEBUG(_L("HbVolumeSliderPopup::setValue %d"), value ); - - mValue = value; -} - -// ------------------------------------------------------------------------------------------------- -// HbVolumeSliderPopup::setTimeout -// ------------------------------------------------------------------------------------------------- -// -void HbVolumeSliderPopup::setTimeout( int timeout ) -{ - MPX_DEBUG(_L("HbVolumeSliderPopup::setTimeout %d"), timeout ); - - mTimeOut = timeout; -} - -// ------------------------------------------------------------------------------------------------- -// HbVolumeSliderPopup::setTickPosition -// ------------------------------------------------------------------------------------------------- -// -void HbVolumeSliderPopup::setTickPosition( Hb::SliderTickPositions position ) -{ - MPX_DEBUG(_L("HbVolumeSliderPopup::setTickPosition")); - - mPosition = position; -} - -// ------------------------------------------------------------------------------------------------- -// HbVolumeSliderPopup::setRange -// ------------------------------------------------------------------------------------------------- -// -void HbVolumeSliderPopup::setRange( int min, int max ) -{ - MPX_DEBUG(_L("HbVolumeSliderPopup::setRange")); - - mMin = min; - mMax = max; -} - -// End of file diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testcontrolscontroller/stub/src/mpxvideoviewwrapper.cpp --- a/videoplayback/videoplaybackview/tsrc/testcontrolscontroller/stub/src/mpxvideoviewwrapper.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testcontrolscontroller/stub/src/mpxvideoviewwrapper.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 4 % +// Version : %version: 5 % @@ -34,7 +34,7 @@ // ------------------------------------------------------------------------------------------------- // CMPXVideoViewWrapper::CMPXVideoViewWrapper( VideoBasePlaybackView* aView ) - : mView( aView ) + : mView( aView ) { } @@ -60,7 +60,7 @@ // void CMPXVideoViewWrapper::ConstructL() { - mMediaRequested = EFalse; + mMediaRequested = EFalse; } // ------------------------------------------------------------------------------------------------- @@ -89,33 +89,39 @@ void CMPXVideoViewWrapper::SetPropertyL( TMPXPlaybackProperty aProperty, TInt aValue ) { mProperty = aProperty; - Q_UNUSED( aValue ); + Q_UNUSED( aValue ); } // ------------------------------------------------------------------------------------------------- // CMPXVideoViewWrapper::UpdateVideoRect() // ------------------------------------------------------------------------------------------------- // -void CMPXVideoViewWrapper::UpdateVideoRect( +void CMPXVideoViewWrapper::UpdateVideoRect( TInt aX, TInt aY, TInt aWidth, TInt aHeight, TBool transitionEffect ) { Q_UNUSED( aX ); Q_UNUSED( aY ); - Q_UNUSED( aWidth ); + Q_UNUSED( aWidth ); Q_UNUSED( aHeight ); - Q_UNUSED( transitionEffect ); + Q_UNUSED( transitionEffect ); } - // ------------------------------------------------------------------------------------------------- // CMPXVideoViewWrapper::IsResumingPlaybackAfterTermination() // ------------------------------------------------------------------------------------------------- // TBool CMPXVideoViewWrapper::IsResumingPlaybackAfterTermination() { - return false; + return false; } - +// ------------------------------------------------------------------------------------------------- +// CMPXVideoViewWrapper::VolumeSteps() +// ------------------------------------------------------------------------------------------------- +// +TInt CMPXVideoViewWrapper::VolumeSteps() +{ + return mVolumeSteps; +} // EOF diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testcontrolscontroller/testcontrolscontroller.pro --- a/videoplayback/videoplaybackview/tsrc/testcontrolscontroller/testcontrolscontroller.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testcontrolscontroller/testcontrolscontroller.pro Tue Oct 05 09:26:49 2010 +0300 @@ -14,7 +14,7 @@ # Description: Project file for building testcontrolscontroller # # -# Version : %version: 9 % +# Version : %version: 10 % TEMPLATE = app @@ -46,7 +46,7 @@ mpxvideoviewwrapper.h \ thumbnailmanager_qt.h \ testcontrolscontroller.h \ - hbvolumesliderpopup.h \ + videoplaybackvolumecontrol.h \ xqserviceutilxtra.h \ xqserviceutil.h \ videoservices.h \ @@ -68,7 +68,7 @@ mpxvideoviewwrapper.cpp \ thumbnailmanager_qt.cpp \ testcontrolscontroller.cpp \ - hbvolumesliderpopup.cpp \ + videoplaybackvolumecontrol.cpp \ xqserviceutilxtra.cpp \ xqserviceutil.cpp \ videoservices.cpp \ diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/inc/testmpxvideoviewwrapper.h --- a/videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/inc/testmpxvideoviewwrapper.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/inc/testmpxvideoviewwrapper.h Tue Oct 05 09:26:49 2010 +0300 @@ -71,6 +71,8 @@ void testHandlePlaybackCommandComplete(); void testHandleMedia(); void testSurfacedAttached(); + void testVolumeSteps(); + void testSetDefaultAspectRatio(); signals: void commandSignal(int); diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/src/testmpxvideoviewwrapper.cpp --- a/videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/src/testmpxvideoviewwrapper.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/src/testmpxvideoviewwrapper.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 18 % +// Version : %version: 20 % #include #include @@ -37,6 +37,7 @@ #include "mpxcollectionutility.h" #include "mpxcollectionplaylist.h" #include "testmpxvideoviewwrapper.h" +#include "devsoundif.h" #include "../stub/inc/videobaseplaybackview.h" #include "../stub/inc/videoplaybackviewfiledetails.h" @@ -837,8 +838,6 @@ QVERIFY( err == KErrNone ); QCOMPARE( mVideoViewWrapper->iView->mCurrentError, KErrNone ); QVERIFY( mVideoViewWrapper->iControlsController->mFileDetailsAdded ); - QVERIFY( mVideoViewWrapper->iControlsController->mReceivedEvent == EControlCmdSetAspectRatio ); - QVERIFY( mVideoViewWrapper->iControlsController->mValue == EMMFNatural ); QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdPlay ); QVERIFY( mVideoViewWrapper->iMediaRequestStatus == MediaDelivered ); @@ -872,8 +871,6 @@ QVERIFY( err == KErrNone ); QCOMPARE( mVideoViewWrapper->iView->mCurrentError, KErrNone ); QVERIFY( mVideoViewWrapper->iControlsController->mFileDetailsAdded ); - QVERIFY( mVideoViewWrapper->iControlsController->mReceivedEvent == EControlCmdSetAspectRatio ); - QVERIFY( mVideoViewWrapper->iControlsController->mValue == EMMFNatural ); QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdPause ); QVERIFY( mVideoViewWrapper->iMediaRequestStatus == MediaDelivered ); @@ -906,8 +903,6 @@ QVERIFY( err == KErrNone ); QVERIFY( ! mVideoViewWrapper->iControlsController->mFileDetailsAdded ); - QVERIFY( mVideoViewWrapper->iControlsController->mReceivedEvent == EControlCmdSetAspectRatio ); - QVERIFY( mVideoViewWrapper->iControlsController->mValue == EMMFNatural ); QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdPause ); QCOMPARE( mVideoViewWrapper->iView->mCurrentError, KErrNone ); QVERIFY( mVideoViewWrapper->iMediaRequestStatus == MediaDelivered ); @@ -966,4 +961,35 @@ cleanup(); } +void TestMPXVideoViewWrapper::testVolumeSteps() +{ + init(); + + int volumeSteps = 0; + + TRAP_IGNORE( { + CDevSoundIf* devSoundIf = CDevSoundIf::NewL(); + volumeSteps = devSoundIf->GetNumberOfVolumeSteps(); + delete devSoundIf; + } ); + + QVERIFY( mVideoViewWrapper->VolumeSteps() == volumeSteps ); + + cleanup(); +} + +void TestMPXVideoViewWrapper::testSetDefaultAspectRatio() +{ + init(); + + int aspectRatio = 3; + + mVideoViewWrapper->SetDefaultAspectRatio( aspectRatio ); + + QVERIFY( mVideoViewWrapper->iControlsController->mReceivedEvent == EControlCmdSetAspectRatio ); + QVERIFY( mVideoViewWrapper->iControlsController->mValue == aspectRatio ); + + cleanup(); +} + // End of file diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/stub/inc/devsoundif.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/stub/inc/devsoundif.h Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,47 @@ +/* +* 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: Implementation of CDevSoundIf +* +*/ + +// Version : %version: 1 % + + + +#ifndef __DEVSOUNDIF_H +#define __DEVSOUNDIF_H + +#include + +class CDevSoundIf : public CBase +{ + public: + + static CDevSoundIf* NewL(); + virtual ~CDevSoundIf(); + + public: + TInt GetNumberOfVolumeSteps(); + + private: + CDevSoundIf(); + void ConstructL(); + + public: + TInt iVolumeSteps; +}; + +#endif // __DEVSOUNDIF_H + +// End of File diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/stub/inc/videoplaybackdisplayhandler.h --- a/videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/stub/inc/videoplaybackdisplayhandler.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/stub/inc/videoplaybackdisplayhandler.h Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 8 % +// Version : %version: 10 % #ifndef __CVIDEOPLAYBACKDISPLAYHANDLER_H__ @@ -29,10 +29,9 @@ #include -// +// // CLASS DECLARATION // -class MMPXPlaybackUtility; class CMPXVideoViewWrapper; class VideoPlaybackViewFileDetails; @@ -46,34 +45,29 @@ ~CVideoPlaybackDisplayHandler(); - static CVideoPlaybackDisplayHandler* NewL( MMPXPlaybackUtility* aPlayUtil, - CMPXVideoViewWrapper* aViewWrapper ); + static CVideoPlaybackDisplayHandler* NewL( CMPXVideoViewWrapper* aViewWrapper ); void CreateDisplayWindowL( RWsSession& aWs, CWsScreenDevice& aScreenDevice, RWindow& aWin, - TRect aDisplayRect ); + TRect aDisplayRect, + VideoPlaybackViewFileDetails* fileDetails ); void RemoveDisplayWindow(); void HandleVideoDisplayMessageL( CMPXMessage* aMessage ); TInt SetAspectRatioL( TMPXVideoPlaybackCommand aCmd ); - - TInt SetDefaultAspectRatioL( VideoPlaybackViewFileDetails* aFileDetails, - TReal32 aDisplayAspectRatio ); void UpdateVideoRectL( TRect aRect, TBool transitionEffect ); private: - CVideoPlaybackDisplayHandler( MMPXPlaybackUtility* aPlayUtil, - CMPXVideoViewWrapper* aViewWrapper ); + CVideoPlaybackDisplayHandler( CMPXVideoViewWrapper* aViewWrapper ); void ConstructL(); public: - MMPXPlaybackUtility* iPlaybackUtility; CMPXVideoViewWrapper* iViewWrapper; CMediaClientVideoDisplay* iVideoDisplay; diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/stub/src/devsoundif.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/stub/src/devsoundif.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,83 @@ +/* +* 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: Implementation of CDevSoundIf +* +*/ + +// Version : %version: 1 % + + + +// INCLUDE FILES +#include + + + +// CONSTANTS + + +// ============================ MEMBER FUNCTIONS =================================================== + +// ------------------------------------------------------------------------------------------------- +// CDevSoundIf::CDevSoundIf +// C++ default constructor can NOT contain any code, that might leave. +// ------------------------------------------------------------------------------------------------- +// +CDevSoundIf::CDevSoundIf() +{ + iVolumeSteps = 10; +} + +// ------------------------------------------------------------------------------------------------- +// CDevSoundIf::ConstructL +// Symbian 2nd phase constructor can leave. +// ------------------------------------------------------------------------------------------------- +// +void CDevSoundIf::ConstructL() +{ +} + +// ------------------------------------------------------------------------------------------------- +// CDevSoundIf::NewL +// Two-phased constructor. +// ------------------------------------------------------------------------------------------------- +// +CDevSoundIf* CDevSoundIf::NewL() +{ + CDevSoundIf* self = new( ELeave ) CDevSoundIf; + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + return self; +} + +// ------------------------------------------------------------------------------------------------- +// CDevSoundIf::~CDevSoundIf +// Destructor +// ------------------------------------------------------------------------------------------------- +// +CDevSoundIf::~CDevSoundIf() +{ +} + +// ------------------------------------------------------------------------------------------------- +// CDevSoundIf::GetNumberOfVolumeSteps +// ------------------------------------------------------------------------------------------------- +// +TInt CDevSoundIf::GetNumberOfVolumeSteps() +{ + return iVolumeSteps; +} + +// End of File diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/stub/src/videoplaybackdisplayhandler.cpp --- a/videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/stub/src/videoplaybackdisplayhandler.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/stub/src/videoplaybackdisplayhandler.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,13 +15,12 @@ * */ -// Version : %version: 9 % +// Version : %version: 11 % #include #include #include #include -#include #include #include "mpxvideoviewwrapper.h" @@ -30,10 +29,8 @@ #include "videoplaybackviewfiledetails.h" -CVideoPlaybackDisplayHandler::CVideoPlaybackDisplayHandler( MMPXPlaybackUtility* aPlayUtil, - CMPXVideoViewWrapper* aViewWrapper ) - : iPlaybackUtility( aPlayUtil ) - , iViewWrapper( aViewWrapper ) +CVideoPlaybackDisplayHandler::CVideoPlaybackDisplayHandler( CMPXVideoViewWrapper* aViewWrapper ) + : iViewWrapper( aViewWrapper ) { } @@ -42,13 +39,12 @@ } CVideoPlaybackDisplayHandler* -CVideoPlaybackDisplayHandler::NewL( MMPXPlaybackUtility* aPlayUtil, - CMPXVideoViewWrapper* aViewWrapper ) +CVideoPlaybackDisplayHandler::NewL( CMPXVideoViewWrapper* aViewWrapper ) { MPX_ENTER_EXIT(_L("CVideoPlaybackDisplayHandler::NewL()")); CVideoPlaybackDisplayHandler* self = - new(ELeave) CVideoPlaybackDisplayHandler( aPlayUtil, aViewWrapper ); + new(ELeave) CVideoPlaybackDisplayHandler( aViewWrapper ); CleanupStack::PushL( self ); self->ConstructL(); @@ -72,12 +68,14 @@ RWsSession& aWs, CWsScreenDevice& aScreenDevice, RWindow& aWin, - TRect aDisplayRect ) + TRect aDisplayRect, + VideoPlaybackViewFileDetails* fileDetails ) { Q_UNUSED( aWs ); Q_UNUSED( aScreenDevice ); Q_UNUSED( aWin ); Q_UNUSED( aDisplayRect ); + Q_UNUSED( fileDetails ); } // ------------------------------------------------------------------------------------------------- @@ -108,7 +106,7 @@ TInt CVideoPlaybackDisplayHandler::SetAspectRatioL( TMPXVideoPlaybackCommand aCmd ) { iCommand = aCmd; - + switch ( aCmd ) { case EPbCmdNaturalAspectRatio: @@ -132,20 +130,6 @@ } // ------------------------------------------------------------------------------------------------- -// CVideoPlaybackDisplayHandler::SetDefaultAspectRatioL -// ------------------------------------------------------------------------------------------------- -// -TInt CVideoPlaybackDisplayHandler::SetDefaultAspectRatioL( - VideoPlaybackViewFileDetails* aFileDetails, - TReal32 aDisplayAspectRatio ) -{ - Q_UNUSED( aFileDetails ); - Q_UNUSED( aDisplayAspectRatio ); - - return iAspectRatio; -} - -// ------------------------------------------------------------------------------------------------- // CVideoPlaybackDisplayHandler::UpdateVideoRectL() // ------------------------------------------------------------------------------------------------- // diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/testmpxvideoviewwrapper.pro --- a/videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/testmpxvideoviewwrapper.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testmpxvideoviewwrapper/testmpxvideoviewwrapper.pro Tue Oct 05 09:26:49 2010 +0300 @@ -14,7 +14,7 @@ # Description: Project file for building testmpxvideoviewwrapper # # -# Version : %version: 10 % +# Version : %version: 11 % TEMPLATE = app @@ -44,6 +44,7 @@ mpxplaybackutility.h \ mpxcollectionutility.h \ mpxcollectionplaylist.h \ + devsoundif.h \ ../../viewinc/mpxvideoviewwrapper.h SOURCES += testmpxvideoviewwrapper.cpp \ @@ -55,4 +56,5 @@ mpxcollectionutility.cpp \ mpxcollectionplaylist.cpp \ videoplaybackuserinputhandler.cpp \ + devsoundif.cpp \ ../../viewsrc/mpxvideoviewwrapper.cpp diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testtoolbar/src/testtoolbar.cpp --- a/videoplayback/videoplaybackview/tsrc/testtoolbar/src/testtoolbar.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testtoolbar/src/testtoolbar.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 8 % +// Version : %version: 9 % #include @@ -429,8 +429,7 @@ // video clip, view mode is full-screen // details->mVideoEnabled = true; - details->mVideoHeight = 1; - details->mVideoWidth = 1; + details->mAspectRatioChangeable = true; details->mTvOutConnected = false; details->mSeekable = true; details->mPausableStream = true; @@ -448,8 +447,7 @@ // video clip has same aspect ratio as display window // details->mVideoEnabled = true; - details->mVideoHeight = 360; - details->mVideoWidth = 640; + details->mAspectRatioChangeable = false; details->mTvOutConnected = false; mController->mViewMode = EFullScreenView; @@ -465,8 +463,7 @@ // audio-only clip, view mode is full-screen // details->mVideoEnabled = false; - details->mVideoHeight = 0; - details->mVideoWidth = 1; + details->mAspectRatioChangeable = false; details->mTvOutConnected = true; details->mSeekable = false; details->mPausableStream = true; @@ -483,8 +480,7 @@ // local audio-only clip, view mode is audio-only // details->mVideoEnabled = false; - details->mVideoHeight = 0; - details->mVideoWidth = 1; + details->mAspectRatioChangeable = false; details->mTvOutConnected = true; details->mSeekable = true; details->mPausableStream = false; @@ -546,8 +542,7 @@ // video clip, view mode is full-screen // details->mVideoEnabled = true; - details->mVideoHeight = 1; - details->mVideoWidth = 1; + details->mAspectRatioChangeable = false; details->mTvOutConnected = false; details->mSeekable = true; details->mPausableStream = true; diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testtoolbar/stub/inc/videoplaybackcontrolscontroller.h --- a/videoplayback/videoplaybackview/tsrc/testtoolbar/stub/inc/videoplaybackcontrolscontroller.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testtoolbar/stub/inc/videoplaybackcontrolscontroller.h Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 3 % +// Version : %version: 4 % @@ -92,19 +92,19 @@ */ inline VideoPlaybackViewFileDetails* fileDetails(); - TPlaybackViewMode viewMode(); + inline TPlaybackViewMode viewMode(); - void changeViewMode( TPlaybackViewMode viewMode, bool transitionEffect = true ); + void evaluateAndChangeViewMode( TPlaybackViewMode viewMode, bool transitionEffect = true ); bool isAttachOperation(); - + private slots: void attachVideo(); void sendVideo(); - + public: - VideoPlaybackViewFileDetails *mFileDetails; - VideoBasePlaybackView *mView; + VideoPlaybackViewFileDetails *mFileDetails; + VideoBasePlaybackView *mView; TMPXPlaybackState mState; TPlaybackViewMode mViewMode; diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testtoolbar/stub/inc/videoplaybackviewfiledetails.h --- a/videoplayback/videoplaybackview/tsrc/testtoolbar/stub/inc/videoplaybackviewfiledetails.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testtoolbar/stub/inc/videoplaybackviewfiledetails.h Tue Oct 05 09:26:49 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -15,7 +15,7 @@ * */ -// Version : %version: 3 % +// Version : %version: 4 % @@ -27,28 +27,28 @@ #include "mpxhelixplaybackplugindefs.h" -// +// // CLASS DECLARATION // class VideoPlaybackViewFileDetails : public QObject { - public: + public: // // Constructor // VideoPlaybackViewFileDetails(); - + // // Destructor. // virtual ~VideoPlaybackViewFileDetails(); - + // // Clear all file details // void clearFileDetails(); - public: + public: // // Data // @@ -60,7 +60,7 @@ QString mLocation; QString mCopyright; QString mLanguage; - QString mKeywords; + QString mKeywords; TMPXVideoMode mPlaybackMode; bool mSeekable; @@ -72,6 +72,7 @@ bool mTvOutConnected; bool mDrmProtected; bool mMultiItemPlaylist; + bool mAspectRatioChangeable; int mVideoHeight; int mVideoWidth; @@ -79,6 +80,6 @@ int mDuration; }; -#endif // __VIDEOPLAYBACKVIEWFILEDETAILS__ - +#endif // __VIDEOPLAYBACKVIEWFILEDETAILS__ + // EOF diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testtoolbar/stub/src/videoplaybackcontrolscontroller.cpp --- a/videoplayback/videoplaybackview/tsrc/testtoolbar/stub/src/videoplaybackcontrolscontroller.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testtoolbar/stub/src/videoplaybackcontrolscontroller.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 3 % +// Version : %version: 4 % @@ -59,7 +59,7 @@ if ( mView ) { delete mView; - mView = NULL; + mView = NULL; } } @@ -67,7 +67,7 @@ // VideoPlaybackControlsController::handleCommand() // ------------------------------------------------------------------------------------------------- // -void VideoPlaybackControlsController::handleCommand( +void VideoPlaybackControlsController::handleCommand( TMPXVideoPlaybackViewCommandIds command, int value ) { MPX_DEBUG(_L("VideoPlaybackControlsController::handleCommand(%d)"), command); @@ -77,13 +77,13 @@ } // ------------------------------------------------------------------------------------------------- -// VideoPlaybackControlsController::changeViewMode +// VideoPlaybackControlsController::evaluateAndChangeViewMode // ------------------------------------------------------------------------------------------------- // -void VideoPlaybackControlsController::changeViewMode( +void VideoPlaybackControlsController::evaluateAndChangeViewMode( TPlaybackViewMode viewMode, bool transitionEffect ) { - MPX_DEBUG(_L("VideoPlaybackControlsController::changeViewMode()")); + MPX_DEBUG(_L("VideoPlaybackControlsController::evaluateAndChangeViewMode()")); Q_UNUSED( transitionEffect ); mViewMode = viewMode; @@ -106,7 +106,7 @@ // bool VideoPlaybackControlsController::isAttachOperation() { - MPX_DEBUG(_L("VideoPlaybackControlsController::isAttachOperation() ret %d"), + MPX_DEBUG(_L("VideoPlaybackControlsController::isAttachOperation() ret %d"), mIsAttachOperation); return mIsAttachOperation; @@ -119,10 +119,10 @@ void VideoPlaybackControlsController::attachVideo() { MPX_ENTER_EXIT(_L("VideoPlaybackControlsController::attachVideo()")); - - handleCommand( EMPXPbvCmdClose ); + + handleCommand( EMPXPbvCmdClose ); mAttachVideoDone = true; -} +} // ------------------------------------------------------------------------------------------------- // VideoPlaybackControlsController::sendVideo() @@ -131,9 +131,9 @@ void VideoPlaybackControlsController::sendVideo() { MPX_ENTER_EXIT(_L("VideoPlaybackControlsController::sendVideo()")); - - handleCommand( EMPXPbvCmdPause ); + + handleCommand( EMPXPbvCmdPause ); mSendVideoDone = true; -} +} // End of File diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testtoolbar/stub/src/videoplaybackviewfiledetails.cpp --- a/videoplayback/videoplaybackview/tsrc/testtoolbar/stub/src/videoplaybackviewfiledetails.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testtoolbar/stub/src/videoplaybackviewfiledetails.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 3 % +// Version : %version: 4 % @@ -47,16 +47,16 @@ { MPX_ENTER_EXIT(_L("VideoPlaybackViewFileDetails::ClearFileDetails()")); - mMimeType = tr(""); + mMimeType = tr(""); mTitle = tr(""); mArtist = tr(""); mClipName = tr(""); - mDescription = tr(""); + mDescription = tr(""); mLocation = tr(""); mCopyright = tr(""); mLanguage = tr(""); mKeywords = tr(""); - + mPlaybackMode = EMPXVideoLocal; mSeekable = false; mPausableStream = false; @@ -64,6 +64,7 @@ mVideoEnabled = false; mPartialPlayback = false; mRNFormat = false; + mAspectRatioChangeable = false; mDuration = 0; mTvOutConnected = false; diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/inc/testvideodisplayhandler.h --- a/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/inc/testvideodisplayhandler.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/inc/testvideodisplayhandler.h Tue Oct 05 09:26:49 2010 +0300 @@ -1,5 +1,5 @@ /** -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -12,7 +12,7 @@ * Contributors: * * Description: tester for methods in Video Display Handler -* +* */ #ifndef __TESTVIDEODISPLAYHANDLER_H__ @@ -24,7 +24,6 @@ // forward declaration class CVideoPlaybackDisplayHandler; -class MMPXPlaybackUtility; class VideoBasePlaybackView; class CMPXVideoViewWrapper; class VideoPlaybackViewFileDetails; @@ -40,17 +39,17 @@ * will be called before each testfunction is executed. * */ - void init(); - + void init(); + /** * will be called after every testfunction. * */ void cleanup(); - + void setup(); - - // test functions for the test framework + + // test functions for the test framework private slots: // the order in which these testXX methods are declared is important // changing this order will affect the test results @@ -61,15 +60,14 @@ void testHandleVideoRemovedMessageL(); void testSetAspectRatioL(); void testSetDefaultAspectRatioL(); - void testUpdateVideoRectL(); - - + void testUpdateVideoRectL(); + + private: - CVideoPlaybackDisplayHandler* mDispHdlr; - MMPXPlaybackUtility* mPlaybackUtility; + CVideoPlaybackDisplayHandler* mDispHdlr; VideoBasePlaybackView* mBaseVideoView; CMPXVideoViewWrapper* mVideoViewWrapper; - VideoPlaybackViewFileDetails* mFileDetails; + VideoPlaybackViewFileDetails* mFileDetails; }; #endif // __TESTVIDEODISPLAYHANDLER_H__ diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/src/testvideodisplayhandler.cpp --- a/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/src/testvideodisplayhandler.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/src/testvideodisplayhandler.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -25,6 +25,7 @@ #include +#include "mediaclientvideodisplay.h" #include "testvideodisplayhandler.h" #include "../stub/inc/videobaseplaybackview.h" #include "../stub/inc/videoplaybackviewfiledetails.h" @@ -63,12 +64,11 @@ // void TestVideoDisplayHandler::init() { - mPlaybackUtility = MMPXPlaybackUtility::UtilityL( KPbModeDefault ); - mBaseVideoView = new VideoBasePlaybackView(); mVideoViewWrapper = CMPXVideoViewWrapper::NewL( mBaseVideoView ); - mDispHdlr = CVideoPlaybackDisplayHandler::NewL(mPlaybackUtility, mVideoViewWrapper); + mDispHdlr = CVideoPlaybackDisplayHandler::NewL( mVideoViewWrapper); + mFileDetails = new VideoPlaybackViewFileDetails(); } // --------------------------------------------------------------------------- @@ -77,20 +77,29 @@ // void TestVideoDisplayHandler::cleanup() { - if ( mPlaybackUtility ) + if ( mFileDetails ) { - mPlaybackUtility->Close(); - mPlaybackUtility = NULL; + delete mFileDetails; + mFileDetails = NULL; + } + + if ( mDispHdlr ) + { + delete mDispHdlr; + mDispHdlr = NULL; } - delete mDispHdlr; - mDispHdlr = NULL; + if ( mVideoViewWrapper ) + { + delete mVideoViewWrapper; + mVideoViewWrapper = NULL; + } - delete mVideoViewWrapper; - mVideoViewWrapper = NULL; - - delete mBaseVideoView; - mBaseVideoView = NULL; + if ( mBaseVideoView ) + { + delete mBaseVideoView; + mBaseVideoView = NULL; + } } // --------------------------------------------------------------------------- @@ -111,7 +120,8 @@ mDispHdlr->CreateDisplayWindowL( CCoeEnv::Static()->WsSession(), *(CCoeEnv::Static()->ScreenDevice()), *window, - displayRect); + displayRect, + mFileDetails ); QCOMPARE( mDispHdlr->iWindowRect, displayRect); @@ -140,6 +150,9 @@ { setup(); + mFileDetails->mVideoHeight = 174; + mFileDetails->mVideoWidth = 144; + CMPXMessage* message = NULL; TRAP_IGNORE ( @@ -152,6 +165,7 @@ QVERIFY( ! mDispHdlr->iSurfaceId.IsNull() ); QVERIFY( mDispHdlr->iViewWrapper->iAttatched ); + QVERIFY( mFileDetails->mAspectRatioChangeable ); mDispHdlr->RemoveDisplayWindow(); cleanup(); @@ -172,6 +186,8 @@ mDispHdlr->HandleVideoDisplayMessageL( message ); QVERIFY( ! mDispHdlr->iSurfaceId.IsNull() ); + QVERIFY( ! mFileDetails->mAspectRatioChangeable ); + QVERIFY( mVideoViewWrapper->iAspectRatio == EMMFNatural ); mDispHdlr->RemoveDisplayWindow(); cleanup(); @@ -214,44 +230,6 @@ { setup(); - // - // get window size - // - RWindow *window = mBaseVideoView->getWindow(); - TRect displayRect = TRect( TPoint( window->Position() ), TSize( window->Size() ) ); - - // - // get window aspect ratio - // if device is in landscape mode, width > height - // if device is in portrait mode, width < height - // - TReal32 width = (TReal32) displayRect.Width(); - TReal32 height = (TReal32) displayRect.Height(); - TReal32 displayAspectRatio = (width > height)? (width / height) : (height / width); - - // - // aspect ratio zoom - // - mFileDetails = new VideoPlaybackViewFileDetails(); - mFileDetails->mVideoHeight = 280; - mFileDetails->mVideoWidth = 600; - - int aspectRatio = mDispHdlr->SetDefaultAspectRatioL( mFileDetails, displayAspectRatio ); - - QVERIFY( aspectRatio == EMMFZoom ); - - // - // aspect ratio stretch - // - mFileDetails->mVideoHeight = 144; - mFileDetails->mVideoWidth = 220; - - aspectRatio = mDispHdlr->SetDefaultAspectRatioL( mFileDetails, displayAspectRatio ); - - QVERIFY( aspectRatio == EMMFStretch ); - - mDispHdlr->RemoveDisplayWindow(); - cleanup(); } @@ -261,12 +239,38 @@ RWindow *window = mBaseVideoView->getWindow(); + // + // Transition effect is off + // TRect displayRect = TRect( 0, 0, 200, 300 ); mDispHdlr->UpdateVideoRectL( displayRect, false ); QCOMPARE( mDispHdlr->iWindowRect, displayRect); + // + // iRotation is off + // + displayRect = TRect( 0, 0, 300, 400 ); + mDispHdlr->iRotation = EVideoRotationNone; + + mDispHdlr->UpdateVideoRectL( displayRect, false ); + + QCOMPARE( mDispHdlr->iWindowRect, displayRect); + + // + // iRotation is on + // + displayRect = TRect( 0, 0, 200, 300 ); + + TRect expectedRect = TRect( 60, 0, 360, 200 ); + mDispHdlr->iRotation = EVideoRotationClockwise90; + + mDispHdlr->UpdateVideoRectL( displayRect, false ); + + QCOMPARE( mDispHdlr->iWindowRect, displayRect ); + QCOMPARE( mDispHdlr->iVideoDisplay->iVideoExtent, expectedRect ); + mDispHdlr->RemoveDisplayWindow(); cleanup(); } diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/inc/mediaclientvideodisplay.h --- a/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/inc/mediaclientvideodisplay.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/inc/mediaclientvideodisplay.h Tue Oct 05 09:26:49 2010 +0300 @@ -20,35 +20,36 @@ #include #include -CMediaClientVideoDisplay : public CBase - { -public: +class CMediaClientVideoDisplay : public CBase +{ + public: + + static CMediaClientVideoDisplay* NewL(TInt aDisplayId); + + ~CMediaClientVideoDisplay(); + + CMediaClientVideoDisplay(); + + void AddDisplayWindowL(const RWindowBase* aWindow, const TRect& aClipRect, const TRect& aCropRegion, + const TRect& aVideoExtent, TReal32 aScaleWidth, TReal32 aScaleHeight, + TVideoRotation aRotation, TAutoScaleType aAutoScaleType, + TInt aHorizPos, TInt aVertPos, RWindow* aWindow2); - static CMediaClientVideoDisplay* NewL(TInt aDisplayId); - - ~CMediaClientVideoDisplay(); - - CMediaClientVideoDisplay(); - - void AddDisplayWindowL(const RWindowBase* aWindow, const TRect& aClipRect, const TRect& aCropRegion, - const TRect& aVideoExtent, TReal32 aScaleWidth, TReal32 aScaleHeight, - TVideoRotation aRotation, TAutoScaleType aAutoScaleType, - TInt aHorizPos, TInt aVertPos, RWindow* aWindow2); - - - void RemoveSurface(); - - TInt SurfaceCreated(const TSurfaceId& aSurfaceId, const TRect& aCropRect, TVideoAspectRatio aAspectRatio, const TRect& aCropRegion); - - TInt SurfaceParametersChanged(const TSurfaceId& aSurfaceId, const TRect& aCropRect, TVideoAspectRatio aAspectRatio); + void RemoveSurface(); + + TInt SurfaceCreated(const TSurfaceId& aSurfaceId, const TRect& aCropRect, TVideoAspectRatio aAspectRatio, const TRect& aCropRegion); + + TInt SurfaceParametersChanged(const TSurfaceId& aSurfaceId, const TRect& aCropRect, TVideoAspectRatio aAspectRatio); + + TInt RedrawWindows(const TRect& aCropRegion); - TInt RedrawWindows(const TRect& aCropRegion); - - void SetVideoExtentL(const RWindowBase& aWindow, const TRect& aVideoExtent, const TRect& aCropRegion); - - void SetAutoScaleL(TAutoScaleType aScaleType, TInt aHorizPos, TInt aVertPos, const TRect& aCropRegion); - - }; + void SetVideoExtentL(const RWindowBase& aWindow, const TRect& aVideoExtent, const TRect& aCropRegion); + + void SetAutoScaleL(TAutoScaleType aScaleType, TInt aHorizPos, TInt aVertPos, const TRect& aCropRegion); + + public: + TRect iVideoExtent; +}; #endif // MEDIACLIENTVIDEODISPLAY_H diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/inc/mpxvideoviewwrapper.h --- a/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/inc/mpxvideoviewwrapper.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/inc/mpxvideoviewwrapper.h Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 4 % +// Version : %version: 6 % @@ -30,8 +30,6 @@ #include // TBuf -#include "videoplaybackcontrol.hrh" - // Constants // Forward Declarations @@ -74,6 +72,8 @@ void SurfacedAttached( TBool aAttached ); + void SetDefaultAspectRatio( int aspectRatio ); + public: // data VideoBasePlaybackView* iView; @@ -82,6 +82,7 @@ TBool iClosePlayerAO; TBool iForeground; TBool iAttatched; + TInt iAspectRatio; }; #endif // __MPXVIDEOVIEWWRAPPER_H__ diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/inc/videoplaybackviewfiledetails.h --- a/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/inc/videoplaybackviewfiledetails.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/inc/videoplaybackviewfiledetails.h Tue Oct 05 09:26:49 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -15,7 +15,7 @@ * */ -// Version : %version: 4 % +// Version : %version: 5 % @@ -27,28 +27,28 @@ #include "mpxhelixplaybackplugindefs.h" -// +// // CLASS DECLARATION // class VideoPlaybackViewFileDetails : public QObject { - public: + public: // // Constructor // VideoPlaybackViewFileDetails(); - + // // Destructor. // virtual ~VideoPlaybackViewFileDetails(); - + // // Clear all file details // void clearFileDetails(); - public: + public: // // Data // @@ -72,6 +72,7 @@ bool mTvOutConnected; bool mDrmProtected; bool mMultiItemPlaylist; + bool mAspectRatioChangeable; int mVideoHeight; int mVideoWidth; @@ -79,6 +80,6 @@ int mDuration; }; -#endif // __VIDEOPLAYBACKVIEWFILEDETAILS__ - +#endif // __VIDEOPLAYBACKVIEWFILEDETAILS__ + // EOF diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/src/mediaclientvideodisplay.cpp --- a/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/src/mediaclientvideodisplay.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/src/mediaclientvideodisplay.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 1 % +// Version : %version: 2 % // Include Files @@ -53,7 +53,7 @@ // CMediaClientVideoDisplay::RemoveSurface() // ------------------------------------------------------------------------------------------------- // -void CMediaClientVideoDisplay::RemoveSurface() +void CMediaClientVideoDisplay::RemoveSurface() { } @@ -61,17 +61,17 @@ // CMediaClientVideoDisplay::RemoveSurface() // ------------------------------------------------------------------------------------------------- // -void CMediaClientVideoDisplay::AddDisplayWindowL(const RWindowBase* /*aWindow*/, - const TRect& /*aClipRect*/, +void CMediaClientVideoDisplay::AddDisplayWindowL(const RWindowBase* /*aWindow*/, + const TRect& /*aClipRect*/, const TRect& /*aCropRegion*/, - const TRect& /*aVideoExtent*/, - TReal32 /*aScaleWidth*/, + const TRect& /*aVideoExtent*/, + TReal32 /*aScaleWidth*/, TReal32 /*aScaleHeight*/, - TVideoRotation /*aRotation*/, - TAutoScaleType /*aAutoScaleType*/, - TInt /*aHorizPos*/, - TInt /*aVertPos*/, - RWindow* /*aWindow2*/) + TVideoRotation /*aRotation*/, + TAutoScaleType /*aAutoScaleType*/, + TInt /*aHorizPos*/, + TInt /*aVertPos*/, + RWindow* /*aWindow2*/) { } @@ -79,10 +79,10 @@ // CMediaClientVideoDisplay::RemoveSurface() // ------------------------------------------------------------------------------------------------- // -TInt CMediaClientVideoDisplay::SurfaceCreated(const TSurfaceId& /*aSurfaceId*/, - const TRect& /*aCropRect*/, - TVideoAspectRatio /*aAspectRatio*/, - const TRect& /*aCropRegion*/) +TInt CMediaClientVideoDisplay::SurfaceCreated(const TSurfaceId& /*aSurfaceId*/, + const TRect& /*aCropRect*/, + TVideoAspectRatio /*aAspectRatio*/, + const TRect& /*aCropRegion*/) { return KErrNone; } @@ -92,13 +92,13 @@ // CMediaClientVideoDisplay::RemoveSurface() // ------------------------------------------------------------------------------------------------- // -TInt CMediaClientVideoDisplay::SurfaceParametersChanged(const TSurfaceId& /*aSurfaceId*/, - const TRect& /*aCropRect*/, +TInt CMediaClientVideoDisplay::SurfaceParametersChanged(const TSurfaceId& /*aSurfaceId*/, + const TRect& /*aCropRect*/, TVideoAspectRatio /*aAspectRatio*/) { - return KErrNone; -} - + return KErrNone; +} + // ------------------------------------------------------------------------------------------------- // CMediaClientVideoDisplay::RemoveSurface() @@ -107,30 +107,30 @@ TInt CMediaClientVideoDisplay::RedrawWindows(const TRect& /*aCropRegion*/) { return KErrNone; -} +} // ------------------------------------------------------------------------------------------------- // CMediaClientVideoDisplay::RemoveSurface() // ------------------------------------------------------------------------------------------------- // -void CMediaClientVideoDisplay::SetVideoExtentL(const RWindowBase& /*aWindow*/, - const TRect& /*aVideoExtent*/, +void CMediaClientVideoDisplay::SetVideoExtentL(const RWindowBase& /*aWindow*/, + const TRect& aVideoExtent, const TRect& /*aCropRegion*/) { -} - - + iVideoExtent = aVideoExtent; +} + + // ------------------------------------------------------------------------------------------------- // CMediaClientVideoDisplay::RemoveSurface() // ------------------------------------------------------------------------------------------------- // -void CMediaClientVideoDisplay::SetAutoScaleL(TAutoScaleType /*aScaleType*/, - TInt /*aHorizPos*/, - TInt /*aVertPos*/, +void CMediaClientVideoDisplay::SetAutoScaleL(TAutoScaleType /*aScaleType*/, + TInt /*aHorizPos*/, + TInt /*aVertPos*/, const TRect& /*aCropRegion*/) { -} - - +} + // EOF diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/src/mpxvideoviewwrapper.cpp --- a/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/src/mpxvideoviewwrapper.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/src/mpxvideoviewwrapper.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 7 % +// Version : %version: 8 % @@ -131,7 +131,6 @@ } - // ------------------------------------------------------------------------------------------------- // CMPXVideoViewWrapper::ActivateClosePlayerActiveObject // ------------------------------------------------------------------------------------------------- @@ -253,4 +252,13 @@ iAttatched = aAttached; } +// ------------------------------------------------------------------------------------------------- +// CMPXVideoViewWrapper::SetDefaultAspectRatio() +// ------------------------------------------------------------------------------------------------- +// +void CMPXVideoViewWrapper::SetDefaultAspectRatio( int aspectRatio ) +{ + iAspectRatio = aspectRatio; +} + // EOF diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/src/videoplaybackviewfiledetails.cpp --- a/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/src/videoplaybackviewfiledetails.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/stub/src/videoplaybackviewfiledetails.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 4 % +// Version : %version: 5 % @@ -43,17 +43,17 @@ { MPX_ENTER_EXIT(_L("VideoPlaybackViewFileDetails::ClearFileDetails()")); - mMimeType = tr(""); + mMimeType = tr(""); mTitle = tr(""); mArtist = tr(""); - mDescription = tr(""); + mDescription = tr(""); mLocation = tr(""); mCopyright = tr(""); mLanguage = tr(""); mKeywords = tr(""); mClipName = QString("testClip.3gp"); - + mPlaybackMode = EMPXVideoLocal; mSeekable = false; mPausableStream = false; @@ -61,6 +61,7 @@ mVideoEnabled = false; mPartialPlayback = false; mRNFormat = false; + mAspectRatioChangeable = false; mDuration = 0; mTvOutConnected = false; diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/testvideodisplayhandler.pro --- a/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/testvideodisplayhandler.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testvideodisplayhandler/testvideodisplayhandler.pro Tue Oct 05 09:26:49 2010 +0300 @@ -14,7 +14,7 @@ # Description: Project file for building Videoplayer components # # -# Version : %version: 6 % +# Version : %version: 7 % TEMPLATE = app TARGET = testvideodisplayhandler @@ -23,13 +23,12 @@ DEPENDPATH += inc src stub/inc stub/src -INCLUDEPATH += ../../../inc \ - ../../../../inc \ - ../../controlinc \ - $$MW_LAYER_SYSTEMINCLUDE +INCLUDEPATH = hbstub +INCLUDEPATH += stub/inc \ + ../../../inc \ + ../../../../inc -LIBS += -lmpxplaybackutility.dll \ - -lmpxcommon.dll \ +LIBS += -lmpxcommon.dll \ -lestor.dll \ -lsysutil.dll \ -lcone.dll \ diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvideoplaybackview/src/testvideoplaybackview.cpp --- a/videoplayback/videoplaybackview/tsrc/testvideoplaybackview/src/testvideoplaybackview.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testvideoplaybackview/src/testvideoplaybackview.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: ou1cpsw#16 % +// Version : %version: 17 % #include #include @@ -171,7 +171,7 @@ // construct and activate playback view // setup(); - + HbMessageBox::mMessageBConstructCount = 0; HbNotificationDialog::mNotifConstructCount = 0; // @@ -183,7 +183,7 @@ // test showDialog() method using default arguments // mVideoView->showDialog( "test error msg" ); - + QVERIFY(HbMessageBox::mMessageBConstructCount == 1); QVERIFY(HbNotificationDialog::mNotifConstructCount == 0); QVERIFY( mVideoView->mTimerForClosingView->isActive() ); @@ -192,35 +192,35 @@ HbMessageBox::mMessageBConstructCount = 0; HbNotificationDialog::mNotifConstructCount = 0; mVideoView->mTimerForClosingView->stop(); - + // - // test showDialog() method, error, no closing + // test showDialog() method, error, no closing // mVideoView->showDialog( "test error msg", false ); - + QVERIFY(HbMessageBox::mMessageBConstructCount == 1); QVERIFY(HbNotificationDialog::mNotifConstructCount == 0); QVERIFY( !mVideoView->mTimerForClosingView->isActive() ); - + HbMessageBox::mMessageBConstructCount = 0; HbNotificationDialog::mNotifConstructCount = 0; - + // - // test showDialog() method, nofitification, closing + // test showDialog() method, nofitification, closing // mVideoView->showDialog( "test error msg", true, false ); - + QVERIFY(HbMessageBox::mMessageBConstructCount == 0); QVERIFY(HbNotificationDialog::mNotifConstructCount == 1); QVERIFY( mVideoView->mTimerForClosingView->isActive() ); - + mVideoView->handleActivateView(); HbMessageBox::mMessageBConstructCount = 0; HbNotificationDialog::mNotifConstructCount = 0; mVideoView->mTimerForClosingView->stop(); - + // - // test showDialog() method, nofitification, not closing + // test showDialog() method, nofitification, not closing // mVideoView->showDialog( "test error msg", false, false ); @@ -228,7 +228,7 @@ QVERIFY(HbNotificationDialog::mNotifConstructCount == 1); QVERIFY( !mVideoView->mTimerForClosingView->isActive() ); - + // // destruct playback view // @@ -622,20 +622,34 @@ QCOMPARE( spy1.count(), 0 ); // - // Test pan gesture with GestureFinished + // 1. Test pan gesture with GestureFinished // panGesture->mState = Qt::GestureFinished; - panGesture->mSceneDelta = QPointF( 5, 0 ); + panGesture->mSceneVelocity = QPointF( 5, 0 ); + panGesture->mSceneOffset = QPointF( 205, 0 ); mVideoView->gestureEvent( event ); // // ensure signal has been emitted // QCOMPARE( spy1.count(), 1 ); + + // + // 2. Test pan gesture with GestureFinished + // + panGesture->mSceneVelocity = QPointF( 5, 0 ); + panGesture->mSceneOffset = QPointF( 105, 0 ); + mVideoView->gestureEvent( event ); + + // + // ensure signal has not been emitted + // + QCOMPARE( spy1.count(), 1 ); + spy1.clear(); // - // Test pan gesture with GestureFinished + // 3. Test pan gesture with GestureFinished // // @@ -649,7 +663,20 @@ QCOMPARE( spy2.count(), 0 ); panGesture->mState = Qt::GestureFinished; - panGesture->mSceneDelta = QPointF( -5, 0 ); + panGesture->mSceneVelocity = QPointF( -5, 0 ); + panGesture->mSceneOffset = QPointF( -205, 0 ); + mVideoView->gestureEvent( event ); + + // + // ensure signal has been emitted yet + // + QCOMPARE( spy2.count(), 1 ); + + // + // 4. Test pan gesture with GestureFinished + // + panGesture->mSceneVelocity = QPointF( -5, 0 ); + panGesture->mSceneOffset = QPointF( -105, 0 ); mVideoView->gestureEvent( event ); // diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvideoplaybackview/stub/inc/hbpangesture.h --- a/videoplayback/videoplaybackview/tsrc/testvideoplaybackview/stub/inc/hbpangesture.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testvideoplaybackview/stub/inc/hbpangesture.h Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 1 % +// Version : %version: 2 % @@ -33,10 +33,14 @@ virtual ~HbPanGesture(); Qt::GestureState state(){ return mState; } QPointF sceneDelta(); + QPointF sceneVelocity(); + QPointF sceneOffset(); public: Qt::GestureState mState; QPointF mSceneDelta; + QPointF mSceneVelocity; + QPointF mSceneOffset; }; #endif /*HBPANGESTURE_H_*/ diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvideoplaybackview/stub/src/hbpangesture.cpp --- a/videoplayback/videoplaybackview/tsrc/testvideoplaybackview/stub/src/hbpangesture.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/tsrc/testvideoplaybackview/stub/src/hbpangesture.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 1 % +// Version : %version: 2 % @@ -52,4 +52,26 @@ return mSceneDelta; } +// ------------------------------------------------------------------------------------------------- +// HbPanGesture::sceneVelocity +// ------------------------------------------------------------------------------------------------- +// +QPointF HbPanGesture::sceneVelocity() +{ + MPX_DEBUG(_L("HbPanGesture::sceneVelocity") ); + + return mSceneVelocity; +} + +// ------------------------------------------------------------------------------------------------- +// HbPanGesture::sceneOffset +// ------------------------------------------------------------------------------------------------- +// +QPointF HbPanGesture::sceneOffset() +{ + MPX_DEBUG(_L("HbPanGesture::sceneOffset") ); + + return mSceneOffset; +} + // End of file diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvolumecontrol/inc/testvolumecontrol.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayback/videoplaybackview/tsrc/testvolumecontrol/inc/testvolumecontrol.h Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,73 @@ +/** +* 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: tester for methods in TestVolumeControl +* +*/ + +// Version : %version: 1 % + +#ifndef __TESTVOLUMECONTROL_H__ +#define __TESTVOLUMECONTROL_H__ + + +// INCLUDES +#include + +class VideoPlaybackVolumeControl; +class VideoPlaybackControlsController; + +class TestVolumeControl : public QObject +{ + Q_OBJECT + + public: + + /** + * will be called before each testfunction is executed. + * + */ + void init(); + + void setup(); + + /** + * will be called after every testfunction. + * + */ + void cleanup(); + + // test functions for the test framework + private slots: + void testVolumeChanged(); + void testSetVisible(); + void testIsVisible(); + void testHandleSliderValueChanged(); + void testHandleMuteIconClicked(); + void testHandleSliderPressed(); + void testHandleSliderReleased(); + void testHandleDraggingTimerTimeOut(); + + signals: + void commandSignal(); + void commandSignal( int ); + + private: + VideoPlaybackVolumeControl* mVolumeControl; + VideoPlaybackControlsController* mController; +}; + + +#endif // __TESTVOLUMECONTROL_H__ + +// End of file diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvolumecontrol/src/testvolumecontrol.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayback/videoplaybackview/tsrc/testvolumecontrol/src/testvolumecontrol.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,398 @@ +/** +* 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: tester for methods in TestVolumeControl +* +*/ + +// Version : %version: 1 % + + +#include +#include +#include +#include +#include +#include + + +#include "testvolumecontrol.h" +#include "videoplaybackviewfiledetails.h" +#include "videoplaybackcontrolscontroller.h" + +#define private public +#include "videoplaybackvolumecontrol.h" +#undef private + +// ------------------------------------------------------------------------------------------------- +// main +// ------------------------------------------------------------------------------------------------- +// +int main(int argc, char *argv[]) +{ + MPX_ENTER_EXIT(_L("TestVolumeControl::Main()")); + + HbApplication app(argc, argv); + HbMainWindow window; + + TestVolumeControl tv; + + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\testvolumecontrol.txt"; + + int res = QTest::qExec(&tv, 3, pass); + + return res; +} + +// ------------------------------------------------------------------------------------------------- +// init +// ------------------------------------------------------------------------------------------------- +// +void TestVolumeControl::init() +{ + MPX_ENTER_EXIT(_L("TestVolumeControl::init()")); + + mController = new VideoPlaybackControlsController(); + mVolumeControl = new VideoPlaybackVolumeControl( mController ); +} + +// ------------------------------------------------------------------------------------------------- +// init +// ------------------------------------------------------------------------------------------------- +// +void TestVolumeControl::setup() +{ + MPX_ENTER_EXIT(_L("TestVolumeControl::init()")); + + init(); + mController->mVolumeSteps = 10; + mController->fileDetails()->mAudioEnabled = true; + mVolumeControl->setVisible( true ); +} + +// ------------------------------------------------------------------------------------------------- +// cleanup +// ------------------------------------------------------------------------------------------------- +// +void TestVolumeControl::cleanup() +{ + MPX_ENTER_EXIT(_L("TestVolumeControl::cleanup()")); + + if ( mController ) + { + delete mController; + mController = NULL; + } + + if ( mVolumeControl ) + { + delete mVolumeControl; + mVolumeControl = NULL; + } +} + +// ------------------------------------------------------------------------------------------------- +// testVolumeChanged +// ------------------------------------------------------------------------------------------------- +// +void TestVolumeControl::testVolumeChanged() +{ + MPX_ENTER_EXIT(_L("TestVolumeControl::testVolumeChanged()")); + + setup(); + + int changedVolume = 3; + int currentVolume = 5; + mVolumeControl->mVolume = 5; + + // + // If mExpectedVolList is not empty + // + mVolumeControl->mExpectedVolList.append( changedVolume ); + mVolumeControl->volumeChanged( changedVolume ); + + QVERIFY( mVolumeControl->mVolume == currentVolume ); + + // + // If mExpectedVolList is empty + // + mVolumeControl->mExpectedVolList.clear(); + + // + // If user is dragging the thumb, we don't update volume + // + mVolumeControl->mDragging = true; + + mVolumeControl->volumeChanged( changedVolume ); + + QVERIFY( mVolumeControl->mVolume == currentVolume ); + QVERIFY( mVolumeControl->mVolumePopup->isVisible() ); + + // + // If user isn't dragging the thumb, we update volume + // + mVolumeControl->mDragging = false; + + mVolumeControl->volumeChanged( changedVolume ); + + QVERIFY( mVolumeControl->mVolume == changedVolume ); + QVERIFY( mVolumeControl->mVolumePopup->isVisible() ); + + cleanup(); +} + +// ------------------------------------------------------------------------------------------------- +// testSetVisible +// ------------------------------------------------------------------------------------------------- +// +void TestVolumeControl::testSetVisible() +{ + MPX_ENTER_EXIT(_L("TestVolumeControl::testSetVisible()")); + + init(); + + // + // Audio + video clip + // + mController->mVolumeSteps = 30; + mController->fileDetails()->mAudioEnabled = true; + + bool visible = true; + + mVolumeControl->setVisible( visible ); + + QVERIFY( mVolumeControl->mVolumePopup->isVisible() == visible ); + QVERIFY( mVolumeControl->mVolumePopup->mMin == 0 ); + QVERIFY( mVolumeControl->mVolumePopup->mMax == mController->mVolumeSteps ); + QVERIFY( mVolumeControl->mDraggingHandlerTimer ); + + cleanup(); + + // + // Audio only + // + init(); + + mController->fileDetails()->mAudioEnabled = false; + + mVolumeControl->setVisible( visible ); + + QVERIFY( mVolumeControl->mVolumePopup->isVisible() == visible ); + QVERIFY( ! mVolumeControl->mVolumePopup->isEnabled() ); + QVERIFY( ! mVolumeControl->mDraggingHandlerTimer ); + + cleanup(); +} + +// ------------------------------------------------------------------------------------------------- +// testIsVisible +// ------------------------------------------------------------------------------------------------- +// +void TestVolumeControl::testIsVisible() +{ + MPX_ENTER_EXIT(_L("TestVolumeControl::testIsVisible()")); + + setup(); + + bool visible = true; + mVolumeControl->mVolumePopup->mVisible = visible; + + QVERIFY( mVolumeControl->mVolumePopup->isVisible() == visible ); + + cleanup(); +} + +// ------------------------------------------------------------------------------------------------- +// testHandleSliderValueChanged +// ------------------------------------------------------------------------------------------------- +// +void TestVolumeControl::testHandleSliderValueChanged() +{ + MPX_ENTER_EXIT(_L("TestVolumeControl::testHandleSliderValueChanged()")); + + setup(); + + int changedValue = 3; + mVolumeControl->mVolume = 5; + + connect( this, SIGNAL( commandSignal( int ) ), mVolumeControl, SLOT( handleSliderValueChanged( int ) ) ); + + // + // If mDragging is ture + // + mVolumeControl->mDragging = true; + emit commandSignal( changedValue ); + + QVERIFY( mVolumeControl->mDraggingVolume == changedValue * mVolumeControl->mVolumeNormalizer ); + + // + // If mDragging is false + // + mVolumeControl->mDragging = false; + emit commandSignal( changedValue ); + + QVERIFY( mVolumeControl->mVolume == changedValue * mVolumeControl->mVolumeNormalizer ); + QVERIFY( mController->mCommand == EMPXPbvCmdSetVolume ); + QVERIFY( mController->mValue == changedValue * mVolumeControl->mVolumeNormalizer ); + + disconnect( this, SIGNAL( commandSignal( int ) ), mVolumeControl, SLOT( handleSliderValueChanged( int ) ) ); + + cleanup(); +} + +// ------------------------------------------------------------------------------------------------- +// testHandleMuteIconClicked +// ------------------------------------------------------------------------------------------------- +// +void TestVolumeControl::testHandleMuteIconClicked() +{ + MPX_ENTER_EXIT(_L("TestVolumeControl::testHandleMuteIconClicked()")); + + setup(); + + connect( this, SIGNAL( commandSignal() ), mVolumeControl, SLOT( handleMuteIconClicked() ) ); + + // + // mVolumePopup->value() is not 0 + // + mVolumeControl->mVolumePopup->mValue = 5; + + emit commandSignal(); + + QVERIFY( mController->mCommand == EMPXPbvCmdUnMute ); + + // + // mVolumePopup->value() is 0 + // + mVolumeControl->mVolumePopup->mValue = 0; + mVolumeControl->mMutedByMuteIcon = false; + + emit commandSignal(); + + QVERIFY( mVolumeControl->mMutedByMuteIcon ); + QVERIFY( mController->mCommand == EMPXPbvCmdMute ); + + disconnect( this, SIGNAL( commandSignal() ), mVolumeControl, SLOT( handleMuteIconClicked() ) ); + + cleanup(); +} + +// ------------------------------------------------------------------------------------------------- +// testHandleSliderPressed +// ------------------------------------------------------------------------------------------------- +// +void TestVolumeControl::testHandleSliderPressed() +{ + MPX_ENTER_EXIT(_L("TestVolumeControl::testHandleSliderPressed()")); + + setup(); + + connect( this, SIGNAL( commandSignal() ), mVolumeControl, SLOT( handleSliderPressed() ) ); + + mVolumeControl->mDragging = false; + mVolumeControl->mDraggingHandlerTimer->start(); + + emit commandSignal(); + + QVERIFY( mVolumeControl->mDragging ); + QVERIFY( mVolumeControl->mDraggingHandlerTimer->isActive() ); + + disconnect( this, SIGNAL( commandSignal() ), mVolumeControl, SLOT( handleSliderPressed() ) ); + + cleanup(); +} + +// ------------------------------------------------------------------------------------------------- +// testHandleSliderReleased +// ------------------------------------------------------------------------------------------------- +// +void TestVolumeControl::testHandleSliderReleased() +{ + MPX_ENTER_EXIT(_L("TestVolumeControl::testHandleSliderReleased()")); + + setup(); + + connect( this, SIGNAL( commandSignal() ), mVolumeControl, SLOT( handleSliderReleased() ) ); + + mVolumeControl->mDragging = true; + mVolumeControl->mDraggingVolume = 3; + mVolumeControl->mVolume = 5; + + emit commandSignal(); + + QVERIFY( ! mVolumeControl->mDragging ); + QVERIFY( ! mVolumeControl->mDraggingHandlerTimer->isActive() ); + QVERIFY( mVolumeControl->mVolume == mVolumeControl->mDraggingVolume ); + QVERIFY( mController->mCommand == EMPXPbvCmdSetVolume ); + QVERIFY( mController->mValue == mVolumeControl->mDraggingVolume ); + + disconnect( this, SIGNAL( commandSignal() ), mVolumeControl, SLOT( handleSliderReleased() ) ); + + cleanup(); +} + +// ------------------------------------------------------------------------------------------------- +// testHandleDraggingTimerTimeOut +// ------------------------------------------------------------------------------------------------- +// +void TestVolumeControl::testHandleDraggingTimerTimeOut() +{ + MPX_ENTER_EXIT(_L("TestVolumeControl::testHandleDraggingTimerTimeOut()")); + + setup(); + + connect( this, SIGNAL( commandSignal() ), mVolumeControl, SLOT( handleDraggingTimerTimeOut() ) ); + + // + // mDragging is false + // + mVolumeControl->mDragging = false; + mVolumeControl->mVolume = 6; + mVolumeControl->mDraggingVolume = 10; + + emit commandSignal(); + + QVERIFY( mVolumeControl->mVolume != mVolumeControl->mDraggingVolume ); + + // + // mDragging is true + // + mVolumeControl->mDragging = true; + + emit commandSignal(); + + QVERIFY( mVolumeControl->mVolume == mVolumeControl->mDraggingVolume ); + QVERIFY( mController->mCommand == EMPXPbvCmdSetVolume ); + QVERIFY( mController->mValue == mVolumeControl->mVolume ); + + + // + // mDragging is true && vol == 0 && mMutedByMuteIcon is true + // + mVolumeControl->mDragging = true; + mVolumeControl->mDraggingVolume = 0; + mVolumeControl->mMutedByMuteIcon = true; + + emit commandSignal(); + + QVERIFY( ! mVolumeControl->mMutedByMuteIcon ); + + disconnect( this, SIGNAL( commandSignal() ), mVolumeControl, SLOT( handleDraggingTimerTimeOut() ) ); + + cleanup(); +} + +// End of file diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvolumecontrol/stub/inc/hbvolumesliderpopup.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayback/videoplaybackview/tsrc/testvolumecontrol/stub/inc/hbvolumesliderpopup.h Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,67 @@ +/* +* 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: Implementation of HbVolumeSliderPopup +* +*/ + +// Version : %version: 1 % + + + +#ifndef HBVOLUMESLIDERPOPUP_H +#define HBVOLUMESLIDERPOPUP_H + +#include + + +class HbVolumeSliderPopup : public HbWidget +{ + Q_OBJECT + + public: + HbVolumeSliderPopup(); + virtual ~HbVolumeSliderPopup(); + + public: + void setEnabled( bool enabled ); + void setVisible( bool visible ); + bool isEnabled(); + bool isVisible(); + void setValue( int value ); + void setTimeout( int timeout ); + void setTickPosition( Hb::SliderTickPositions position ); + void setRange( int min, int max ); + int value(); + void setSingleStep( int steps ); + + signals: + void valueChanged( int ); + void iconClicked(); + void sliderPressed(); + void sliderReleased(); + + public: + bool mVisible; + bool mEnabled; + int mValue; + int mTimeOut; + int mMin; + int mMax; + int mSteps; + + Hb::SliderTickPositions mPosition; +}; + +#endif /*HBVOLUMESLIDERPOPUP_H*/ + diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvolumecontrol/stub/inc/videoplaybackcontrolscontroller.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayback/videoplaybackview/tsrc/testvolumecontrol/stub/inc/videoplaybackcontrolscontroller.h Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,148 @@ +/* +* 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: Implementation of VideoPlaybackControlsController +* +*/ + +// Version : %version: 1 % + + + +#ifndef VIDEOPLAYBACKCONTROLSCONTROLLER_H_ +#define VIDEOPLAYBACKCONTROLSCONTROLLER_H_ + +// INCLUDES +#include + +#include + +#include "mpxvideo_debug.h" +#include "videoplaybackcontrol.hrh" +#include "mpxcommonvideoplaybackview.hrh" +#include "videoplaybackviewfiledetails.h" + +// FORWARD DECLARATIONS +class VideoPlaybackControlsController; + + +// DATA TYPES + +enum TTimerAction +{ + ETimerCancel, + ETimerReset +}; + +enum TPlaybackViewMode +{ + EFullScreenView, + EDetailsView, + EAudioOnlyView +}; + +const int KControlsTimeOut = 4000; + +// CLASS DECLARATION + +class VideoPlaybackControlsController : public QObject +{ + Q_OBJECT + + public: + + /** + * constructor. + */ + VideoPlaybackControlsController(); + + /** + * Destructor. + */ + virtual ~VideoPlaybackControlsController(); + + public: + /** + * Initialize controller + */ + void initializeController(); + + /** + * Command handling function. + * Call HandleCommandL() of container + */ + void handleCommand( TMPXVideoPlaybackViewCommandIds command, int value = 0 ); + + /** + * Reset or cancel timers for the controls + */ + void resetDisappearingTimers( TTimerAction timerAction ); + + /** + * Return state + */ + inline TMPXPlaybackState state(); + + /** + * Return file details + */ + inline VideoPlaybackViewFileDetails* fileDetails(); + + TPlaybackViewMode viewMode(); + + inline int volumeSteps(); + + public: + VideoPlaybackViewFileDetails *mFileDetails; + TMPXPlaybackState mState; + TPlaybackViewMode mViewMode; + TTimerAction mTimerAction; + TMPXVideoPlaybackViewCommandIds mCommand; + int mValue; + int mVolumeSteps; +}; + +// INLINE METHODS +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackControlsController::state +// ------------------------------------------------------------------------------------------------- +// +inline +TMPXPlaybackState VideoPlaybackControlsController::state() +{ + return mState; +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackControlsController::fileDetails +// ------------------------------------------------------------------------------------------------- +// +inline +VideoPlaybackViewFileDetails* VideoPlaybackControlsController::fileDetails() +{ + return mFileDetails; +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackControlsController::volumeSteps +// ------------------------------------------------------------------------------------------------- +// +inline +int VideoPlaybackControlsController::volumeSteps() +{ + return mVolumeSteps; +} + +#endif /*VIDEOPLAYBACKCONTROLSCONTROLLER_P_H_*/ + +// End of File diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvolumecontrol/stub/inc/videoplaybackviewfiledetails.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayback/videoplaybackview/tsrc/testvolumecontrol/stub/inc/videoplaybackviewfiledetails.h Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,84 @@ +/* +* 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: Video File Details (QT) +* +*/ + +// Version : %version: 1 % + + + + +#ifndef __VIDEOPLAYBACKVIEWFILEDETAILS__ +#define __VIDEOPLAYBACKVIEWFILEDETAILS__ + +#include +#include "mpxhelixplaybackplugindefs.h" + + +// +// CLASS DECLARATION +// +class VideoPlaybackViewFileDetails : public QObject +{ + public: + // + // Constructor + // + VideoPlaybackViewFileDetails(); + + // + // Destructor. + // + virtual ~VideoPlaybackViewFileDetails(); + + // + // Clear all file details + // + void clearFileDetails(); + + public: + // + // Data + // + QString mClipName; + QString mTitle; + QString mArtist; + QString mMimeType; + QString mDescription; + QString mLocation; + QString mCopyright; + QString mLanguage; + QString mKeywords; + + TMPXVideoMode mPlaybackMode; + bool mSeekable; + bool mPausableStream; + bool mAudioEnabled; + bool mVideoEnabled; + bool mPartialPlayback; + bool mRNFormat; + bool mTvOutConnected; + bool mDrmProtected; + bool mMultiItemPlaylist; + + int mVideoHeight; + int mVideoWidth; + int mBitRate; + int mDuration; +}; + +#endif // __VIDEOPLAYBACKVIEWFILEDETAILS__ + +// EOF diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvolumecontrol/stub/src/hbvolumesliderpopup.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayback/videoplaybackview/tsrc/testvolumecontrol/stub/src/hbvolumesliderpopup.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,154 @@ +/* +* 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: Implementation of HbVolumeSliderPopup +* +*/ + +// Version : %version: 1 % + + + +#include "mpxvideo_debug.h" +#include "hbvolumesliderpopup.h" + +// ------------------------------------------------------------------------------------------------- +// HbVolumeSliderPopup::HbVolumeSliderPopup +// ------------------------------------------------------------------------------------------------- +// +HbVolumeSliderPopup::HbVolumeSliderPopup() +{ + MPX_ENTER_EXIT(_L("HbVolumeSliderPopup::HbVolumeSliderPopup()")); +} + +// ------------------------------------------------------------------------------------------------- +// HbVolumeSliderPopup::~HbVolumeSliderPopup +// ------------------------------------------------------------------------------------------------- +// +HbVolumeSliderPopup::~HbVolumeSliderPopup() +{ + MPX_DEBUG(_L("HbVolumeSliderPopup::HbVolumeSliderPopup") ); +} + +// ------------------------------------------------------------------------------------------------- +// HbVolumeSliderPopup::setEnabled +// ------------------------------------------------------------------------------------------------- +// +void HbVolumeSliderPopup::setEnabled( bool enabled ) +{ + MPX_DEBUG(_L("HbVolumeSliderPopup::setEnabled %d"), enabled ); + + mEnabled = enabled; +} + +// ------------------------------------------------------------------------------------------------- +// HbVolumeSliderPopup::isEnabled +// ------------------------------------------------------------------------------------------------- +// +bool HbVolumeSliderPopup::isEnabled() +{ + MPX_DEBUG(_L("HbVolumeSliderPopup::isEnabled %d"), mEnabled ); + + return mEnabled; +} + +// ------------------------------------------------------------------------------------------------- +// HbVolumeSliderPopup::setVisible +// ------------------------------------------------------------------------------------------------- +// +void HbVolumeSliderPopup::setVisible( bool visible ) +{ + MPX_DEBUG(_L("HbVolumeSliderPopup::setVisible %d"), visible ); + + mVisible = visible; +} + +// ------------------------------------------------------------------------------------------------- +// HbVolumeSliderPopup::isVisible +// ------------------------------------------------------------------------------------------------- +// +bool HbVolumeSliderPopup::isVisible() +{ + MPX_DEBUG(_L("HbVolumeSliderPopup::isVisible %d"), mVisible ); + + return mVisible; +} + +// ------------------------------------------------------------------------------------------------- +// HbVolumeSliderPopup::setValue +// ------------------------------------------------------------------------------------------------- +// +void HbVolumeSliderPopup::setValue( int value ) +{ + MPX_DEBUG(_L("HbVolumeSliderPopup::setValue %d"), value ); + + mValue = value; +} + +// ------------------------------------------------------------------------------------------------- +// HbVolumeSliderPopup::setTimeout +// ------------------------------------------------------------------------------------------------- +// +void HbVolumeSliderPopup::setTimeout( int timeout ) +{ + MPX_DEBUG(_L("HbVolumeSliderPopup::setTimeout %d"), timeout ); + + mTimeOut = timeout; +} + +// ------------------------------------------------------------------------------------------------- +// HbVolumeSliderPopup::setTickPosition +// ------------------------------------------------------------------------------------------------- +// +void HbVolumeSliderPopup::setTickPosition( Hb::SliderTickPositions position ) +{ + MPX_DEBUG(_L("HbVolumeSliderPopup::setTickPosition")); + + mPosition = position; +} + +// ------------------------------------------------------------------------------------------------- +// HbVolumeSliderPopup::setRange +// ------------------------------------------------------------------------------------------------- +// +void HbVolumeSliderPopup::setRange( int min, int max ) +{ + MPX_DEBUG(_L("HbVolumeSliderPopup::setRange")); + + mMin = min; + mMax = max; +} + +// ------------------------------------------------------------------------------------------------- +// HbVolumeSliderPopup::value +// ------------------------------------------------------------------------------------------------- +// +int HbVolumeSliderPopup::value() +{ + MPX_DEBUG(_L("HbVolumeSliderPopup::value")); + + return mValue; +} + +// ------------------------------------------------------------------------------------------------- +// HbVolumeSliderPopup::setSingleStep +// ------------------------------------------------------------------------------------------------- +// +void HbVolumeSliderPopup::setSingleStep( int steps ) +{ + MPX_DEBUG(_L("HbVolumeSliderPopup::setSingleStep")); + + mSteps = steps; +} + +// End of file diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvolumecontrol/stub/src/videoplaybackcontrolscontroller.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayback/videoplaybackview/tsrc/testvolumecontrol/stub/src/videoplaybackcontrolscontroller.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,104 @@ +/* +* Copyright (c) 20010 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: Implementation of VideoPlaybackControlsController +* +*/ + +// Version : %version: 1 % + + + +// INCLUDE FILES + + +#include "videoplaybackviewfiledetails.h" +#include "videoplaybackcontrolscontroller.h" +#include "videoplaybackcontrolconfiguration.h" + + +// ================= MEMBER FUNCTIONS ============================================================== + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackControlsController::VideoPlaybackControlsController() +// ------------------------------------------------------------------------------------------------- +// +VideoPlaybackControlsController::VideoPlaybackControlsController() +{ + MPX_DEBUG(_L("VideoPlaybackControlsController::VideoPlaybackControlsController") ); + + initializeController(); +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackControlsController::initializeController() +// ------------------------------------------------------------------------------------------------- +// +void VideoPlaybackControlsController::initializeController() +{ + MPX_DEBUG(_L("VideoPlaybackControlsController::initializeController") ); + + mFileDetails = new VideoPlaybackViewFileDetails(); +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackControlsController::~VideoPlaybackControlsController +// ------------------------------------------------------------------------------------------------- +// +VideoPlaybackControlsController::~VideoPlaybackControlsController() +{ + MPX_DEBUG(_L("VideoPlaybackControlsController::~VideoPlaybackControlsController")); + + if ( mFileDetails ) + { + delete mFileDetails; + mFileDetails = NULL; + } +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackControlsController::resetDisappearingTimers() +// ------------------------------------------------------------------------------------------------- +// +void VideoPlaybackControlsController::resetDisappearingTimers( TTimerAction timerAction ) +{ + MPX_DEBUG(_L("VideoPlaybackControlsController::resetDisappearingTimers") ); + + mTimerAction = timerAction; +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackControlsController::handleCommand() +// ------------------------------------------------------------------------------------------------- +// +void VideoPlaybackControlsController::handleCommand( + TMPXVideoPlaybackViewCommandIds command, int value ) +{ + MPX_DEBUG(_L("VideoPlaybackControlsController::handleCommand") ); + + mCommand = command; + mValue = value; +} + +// ------------------------------------------------------------------------------------------------- +// VideoPlaybackControlsController::viewMode +// ------------------------------------------------------------------------------------------------- +// +TPlaybackViewMode VideoPlaybackControlsController::viewMode() +{ + MPX_DEBUG(_L("VideoPlaybackControlsController::viewMode") ); + + return mViewMode; +} + +// End of File diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvolumecontrol/stub/src/videoplaybackviewfiledetails.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayback/videoplaybackview/tsrc/testvolumecontrol/stub/src/videoplaybackviewfiledetails.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,77 @@ +/* +* 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: class for Video File Details (Qt) +* +*/ + +// Version : %version: 1 % + + + +// +// INCLUDE FILES +// +#include "mpxvideo_debug.h" +#include "videoplaybackviewfiledetails.h" + + +// ============================ MEMBER FUNCTIONS =================================================== + +VideoPlaybackViewFileDetails::VideoPlaybackViewFileDetails() +{ + MPX_ENTER_EXIT(_L("VideoPlaybackViewFileDetails::VideoPlaybackViewFileDetails()")); + + clearFileDetails(); +} + +VideoPlaybackViewFileDetails::~VideoPlaybackViewFileDetails() +{ + MPX_ENTER_EXIT(_L("VideoPlaybackViewFileDetails::~VideoPlaybackViewFileDetails()")); + + clearFileDetails(); +} + +void +VideoPlaybackViewFileDetails::clearFileDetails() +{ + MPX_ENTER_EXIT(_L("VideoPlaybackViewFileDetails::ClearFileDetails()")); + + mMimeType = tr(""); + mTitle = tr(""); + mArtist = tr(""); + mClipName = tr(""); + mDescription = tr(""); + mLocation = tr(""); + mCopyright = tr(""); + mLanguage = tr(""); + mKeywords = tr(""); + + mPlaybackMode = EMPXVideoLocal; + mSeekable = false; + mPausableStream = false; + mAudioEnabled = false; + mVideoEnabled = false; + mPartialPlayback = false; + mRNFormat = false; + + mDuration = 100; + mTvOutConnected = false; + mDrmProtected = false; + + mVideoHeight = 0; + mVideoWidth = 0; + mBitRate = 0; +} + +// EOF diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/tsrc/testvolumecontrol/testvolumecontrol.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayback/videoplaybackview/tsrc/testvolumecontrol/testvolumecontrol.pro Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,41 @@ +# +# 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: Project file for building testvolumecontrol +# +# +# Version : %version: 1 % + +TEMPLATE = app +TARGET = testvolumecontrol +CONFIG += qtestlib qt hb + +INCLUDEPATH += stub/inc \ + ../../../../inc \ + ../../../inc + + +DEPENDPATH += stub/inc stub/src inc src + +# Input +HEADERS += testvolumecontrol.h \ + videoplaybackcontrolscontroller.h \ + videoplaybackviewfiledetails.h \ + hbvolumesliderpopup.h \ + ../../controlinc/videoplaybackvolumecontrol.h + +SOURCES += testvolumecontrol.cpp \ + videoplaybackcontrolscontroller.cpp \ + videoplaybackviewfiledetails.cpp \ + hbvolumesliderpopup.cpp \ + ../../controlsrc/videoplaybackvolumecontrol.cpp diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/videoplaybackview.pro --- a/videoplayback/videoplaybackview/videoplaybackview.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/videoplaybackview.pro Tue Oct 05 09:26:49 2010 +0300 @@ -14,7 +14,7 @@ # Description: Project file for building Videoplayer components # # -# Version : %version: 34 % +# Version : %version: da1mmcf#35 % TEMPLATE = lib @@ -60,7 +60,8 @@ -lefsrv.dll \ -lws32.dll \ -lgdi.dll \ - -lshareui.dll + -lshareui.dll \ + -lplaybackhelper.dll DEPENDPATH += ../inc inc viewinc controlinc VPATH += viewsrc controlsrc @@ -83,7 +84,8 @@ videoplaybackfiledetailswidget.h \ videoplaybackuserinputhandler.h \ videoplaybackdetailsplaybackwindow.h \ - videocontainer.h + videocontainer.h \ + videoplaybackvolumecontrol.h SOURCES += videobaseplaybackview.cpp \ videoplaybackview.cpp \ @@ -102,7 +104,8 @@ videoplaybackfiledetailswidget.cpp \ videoplaybackuserinputhandler.cpp \ videoplaybackdetailsplaybackwindow.cpp \ - videocontainer.cpp + videocontainer.cpp \ + videoplaybackvolumecontrol.cpp DOCML += resources/videoplaybackview.docml diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/viewinc/mpxvideoviewwrapper.h --- a/videoplayback/videoplaybackview/viewinc/mpxvideoviewwrapper.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/viewinc/mpxvideoviewwrapper.h Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: da1mmcf#25 % +// Version : %version: da1mmcf#29 % @@ -216,6 +216,10 @@ void Deactivate(); + int VolumeSteps(); + + void SetDefaultAspectRatio( TInt aspectRatio ); + private: /** @@ -268,6 +272,8 @@ TInt GetMediaId(); + void InitializeFileDetails(); + protected: // data MMPXPlaybackUtility* iPlaybackUtility; MMPXCollectionUtility* iCollectionUtility; diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/viewinc/videoplaybackdisplayhandler.h --- a/videoplayback/videoplaybackview/viewinc/videoplaybackdisplayhandler.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/viewinc/videoplaybackdisplayhandler.h Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 12 % +// Version : %version: 14 % #ifndef __VIDEOPLAYBACKDISPLAYHANDLER_H__ @@ -29,11 +29,10 @@ #include -// +// // CLASS DECLARATION // class CVideoContainer; -class MMPXPlaybackUtility; class CMPXVideoViewWrapper; class VideoPlaybackViewFileDetails; @@ -52,39 +51,37 @@ TReal32 screenRatio; TMMFScalingType scalingType; } TMPXAspectRatio ; - + public: ~CVideoPlaybackDisplayHandler(); - static CVideoPlaybackDisplayHandler* NewL( MMPXPlaybackUtility* aPlayUtil, - CMPXVideoViewWrapper* aViewWrapper ); + static CVideoPlaybackDisplayHandler* NewL( CMPXVideoViewWrapper* aViewWrapper ); void CreateDisplayWindowL( RWsSession& aWs, CWsScreenDevice& aScreenDevice, RWindow& aWin, - TRect aDisplayRect ); + TRect aDisplayRect, + VideoPlaybackViewFileDetails* aFileDetails ); void RemoveDisplayWindow(); void HandleVideoDisplayMessageL( CMPXMessage* aMessage ); TInt SetAspectRatioL( TMPXVideoPlaybackCommand aCmd ); - - TInt SetDefaultAspectRatioL( VideoPlaybackViewFileDetails* aFileDetails, - TReal32 aDisplayAspectRatio ); + + TInt CalculateAspectRatioL(); void UpdateVideoRectL( TRect aRect, TBool transitionEffect ); private: - CVideoPlaybackDisplayHandler( MMPXPlaybackUtility* aPlayUtil, - CMPXVideoViewWrapper* aViewWrapper ); + CVideoPlaybackDisplayHandler( CMPXVideoViewWrapper* aViewWrapper ); void ConstructL(); - + void LoadAspectRatioL(); - + void SaveAspectRatioL(); void SetVideoRectL( TRect aClipRect ); @@ -102,13 +99,12 @@ void SurfaceChangedL( CMPXMessage* aMessage ); void SurfaceRemoved(); TInt SetNgaAspectRatioL( TMPXVideoPlaybackCommand aCmd ); + TBool IsAspectRatioEqual( TReal32 aRatio1, TReal32 aRatio2 ); private: - MMPXPlaybackUtility* iPlaybackUtility; - RArray iAspectRatioArray; TInt iCurrentIndexForAspectRatio; - TReal iDisplayAspectRatio; + TReal32 iDisplayAspectRatio; TRect iWindowRect; @@ -136,6 +132,7 @@ TVideoRotation iRotation; TAutoScaleType iAutoScale; CVideoContainer* iVideoContainer; + VideoPlaybackViewFileDetails* iFileDetails; }; #endif // __VIDEOPLAYBACKDISPLAYHANDLER_H__ diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/viewsrc/mpxvideoviewwrapper.cpp --- a/videoplayback/videoplaybackview/viewsrc/mpxvideoviewwrapper.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/viewsrc/mpxvideoviewwrapper.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: da1mmcf#48 % +// Version : %version: da1mmcf#52 % @@ -23,6 +23,7 @@ #include #include +#include #include #include @@ -127,7 +128,7 @@ // // Create Video Playback Display Handler // - iDisplayHandler = CVideoPlaybackDisplayHandler::NewL( iPlaybackUtility, this ); + iDisplayHandler = CVideoPlaybackDisplayHandler::NewL( this ); // // Create control's controller @@ -656,10 +657,7 @@ iMediaRequestStatus = MediaNotRequested; HandleCommandL( EMPXPbvCmdResetControls ); - if ( iFileDetails ) - { - iFileDetails->clearFileDetails(); - } + InitializeFileDetails(); } } break; @@ -952,7 +950,6 @@ { iFileDetails->mModificationTime = aMedia.ValueTObjectL( KMPXMediaVideoLastModified ); } - } // ------------------------------------------------------------------------------------------------- @@ -1293,7 +1290,7 @@ _L("aViewForeground = %d, aAppForegournd = %d"), aViewForeground, aAppForegournd ); iUserInputHandler->SetForeground( aAppForegournd ); - + TMPXVideoPlaybackCommand videoCmd = EPbCmdHandleBackground; TVideoPlaybackControlCommandIds controlsCmd = EControlCmdHandleBackgroundEvent; @@ -1328,38 +1325,7 @@ { MPX_ENTER_EXIT(_L("CMPXVideoViewWrapper::CreateControlsL()")); - // - // Query playback plugin for filename and mode - // - CMPXCommand* cmd = CMPXCommand::NewL(); - CleanupStack::PushL( cmd ); - - RetrieveFileNameAndModeL( cmd ); - - // - // Create a temporary file details that is populated with the - // file name and playback mode. This will be delete when - // plugin initialization is complete - // - if ( iFileDetails ) - { - delete iFileDetails; - iFileDetails = NULL; - } - - iFileDetails = new VideoPlaybackViewFileDetails(); - - TPtrC fileName( cmd->ValueText( KMPXMediaVideoPlaybackFileName ) ); - const QString qFilename( (QChar*)fileName.Ptr(), fileName.Length() ); - iFileDetails->mClipName = qFilename; - - iFileDetails->mPlaybackMode = (TMPXVideoMode) cmd->ValueTObjectL( KMPXMediaVideoMode ); - - iFileDetails->mTvOutConnected = cmd->ValueTObjectL( KMPXMediaVideoTvOutConnected ); - - TPtrC mimeType( cmd->ValueText( KMPXMediaVideoRecognizedMimeType ) ); - const QString qMimeType( (QChar*)mimeType.Ptr(), mimeType.Length() ); - iFileDetails->mMimeType = qMimeType; + InitializeFileDetails(); // // get playlist information and set mMultiItemPlaylist flag @@ -1383,8 +1349,6 @@ iFileDetails->mMultiItemPlaylist = ( numItems > 1 ); - CleanupStack::PopAndDestroy( cmd ); - if ( iControlsController ) { delete iControlsController; @@ -1465,31 +1429,13 @@ TRect displayRect = TRect( TPoint( window->Position() ), TSize( window->Size() ) ); // - // get window aspect ratio - // if device is in landscape mode, width > height - // if device is in portrait mode, width < height - // - TReal32 width = (TReal32) displayRect.Width(); - TReal32 height = (TReal32) displayRect.Height(); - TReal32 displayAspectRatio = (width > height)? (width / height) : (height / width); - - // - // get new aspect ratio - TInt newAspectRatio = - iDisplayHandler->SetDefaultAspectRatioL( iFileDetails, displayAspectRatio ); - - // // Setup the display window and issue play command // iDisplayHandler->CreateDisplayWindowL( CCoeEnv::Static()->WsSession(), *(CCoeEnv::Static()->ScreenDevice()), *window, - displayRect ); - - if ( iControlsController ) - { - iControlsController->handleEvent( EControlCmdSetAspectRatio, newAspectRatio ); - } + displayRect, + iFileDetails ); } // if coming back after a forced termination, the playback position must @@ -1687,4 +1633,80 @@ iControlsController->handleEvent( event ); } +// ------------------------------------------------------------------------------------------------- +// CMPXVideoViewWrapper::VolumeSteps() +// ------------------------------------------------------------------------------------------------- +// +int CMPXVideoViewWrapper::VolumeSteps() +{ + int volumeSteps = 0; + + TRAP_IGNORE( { + CDevSoundIf* devSoundIf = CDevSoundIf::NewL(); + volumeSteps = devSoundIf->GetNumberOfVolumeSteps(); + delete devSoundIf; + } ); + + MPX_DEBUG(_L("CMPXVideoViewWrapper::VolumeSteps() volumeSteps = %d"), volumeSteps); + + return volumeSteps; +} + +// ------------------------------------------------------------------------------------------------- +// CMPXVideoViewWrapper::InitializeFileDetails() +// ------------------------------------------------------------------------------------------------- +// +void CMPXVideoViewWrapper::InitializeFileDetails() +{ + MPX_DEBUG(_L("CMPXVideoViewWrapper::InitializeFileDetails()")); + + CMPXCommand* cmd = CMPXCommand::NewL(); + CleanupStack::PushL( cmd ); + + RetrieveFileNameAndModeL( cmd ); + + // + // Create a temporary file details that is populated with the + // file name and playback mode. This will be deleted when + // plugin initialization is complete + // + if ( !iFileDetails ) + { + iFileDetails = new VideoPlaybackViewFileDetails(); + } + else + { + iFileDetails->clearFileDetails(); + } + + TPtrC fileName( cmd->ValueText( KMPXMediaVideoPlaybackFileName ) ); + const QString qFilename( (QChar*)fileName.Ptr(), fileName.Length() ); + iFileDetails->mClipName = qFilename; + + iFileDetails->mPlaybackMode = (TMPXVideoMode) cmd->ValueTObjectL( KMPXMediaVideoMode ); + MPX_DEBUG(_L("CMPXVideoViewWrapper::InitializeFileDetails() - mode %d"), iFileDetails->mPlaybackMode); + + iFileDetails->mTvOutConnected = cmd->ValueTObjectL( KMPXMediaVideoTvOutConnected ); + + TPtrC mimeType( cmd->ValueText( KMPXMediaVideoRecognizedMimeType ) ); + const QString qMimeType( (QChar*)mimeType.Ptr(), mimeType.Length() ); + iFileDetails->mMimeType = qMimeType; + + CleanupStack::PopAndDestroy( cmd ); +} + +// ------------------------------------------------------------------------------------------------- +// CMPXVideoViewWrapper::SetDefaultAspectRatio() +// ------------------------------------------------------------------------------------------------- +// +void CMPXVideoViewWrapper::SetDefaultAspectRatio( TInt aspectRatio ) +{ + MPX_DEBUG(_L("CMPXVideoViewWrapper::SetDefaultAspectRatio() aspectRatio = %d"), aspectRatio); + + if ( iControlsController ) + { + iControlsController->handleEvent( EControlCmdSetAspectRatio, aspectRatio ); + } +} + // EOF diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/viewsrc/videobaseplaybackview.cpp --- a/videoplayback/videoplaybackview/viewsrc/videobaseplaybackview.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/viewsrc/videobaseplaybackview.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 49.1.2 % +// Version : %version: da1mmcf#49.1.3 % @@ -51,6 +51,7 @@ #include "videoplaybackviewfiledetails.h" #include "mpxcommonvideoplaybackview.hrh" +const int KPanGestureThreshold = 200; // Member Functions @@ -312,7 +313,7 @@ // // create pop-up dialog for error notes and notifications, - // For error notes, HbMessageBox is used: + // For error notes, HbMessageBox is used: // - Note will be dismissed by using standard timeout or // - If user taps anywhere on the screen. // For notifications, HbNotification dialog will be used. @@ -321,15 +322,15 @@ HbDialog *dlg = 0; if(isError) { - dlg = new HbMessageBox( string, HbMessageBox::MessageTypeWarning ); + dlg = new HbMessageBox( string, HbMessageBox::MessageTypeWarning ); // dialog will be closed by timeout, no buttons used qobject_cast( dlg )->setStandardButtons( HbMessageBox::NoButton ); - } + } else { dlg = new HbNotificationDialog(); qobject_cast( dlg )->setTitle( string ); - } + } dlg->setAttribute( Qt::WA_DeleteOnClose ); dlg->setDismissPolicy( HbPopup::TapAnywhere ); dlg->setTimeout( HbPopup::StandardTimeout ); @@ -472,21 +473,25 @@ emit tappedOnScreen(); } } - else if ( HbPanGesture* gesture = static_cast( event->gesture( Qt::PanGesture ) ) ) + + if ( HbPanGesture* gesture = static_cast( event->gesture( Qt::PanGesture ) ) ) { - if ( gesture->state() == Qt::GestureFinished && mActivated ) + if ( mActivated && gesture->state() == Qt::GestureFinished ) { - QPointF delta( gesture->sceneDelta() ); + MPX_DEBUG(_L("VideoBasePlaybackView::gestureEvent() pan gesture finished")); - if ( delta.x() > 0 ) + int nonZeroVelocity = (int)( gesture->sceneVelocity().x() ); + int offset = (int)( gesture->sceneOffset().x() ); + + if ( offset > KPanGestureThreshold && nonZeroVelocity > 0 ) { - MPX_DEBUG(_L("VideoBasePlaybackView::gestureEvent() right") ); + MPX_DEBUG(_L("VideoBasePlaybackView::gestureEvent() pan gesture right") ); emit pannedToRight(); } - else + else if ( offset < KPanGestureThreshold * -1.0f && nonZeroVelocity < 0 ) { - MPX_DEBUG(_L("VideoBasePlaybackView::gestureEvent() left") ); + MPX_DEBUG(_L("VideoBasePlaybackView::gestureEvent() pan gesture left") ); emit pannedToLeft(); } diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/viewsrc/videoplaybackdisplayhandler.cpp --- a/videoplayback/videoplaybackview/viewsrc/videoplaybackdisplayhandler.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/viewsrc/videoplaybackdisplayhandler.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,13 +15,12 @@ * */ -// Version : %version: 29 % +// Version : %version: 31 % #include #include #include #include -#include #include #include "videocontainer.h" @@ -36,10 +35,8 @@ _LIT( KAspectRatioFile, "c:\\private\\200159b2\\mpxvideoplayer_aspect_ratio.dat" ); -CVideoPlaybackDisplayHandler::CVideoPlaybackDisplayHandler( MMPXPlaybackUtility* aPlayUtil, - CMPXVideoViewWrapper* aViewWrapper ) - : iPlaybackUtility( aPlayUtil ) - , iTransitionEffectCnt( 0 ) +CVideoPlaybackDisplayHandler::CVideoPlaybackDisplayHandler( CMPXVideoViewWrapper* aViewWrapper ) + : iTransitionEffectCnt( 0 ) , iViewWrapper( aViewWrapper ) , iScaleWidth( 100.0f ) , iScaleHeight( 100.0f ) @@ -81,13 +78,12 @@ } CVideoPlaybackDisplayHandler* -CVideoPlaybackDisplayHandler::NewL( MMPXPlaybackUtility* aPlayUtil, - CMPXVideoViewWrapper* aViewWrapper ) +CVideoPlaybackDisplayHandler::NewL( CMPXVideoViewWrapper* aViewWrapper ) { MPX_ENTER_EXIT(_L("CVideoPlaybackDisplayHandler::NewL()")); CVideoPlaybackDisplayHandler* self = - new(ELeave) CVideoPlaybackDisplayHandler( aPlayUtil, aViewWrapper ); + new(ELeave) CVideoPlaybackDisplayHandler( aViewWrapper ); CleanupStack::PushL( self ); self->ConstructL(); @@ -113,10 +109,22 @@ RWsSession& /*aWs*/, CWsScreenDevice& aScreenDevice, RWindow& aWin, - TRect aDisplayRect ) + TRect aDisplayRect, + VideoPlaybackViewFileDetails* aFileDetails ) { MPX_ENTER_EXIT(_L("CVideoPlaybackDisplayHandler::CreateDisplayWindowL()")); + iFileDetails = aFileDetails; + + // + // get window aspect ratio + // if device is in landscape mode, width > height + // if device is in portrait mode, width < height + // + TReal32 width = (TReal32) aDisplayRect.Width(); + TReal32 height = (TReal32) aDisplayRect.Height(); + iDisplayAspectRatio = (width > height)? (width / height) : (height / width); + if ( ! iVideoContainer ) { iVideoContainer = new ( ELeave ) CVideoContainer(); @@ -125,6 +133,8 @@ } RWindowBase *videoWindow = iVideoContainer->DrawableWindow(); + ((RWindow*)videoWindow )->SetBackgroundColor( KRgbBlack ); + videoWindow->SetOrdinalPosition( -1 ); (&aWin)->SetOrdinalPosition( 0 ); @@ -219,22 +229,32 @@ } // ------------------------------------------------------------------------------------------------- -// CVideoPlaybackDisplayHandler::SetDefaultAspectRatioL +// CVideoPlaybackDisplayHandler::CalculateAspectRatioL // ------------------------------------------------------------------------------------------------- // -TInt CVideoPlaybackDisplayHandler::SetDefaultAspectRatioL( - VideoPlaybackViewFileDetails* aFileDetails, TReal32 aDisplayAspectRatio ) +TInt CVideoPlaybackDisplayHandler::CalculateAspectRatioL() { - MPX_ENTER_EXIT(_L("CVideoPlaybackDisplayHandler::SetDefaultAspectRatioL()")); + MPX_ENTER_EXIT(_L("CVideoPlaybackDisplayHandler::CalculateAspectRatioL()")); TInt newAspectRatio = EMMFNatural; - if ( aFileDetails->mVideoHeight > 0 && aFileDetails->mVideoWidth > 0 ) + if ( iFileDetails->mVideoHeight > 0 && iFileDetails->mVideoWidth > 0 ) { TMMFScalingType scalingType = EMMFNatural; - TReal32 videoAspectRatio = (TReal32)aFileDetails->mVideoWidth / - (TReal32)aFileDetails->mVideoHeight; + TReal32 videoAspectRatio = (TReal32)iFileDetails->mVideoWidth / + (TReal32)iFileDetails->mVideoHeight; + // + // If the pixel aspect ratio is valid, use it to modify the videoAspectRatio + // + if ( iAspectRatio.iDenominator ) + { + MPX_DEBUG(_L("VideoPlaybackDisplayHandler::CalculateAspectRatioL() iAspectRatio = (%d,%d)"), + iAspectRatio.iNumerator, iAspectRatio.iDenominator ); + + TReal32 par = (TReal32)iAspectRatio.iNumerator / (TReal32)iAspectRatio.iDenominator; + videoAspectRatio *= par; + } TInt cnt = iAspectRatioArray.Count(); TInt i = 0; @@ -244,8 +264,8 @@ // for ( ; i < cnt ; i++ ) { - if ( iAspectRatioArray[i].videoRatio == videoAspectRatio && - iAspectRatioArray[i].screenRatio == aDisplayAspectRatio && + if ( IsAspectRatioEqual( iAspectRatioArray[i].videoRatio, videoAspectRatio ) && + IsAspectRatioEqual( iAspectRatioArray[i].screenRatio, iDisplayAspectRatio ) && ( scalingType = iAspectRatioArray[i].scalingType ) > 0 ) { break; @@ -255,21 +275,33 @@ // // if can't find out match aspect ratio in dat file, // choose the scaling type through the rule - // aspectRatioDiff = videoAspectRatio - aDisplayAspectRatio - // aspectRatioDiff == 0 ==> natural - // aspectRatioDiff > 0.1 ==> zoom - // aspectRatioDiff < - 0.3 ==> natural - // aspectRatioDiff >= - 0.3 and <= 0.1 ==> stretch + // aspectRatioDiff = videoAspectRatio - iDisplayAspectRatio + // aspectRatioDiff >= - 0.00001 and <= 0.00001 ==> natural + // aspectRatioDiff > 0.1 ==> zoom + // aspectRatioDiff < - 0.3 ==> natural + // aspectRatioDiff >= - 0.3 and <= 0.1 ==> stretch + // + // -0.3 -0.00001 0.00001 0.1 + // ------------------------------------------------------------ + // Natural | Stretch | Natural | Stretch | Zoom // if ( i == cnt ) { - if ( videoAspectRatio - aDisplayAspectRatio > 0.1 ) + TReal32 aspectRatioDiff = videoAspectRatio - iDisplayAspectRatio; + + MPX_DEBUG(_L("VideoPlaybackDisplayHandler::CalculateAspectRatioL() videoAspectRatio = d,iDisplayAspectRatio = %d)"), + videoAspectRatio, iDisplayAspectRatio ); + + if ( IsAspectRatioEqual( videoAspectRatio, iDisplayAspectRatio ) ) + { + scalingType = EMMFNatural; + } + else if ( aspectRatioDiff > 0.1 ) { scalingType = EMMFZoom; } - else if ( ( videoAspectRatio != aDisplayAspectRatio ) && - ( videoAspectRatio - aDisplayAspectRatio > (- 0.3) ) ) + else if ( aspectRatioDiff > - 0.3 ) { scalingType = EMMFStretch; } @@ -277,12 +309,15 @@ TMPXAspectRatio ratio; ratio.videoRatio = videoAspectRatio; - ratio.screenRatio = aDisplayAspectRatio; + ratio.screenRatio = iDisplayAspectRatio; ratio.scalingType = scalingType; iAspectRatioArray.Append( ratio ); } + iFileDetails->mAspectRatioChangeable = + ! IsAspectRatioEqual( videoAspectRatio, iDisplayAspectRatio ); + iCurrentIndexForAspectRatio = i; TMPXVideoPlaybackCommand aspectRatioCmd = EPbCmdNaturalAspectRatio; @@ -485,7 +520,38 @@ if ( iVideoDisplay ) { - iVideoDisplay->SetVideoExtentL( *iWindowBase, aRect, TRect( iWindowBase->Size() ) ); + TRect temp = aRect; + + MPX_DEBUG(_L("CVideoPlaybackDisplayHandler::SetVideoRectL() origianl rect %d %d %d %d"), + temp.iTl.iX, temp.iTl.iY, temp.iBr.iX, temp.iBr.iY ); + + // + // Need to transform based on rotation clockwise + // since the input rect is based on orbit orientation(which can be landscape or potrait) + // and the video surface is always in device orientation(can't be changed by anything). + // If iRotation is EVideoRotationNone, + // we don't need to transfrom the rect since video and ui surfaces are in same orietation. + // but if iRotation is not EVideoRotationNone, + // we need to transform the rect based on clockwise. + // + switch( iRotation ) + { + case EVideoRotationClockwise90: + { + int screenWidth = iWindowBase->Size().iWidth; + + temp = TRect( screenWidth - aRect.iBr.iY, + aRect.iTl.iX, + screenWidth - aRect.iTl.iY, + aRect.iBr.iX ); + break; + } + } + + MPX_DEBUG(_L("CVideoPlaybackDisplayHandler::SetVideoRectL() transformed rect %d %d %d %d"), + temp.iTl.iX, temp.iTl.iY, temp.iBr.iX, temp.iBr.iY ); + + iVideoDisplay->SetVideoExtentL( *iWindowBase, temp, iCropRect ); } } @@ -541,6 +607,7 @@ ); MPX_DEBUG(_L("CVideoPlaybackDisplayHandler::AddDisplayWindowL() Display Added")); + // // Check if surface was created before window was ready // @@ -574,6 +641,8 @@ iCropRect = aMessage->ValueTObjectL( KMPXMediaVideoDisplayCropRect ); iAspectRatio = aMessage->ValueTObjectL( KMPXMediaVideoDisplayAspectRatio ); + iViewWrapper->SetDefaultAspectRatio( CalculateAspectRatioL() ); + if ( iVideoDisplay ) { // @@ -619,6 +688,8 @@ iCropRect = aMessage->ValueTObjectL( KMPXMediaVideoDisplayCropRect ); iAspectRatio = aMessage->ValueTObjectL( KMPXMediaVideoDisplayAspectRatio ); + iViewWrapper->SetDefaultAspectRatio( CalculateAspectRatioL() ); + if ( iVideoDisplay ) { // @@ -694,4 +765,26 @@ return aspectRatio; } +// ------------------------------------------------------------------------------------------------- +// CVideoPlaybackDisplayHandler::IsAspectRatioEqual() +// ------------------------------------------------------------------------------------------------- +// +TBool CVideoPlaybackDisplayHandler::IsAspectRatioEqual( TReal32 aRatio1, TReal32 aRatio2 ) +{ + MPX_DEBUG(_L("CVideoPlaybackDisplayHandler::IsAspectRatioEqual() ar1 = %f ar2 = %f)"), + aRatio1, aRatio2 ); + + TBool valuesEqual = EFalse; + TReal32 arDiff = aRatio1 - aRatio2; + + if ( arDiff < 0.00001 && arDiff > -0.00001 ) + { + valuesEqual = ETrue; + } + + MPX_DEBUG(_L("CVideoPlaybackDisplayHandler::IsAspectRatioEqual(%d)"), valuesEqual); + + return valuesEqual; +} + // End of File diff -r 4707a0db12f6 -r adb51f74b890 videoplayback/videoplaybackview/viewsrc/videoplaybackviewfiledetails.cpp --- a/videoplayback/videoplaybackview/viewsrc/videoplaybackviewfiledetails.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayback/videoplaybackview/viewsrc/videoplaybackviewfiledetails.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: da1mmcf#11 % +// Version : %version: da1mmcf#12 % @@ -47,16 +47,16 @@ { MPX_ENTER_EXIT(_L("VideoPlaybackViewFileDetails::ClearFileDetails()")); - mMimeType = tr(""); + mMimeType = tr(""); mTitle = tr(""); mArtist = tr(""); mClipName = tr(""); - mDescription = tr(""); + mDescription = tr(""); mLocation = tr(""); mCopyright = tr(""); mLanguage = tr(""); mKeywords = tr(""); - + mPlaybackMode = EMPXVideoLocal; mSeekable = false; mPausableStream = false; @@ -68,6 +68,7 @@ mDuration = 0; mTvOutConnected = false; mDrmProtected = false; + mAspectRatioChangeable = false; mVideoHeight = 0; mVideoWidth = 0; diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/bwins/videoplayerengineu.def --- a/videoplayerapp/bwins/videoplayerengineu.def Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/bwins/videoplayerengineu.def Tue Oct 05 09:26:49 2010 +0300 @@ -1,67 +1,68 @@ EXPORTS ?playMedia@VideoPlayerEngine@@QAEXVRFile@@@Z @ 1 NONAME ; void VideoPlayerEngine::playMedia(class RFile) ?instance@VideoActivityState@@SAAAV1@XZ @ 2 NONAME ; class VideoActivityState & VideoActivityState::instance(void) - ??0VideoPlayerEngine@@QAE@_N@Z @ 3 NONAME ; VideoPlayerEngine::VideoPlayerEngine(bool) - ?qt_metacast@VideoServices@@UAEPAXPBD@Z @ 4 NONAME ; void * VideoServices::qt_metacast(char const *) - ?getBrowseCategory@VideoServices@@QBEHXZ @ 5 NONAME ; int VideoServices::getBrowseCategory(void) const - ?engine@VideoServices@@AAEPAVVideoPlayerEngine@@XZ @ 6 NONAME ; class VideoPlayerEngine * VideoServices::engine(void) - ?loadPluginAndCreateView@VideoPlayerEngine@@AAEXW4MpxHbVideoViewType@MpxHbVideoCommon@@@Z @ 7 NONAME ; void VideoPlayerEngine::loadPluginAndCreateView(enum MpxHbVideoCommon::MpxHbVideoViewType) - ?trUtf8@VideoServices@@SA?AVQString@@PBD0@Z @ 8 NONAME ; class QString VideoServices::trUtf8(char const *, char const *) - ?setEmbedded@VideoPlayerEngine@@QAEXXZ @ 9 NONAME ; void VideoPlayerEngine::setEmbedded(void) - ?itemSelected@VideoServices@@QAEXABVQString@@@Z @ 10 NONAME ; void VideoServices::itemSelected(class QString const &) - ?createMissingViews@VideoPlayerEngine@@AAEXXZ @ 11 NONAME ; void VideoPlayerEngine::createMissingViews(void) - ??1VideoServices@@EAE@XZ @ 12 NONAME ; VideoServices::~VideoServices(void) - ??0VideoServices@@AAE@PAVVideoPlayerEngine@@@Z @ 13 NONAME ; VideoServices::VideoServices(class VideoPlayerEngine *) - ?titleReady@VideoServices@@IAEXABVQString@@@Z @ 14 NONAME ; void VideoServices::titleReady(class QString const &) - ?setActivityData@VideoActivityState@@QAEXABVQVariant@@ABVQString@@@Z @ 15 NONAME ; void VideoActivityState::setActivityData(class QVariant const &, class QString const &) - ??0VideoActivityState@@AAE@XZ @ 16 NONAME ; VideoActivityState::VideoActivityState(void) - ?activated@VideoServices@@IAEXH@Z @ 17 NONAME ; void VideoServices::activated(int) - ?playMedia@VideoPlayerEngine@@QAEXVQString@@@Z @ 18 NONAME ; void VideoPlayerEngine::playMedia(class QString) - ?metaObject@VideoServices@@UBEPBUQMetaObject@@XZ @ 19 NONAME ; struct QMetaObject const * VideoServices::metaObject(void) const - ?getStaticMetaObject@VideoPlayerEngine@@SAABUQMetaObject@@XZ @ 20 NONAME ; struct QMetaObject const & VideoPlayerEngine::getStaticMetaObject(void) - ??_EVideoActivityState@@UAE@I@Z @ 21 NONAME ; VideoActivityState::~VideoActivityState(unsigned int) - ?createPlaybackView@VideoPlayerEngine@@AAEXXZ @ 22 NONAME ; void VideoPlayerEngine::createPlaybackView(void) - ?handleCommand@VideoPlayerEngine@@QAEXH@Z @ 23 NONAME ; void VideoPlayerEngine::handleCommand(int) - ??_EVideoServices@@UAE@I@Z @ 24 NONAME ; VideoServices::~VideoServices(unsigned int) - ?browsingEnded@VideoServices@@QAEXXZ @ 25 NONAME ; void VideoServices::browsingEnded(void) - ?handlePlaybackFailure@VideoPlayerEngine@@AAEXH@Z @ 26 NONAME ; void VideoPlayerEngine::handlePlaybackFailure(int) - ?connectView@VideoPlayerEngine@@AAEXXZ @ 27 NONAME ; void VideoPlayerEngine::connectView(void) - ?getStaticMetaObject@VideoServices@@SAABUQMetaObject@@XZ @ 28 NONAME ; struct QMetaObject const & VideoServices::getStaticMetaObject(void) - ?decreaseReferenceCount@VideoServices@@QAEXXZ @ 29 NONAME ; void VideoServices::decreaseReferenceCount(void) - ?setCurrentService@VideoServices@@AAEXW4TVideoService@1@@Z @ 30 NONAME ; void VideoServices::setCurrentService(enum VideoServices::TVideoService) - ?trUtf8@VideoPlayerEngine@@SA?AVQString@@PBD0@Z @ 31 NONAME ; class QString VideoPlayerEngine::trUtf8(char const *, char const *) - ?setCurrentView@VideoPlayerEngine@@AAEXXZ @ 32 NONAME ; void VideoPlayerEngine::setCurrentView(void) - ?instance@VideoServices@@SAPAV1@PAVVideoPlayerEngine@@@Z @ 33 NONAME ; class VideoServices * VideoServices::instance(class VideoPlayerEngine *) - ?trUtf8@VideoServices@@SA?AVQString@@PBD0H@Z @ 34 NONAME ; class QString VideoServices::trUtf8(char const *, char const *, int) - ?tr@VideoPlayerEngine@@SA?AVQString@@PBD0H@Z @ 35 NONAME ; class QString VideoPlayerEngine::tr(char const *, char const *, int) - ??1VideoActivityState@@EAE@XZ @ 36 NONAME ; VideoActivityState::~VideoActivityState(void) - ?staticMetaObject@VideoPlayerEngine@@2UQMetaObject@@B @ 37 NONAME ; struct QMetaObject const VideoPlayerEngine::staticMetaObject - ?doDelayedLoad@VideoPlayerEngine@@AAEXXZ @ 38 NONAME ; void VideoPlayerEngine::doDelayedLoad(void) - ?initialize@VideoPlayerEngine@@QAEXXZ @ 39 NONAME ; void VideoPlayerEngine::initialize(void) - ?qt_metacall@VideoPlayerEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 40 NONAME ; int VideoPlayerEngine::qt_metacall(enum QMetaObject::Call, int, void * *) - ?sortRole@VideoServices@@QBEHXZ @ 41 NONAME ; int VideoServices::sortRole(void) const - ?qt_metacast@VideoPlayerEngine@@UAEPAXPBD@Z @ 42 NONAME ; void * VideoPlayerEngine::qt_metacast(char const *) - ?shouldExit@VideoPlayerEngine@@AAE_NXZ @ 43 NONAME ; bool VideoPlayerEngine::shouldExit(void) - ?staticMetaObject@VideoServices@@2UQMetaObject@@B @ 44 NONAME ; struct QMetaObject const VideoServices::staticMetaObject - ?isPlayServiceInvoked@VideoPlayerEngine@@AAE_NXZ @ 45 NONAME ; bool VideoPlayerEngine::isPlayServiceInvoked(void) - ?applicationReady@VideoPlayerEngine@@IAEXXZ @ 46 NONAME ; void VideoPlayerEngine::applicationReady(void) - ?metaObject@VideoPlayerEngine@@UBEPBUQMetaObject@@XZ @ 47 NONAME ; struct QMetaObject const * VideoPlayerEngine::metaObject(void) const - ?tr@VideoServices@@SA?AVQString@@PBD0H@Z @ 48 NONAME ; class QString VideoServices::tr(char const *, char const *, int) - ??_EVideoPlayerEngine@@UAE@I@Z @ 49 NONAME ; VideoPlayerEngine::~VideoPlayerEngine(unsigned int) - ?activateView@VideoPlayerEngine@@AAEXW4MpxHbVideoViewType@MpxHbVideoCommon@@@Z @ 50 NONAME ; void VideoPlayerEngine::activateView(enum MpxHbVideoCommon::MpxHbVideoViewType) - ?contextTitle@VideoServices@@QBE?AVQString@@XZ @ 51 NONAME ; class QString VideoServices::contextTitle(void) const - ?getActivityData@VideoActivityState@@QAE?BVQVariant@@ABVQString@@@Z @ 52 NONAME ; class QVariant const VideoActivityState::getActivityData(class QString const &) - ?tr@VideoPlayerEngine@@SA?AVQString@@PBD0@Z @ 53 NONAME ; class QString VideoPlayerEngine::tr(char const *, char const *) - ?disconnectView@VideoPlayerEngine@@AAEXXZ @ 54 NONAME ; void VideoPlayerEngine::disconnectView(void) - ?qt_metacall@VideoServices@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 55 NONAME ; int VideoServices::qt_metacall(enum QMetaObject::Call, int, void * *) - ?currentService@VideoServices@@QAE?AW4TVideoService@1@XZ @ 56 NONAME ; enum VideoServices::TVideoService VideoServices::currentService(void) - ?trUtf8@VideoPlayerEngine@@SA?AVQString@@PBD0H@Z @ 57 NONAME ; class QString VideoPlayerEngine::trUtf8(char const *, char const *, int) - ?playURI@VideoPlayerEngine@@QAEXVQString@@@Z @ 58 NONAME ; void VideoPlayerEngine::playURI(class QString) - ?handleQuit@VideoPlayerEngine@@AAEXXZ @ 59 NONAME ; void VideoPlayerEngine::handleQuit(void) - ?mInstance@VideoServices@@0PAV1@A @ 60 NONAME ; class VideoServices * VideoServices::mInstance - ?tr@VideoServices@@SA?AVQString@@PBD0@Z @ 61 NONAME ; class QString VideoServices::tr(char const *, char const *) - ?setEngine@VideoServices@@AAEXPAVVideoPlayerEngine@@@Z @ 62 NONAME ; void VideoServices::setEngine(class VideoPlayerEngine *) - ??1VideoPlayerEngine@@UAE@XZ @ 63 NONAME ; VideoPlayerEngine::~VideoPlayerEngine(void) - ?shouldActivateCollectionView@VideoPlayerEngine@@AAE_NXZ @ 64 NONAME ; bool VideoPlayerEngine::shouldActivateCollectionView(void) - ?serviceQuit@VideoPlayerEngine@@AAEXXZ @ 65 NONAME ; void VideoPlayerEngine::serviceQuit(void) + ?getBrowseCategory@VideoServices@@QBEHXZ @ 3 NONAME ; int VideoServices::getBrowseCategory(void) const + ?engine@VideoServices@@AAEPAVVideoPlayerEngine@@XZ @ 4 NONAME ; class VideoPlayerEngine * VideoServices::engine(void) + ?loadPluginAndCreateView@VideoPlayerEngine@@AAEXW4MpxHbVideoViewType@MpxHbVideoCommon@@@Z @ 5 NONAME ; void VideoPlayerEngine::loadPluginAndCreateView(enum MpxHbVideoCommon::MpxHbVideoViewType) + ?trUtf8@VideoServices@@SA?AVQString@@PBD0@Z @ 6 NONAME ; class QString VideoServices::trUtf8(char const *, char const *) + ?itemSelected@VideoServices@@QAEXABVQString@@@Z @ 7 NONAME ; void VideoServices::itemSelected(class QString const &) + ?createMissingViews@VideoPlayerEngine@@AAEXXZ @ 8 NONAME ; void VideoPlayerEngine::createMissingViews(void) + ??1VideoServices@@EAE@XZ @ 9 NONAME ; VideoServices::~VideoServices(void) + ??0VideoServices@@AAE@PAVVideoPlayerEngine@@@Z @ 10 NONAME ; VideoServices::VideoServices(class VideoPlayerEngine *) + ?titleReady@VideoServices@@IAEXABVQString@@@Z @ 11 NONAME ; void VideoServices::titleReady(class QString const &) + ??0VideoActivityState@@AAE@XZ @ 12 NONAME ; VideoActivityState::VideoActivityState(void) + ?playMedia@VideoPlayerEngine@@QAEXVQString@@@Z @ 13 NONAME ; void VideoPlayerEngine::playMedia(class QString) + ?metaObject@VideoServices@@UBEPBUQMetaObject@@XZ @ 14 NONAME ; struct QMetaObject const * VideoServices::metaObject(void) const + ?getStaticMetaObject@VideoPlayerEngine@@SAABUQMetaObject@@XZ @ 15 NONAME ; struct QMetaObject const & VideoPlayerEngine::getStaticMetaObject(void) + ??_EVideoActivityState@@UAE@I@Z @ 16 NONAME ; VideoActivityState::~VideoActivityState(unsigned int) + ?createPlaybackView@VideoPlayerEngine@@AAEXXZ @ 17 NONAME ; void VideoPlayerEngine::createPlaybackView(void) + ??_EVideoServices@@UAE@I@Z @ 18 NONAME ; VideoServices::~VideoServices(unsigned int) + ?serviceQuit@VideoPlayerEngine@@AAEXXZ @ 19 NONAME ; void VideoPlayerEngine::serviceQuit(void) + ?getStaticMetaObject@VideoServices@@SAABUQMetaObject@@XZ @ 20 NONAME ; struct QMetaObject const & VideoServices::getStaticMetaObject(void) + ?instance@VideoServices@@SAPAV1@PAVVideoPlayerEngine@@@Z @ 21 NONAME ; class VideoServices * VideoServices::instance(class VideoPlayerEngine *) + ?tr@VideoPlayerEngine@@SA?AVQString@@PBD0H@Z @ 22 NONAME ; class QString VideoPlayerEngine::tr(char const *, char const *, int) + ??1VideoActivityState@@EAE@XZ @ 23 NONAME ; VideoActivityState::~VideoActivityState(void) + ?staticMetaObject@VideoPlayerEngine@@2UQMetaObject@@B @ 24 NONAME ; struct QMetaObject const VideoPlayerEngine::staticMetaObject + ?doDelayedLoad@VideoPlayerEngine@@AAEXXZ @ 25 NONAME ; void VideoPlayerEngine::doDelayedLoad(void) + ?initialize@VideoPlayerEngine@@QAEXXZ @ 26 NONAME ; void VideoPlayerEngine::initialize(void) + ?sortRole@VideoServices@@QBEHXZ @ 27 NONAME ; int VideoServices::sortRole(void) const + ?shouldExit@VideoPlayerEngine@@AAE_NXZ @ 28 NONAME ; bool VideoPlayerEngine::shouldExit(void) + ?tr@VideoServices@@SA?AVQString@@PBD0H@Z @ 29 NONAME ; class QString VideoServices::tr(char const *, char const *, int) + ?getActivityData@VideoActivityState@@QAE?BVQVariant@@ABVQString@@@Z @ 30 NONAME ; class QVariant const VideoActivityState::getActivityData(class QString const &) + ?tr@VideoPlayerEngine@@SA?AVQString@@PBD0@Z @ 31 NONAME ; class QString VideoPlayerEngine::tr(char const *, char const *) + ?trUtf8@VideoPlayerEngine@@SA?AVQString@@PBD0H@Z @ 32 NONAME ; class QString VideoPlayerEngine::trUtf8(char const *, char const *, int) + ?tr@VideoServices@@SA?AVQString@@PBD0@Z @ 33 NONAME ; class QString VideoServices::tr(char const *, char const *) + ?setEngine@VideoServices@@AAEXPAVVideoPlayerEngine@@@Z @ 34 NONAME ; void VideoServices::setEngine(class VideoPlayerEngine *) + ??0VideoPlayerEngine@@QAE@_N@Z @ 35 NONAME ; VideoPlayerEngine::VideoPlayerEngine(bool) + ?qt_metacast@VideoServices@@UAEPAXPBD@Z @ 36 NONAME ; void * VideoServices::qt_metacast(char const *) + ?setEmbedded@VideoPlayerEngine@@QAEXXZ @ 37 NONAME ; void VideoPlayerEngine::setEmbedded(void) + ?activated@VideoServices@@IAEXH@Z @ 38 NONAME ; void VideoServices::activated(int) + ?setActivityData@VideoActivityState@@QAEXABVQVariant@@ABVQString@@@Z @ 39 NONAME ; void VideoActivityState::setActivityData(class QVariant const &, class QString const &) + ?handleCommand@VideoPlayerEngine@@QAEXH@Z @ 40 NONAME ; void VideoPlayerEngine::handleCommand(int) + ?browsingEnded@VideoServices@@QAEXXZ @ 41 NONAME ; void VideoServices::browsingEnded(void) + ?handlePlaybackFailure@VideoPlayerEngine@@AAEXH@Z @ 42 NONAME ; void VideoPlayerEngine::handlePlaybackFailure(int) + ?connectView@VideoPlayerEngine@@AAEXXZ @ 43 NONAME ; void VideoPlayerEngine::connectView(void) + ?decreaseReferenceCount@VideoServices@@QAEXXZ @ 44 NONAME ; void VideoServices::decreaseReferenceCount(void) + ?setCurrentService@VideoServices@@AAEXW4TVideoService@1@@Z @ 45 NONAME ; void VideoServices::setCurrentService(enum VideoServices::TVideoService) + ?trUtf8@VideoPlayerEngine@@SA?AVQString@@PBD0@Z @ 46 NONAME ; class QString VideoPlayerEngine::trUtf8(char const *, char const *) + ?checkForUpdates@VideoPlayerEngine@@AAEXXZ @ 47 NONAME ; void VideoPlayerEngine::checkForUpdates(void) + ?setCurrentView@VideoPlayerEngine@@AAEXXZ @ 48 NONAME ; void VideoPlayerEngine::setCurrentView(void) + ?trUtf8@VideoServices@@SA?AVQString@@PBD0H@Z @ 49 NONAME ; class QString VideoServices::trUtf8(char const *, char const *, int) + ?qt_metacall@VideoPlayerEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 50 NONAME ; int VideoPlayerEngine::qt_metacall(enum QMetaObject::Call, int, void * *) + ?qt_metacast@VideoPlayerEngine@@UAEPAXPBD@Z @ 51 NONAME ; void * VideoPlayerEngine::qt_metacast(char const *) + ?staticMetaObject@VideoServices@@2UQMetaObject@@B @ 52 NONAME ; struct QMetaObject const VideoServices::staticMetaObject + ?applicationReady@VideoPlayerEngine@@IAEXXZ @ 53 NONAME ; void VideoPlayerEngine::applicationReady(void) + ?isPlayServiceInvoked@VideoPlayerEngine@@AAE_NXZ @ 54 NONAME ; bool VideoPlayerEngine::isPlayServiceInvoked(void) + ?metaObject@VideoPlayerEngine@@UBEPBUQMetaObject@@XZ @ 55 NONAME ; struct QMetaObject const * VideoPlayerEngine::metaObject(void) const + ?activateView@VideoPlayerEngine@@AAEXW4MpxHbVideoViewType@MpxHbVideoCommon@@@Z @ 56 NONAME ; void VideoPlayerEngine::activateView(enum MpxHbVideoCommon::MpxHbVideoViewType) + ??_EVideoPlayerEngine@@UAE@I@Z @ 57 NONAME ; VideoPlayerEngine::~VideoPlayerEngine(unsigned int) + ?contextTitle@VideoServices@@QBE?AVQString@@XZ @ 58 NONAME ; class QString VideoServices::contextTitle(void) const + ?disconnectView@VideoPlayerEngine@@AAEXXZ @ 59 NONAME ; void VideoPlayerEngine::disconnectView(void) + ?currentService@VideoServices@@QAE?AW4TVideoService@1@XZ @ 60 NONAME ; enum VideoServices::TVideoService VideoServices::currentService(void) + ?qt_metacall@VideoServices@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 61 NONAME ; int VideoServices::qt_metacall(enum QMetaObject::Call, int, void * *) + ?handleQuit@VideoPlayerEngine@@AAEXXZ @ 62 NONAME ; void VideoPlayerEngine::handleQuit(void) + ?playURI@VideoPlayerEngine@@QAEXVQString@@@Z @ 63 NONAME ; void VideoPlayerEngine::playURI(class QString) + ?mInstance@VideoServices@@0PAV1@A @ 64 NONAME ; class VideoServices * VideoServices::mInstance + ??1VideoPlayerEngine@@UAE@XZ @ 65 NONAME ; VideoPlayerEngine::~VideoPlayerEngine(void) + ?shouldActivateCollectionView@VideoPlayerEngine@@AAE_NXZ @ 66 NONAME ; bool VideoPlayerEngine::shouldActivateCollectionView(void) diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/eabi/videoplayerengineu.def --- a/videoplayerapp/eabi/videoplayerengineu.def Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/eabi/videoplayerengineu.def Tue Oct 05 09:26:49 2010 +0300 @@ -25,47 +25,48 @@ _ZN17VideoPlayerEngine11connectViewEv @ 24 NONAME _ZN17VideoPlayerEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 25 NONAME _ZN17VideoPlayerEngine11qt_metacastEPKc @ 26 NONAME - _ZN17VideoPlayerEngine11setEmbeddedEv @ 27 NONAME - _ZN17VideoPlayerEngine12activateViewEN16MpxHbVideoCommon18MpxHbVideoViewTypeE @ 28 NONAME - _ZN17VideoPlayerEngine13doDelayedLoadEv @ 29 NONAME - _ZN17VideoPlayerEngine13handleCommandEi @ 30 NONAME - _ZN17VideoPlayerEngine14disconnectViewEv @ 31 NONAME - _ZN17VideoPlayerEngine14setCurrentViewEv @ 32 NONAME - _ZN17VideoPlayerEngine16applicationReadyEv @ 33 NONAME - _ZN17VideoPlayerEngine16staticMetaObjectE @ 34 NONAME DATA 16 - _ZN17VideoPlayerEngine18createMissingViewsEv @ 35 NONAME - _ZN17VideoPlayerEngine18createPlaybackViewEv @ 36 NONAME - _ZN17VideoPlayerEngine19getStaticMetaObjectEv @ 37 NONAME - _ZN17VideoPlayerEngine20isPlayServiceInvokedEv @ 38 NONAME - _ZN17VideoPlayerEngine21handlePlaybackFailureEi @ 39 NONAME - _ZN17VideoPlayerEngine23loadPluginAndCreateViewEN16MpxHbVideoCommon18MpxHbVideoViewTypeE @ 40 NONAME - _ZN17VideoPlayerEngine28shouldActivateCollectionViewEv @ 41 NONAME - _ZN17VideoPlayerEngine7playURIE7QString @ 42 NONAME - _ZN17VideoPlayerEngine9playMediaE5RFile @ 43 NONAME - _ZN17VideoPlayerEngine9playMediaE7QString @ 44 NONAME - _ZN17VideoPlayerEngineC1Eb @ 45 NONAME - _ZN17VideoPlayerEngineC2Eb @ 46 NONAME - _ZN17VideoPlayerEngineD0Ev @ 47 NONAME - _ZN17VideoPlayerEngineD1Ev @ 48 NONAME - _ZN17VideoPlayerEngineD2Ev @ 49 NONAME - _ZN18VideoActivityState15getActivityDataERK7QString @ 50 NONAME - _ZN18VideoActivityState15setActivityDataERK8QVariantRK7QString @ 51 NONAME - _ZN18VideoActivityState8instanceEv @ 52 NONAME - _ZN18VideoActivityStateC1Ev @ 53 NONAME - _ZN18VideoActivityStateC2Ev @ 54 NONAME - _ZN18VideoActivityStateD0Ev @ 55 NONAME - _ZN18VideoActivityStateD1Ev @ 56 NONAME - _ZN18VideoActivityStateD2Ev @ 57 NONAME - _ZNK13VideoServices10metaObjectEv @ 58 NONAME - _ZNK13VideoServices12contextTitleEv @ 59 NONAME - _ZNK13VideoServices17getBrowseCategoryEv @ 60 NONAME - _ZNK13VideoServices8sortRoleEv @ 61 NONAME - _ZNK17VideoPlayerEngine10metaObjectEv @ 62 NONAME - _ZTI13VideoServices @ 63 NONAME - _ZTI17VideoPlayerEngine @ 64 NONAME - _ZTI18VideoActivityState @ 65 NONAME - _ZTV13VideoServices @ 66 NONAME - _ZTV17VideoPlayerEngine @ 67 NONAME - _ZTV18VideoActivityState @ 68 NONAME - _ZN17VideoPlayerEngine11serviceQuitEv @ 69 NONAME + _ZN17VideoPlayerEngine11serviceQuitEv @ 27 NONAME + _ZN17VideoPlayerEngine11setEmbeddedEv @ 28 NONAME + _ZN17VideoPlayerEngine12activateViewEN16MpxHbVideoCommon18MpxHbVideoViewTypeE @ 29 NONAME + _ZN17VideoPlayerEngine13doDelayedLoadEv @ 30 NONAME + _ZN17VideoPlayerEngine13handleCommandEi @ 31 NONAME + _ZN17VideoPlayerEngine14disconnectViewEv @ 32 NONAME + _ZN17VideoPlayerEngine14setCurrentViewEv @ 33 NONAME + _ZN17VideoPlayerEngine15checkForUpdatesEv @ 34 NONAME + _ZN17VideoPlayerEngine16applicationReadyEv @ 35 NONAME + _ZN17VideoPlayerEngine16staticMetaObjectE @ 36 NONAME DATA 16 + _ZN17VideoPlayerEngine18createMissingViewsEv @ 37 NONAME + _ZN17VideoPlayerEngine18createPlaybackViewEv @ 38 NONAME + _ZN17VideoPlayerEngine19getStaticMetaObjectEv @ 39 NONAME + _ZN17VideoPlayerEngine20isPlayServiceInvokedEv @ 40 NONAME + _ZN17VideoPlayerEngine21handlePlaybackFailureEi @ 41 NONAME + _ZN17VideoPlayerEngine23loadPluginAndCreateViewEN16MpxHbVideoCommon18MpxHbVideoViewTypeE @ 42 NONAME + _ZN17VideoPlayerEngine28shouldActivateCollectionViewEv @ 43 NONAME + _ZN17VideoPlayerEngine7playURIE7QString @ 44 NONAME + _ZN17VideoPlayerEngine9playMediaE5RFile @ 45 NONAME + _ZN17VideoPlayerEngine9playMediaE7QString @ 46 NONAME + _ZN17VideoPlayerEngineC1Eb @ 47 NONAME + _ZN17VideoPlayerEngineC2Eb @ 48 NONAME + _ZN17VideoPlayerEngineD0Ev @ 49 NONAME + _ZN17VideoPlayerEngineD1Ev @ 50 NONAME + _ZN17VideoPlayerEngineD2Ev @ 51 NONAME + _ZN18VideoActivityState15getActivityDataERK7QString @ 52 NONAME + _ZN18VideoActivityState15setActivityDataERK8QVariantRK7QString @ 53 NONAME + _ZN18VideoActivityState8instanceEv @ 54 NONAME + _ZN18VideoActivityStateC1Ev @ 55 NONAME + _ZN18VideoActivityStateC2Ev @ 56 NONAME + _ZN18VideoActivityStateD0Ev @ 57 NONAME + _ZN18VideoActivityStateD1Ev @ 58 NONAME + _ZN18VideoActivityStateD2Ev @ 59 NONAME + _ZNK13VideoServices10metaObjectEv @ 60 NONAME + _ZNK13VideoServices12contextTitleEv @ 61 NONAME + _ZNK13VideoServices17getBrowseCategoryEv @ 62 NONAME + _ZNK13VideoServices8sortRoleEv @ 63 NONAME + _ZNK17VideoPlayerEngine10metaObjectEv @ 64 NONAME + _ZTI13VideoServices @ 65 NONAME + _ZTI17VideoPlayerEngine @ 66 NONAME + _ZTI18VideoActivityState @ 67 NONAME + _ZTV13VideoServices @ 68 NONAME + _ZTV17VideoPlayerEngine @ 69 NONAME + _ZTV18VideoActivityState @ 70 NONAME diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/inc/videoplayerengine.h --- a/videoplayerapp/inc/videoplayerengine.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/inc/videoplayerengine.h Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: ou1cpsw#22 % +// Version : %version: ou1cpsw#23 % #ifndef VIDEOPLAYERENGINE_H #define VIDEOPLAYERENGINE_H @@ -34,6 +34,7 @@ class VideoServices; class VideoPlaybackWrapper; class AfActivityStorage; +class VideoIadUpdateWrapper; /** * VideoPlayerEngine @@ -95,6 +96,8 @@ bool shouldActivateCollectionView(); void handlePlaybackFailure(int errorCode); + + void checkForUpdates(); private: bool mIsService; @@ -114,6 +117,7 @@ AfActivityStorage* mActivityStorage; + VideoIadUpdateWrapper* mIadUpdateWrapper; }; #endif // VIDEOPLAYERENGINE_H diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayer/resources/service_conf.xml --- a/videoplayerapp/videoplayer/resources/service_conf.xml Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayer/resources/service_conf.xml Tue Oct 05 09:26:49 2010 +0300 @@ -4,23 +4,11 @@ No path Video services - IVideoFetch - 1.0 - Interface to fetch video URI - Video Fetcher - - com.nokia.symbian.IVideoFetch 1.0 Interface to fetch video URI - IVideoBrowse - 1.0 - Interface to browse categorized video content - Video Browse - - com.nokia.symbian.IVideoBrowse 1.0 Interface to browse categorized video content diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayer/sis/videoplayer_stub.pkg --- a/videoplayerapp/videoplayer/sis/videoplayer_stub.pkg Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayer/sis/videoplayer_stub.pkg Tue Oct 05 09:26:49 2010 +0300 @@ -18,7 +18,7 @@ &EN ; SIS header: name, uid, version -# {"videoplayer"}, (0x200211FE), 10,10,2, TYPE=SA +# {"videoplayer"}, (0x200211FE), 10,10,3, TYPE=SA ; Localised Vendor name %{"Nokia"} diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayer/sis/videoplayer_udeb.pkg --- a/videoplayerapp/videoplayer/sis/videoplayer_udeb.pkg Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayer/sis/videoplayer_udeb.pkg Tue Oct 05 09:26:49 2010 +0300 @@ -18,7 +18,7 @@ &EN ; SIS header: name, uid, version -#{"videoplayer"},(0x200211FE),10,10,2,TYPE=SA, RU +#{"videoplayer"},(0x200211FE),10,10,3,TYPE=SA, RU ; Localised Vendor name %{"Nokia"} diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayer/sis/videoplayer_urel.pkg --- a/videoplayerapp/videoplayer/sis/videoplayer_urel.pkg Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayer/sis/videoplayer_urel.pkg Tue Oct 05 09:26:49 2010 +0300 @@ -18,7 +18,7 @@ &EN ; SIS header: name, uid, version -#{"videoplayer"},(0x200211FE),10,10,2,TYPE=SA, RU +#{"videoplayer"},(0x200211FE),10,10,3,TYPE=SA, RU ; Localised Vendor name %{"Nokia"} diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/inc/videoiadupdatewrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayerapp/videoplayerengine/inc/videoiadupdatewrapper.h Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,124 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials re 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: Declaration of VideoIadUpdateWrapper +* +*/ + +// Version : %version: + +#ifndef __VIDEOIADUPDATEWRAPPER_H__ +#define __VIDEOIADUPDATEWRAPPER_H__ + +#include +#include + +class CIAUpdate; +class CIAUpdateParameters; +class MMPXViewUtility; + +class VideoIadUpdateWrapper : public QObject, public MIAUpdateObserver +{ + /** + * Define to be able to use signals and slots. + */ + Q_OBJECT + + /** + * Disable copy-constructor and assignment operator. + */ + Q_DISABLE_COPY(VideoIadUpdateWrapper) + +public: + + /** + * Constructor + */ + VideoIadUpdateWrapper(); + + /** + * Destructor + */ + virtual ~VideoIadUpdateWrapper(); + + /** + * Starts the update process. + */ + void checkForUpdates(); + +private: // New methods + + /** + * From MIAUpdateObserver. + * This callback function is called when the update checking operation has completed. + * + * @param errorCode The error code of the observed update operation. + * KErrNone for successful completion, + * otherwise a system wide error code. + * @param availableUpdates Number of the updates that were found available. + * + */ + void CheckUpdatesComplete(TInt errorCode, TInt availableUpdates); + + /** + * From MIAUpdateObserver. + * This callback function is called when an update operation has completed. + * Even if multiple functions re provided to start different update operations, + * this callback function is always called after an update operation has completed. + * + * @param errorCode The error code of the completed update operation. + * KErrNone for successful completion, + * otherwise a system wide error code. + * @param result Details about the completed update operation. + * Ownership is transferred. + * + */ + void UpdateComplete(TInt errorCode, CIAUpdateResult* resultDetails); + + /** + * From MIAUpdateObserver. + * This callback function is called when an update query operation has completed. + * + * @param errorCode The error code of the observed query operation. + * KErrNone for successful completion, + * otherwise a system wide error code. + * @param updateNow ETrue informs that an update operation should be started. + * EFalse informs that there is no need to start an update + * operation. + * + */ + void UpdateQueryComplete(TInt errorCode, TBool updateNow); + +private: + + void doCheckForUpdatesL(); + + void cleanup(); + +private: + + /** + * IAD update API. + */ + CIAUpdate* mUpdate; + + /** + * IAD update parameters. + */ + CIAUpdateParameters* mParameters; + +}; + +#endif // __VIDEOIADUPDATEWRAPPER_H__ + +// End of file. diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/inc/videoservicebrowse.h --- a/videoplayerapp/videoplayerengine/inc/videoservicebrowse.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayerengine/inc/videoservicebrowse.h Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 4 % +// Version : %version: 5 % #ifndef VIDEOSERVICEBROWSE_H #define VIDEOSERVICEBROWSE_H @@ -32,7 +32,9 @@ Q_OBJECT public: + VideoServiceBrowse( VideoServices *parent, QLatin1String service ); + ~VideoServiceBrowse(); public: @@ -82,16 +84,6 @@ /** * Browse video * - * @param title, Title of the embedded Videos application - * @param category, Category which type of videos are browsed - * @param sort, Sort type. - * @return None - */ - void browseVideos(const QString &title, int category, int sortRole); - - /** - * Browse video - * * @param category, Category which type of videos are browsed * @param sort, Sort type. * @return None @@ -99,6 +91,7 @@ void browseVideos(int category, int sortRole); private: + /** request index of the service */ int mRequestIndex; diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/inc/videoserviceurifetch.h --- a/videoplayerapp/videoplayerengine/inc/videoserviceurifetch.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayerengine/inc/videoserviceurifetch.h Tue Oct 05 09:26:49 2010 +0300 @@ -71,27 +71,23 @@ QString contextTitle() const; public slots: // for QTHighway to notify provider about request + /* * Client can use this method launch video URI fetching * */ void fetch(); - /* - * Client can use this method launch video URI fetching - * - * @param title title to be set - * - */ - void fetch(const QString& title); +public slots: // for provider to notify client -public slots: // for provider to notify client void fetchFailed( int errorCode ); private: + void doComplete( QStringList filesList); private: + /* * The request index */ diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/src/mpxvideoplayerappuiengine.cpp --- a/videoplayerapp/videoplayerengine/src/mpxvideoplayerappuiengine.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayerengine/src/mpxvideoplayerappuiengine.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 12 % +// Version : %version: ou1cpsw#14 % @@ -750,26 +750,40 @@ // TInt CMpxVideoPlayerAppUiEngine::ReplayAfterPriorTermination(const TDesC& aFileName) { - MPX_DEBUG(_L("CMpxVideoPlayerAppUiEngine::ReplayAfterPriorTermination()")); + MPX_DEBUG(_L("CMpxVideoPlayerAppUiEngine::ReplayAfterPriorTermination()")); + + TInt error = KErrNone; - ReadActivityData(); - TMPXItemId mpxItemId(iLastPlayedItemId); - - TInt error = KErrNone; + RFile file; + RFs fs; + TInt fileError = fs.Connect(); + if ( fileError == KErrNone ) + { + fileError = file.Open( fs, aFileName, EFileRead | EFileShareReadersOrWriters ); - MPX_TRAP( error, - CMPXMedia* media = CMPXMedia::NewL(); - CleanupStack::PushL(media); - - media->SetTObjectValueL(KMPXMediaGeneralType, EMPXItem ); - media->SetTObjectValueL( KMPXMediaGeneralId, mpxItemId ); - media->SetTextValueL( KMPXMediaGeneralTitle, aFileName ); - media->SetTextValueL( KMPXMediaGeneralUri, aFileName ); - - OpenMediaL( *media ); - - CleanupStack::PopAndDestroy( media ); - ); + if ( fileError == KErrNone && file.SubSessionHandle() ) + { + file.Close(); + + ReadActivityData(); + TMPXItemId mpxItemId(iLastPlayedItemId); + + MPX_TRAP( error, + CMPXMedia* media = CMPXMedia::NewL(); + CleanupStack::PushL(media); + + media->SetTObjectValueL(KMPXMediaGeneralType, EMPXItem ); + media->SetTObjectValueL( KMPXMediaGeneralId, mpxItemId ); + media->SetTextValueL( KMPXMediaGeneralTitle, aFileName ); + media->SetTextValueL( KMPXMediaGeneralUri, aFileName ); + + OpenMediaL( *media ); + + CleanupStack::PopAndDestroy( media ); + ); + } + fs.Close(); + } return error; } diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/src/videoiadupdatewrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayerapp/videoplayerengine/src/videoiadupdatewrapper.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,180 @@ +/* +* 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: Implementation of VideoIadUpdateWrapper +* +*/ + +// Version : %version: + +#include +#include +#include +#include + +#include "videoiadupdatewrapper.h" +#include "mpxvideo_debug.h" + +const TUid KIadParamUid = { 0x200211FE }; // Uid from videoplayer.pkg +_LIT( KIadParamExec, "videoplayer.exe" ); // Executable of videoplayer + +// ------------------------------------------------------------------------------------------------- +// VideoIadUpdateWrapper::VideoIadUpdateWrapper() +// ------------------------------------------------------------------------------------------------- +// +VideoIadUpdateWrapper::VideoIadUpdateWrapper() : + mUpdate(0), + mParameters(0) +{ + MPX_DEBUG(_L("VideoIadUpdateWrapper::VideoIadUpdateWrapper()")); +} + +// ------------------------------------------------------------------------------------------------- +// VideoIadUpdateWrapper::~VideoIadUpdateWrapper() +// ------------------------------------------------------------------------------------------------- +// +VideoIadUpdateWrapper::~VideoIadUpdateWrapper() +{ + MPX_ENTER_EXIT(_L("VideoIadUpdateWrapper::~VideoIadUpdateWrapper()")); + cleanup(); +} + +// ------------------------------------------------------------------------------------------------- +// VideoIadUpdateWrapper::checkForUpdates() +// ------------------------------------------------------------------------------------------------- +// +void VideoIadUpdateWrapper::checkForUpdates() +{ + MPX_ENTER_EXIT(_L("VideoIadUpdateWrapper::checkForUpdates()")); + + TRAP_IGNORE( doCheckForUpdatesL() ); +} + +// ------------------------------------------------------------------------------------------------- +// VideoIadUpdateWrapper::doCheckForUpdatesL() +// ------------------------------------------------------------------------------------------------- +// +void VideoIadUpdateWrapper::doCheckForUpdatesL() +{ + MPX_ENTER_EXIT(_L("VideoIadUpdateWrapper::doCheckForUpdatesL()")); + + FeatureManager::InitializeLibL(); + + TBool isSupported = FeatureManager::FeatureSupported(KFeatureIdIAUpdate); + + FeatureManager::UnInitializeLib(); + + if(isSupported) + { + if(!mUpdate) + { + mUpdate = CIAUpdate::NewL(*this); + } + if(!mParameters) + { + mParameters = CIAUpdateParameters::NewL(); + } + + mParameters->SetUid(KIadParamUid); + // We want Videos to be started after update is finished + mParameters->SetCommandLineExecutableL(KIadParamExec); + mParameters->SetShowProgress(EFalse); + + // Check the updates + mUpdate->CheckUpdates(*mParameters); + } + else + { + MPX_DEBUG(_L("VideoIadUpdateWrapper::doCheckForUpdatesL() Feature not supported.")); + } +} + +// ------------------------------------------------------------------------------------------------- +// VideoIadUpdateWrapper::CheckUpdatesComplete() +// ------------------------------------------------------------------------------------------------- +// +void VideoIadUpdateWrapper::CheckUpdatesComplete(TInt errorCode, TInt availableUpdates) +{ + MPX_ENTER_EXIT( _L("VideoIadUpdateWrapper::CheckUpdatesComplete()"), + _L("aErrorCode: %d, availableUpdates: %d"), errorCode, availableUpdates ); + + if(errorCode == KErrNone) + { + if(availableUpdates > 0 && mUpdate) + { + // There were some updates available and video list is active. + mUpdate->UpdateQuery(); + } + else + { + // No updates available or playback ongoing. + cleanup(); + } + } +} + +// ------------------------------------------------------------------------------------------------- +// VideoIadUpdateWrapper::UpdateComplete() +// ------------------------------------------------------------------------------------------------- +// +void VideoIadUpdateWrapper::UpdateComplete(TInt errorCode, CIAUpdateResult* resultDetails) +{ + MPX_ENTER_EXIT(_L("VideoIadUpdateWrapper::UpdateComplete()"), _L("aErrorCode: %d, SuccessCount: %d"), + errorCode, resultDetails->SuccessCount()); + + delete resultDetails; // Ownership was transferred, so this must be deleted by the client + + // We do not need the client-server session anymore + cleanup(); +} + +// ------------------------------------------------------------------------------------------------- +// VideoIadUpdateWrapper::UpdateQueryComplete() +// ------------------------------------------------------------------------------------------------- +// +void VideoIadUpdateWrapper::UpdateQueryComplete(TInt errorCode, TBool updateNow) +{ + MPX_ENTER_EXIT(_L("VideoIadUpdateWrapper::UpdateQueryComplete()"), + _L("aErrorCode: %d, updateNow: %d"), errorCode, updateNow); + + if(errorCode == KErrNone) + { + if(updateNow && mUpdate) + { + // User choosed to update now, so let's launch the IAUpdate UI. + mUpdate->ShowUpdates(*mParameters); + } + else + { + // The answer was 'Later'. + cleanup(); + } + } +} + +// ------------------------------------------------------------------------------------------------- +// VideoIadUpdateWrapper::cleanup() +// ------------------------------------------------------------------------------------------------- +// +void VideoIadUpdateWrapper::cleanup() +{ + MPX_ENTER_EXIT(_L("VideoIadUpdateWrapper::cleanup()")); + + delete mUpdate; + mUpdate = 0; + + delete mParameters; + mParameters = 0; +} + +// End of file. diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/src/videoplayerengine.cpp --- a/videoplayerapp/videoplayerengine/src/videoplayerengine.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayerengine/src/videoplayerengine.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 47 % +// Version : %version: 49 % #include @@ -33,6 +33,7 @@ #include "videoactivitystate.h" #include "videoplaybackwrapper.h" #include "videoservices.h" +#include "videoiadupdatewrapper.h" #include "mpxvideo_debug.h" // ------------------------------------------------------------------------------------------------- @@ -51,6 +52,7 @@ , mPlaybackWrapper( 0 ) , mVideoServices( 0 ) , mActivityStorage( 0 ) + , mIadUpdateWrapper( 0 ) { MPX_DEBUG(_L("VideoPlayerEngine::VideoPlayerEngine()")); } @@ -94,6 +96,8 @@ delete mActivityStorage; + delete mIadUpdateWrapper; + // disconnect all signals disconnect(); } @@ -181,6 +185,7 @@ // if replay fails, then activate collection view instead if ( error != KErrNone ) { + handlePlaybackFailure(error); loadPluginAndCreateView( MpxHbVideoCommon::CollectionView ); activateView( MpxHbVideoCommon::CollectionView ); } @@ -255,6 +260,11 @@ createMissingViews(); + if (!mEmbedded && !isPlayServiceInvoked()) + { + checkForUpdates(); + } + mDelayedLoadDone = true; } @@ -716,44 +726,43 @@ { MPX_DEBUG(_L("VideoPlayerEngine::handlePlaybackFailure()")); - if ( mIsPlayService ) - { - HbNotificationDialog* dlg = new HbNotificationDialog(); + HbNotificationDialog* dlg = new HbNotificationDialog(); + + if ( mIsPlayService ) + { + connect( dlg, SIGNAL( aboutToClose() ), this, SLOT( serviceQuit() ) ); + } - connect( dlg, SIGNAL( aboutToClose() ), this, SLOT( serviceQuit() ) ); - - switch ( errorCode ) + switch ( errorCode ) + { + case KErrNotSupported: + case KErrUnknown: + case KErrCorrupt: + case KErrTooBig: { - case KErrNotSupported: - case KErrUnknown: - case KErrCorrupt: - case KErrTooBig: - { - dlg->setTitle( hbTrId( "txt_videos_info_invalid_clip_operation_canceled" ) ); - break; - } - case KErrArgument: - case KErrBadName: - { - dlg->setTitle( hbTrId( "txt_videos_info_unable_to_connect_invalid_url" ) ); - break; - } - case KErrNotFound: - { - dlg->setTitle( hbTrId( "txt_videos_info_file_not_found" ) ); - break; - } - default: - { - const QString textToShow = mPlaybackWrapper->resloveErrorString(errorCode); - dlg->setTitle(textToShow); - break; - } + dlg->setTitle( hbTrId( "txt_videos_info_invalid_clip_operation_canceled" ) ); + break; } + case KErrArgument: + case KErrBadName: + { + dlg->setTitle( hbTrId( "txt_videos_info_unable_to_connect_invalid_url" ) ); + break; + } + case KErrNotFound: + { + dlg->setTitle( hbTrId( "txt_videos_info_file_not_found" ) ); + break; + } + default: + { + const QString textToShow = mPlaybackWrapper->resloveErrorString(errorCode); + dlg->setTitle(textToShow); + break; + } + } - dlg->show(); - - } + dlg->show(); } @@ -769,5 +778,17 @@ XQServiceUtil::toBackground( false ); } +// ------------------------------------------------------------------------------------------------- +// checkForUpdates() +// ------------------------------------------------------------------------------------------------- +// +void VideoPlayerEngine::checkForUpdates() +{ + if(!mIadUpdateWrapper) + { + mIadUpdateWrapper = new VideoIadUpdateWrapper(); + } + mIadUpdateWrapper->checkForUpdates(); +} // End of file diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/src/videoservicebrowse.cpp --- a/videoplayerapp/videoplayerengine/src/videoservicebrowse.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayerengine/src/videoservicebrowse.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 4 % +// Version : %version: 5 % #include @@ -108,38 +108,6 @@ return mSortRole; } -// ------------------------------------------------------------------------------------------------- -// browseVideos() -// ------------------------------------------------------------------------------------------------- -// -void VideoServiceBrowse::browseVideos(const QString &title, - int category, - int sortRole) -{ - MPX_ENTER_EXIT(_L("VideoServiceBrowse::browseVideos()")); - - // set application title - QString appTitle(title); - if (appTitle.isEmpty()) - { - appTitle = hbTrId("txt_videos_title_videos"); - } - - mTitle = appTitle; - mCategory = category; - mSortRole = sortRole; - - // store async request id - mRequestIndex = setCurrentRequestAsync(); - - // start service - mServiceApp->setCurrentService(VideoServices::EBrowse); - emit mServiceApp->titleReady(appTitle); - emit mServiceApp->activated(MpxHbVideoCommon::ActivateCollectionView); - - MPX_DEBUG(_L("VideoServiceBrowse::browseVideos() : mRequestIndex = %d"), mRequestIndex ); -} - // ---------------------------------------------------------------------------- // isActive() // ---------------------------------------------------------------------------- diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/src/videoservices.cpp --- a/videoplayerapp/videoplayerengine/src/videoservices.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayerengine/src/videoservices.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: da1mmcf#10 % +// Version : %version: 11 % #include "videoplayerengine.h" #include "videoservices.h" @@ -128,13 +128,13 @@ mServiceView = new VideoServiceView( this, engine, QLatin1String("videoplayer.com.nokia.symbian.IFileView") ); - // New service, new interface - mServiceUriFetch = new VideoServiceUriFetch( this, - QLatin1String("videoplayer.com.nokia.symbian.IVideoFetch") ); + //URI fetch service + mServiceUriFetch = new VideoServiceUriFetch( this, + QLatin1String("videoplayer.com.nokia.symbian.IVideoFetch") ); - // New service, new interface - mServiceBrowse = new VideoServiceBrowse( this, - QLatin1String("videoplayer.com.nokia.symbian.IVideoBrowse") ); + //Browse service + mServiceBrowse = new VideoServiceBrowse( this, + QLatin1String("videoplayer.com.nokia.symbian.IVideoBrowse") ); // New service, old interface mServicePlayDeprecatedNewService = new VideoServicePlay( this, engine, @@ -151,27 +151,8 @@ // Old service, old interface mServiceViewDeprecatedOldService = new VideoServiceView( this, engine, QLatin1String("com.nokia.Videos.IFileView") ); - - // New service, old interface - mServiceUriFetchDeprecatedNewService = new VideoServiceUriFetch( this, - QLatin1String("videoplayer.IVideoFetch") ); - - // Old service, old interface - mServiceUriFetchDeprecatedOldService = new VideoServiceUriFetch( this, - QLatin1String("com.nokia.Videos.IVideoFetch") ); - - // New service, old interface - mServiceBrowseDeprecatedNewService = new VideoServiceBrowse( this, - QLatin1String("videoplayer.IVideoBrowse")) ; - - // Old service, old interface - mServiceBrowseDeprecatedOldService = new VideoServiceBrowse( this, - QLatin1String("com.nokia.Videos.IVideoBrowse") ); - // new service, new interface - mServiceUriView = new VideoServiceUri( this, engine, QLatin1String("videoplayer.com.nokia.symbian.IUriView")); - - + mServiceUriView = new VideoServiceUri( this, engine, QLatin1String("videoplayer.com.nokia.symbian.IUriView")); } // ------------------------------------------------------------------------------------------------- @@ -190,10 +171,6 @@ delete mServicePlayDeprecatedOldService; delete mServiceViewDeprecatedNewService; delete mServiceViewDeprecatedOldService; - delete mServiceBrowseDeprecatedNewService; - delete mServiceUriFetchDeprecatedNewService; - delete mServiceBrowseDeprecatedOldService; - delete mServiceUriFetchDeprecatedOldService; delete mServiceUriView; } @@ -222,20 +199,6 @@ { category = mServiceBrowse->getBrowseCategory(); } - else if ( mServiceBrowseDeprecatedNewService && - mServiceBrowseDeprecatedOldService && - ! ( XQServiceUtil::interfaceName().contains("symbian") ) ) - { - if ( mServiceBrowseDeprecatedNewService->isActive() ) - { - category = mServiceBrowseDeprecatedNewService->getBrowseCategory(); - } - else - { - category = mServiceBrowseDeprecatedOldService->getBrowseCategory(); - } - } - return category; } @@ -266,20 +229,6 @@ { title = mServiceUriFetch->contextTitle(); } - else if ( mServiceUriFetchDeprecatedNewService && - mServiceUriFetchDeprecatedOldService && - ! ( XQServiceUtil::interfaceName().contains("symbian") ) ) - { - - if ( mServiceUriFetchDeprecatedNewService->isActive() ) - { - title = mServiceUriFetchDeprecatedNewService->contextTitle(); - } - else - { - title = mServiceUriFetchDeprecatedOldService->contextTitle(); - } - } } else if ( mCurrentService == VideoServices::EBrowse ) { @@ -287,21 +236,8 @@ { title = mServiceBrowse->contextTitle(); } - else if ( mServiceBrowseDeprecatedNewService && - mServiceBrowseDeprecatedOldService && - ! ( XQServiceUtil::interfaceName().contains("symbian") ) ) - { - if ( mServiceBrowseDeprecatedNewService->isActive() ) - { - title = mServiceBrowseDeprecatedNewService->contextTitle(); - } - else - { - title = mServiceBrowseDeprecatedOldService->contextTitle(); - } - } } - + return title; } @@ -321,21 +257,8 @@ { sortRole = mServiceBrowse->sortRole(); } - else if ( mServiceBrowseDeprecatedNewService && - mServiceBrowseDeprecatedOldService && - ! ( XQServiceUtil::interfaceName().contains("symbian") ) ) - { - if ( mServiceBrowseDeprecatedNewService->isActive() ) - { - sortRole = mServiceBrowseDeprecatedNewService->sortRole(); - } - else - { - sortRole = mServiceBrowseDeprecatedOldService->sortRole(); - } - } } - + return sortRole; } @@ -355,18 +278,6 @@ { mServiceUriFetch->complete( list ); } - else if ( mServiceUriFetchDeprecatedNewService && mServiceUriFetchDeprecatedOldService ) - { - if ( mServiceUriFetchDeprecatedNewService->isActive() ) - { - mServiceUriFetchDeprecatedNewService->complete( list ); - } - else - { - mServiceUriFetchDeprecatedOldService->complete( list ); - } - } - mFetchSelected = true; } @@ -382,19 +293,6 @@ { mServiceBrowse->complete(); } - else if ( mServiceBrowseDeprecatedNewService && - mServiceBrowseDeprecatedOldService && - ! ( XQServiceUtil::interfaceName().contains("symbian") ) ) - { - if ( mServiceBrowseDeprecatedNewService->isActive() ) - { - mServiceBrowseDeprecatedNewService->complete(); - } - else - { - mServiceBrowseDeprecatedOldService->complete(); - } - } } // End of file diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/src/videoserviceurifetch.cpp --- a/videoplayerapp/videoplayerengine/src/videoserviceurifetch.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayerengine/src/videoserviceurifetch.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 5 % +// Version : %version: 6 % #include @@ -153,29 +153,3 @@ MPX_DEBUG(_L("VideoServiceUriFetch::fetch() : mRequestIndex(%d)"), mRequestIndex ); } -// ---------------------------------------------------------------------------- -// fetch() -// ---------------------------------------------------------------------------- -// -void VideoServiceUriFetch::fetch(const QString& title) -{ - MPX_ENTER_EXIT(_L("VideoServiceUriFetch::fetch()"), - _L("title = %s"), title.data() ); - - emit mServiceApp->activated(MpxHbVideoCommon::ActivateCollectionView); - - mTitle = title; - - if (mTitle.isEmpty()) - { - mTitle = hbTrId("txt_videos_title_videos"); - } - - emit mServiceApp->titleReady(mTitle); - - mServiceApp->setCurrentService(VideoServices::EUriFetcher); - - mRequestIndex = setCurrentRequestAsync(); - MPX_DEBUG(_L("VideoServiceUriFetch::fetch() : mRequestIndex(%d)"), mRequestIndex ); -} - diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/tsrc/testvideoappuiengine/testvideoappuiengine.pro --- a/videoplayerapp/videoplayerengine/tsrc/testvideoappuiengine/testvideoappuiengine.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayerengine/tsrc/testvideoappuiengine/testvideoappuiengine.pro Tue Oct 05 09:26:49 2010 +0300 @@ -14,7 +14,7 @@ # Description: Project file for building Videoplayer components # # -# Version : %version: 4 % +# Version : %version: 5 % TEMPLATE = app @@ -28,7 +28,8 @@ INCLUDEPATH += stub/inc \ ../../../../inc \ - $$MW_LAYER_SYSTEMINCLUDE + $$MW_LAYER_SYSTEMINCLUDE \ + $$APP_LAYER_SYSTEMINCLUDE DEPENDPATH += stub/inc stub/src inc src diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/tsrc/testvideoiadupdatewrapper/inc/testvideoiadupdatewrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayerapp/videoplayerengine/tsrc/testvideoiadupdatewrapper/inc/testvideoiadupdatewrapper.h Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,77 @@ +/* +* 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: Videoplayerengine test class declaration. +* +*/ + +// Version : %version: 1 % + +#ifndef __TESTVIDEOIADUPDATEWRAPPER_H__ +#define __TESTVIDEOIADUPDATEWRAPPER_H__ + + +// INCLUDES +#include + +class VideoIadUpdateWrapper; + +class TestVideoIadUpdateWrapper : public QObject +{ + + Q_OBJECT + + public: + + /** + * Contructor. + * + */ + TestVideoIadUpdateWrapper(); + + /** + * Destructor. + * + */ + virtual ~TestVideoIadUpdateWrapper(); + + private slots: + + void init(); + void cleanup(); + void TestCreateDelete(); + void TestCheckForUpdates(); + void TestCheckUpdatesComplete(); + void TestUpdateComplete(); + void TestUpdateQueryComplete(); + void TestDoCheckForUpdatesL(); + void TestCleanup(); + + // called after last test case executed + void cleanupTestCase(); + + signals: + + void aboutToQuit(); + + private: + + VideoIadUpdateWrapper* mTestObject; +}; + +#endif // __TESTVIDEOIADUPDATEWRAPPER_H__ + +// End of file + + + diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/tsrc/testvideoiadupdatewrapper/src/testvideoiadupdatewrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayerapp/videoplayerengine/tsrc/testvideoiadupdatewrapper/src/testvideoiadupdatewrapper.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,289 @@ +/* +* 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: Videoplayerengine test class implementation. +* +*/ + +// Version : %version: 1 % + +// INCLUDES + +#include +#include +#include + +#include "mpxhbvideocommondefs.h" +#include "testvideoiadupdatewrapper.h" +#include "mpxvideo_debug.h" + +#include "iaupdate.h" +#include "iaupdateparameters.h" +#include "iaupdateresult.h" + +#define private public +#include "videoiadupdatewrapper.h" +#undef private + +extern int IsFeatureSupported; + +// --------------------------------------------------------------------------- +// main +// --------------------------------------------------------------------------- +// +int main(int argc, char *argv[]) +{ + HbApplication app(argc, argv); + + TestVideoIadUpdateWrapper tc; + + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\TestVideoIadUpdateWrapper.txt"; + + return QTest::qExec(&tc, 3, pass); +} + + +TestVideoIadUpdateWrapper::TestVideoIadUpdateWrapper() + : mTestObject( 0 ) +{ + MPX_DEBUG(_L("TestVideoIadUpdateWrapper::TestVideoIadUpdateWrapper()")); +} + +TestVideoIadUpdateWrapper::~TestVideoIadUpdateWrapper() +{ + MPX_ENTER_EXIT(_L("TestVideoIadUpdateWrapper::~TestVideoIadUpdateWrapper()")); + + delete mTestObject; + mTestObject = 0; +} + + +void TestVideoIadUpdateWrapper::init() +{ + MPX_DEBUG(_L("TestVideoIadUpdateWrapper::init()")); + + mTestObject = new VideoIadUpdateWrapper(); +} + +void TestVideoIadUpdateWrapper::cleanup() +{ + MPX_ENTER_EXIT(_L("TestVideoIadUpdateWrapper::cleanup()")); + + delete mTestObject; + mTestObject = 0; +} + +void TestVideoIadUpdateWrapper::TestCreateDelete() +{ + MPX_DEBUG(_L("TestVideoIadUpdateWrapper::testCreateDelete()")); + + init(); + + QVERIFY( mTestObject ); + QVERIFY( mTestObject->mUpdate == 0); + QVERIFY( mTestObject->mParameters == 0); + + cleanup(); + + QVERIFY( mTestObject == 0 ); +} + +void TestVideoIadUpdateWrapper::cleanupTestCase() +{ + MPX_DEBUG(_L("TestVideoIadUpdateWrapper::cleanupTestCase()")); + // all common cleanup here +} + +void TestVideoIadUpdateWrapper::TestCheckForUpdates() +{ + MPX_DEBUG(_L("TestVideoIadUpdateWrapper::testCheckForUpdates()")); + + init(); + + QVERIFY( mTestObject ); + + IsFeatureSupported = 1; + + mTestObject->checkForUpdates(); + + QVERIFY( mTestObject ); + QVERIFY( mTestObject->mUpdate != 0); + QVERIFY( mTestObject->mParameters != 0); + + cleanup(); +} + +void TestVideoIadUpdateWrapper::TestCheckUpdatesComplete() +{ + MPX_DEBUG(_L("TestVideoIadUpdateWrapper::TestCheckUpdatesComplete()")); + + init(); + + QVERIFY( mTestObject ); + + // error case: do nothing + TInt errorCode = 1; + TInt availableUpdates = 0; + + mTestObject->CheckUpdatesComplete(errorCode, availableUpdates); + + QVERIFY( mTestObject ); + QVERIFY( mTestObject->mUpdate == 0); + QVERIFY( mTestObject->mParameters == 0); + + // update available + errorCode=0; + availableUpdates=1; + + mTestObject->mUpdate = CIAUpdate::NewL( *mTestObject ); + mTestObject->mParameters = CIAUpdateParameters::NewL(); + mTestObject->CheckUpdatesComplete(errorCode, availableUpdates); + + QVERIFY( mTestObject ); + QVERIFY( mTestObject->mUpdate != 0); + QVERIFY( mTestObject->mParameters != 0); + + // no update, everything should be deleted + errorCode = 0; + availableUpdates = 0; + + mTestObject->CheckUpdatesComplete(errorCode, availableUpdates); + + QVERIFY( mTestObject ); + QVERIFY( mTestObject->mUpdate == 0); + QVERIFY( mTestObject->mParameters == 0); + + + + cleanup(); +} + +void TestVideoIadUpdateWrapper::TestUpdateComplete() +{ + MPX_DEBUG(_L("TestVideoIadUpdateWrapper::TestUpdateComplete()")); + + init(); + + QVERIFY( mTestObject ); + TInt errorCode(0); + CIAUpdateResult* resultDetails = new CIAUpdateResult; + mTestObject->UpdateComplete(errorCode, resultDetails); + + QVERIFY( mTestObject ); + QVERIFY( mTestObject->mUpdate == 0); + QVERIFY( mTestObject->mParameters == 0); + + cleanup(); +} + +void TestVideoIadUpdateWrapper::TestUpdateQueryComplete() +{ + MPX_DEBUG(_L("TestVideoIadUpdateWrapper::TestUpdateQueryComplete()")); + + init(); + + QVERIFY( mTestObject ); + + // no error, no update: cleans up the members. + + TInt errorCode(0); + TBool updateNow(0); + + mTestObject->mUpdate = CIAUpdate::NewL( *mTestObject ); + mTestObject->mParameters = CIAUpdateParameters::NewL(); + + mTestObject->UpdateQueryComplete(errorCode, updateNow); + + QVERIFY( mTestObject ); + QVERIFY( mTestObject->mUpdate == 0); + QVERIFY( mTestObject->mParameters == 0); + + // error case: does nothing + + errorCode = 1; + updateNow = 0; + + mTestObject->UpdateQueryComplete(errorCode, updateNow); + + QVERIFY( mTestObject ); + QVERIFY( mTestObject->mUpdate == 0); + QVERIFY( mTestObject->mParameters == 0); + + // the update case: should preserve members, strats the update. + + errorCode = 0; + updateNow = 1; + + mTestObject->mUpdate = CIAUpdate::NewL( *mTestObject ); + mTestObject->mParameters = CIAUpdateParameters::NewL(); + + mTestObject->UpdateQueryComplete(errorCode, updateNow); + + QVERIFY( mTestObject ); + QVERIFY( mTestObject->mUpdate != 0); + QVERIFY( mTestObject->mParameters != 0); + + cleanup(); +} + +void TestVideoIadUpdateWrapper::TestDoCheckForUpdatesL() +{ + MPX_DEBUG(_L("TestVideoIadUpdateWrapper::TestdoCheckForUpdatesL()")); + + init(); + + QVERIFY( mTestObject ); + + // feature not supported + + IsFeatureSupported = 0; + mTestObject->doCheckForUpdatesL(); + + QVERIFY( mTestObject ); + QVERIFY( mTestObject->mUpdate == 0); + QVERIFY( mTestObject->mParameters == 0); + + // feature supported, initializes the data + + IsFeatureSupported = 1; + mTestObject->doCheckForUpdatesL(); + + QVERIFY( mTestObject ); + QVERIFY( mTestObject->mUpdate != 0); + QVERIFY( mTestObject->mParameters != 0); + + cleanup(); +} + +void TestVideoIadUpdateWrapper::TestCleanup() +{ + MPX_DEBUG(_L("TestVideoIadUpdateWrapper::Testcleanup()")); + + init(); + + QVERIFY( mTestObject ); + + mTestObject->cleanup(); + + QVERIFY( mTestObject ); + QVERIFY( mTestObject->mUpdate == 0); + QVERIFY( mTestObject->mParameters == 0); + + cleanup(); +} + +// End of file + diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/tsrc/testvideoiadupdatewrapper/stub/inc/featmgr.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayerapp/videoplayerengine/tsrc/testvideoiadupdatewrapper/stub/inc/featmgr.h Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,94 @@ +/* +* Copyright (c) 2007-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: +* +*/ + + + + +#ifndef FEATMGR_H +#define FEATMGR_H + +// INCLUDES +#include +#include + +#define private public +#include "videoiadupdatewrapper.h" +#undef private + + +// FORWARD DECLARATIONS +class CFeatMgrTlsData; + +// DEFINES + +// CLASS DECLARATION + +// CONSTANTS +int IsFeatureSupported; + +/** + Feature manager API. + Feature manager API offers the following functionality: + - Inquire whether a certain static feature is supported. + For usage, see example code at the end of the header file. + +@publishedPartner +@deprecated Use the class CFeatureDiscovery for basic feature queries, or the + class RFeatureControl for advanced feature queries and control. +*/ +class FeatureManager + { + public: + + /** + This must be called in the scope of the thread before calling + any other methods. It sets up TLS. Uninitialization is done + by calling the UnInitializeLib() function. + + @leave KErrNoMemory Memory allocation failure. + + @deprecated Use the class CFeatureDiscovery for basic feature queries, or the + class RFeatureControl for advanced feature queries and control. + */ + static void InitializeLibL(){}; + + /** + This must be called in the scope of the thread after calling + InitializeLibL(). It frees the allocated TLS. Do not call UnInitializeLib() + if InitalizeLibL() leaves. + + @deprecated Use the class CFeatureDiscovery for basic feature queries, or the + class RFeatureControl for advanced feature queries and control. + */ + static void UnInitializeLib(){}; + + /** + Fetches information whether a certain feature is supported. + + @param aFeature feature id. + @return feature support status. + + @deprecated Use the class CFeatureDiscovery for basic feature queries, or the + class RFeatureControl for advanced feature queries and control. + */ + static TBool FeatureSupported(TInt){ return IsFeatureSupported; }; + + }; + +#endif // FEATMGR_H + +// End of File diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/tsrc/testvideoiadupdatewrapper/stub/inc/iaupdate.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayerapp/videoplayerengine/tsrc/testvideoiadupdatewrapper/stub/inc/iaupdate.h Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,179 @@ +/* +* Copyright (c) 2007-2008 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: This file contains the header file of the CIAUpdate class +* +*/ + + +#ifndef IA_UPDATE_H +#define IA_UPDATE_H + +#include +#include + +#define private public +#include "videoiadupdatewrapper.h" +#undef private + +class CIAUpdateManager; +class CIAUpdateParameters; +class MIAUpdateObserver; + +/** + * CIAUpdate object provides methods to handle update actions. + * Updating will be targeted to the update items that qualify the requirements + * given in CIAUpdateParameters objects. In asynchronous actions, the callback + * functions of MIAUpdateObserver object will be informed about the progress + * of update actions. + * + * @see MIAUpdateObserver + * @see CIAUpdateParameters + * + * @since S60 v3.2 + */ + +class CIAUpdate : public CBase + { +public: + + /** + * @param aObserver Callback functions of the observer are called + * when operations that are started from this interface progress. + * @return CIAUpdate* Pointer to the created CIAUpdate object that + * can be used for update actions. + * + * @since S60 v3.2 + */ + static CIAUpdate* NewL( MIAUpdateObserver& ){return new CIAUpdate;}; + + /** + * Destructor + * + * @since S60 v3.2 + */ + virtual ~CIAUpdate(){}; + + + /** + * Checks if any updates are available. + * This function is asynchronic. + * + * @note Update check is directed to items that match: + * - CIAUpdateParameters::Uid OR + * - CIAUpdateParameters::SearchCriteria + * @note Uid describes either package UID or SID. + * UID is assumed to be SID if update items are not found + * with the given UID. Then, corresponding package UID is + * searched from the installed application registry. + * If corresponding package UID is found, then update items + * are rechecked. + * @note If Uid is given, then search criteria is omitted. + * @note If none of the parameters that are mentioned above is not set, + * then all the updates are checked. + * + * @note CIAUpdateParameters::ShowProgress defines if a ready-made + * wait dialog should be shown in case the operation takes longer time. + * This happens e.g. if the updates are refreshed from the server. + * + * @param aUpdateParameters Defines the update targets. + * + * @since S60 v3.2 + */ + void CheckUpdates( const CIAUpdateParameters& ){}; + + + /** + * Starts IAD UI. + * + * UI will show the update items that qualify the requirements given + * in aUpdateParameters. + * + * Even if the updating is handled in the IAD UI, the observer is informed + * about the progression of operations. So, the calling application + * may continue correctly after updates are finished. + * + * @note IAD UI will show update items that match: + * - CIAUpdateParameters::Uid + * - CIAUpdateParameters::SearchCriteria + * @note Uid describes either package UID or SID. + * UID is assumed to be SID if update items are not found + * with the given UID. Then, corresponding package UID is + * searched from the installed application registry. + * If corresponding package UID is found, then update items + * are rechecked. + * @note If Uid is given, then search criteria is omitted. + * @note If none of the parameters that are mentioned above is not set, + * then all the updates are shown in the UI. + * + * @note When update finishes, the following values are used + * for command line execution: + * - CIAUpdateParameters::CommandLineExecutable + * - CIAUpdateParameters::CommandLineArguments + * @note If CIAUpdateParameters::CommandLineExecutable is not set, + * then no command line execution is done. + * + * @param aUpdateParameters Defines the update targets. + * + * @since S60 v3.2 + */ + void ShowUpdates( const CIAUpdateParameters& ){}; + + + /** + * All the items that qualify the requirements given in + * aUpdateParameters will be updated without opening the IAD UI. + * This function is asynchronic. + * + * @note Update is directed to items that match: + * - CIAUpdateParameters::Uid + * - CIAUpdateParameters::SearchCriteria + * @note Uid describes either package UID or SID. + * UID is assumed to be SID if update items are not found + * with the given UID. Then, corresponding package UID is + * searched from the installed application registry. + * If corresponding package UID is found, then update items + * are rechecked. + * @note If Uid is given, then search criteria is omitted. + * @note If none of the parameters that are mentioned above is not set, + * then everything is updated. + * + * @note When update finishes, the following values are used + * for command line execution: + * - CIAUpdateParameters::CommandLineExecutable + * - CIAUpdateParameters::CommandLineArguments + * @note If CIAUpdateParameters::CommandLineExecutable is not set, + * then no command line execution is done. + * + * @param aUpdateParameters Defines the update targets. + * + * @since S60 v3.2 + */ + void Update( const CIAUpdateParameters& ){}; + + + /** + * This function is provided as a convenience method + * that has localized texts for the query dialog. + * This function does not start any update. + * This function is asynchronic. + * + * @note The observer is informed when the update query operation has completed. + * + * @since S60 v3.2 + */ + void UpdateQuery(){}; + + }; + +#endif // IA_UPDATE_H diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/tsrc/testvideoiadupdatewrapper/stub/inc/iaupdateparameters.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayerapp/videoplayerengine/tsrc/testvideoiadupdatewrapper/stub/inc/iaupdateparameters.h Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,146 @@ +/* +* Copyright (c) 2007-2008 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: This file contains the header file of the CIAUpdateParameters class +* +*/ + + +#ifndef IA_UPDATE_PARAMETERS_H +#define IA_UPDATE_PARAMETERS_H + +#include +#include + +#define private public +#include "videoiadupdatewrapper.h" +#undef private + +/** + * CIAUpdateParameters defines the update targets. + * The update action will be directed only to the objects + * that qualify at least one of the parameter requirements. + * + * @see CIAUpdate The operation functions provide more detailed + * description about what combinations of the parameter values + * are supported. + * + * @since S60 v3.2 + */ +class CIAUpdateParameters : public CBase + { +public: + + enum TUpdateImportance + { + ETest = 0x1, + ENormal = 0x2, + ERecommended = 0x4, + ECritical = 0x8, + EMandatory = 0x10, + EHidden = 0x20 + }; + + enum TUpdateType + { + ESis = 0x1, + EFota = 0x2, + ENsu = 0x4 + }; + + /** + * @return CIAUpdateParameters* CIAUpdateParameters object + * @exception Leaves with system wide error code. + * + * @since S60 v3.2 + */ + static CIAUpdateParameters* NewL(){ return new CIAUpdateParameters;}; + + /** + * Destructor + * + * @since S60 v3.2 + */ + virtual ~CIAUpdateParameters(){}; + + /** + * @param aUid Uid describes either package UID or SID. + * + * @since S60 v3.2 + */ + void SetUid( const TUid& ){}; + + /** + * @param aSearchCriteria When correct updates are searched, + * this text is used as a criteria when checking the information + * that is attached to the updates. + * + * @since S60 v3.2 + */ + void SetSearchCriteriaL( const TDesC& ){}; + + /** + * @return aCommandLineExecutable When the update operation finishes, + * the content of this desciptor will be used as a command line executable. + * + * @since S60 v3.2 + */ + void SetCommandLineExecutableL( const TDesC& ){}; + + /** + * @param aCommandLineArguments When the update operation finishes, + * the content of this desciptor will be used as command line arguments + * with the command line executable. + * + * @since S60 v3.2 + */ + void SetCommandLineArgumentsL( const TDesC8& ){}; + + /** + * If this parameter is set to ETrue, + * a ready-made wait dialog with localized texts is + * shown if CIAUpdate::CheckUpdates operation takes longer + * time to complete. This happens e.g. if the updates are + * refreshed from the server. + * + * @param aShowProgress If ETrue, a wait dialog is shown when + * CIAUpdate::CheckUpdates operation is started. If EFalse, + * the dialog is not shown. + * + * @see CIAUpdate::CheckUpdates + * + * @since S60 v3.2 + */ + void SetShowProgress( TBool ){}; + + + // aImportance acts as a importance filter to the found IAD packages. It has no meaning with found FOTA or NSU packages. + // If aImportance is not set, all importance types are valid. + // See TUpdateImportance for possible values. + void SetImportance( TUint ){}; + + + // aType acts as a type filter to the found update packages. + // If aType is not set, all package types are valid. + // See TUpdateType for possible values. Combination of + void SetType( TUint ){}; + + + // If refresh is set on, metadata cache is refreshed from the server when calling + // CIAUpdate::CheckUpdates operation. This option should not be set by normal applications. + // It is meant for IAUpdate background checker, and caller SID is used to control this. + void SetRefresh( TBool ){}; + +}; + +#endif // IA_UPDATE_PARAMETERS_H diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/tsrc/testvideoiadupdatewrapper/stub/inc/iaupdateresult.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayerapp/videoplayerengine/tsrc/testvideoiadupdatewrapper/stub/inc/iaupdateresult.h Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,47 @@ +/* +* Copyright (c) 2007-2008 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: This file contains the header file of the CIAUpdateResult class +* +*/ + + + +#ifndef IA_UPDATE_RESULT_H +#define IA_UPDATE_RESULT_H + +#include + +#define private public +#include "videoiadupdatewrapper.h" +#undef private + +/** + * CIAUpdateResult gives results of the completed update operation. + * + * @see CIAUpdate + * @see MIAUpdateObserver + * + * @since S60 v3.2 + */ +class CIAUpdateResult + { +public: + + CIAUpdateResult(){}; + + TInt SuccessCount() const{return 1;}; + }; + +#endif // IA_UPDATE_RESULT_H + diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/tsrc/testvideoiadupdatewrapper/testvideoiadupdatewrapper.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayerapp/videoplayerengine/tsrc/testvideoiadupdatewrapper/testvideoiadupdatewrapper.pro Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,49 @@ +# +# 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: Project file for iad wrapper test +# + + +TEMPLATE = app +TARGET = +DEFINES += BUILD_VIDEOPLAYERAPP_DLL + +DEPENDPATH += . \ + inc \ + src + +INCLUDEPATH = . \ + stub/inc \ + ../../../inc \ + ../../../../inc \ + $$MW_LAYER_SYSTEMINCLUDE + +CONFIG += qtestlib hb qt + +LIBS += + +HEADERS += stub/inc/iaupdate.h \ + stub/inc/iaupdateparameters.h \ + stub/inc/iaupdateresult.h \ + stub/inc/featmgr.h \ + inc/testvideoiadupdatewrapper.h \ + ../../inc/videoiadupdatewrapper.h \ + +SOURCES += \ +# stub/src/iaupdate.cpp \ +# stub/src/iaupdateparameters.cpp \ +# stub/src/iaupdateresult.cpp \ +# stub/src/featmgr.cpp \ + src/testvideoiadupdatewrapper.cpp \ + ../../src/videoiadupdatewrapper.cpp \ diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/stub/inc/videoiadupdatewrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/stub/inc/videoiadupdatewrapper.h Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,59 @@ +/* +* 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: Test stub class +* +*/ + +// Version : %version: + +#ifndef __VIDEOIADUPDATEWRAPPER_H__ +#define __VIDEOIADUPDATEWRAPPER_H__ + +#include + + +class VideoIadUpdateWrapper : public QObject +{ + /** + * Define to be able to use signals and slots. + */ + Q_OBJECT + + /** + * Disable copy-constructor and assignment operator. + */ + Q_DISABLE_COPY(VideoIadUpdateWrapper) + +public: + + /** + * Constructor + */ + VideoIadUpdateWrapper(); + + /** + * Destructor + */ + virtual ~VideoIadUpdateWrapper(); + + /** + * Starts the update process. + */ + int checkForUpdates(); + +}; + +#endif // __VIDEOIADUPDATEWRAPPER_H__ + +// End of file. diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/stub/inc/videoserviceurifetch.h --- a/videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/stub/inc/videoserviceurifetch.h Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/stub/inc/videoserviceurifetch.h Tue Oct 05 09:26:49 2010 +0300 @@ -51,7 +51,7 @@ * @param title title to be set * */ - void fetch(const QString& title); + void fetch(); private: VideoServices* mServiceApp; diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/stub/src/videoiadupdatewrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/stub/src/videoiadupdatewrapper.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -0,0 +1,48 @@ +/* +* 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: Test stub class +* +*/ + +// Version : %version: + +#include "videoiadupdatewrapper.h" +#include "mpxvideo_debug.h" + +// ------------------------------------------------------------------------------------------------- +// VideoIadUpdateWrapper::VideoIadUpdateWrapper() +// ------------------------------------------------------------------------------------------------- +// +VideoIadUpdateWrapper::VideoIadUpdateWrapper() +{ + MPX_DEBUG(_L("VideoIadUpdateWrapper::VideoIadUpdateWrapper()")); +} + +// ------------------------------------------------------------------------------------------------- +// VideoIadUpdateWrapper::~VideoIadUpdateWrapper() +// ------------------------------------------------------------------------------------------------- +// +VideoIadUpdateWrapper::~VideoIadUpdateWrapper() +{ + MPX_ENTER_EXIT(_L("VideoIadUpdateWrapper::~VideoIadUpdateWrapper()")); +} + +// ------------------------------------------------------------------------------------------------- +// VideoIadUpdateWrapper::checkForUpdates() +// ------------------------------------------------------------------------------------------------- +// +int VideoIadUpdateWrapper::checkForUpdates() +{ + MPX_ENTER_EXIT(_L("VideoIadUpdateWrapper::checkForUpdates()")); +} diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/stub/src/videoserviceurifetch.cpp --- a/videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/stub/src/videoserviceurifetch.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/stub/src/videoserviceurifetch.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: % +// Version : %version: 3 % #include "videoservices.h" #include "videoserviceurifetch.h" @@ -45,10 +45,9 @@ // fetch() // ---------------------------------------------------------------------------- // -void VideoServiceUriFetch::fetch( const QString& title ) +void VideoServiceUriFetch::fetch() { MPX_DEBUG(_L("VideoServiceUriFetch::fetch()")); - Q_UNUSED( title ); mServiceApp->setCurrentService( VideoServices::EUriFetcher ); } diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/testvideoplayerengine.pro --- a/videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/testvideoplayerengine.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/testvideoplayerengine.pro Tue Oct 05 09:26:49 2010 +0300 @@ -14,7 +14,7 @@ # Description: Project file for building Videoplayer components # # -# Version : %version: 16 % +# Version : %version: 17 % TEMPLATE = app @@ -53,6 +53,7 @@ hbview.h \ videoactivitystate.h \ afactivitystorage.h \ + videoiadupdatewrapper.h \ ../../../../inc/videoplayerengine.h SOURCES += videoplaybackwrapper.cpp \ @@ -67,4 +68,5 @@ videoserviceview.cpp \ videoactivitystate.cpp \ afactivitystorage.cpp \ + videoiadupdatewrapper.cpp \ ../../src/videoplayerengine.cpp diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/tsrc/testvideoservices/src/testvideoservices.cpp --- a/videoplayerapp/videoplayerengine/tsrc/testvideoservices/src/testvideoservices.cpp Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayerengine/tsrc/testvideoservices/src/testvideoservices.cpp Tue Oct 05 09:26:49 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: da1mmcf#5 % +// Version : %version: 6 % // INCLUDES #include @@ -30,6 +30,7 @@ #define private public #include "videoservices.h" #include "videoserviceurifetch.h" +#include "videoservicebrowse.h" #include "videoserviceplay.h" #include "videoserviceuri.h" #undef private @@ -100,6 +101,7 @@ QVERIFY( mTestObject ); QVERIFY( mTestObject->mServicePlay ); QVERIFY( mTestObject->mServiceUriFetch ); + QVERIFY( mTestObject->mServiceBrowse ); QVERIFY( mTestObject->mServiceView ); QVERIFY( mTestObject->mServiceUriView ); QVERIFY( mTestObject->mEngine == 0 ); @@ -116,6 +118,7 @@ QVERIFY( mTestObject ); QVERIFY( mTestObject->mServicePlay ); QVERIFY( mTestObject->mServiceUriFetch ); + QVERIFY( mTestObject->mServiceBrowse ); QVERIFY( mTestObject->mServiceView ); QVERIFY( mTestObject->mServiceUriView ); QVERIFY( mTestObject->mEngine == mEngine ); @@ -132,6 +135,7 @@ QVERIFY( mTestObject ); QVERIFY( mTestObject->mServicePlay ); QVERIFY( mTestObject->mServiceUriFetch ); + QVERIFY( mTestObject->mServiceBrowse ); QVERIFY( mTestObject->mServiceView ); QVERIFY( mTestObject->mServiceUriView ); QVERIFY( mTestObject->mEngine == 0 ); @@ -140,9 +144,12 @@ mTestObject->mServicePlay->playMedia( QString() ); QVERIFY( mTestObject->mCurrentService == VideoServices::ENoService ); - mTestObject->mServiceUriFetch->fetch( QString() ); + mTestObject->mServiceBrowse->browseVideos(0, 0); + QVERIFY( mTestObject->mCurrentService == VideoServices::EBrowse ); + + mTestObject->mServiceUriFetch->fetch( ); QVERIFY( mTestObject->mCurrentService == VideoServices::EUriFetcher ); - + mTestObject->mServicePlay->playMedia( QString() ); QVERIFY( mTestObject->mCurrentService == VideoServices::EUriFetcher ); @@ -154,11 +161,15 @@ QVERIFY( mTestObject ); QVERIFY( mTestObject->mServicePlay ); QVERIFY( mTestObject->mServiceUriFetch ); + QVERIFY( mTestObject->mServiceBrowse ); QVERIFY( mTestObject->mServiceView ); QVERIFY( mTestObject->mEngine == mEngine ); QVERIFY( mTestObject->mCurrentService == VideoServices::ENoService ); - mTestObject->mServiceUriFetch->fetch( QString() ); + mTestObject->mServiceBrowse->browseVideos(0, 0); + QVERIFY( mTestObject->mCurrentService == VideoServices::EBrowse ); + + mTestObject->mServiceUriFetch->fetch( ); QVERIFY( mTestObject->mCurrentService == VideoServices::EUriFetcher ); mTestObject->mServicePlay->playMedia( QString() ); @@ -177,5 +188,3 @@ // End of file - - diff -r 4707a0db12f6 -r adb51f74b890 videoplayerapp/videoplayerengine/videoplayerengine.pro --- a/videoplayerapp/videoplayerengine/videoplayerengine.pro Mon Sep 20 18:25:37 2010 +0300 +++ b/videoplayerapp/videoplayerengine/videoplayerengine.pro Tue Oct 05 09:26:49 2010 +0300 @@ -14,7 +14,7 @@ # Description: Project file for building Videoplayer components # # -# Version : %version: 33 % +# Version : %version: 34 % TEMPLATE = lib @@ -58,7 +58,9 @@ -lflogger.dll \ -lefsrv \ -lcommonengine.dll \ - -lafservice.dll + -lafservice.dll \ + -liaupdateapi.dll \ + -lfeatmgr.dll DEPENDPATH += ../../inc ../inc inc VPATH += src @@ -72,7 +74,8 @@ videoserviceview.h \ videoservicebrowse.h \ videoactivitystate.h \ - videoserviceuri.h + videoserviceuri.h \ + videoiadupdatewrapper.h SOURCES += videoplayerengine.cpp \ videoplaybackwrapper.cpp \ @@ -83,5 +86,5 @@ videoserviceview.cpp \ videoservicebrowse.cpp \ videoactivitystate.cpp \ - videoserviceuri.cpp - + videoserviceuri.cpp \ + videoiadupdatewrapper.cpp