--- a/inc/mpxvideo_debug.h Fri Jun 11 09:44:20 2010 +0300
+++ b/inc/mpxvideo_debug.h Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*/
-// Version : %version: ou1cpsw#3 %
+// Version : %version: ou1cpsw#5 %
@@ -40,10 +40,10 @@
#else
#ifdef _MPX_FILE_LOGGING_
#define FU_DEBUG MPXDebug::FileLog
- #else
+ #else
#define FU_DEBUG
#endif
-#endif
+#endif
class MPXDebug
@@ -53,7 +53,7 @@
{
VA_LIST list;
VA_START(list,aFmt);
- RFileLogger::WriteFormat( _L("Fusion"),
+ RFileLogger::WriteFormat( _L("Fusion"),
_L("fusion.log"),
EFileLoggingModeAppend,
aFmt,
@@ -76,16 +76,16 @@
class TFusionLog : public TDes16Overflow
{
public:
-
+
inline static void FusionLog( TRefByValue<const TDesC16> aFmt, ... )
{
- TBuf< 512 > buffer;
-
+ TBuf< 496 > buffer;
+
VA_LIST list;
VA_START( list, aFmt );
buffer.AppendFormatList( aFmt, list );
VA_END(list);
-
+
FU_DEBUG(_L("#Fu# %S"), &buffer );
}
};
@@ -93,7 +93,7 @@
class TEnterExitLog : public TDes16Overflow
{
public:
-
+
void Overflow(TDes16& /*aDes*/)
{
FU_DEBUG(_L("%S Logging Overflow"), &iFunctionName);
@@ -103,40 +103,40 @@
TRefByValue<const TDesC> aFmt, ... )
{
iFunctionName = HBufC::New( TDesC(aFunctionName).Length() );
-
+
if ( iFunctionName )
{
iFunctionName->Des().Copy(aFunctionName);
}
-
- TBuf< 512 > buffer;
-
+
+ TBuf< 496 > buffer;
+
VA_LIST list;
VA_START( list, aFmt );
buffer.AppendFormatList( aFmt, list, this );
VA_END(list);
-
+
FU_DEBUG(_L("#Fu# --> %S %S"), iFunctionName, &buffer );
}
-
+
TEnterExitLog( TRefByValue<const TDesC> aFunctionName )
{
iFunctionName = HBufC::New( TDesC(aFunctionName).Length() );
-
+
if ( iFunctionName )
{
iFunctionName->Des().Copy(aFunctionName);
}
-
+
FU_DEBUG(_L("#Fu# --> %S"), iFunctionName );
}
-
+
~TEnterExitLog()
{
FU_DEBUG(_L("#Fu# <-- %S"), iFunctionName );
delete iFunctionName;
}
-
+
private:
HBufC* iFunctionName;
};
--- a/inc/videoactivitystate.h Fri Jun 11 09:44:20 2010 +0300
+++ b/inc/videoactivitystate.h Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 1 %
+// Version : %version: da1mmcf#3 %
#ifndef __VIDEOACTIVITYSTATE_H__
#define __VIDEOACTIVITYSTATE_H__
@@ -27,36 +27,18 @@
// videoplayer activity id
static const QString ACTIVITY_VIDEOPLAYER_MAINVIEW = "VideosMainView";
+// last position of the last played media clip (int)
+static const QString KEY_LAST_PLAY_POSITION_ID = "_VideoActivity_last_play_position_id_";
-namespace VideoActivityData
-{
- // consts to be used as key values
- // plugin type (int): collectionplugin or videoplaybackplugin
- static const QString KEY_VIEWPLUGIN_TYPE = "_VideoActivity_viewplugin_type_";
-
- // type of collectionview plugin's widget level(int):
- // all videos, collections or collection video list
- static const QString KEY_WIDGET_LEVEL = "_VideoActivity_widget_level_";
-
- // id of the collection whose videolist is to be shown (int).
- static const QString KEY_WIDGET_ID = "_VideoActivity_view_item_id_";
+// name of the media clip last played (QString)
+static const QString KEY_LAST_PLAYED_CLIP = "_VideoActivity_last_played_clip_";
- // for playback plugin: view to activate either play or details
- static const QString KEY_PLAYB_VIEW = "_VideoActivity_playb_view_type_";
-
- // for playback plugin: video path
- static const QString KEY_VIDEO_PATH = "_VideoActivity_video_path_";
-
- // for playback plugin: video playback position
- static const QString KEY_VIDEO_POS = "_VideoActivity_video_pos_";
-
- // for playback plugin: video playback state
- static const QString KEY_PLAYB_STATE = "_VideoActivity_playb_state_";
-
- // for playback plugin: video playback volume
- static const QString KEY_PLAYB_VOLUME = "_VideoActivity_playb_volume_";
-
-}
+// Key for plugin type in activity manager
+static const QString KEY_VIEWPLUGIN_TYPE = "_VideoActivity_viewplugin_type_";
+
+// was the last played media clip a local clip (not streaming or prog. download)
+static const QString KEY_LAST_LOCAL_PLAYBACK = "_VideoActivity_last_local_playback_";
+
/**
* Class is used as a static activity data container for videoplayer application
--- a/mediasettings/mediasettings.pro Fri Jun 11 09:44:20 2010 +0300
+++ b/mediasettings/mediasettings.pro Thu Jun 24 09:49:13 2010 +0300
@@ -20,6 +20,6 @@
symbian: {
BLD_INF_RULES.prj_mmpfiles += $$LITERAL_HASH"include \"group/bld.inf\""
-#SUBDIRS += videosettingsplugin
+SUBDIRS += videosettingsplugin
}
\ No newline at end of file
--- a/mediasettings/videosettingsplugin/inc/videosettingsgroup.h Fri Jun 11 09:44:20 2010 +0300
+++ b/mediasettings/videosettingsplugin/inc/videosettingsgroup.h Thu Jun 24 09:49:13 2010 +0300
@@ -19,6 +19,7 @@
#include <cpsettingformitemdata.h>
#include <qabstractitemmodel.h>
+#include <qtranslator.h>
class CpItemDataHelper;
class CMPSettingsModel;
@@ -106,6 +107,11 @@
CpItemDataHelper& mItemDataHelper;
/**
+ * Holds videos translation file. It's needed to localize texts in this plugin.
+ */
+ QTranslator mTranslator;
+
+ /**
* The settings model where settings are loaded and saved.
*/
CMPSettingsModel* mSettingsModel;
--- a/mediasettings/videosettingsplugin/src/videosettingsgroup.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/mediasettings/videosettingsplugin/src/videosettingsgroup.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -31,9 +31,25 @@
#include <MPSettEngPluginImplementationUIDs.hrh>
#include <xqconversions.h>
#include <qapplication.h>
-#include <qtranslator.h>
#include <hbapplication.h>
+const int PROXY_LOWEST_ACCEPTED_VALUE = 1;
+const int UDP_LOWEST_ACCEPTED_VALUE = 1024;
+const int PORT_HIGHEST_ACCEPTED_VALUE = 65535;
+
+void gValidatePortValues(int& value, int bottom, int top)
+{
+ if(value < bottom)
+ {
+ value = bottom;
+ }
+
+ if(value > top)
+ {
+ value = top;
+ }
+}
+
// ---------------------------------------------------------------------------
// Constructor
// ---------------------------------------------------------------------------
@@ -50,28 +66,27 @@
mProxyPortItem(0)
{
MPX_ENTER_EXIT(_L("VideoSettingsGroup::VideoSettingsGroup()"));
-
+
// Load the translation file.
QString lang = QLocale::system().name();
- QTranslator translator;
bool loaded(false);
- loaded = translator.load( "videos_" + lang, QString("c:/resource/qt/translations") );
+ loaded = mTranslator.load( "videos_" + lang, QString("c:/resource/qt/translations") );
if (!loaded)
{
- translator.load("videos_" + lang, QString("z:/resource/qt/translations") );
+ mTranslator.load("videos_" + lang, QString("z:/resource/qt/translations") );
}
// Install the translator
HbApplication* app = qobject_cast<HbApplication*>(qApp);
if(app)
{
- app->installTranslator(&translator);
+ app->installTranslator(&mTranslator);
}
-
+
this->setLabel(hbTrId("txt_videos_subhead_video_streaming_settings"));
-
+
TRAPD(err, InitSettingsModelL());
if(err != KErrNone)
{
@@ -79,52 +94,52 @@
mSettingsModel = 0;
return;
}
-
+
itemDataHelper.connectToForm(SIGNAL(itemShown(const QModelIndex)), this, SLOT(itemShown(const QModelIndex)));
-
+
// Access point in use
- mAccessPointItem = new VideoSettingsAccessPointEntry(itemDataHelper,
+ mAccessPointItem = new VideoSettingsAccessPointEntry(itemDataHelper,
hbTrId("txt_videos_dblist_access_point"), this);
this->appendChild(mAccessPointItem);
-
+
// Lowest UDP port
mLowestUDPPortItem = new CpSettingFormItemData(HbDataFormModelItem::TextItem,
hbTrId("txt_videos_dblist_min_udp_port"));
mLowestUDPPortItem->setContentWidgetData(QString("maxRows"), 1);
- mItemDataHelper.addConnection(mLowestUDPPortItem, SIGNAL(editingFinished()),
+ mItemDataHelper.addConnection(mLowestUDPPortItem, SIGNAL(editingFinished()),
this, SLOT(lowestUdpPortEditingFinished()));
this->appendChild(mLowestUDPPortItem);
-
+
// Highest UDP port
mHighestUDPPortItem = new CpSettingFormItemData(HbDataFormModelItem::TextItem,
hbTrId("txt_videos_dblist_max_udp_port"));
mHighestUDPPortItem->setContentWidgetData(QString("maxRows"), 1);
- mItemDataHelper.addConnection(mHighestUDPPortItem, SIGNAL(editingFinished()),
+ mItemDataHelper.addConnection(mHighestUDPPortItem, SIGNAL(editingFinished()),
this, SLOT(highestUdpPortEditingFinished()));
this->appendChild(mHighestUDPPortItem);
-
+
// Use proxy
mUseProxyItem = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, QString());
mUseProxyItem->setContentWidgetData(QString("text"), hbTrId("txt_videos_formlabel_proxy_in_use"));
this->appendChild(mUseProxyItem);
-
+
// Proxy server address
mProxyServerItem = new CpSettingFormItemData(HbDataFormModelItem::TextItem,
hbTrId("txt_videos_dblist_proxy_host_name"));
mProxyServerItem->setContentWidgetData(QString("maxRows"), 1);
mProxyServerItem->setContentWidgetData(QString("placeholderText"), hbTrId("txt_videos_dblist_none"));
- mItemDataHelper.addConnection(mProxyServerItem, SIGNAL(editingFinished()),
+ mItemDataHelper.addConnection(mProxyServerItem, SIGNAL(editingFinished()),
this, SLOT(proxyServerEditingFinished()));
this->appendChild(mProxyServerItem);
-
+
// Proxy port number
mProxyPortItem = new CpSettingFormItemData(HbDataFormModelItem::TextItem,
hbTrId("txt_videos_dblist_proxy_port"));
mProxyPortItem->setContentWidgetData(QString("maxRows"), 1);
- mItemDataHelper.addConnection(mProxyPortItem, SIGNAL(editingFinished()),
+ mItemDataHelper.addConnection(mProxyPortItem, SIGNAL(editingFinished()),
this, SLOT(proxyPortEditingFinished()));
this->appendChild(mProxyPortItem);
-
+
loadSettings();
}
@@ -135,9 +150,9 @@
VideoSettingsGroup::~VideoSettingsGroup()
{
MPX_ENTER_EXIT(_L("VideoSettingsGroup::~VideoSettingsGroup()"));
-
+
TRAP_IGNORE( mSettingsModel->StoreSettingsL() );
-
+
delete mSettingsModel;
}
@@ -148,12 +163,12 @@
uint VideoSettingsGroup::getAccessPointId()
{
MPX_ENTER_EXIT(_L("VideoSettingsGroup::getAccessPointId()"));
-
+
TUint32 defaultAp(0);
mSettingsModel->GetDefaultAp(defaultAp);
-
+
MPX_DEBUG(_L("Returned access point id = %i"), defaultAp);
-
+
return defaultAp;
}
@@ -163,10 +178,16 @@
//
void VideoSettingsGroup::setAccessPointId(const uint& defaultAp)
{
- MPX_ENTER_EXIT(_L("VideoSettingsGroup::setAccessPointId()"),
+ MPX_ENTER_EXIT(_L("VideoSettingsGroup::setAccessPointId()"),
_L("defaultAp = %i"), defaultAp);
-
- mSettingsModel->SetDefaultAp(defaultAp);
+
+ uint oldAp = getAccessPointId();
+
+ if(oldAp != defaultAp)
+ {
+ mSettingsModel->SetDefaultAp(defaultAp);
+ mUseProxyItem->setContentWidgetData(QString("checked"), false);
+ }
}
// ---------------------------------------------------------------------------
@@ -176,18 +197,21 @@
void VideoSettingsGroup::lowestUdpPortEditingFinished()
{
MPX_ENTER_EXIT(_L("VideoSettingsGroup::lowestUdpPortValueChanged()"));
-
+
int minPort = mLowestUDPPortItem->contentWidgetData(QString("text")).toString().toInt();
int maxPort = mHighestUDPPortItem->contentWidgetData(QString("text")).toString().toInt();
-
+
MPX_DEBUG(_L("minudp = %i, maxudp = %i"), minPort, maxPort);
-
+
if(minPort > maxPort)
{
minPort = maxPort;
- mLowestUDPPortItem->setContentWidgetData(QString("text"), QString::number(minPort));
}
-
+
+ gValidatePortValues(minPort, UDP_LOWEST_ACCEPTED_VALUE, PORT_HIGHEST_ACCEPTED_VALUE);
+
+ mLowestUDPPortItem->setContentWidgetData(QString("text"), QString::number(minPort));
+
mSettingsModel->SetMinUDPPort(minPort);
}
@@ -198,18 +222,21 @@
void VideoSettingsGroup::highestUdpPortEditingFinished()
{
MPX_ENTER_EXIT(_L("VideoSettingsGroup::highestUdpPortValueChanged()"));
-
+
int maxPort = mHighestUDPPortItem->contentWidgetData(QString("text")).toString().toInt();
int minPort = mLowestUDPPortItem->contentWidgetData(QString("text")).toString().toInt();
-
+
MPX_DEBUG(_L("minudp = %i, maxudp = %i"), minPort, maxPort);
-
+
if(maxPort < minPort)
{
maxPort = minPort;
- mHighestUDPPortItem->setContentWidgetData(QString("text"), QString::number(maxPort));
}
-
+
+ gValidatePortValues(maxPort, UDP_LOWEST_ACCEPTED_VALUE, PORT_HIGHEST_ACCEPTED_VALUE);
+
+ mHighestUDPPortItem->setContentWidgetData(QString("text"), QString::number(maxPort));
+
mSettingsModel->SetMaxUDPPort(maxPort);
}
@@ -219,12 +246,12 @@
//
void VideoSettingsGroup::useProxyToggled(int state)
{
- MPX_ENTER_EXIT(_L("VideoSettingsGroup::useProxyToggled()"),
+ MPX_ENTER_EXIT(_L("VideoSettingsGroup::useProxyToggled()"),
_L("state = %i"), state);
-
+
mProxyServerItem->setEnabled(state == Qt::Checked);
mProxyPortItem->setEnabled(state == Qt::Checked);
-
+
mSettingsModel->SetProxyMode(state == Qt::Checked ? 1 : 0);
}
@@ -235,11 +262,11 @@
void VideoSettingsGroup::proxyServerEditingFinished()
{
MPX_ENTER_EXIT(_L("VideoSettingsGroup::proxyServerValueChanged()"));
-
+
QString text = mProxyServerItem->contentWidgetData(QString("text")).toString();
-
+
MPX_DEBUG(_L("new proxy server = '%s'"), text.data());
-
+
HBufC* proxyServer = XQConversions::qStringToS60Desc(text);
TRAP_IGNORE( mSettingsModel->SetProxyHostNameL(*proxyServer) );
delete proxyServer;
@@ -252,12 +279,16 @@
void VideoSettingsGroup::proxyPortEditingFinished()
{
MPX_ENTER_EXIT(_L("VideoSettingsGroup::proxyPortValueChanged()"));
-
+
int proxyPort = mProxyPortItem->contentWidgetData(QString("text")).toString().toInt();
-
+
MPX_DEBUG(_L("new proxy port = %i"), proxyPort);
-
- mSettingsModel->SetProxyPort(proxyPort);
+
+ gValidatePortValues(proxyPort, PROXY_LOWEST_ACCEPTED_VALUE, PORT_HIGHEST_ACCEPTED_VALUE);
+
+ mProxyPortItem->setContentWidgetData(QString("text"), QString::number(proxyPort));
+
+ mSettingsModel->SetProxyPort(proxyPort);
}
// ---------------------------------------------------------------------------
@@ -266,26 +297,23 @@
//
void VideoSettingsGroup::itemShown(const QModelIndex& index)
{
- MPX_ENTER_EXIT(_L("VideoSettingsGroup::itemShown()"),
+ MPX_ENTER_EXIT(_L("VideoSettingsGroup::itemShown()"),
_L("index row = %i"), index.row());
-
+
HbDataFormModelItem* modelItem = mItemDataHelper.modelItemFromModelIndex(index);
-
+
if(modelItem == mLowestUDPPortItem ||
modelItem == mHighestUDPPortItem ||
modelItem == mProxyPortItem )
{
HbLineEdit *editor = static_cast<HbLineEdit *>(mItemDataHelper.widgetFromModelIndex(index));
+ editor->setMaxLength(5);
+
HbEditorInterface editorIf(editor);
editorIf.setFilter(HbDigitsOnlyFilter::instance());
-
- HbValidator *validator = new HbValidator(this);
- int lowestAllowedPort = modelItem == mProxyPortItem ? 1 : 1024;
- validator->addField(new QIntValidator(lowestAllowedPort, 65535, validator), modelItem->contentWidgetData(QString("text")).toString());
- editor->setValidator(validator);
}
-
+
if(modelItem == mProxyServerItem)
{
mItemDataHelper.addConnection(mUseProxyItem, SIGNAL(stateChanged(int)), this, SLOT(useProxyToggled(int)));
@@ -301,7 +329,7 @@
void VideoSettingsGroup::InitSettingsModelL()
{
MPX_ENTER_EXIT(_L("VideoSettingsGroup::InitSettingsModelL()"));
-
+
TUid settingsUid = {KMPSettEngImplUidROP};
mSettingsModel = CMPSettingsModel::NewL(settingsUid);
mSettingsModel->LoadSettingsL(EConfigUser);
@@ -314,28 +342,28 @@
void VideoSettingsGroup::loadSettings()
{
MPX_ENTER_EXIT(_L("VideoSettingsGroup::loadSettings()"));
-
+
int lowestUdpPort(0);
mSettingsModel->GetMinUDPPort(lowestUdpPort);
mLowestUDPPortItem->setContentWidgetData(QString("text"), QString::number(lowestUdpPort));
-
+
int highestUdpPort(0);
mSettingsModel->GetMaxUDPPort(highestUdpPort);
mHighestUDPPortItem->setContentWidgetData(QString("text"), QString::number(highestUdpPort));
-
+
int proxyMode(0);
mSettingsModel->GetProxyMode(proxyMode);
mUseProxyItem->setContentWidgetData(QString("checked"), proxyMode == 1);
useProxyToggled(proxyMode == 1 ? Qt::Checked : Qt::Unchecked);
-
- TBuf<2048> proxyServerBuf;
+
+ TBuf<496> proxyServerBuf;
mSettingsModel->GetProxyHostName(proxyServerBuf);
QString proxyServer = XQConversions::s60DescToQString(proxyServerBuf);
mProxyServerItem->setContentWidgetData(QString("text"), proxyServer);
-
+
int proxyPort;
mSettingsModel->GetProxyPort(proxyPort);
mProxyPortItem->setContentWidgetData(QString("text"), QString::number(proxyPort));
-
+
mAccessPointItem->setIapId(getAccessPointId());
}
--- a/mediasettings/videosettingsplugin/tsrc/testgroup/src/testvideosettingsgroup.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/mediasettings/videosettingsplugin/tsrc/testgroup/src/testvideosettingsgroup.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -119,6 +119,9 @@
QCOMPARE( mItemHelper->mFormConnection.signal, SIGNAL(itemShown(const QModelIndex)) );
QVERIFY( mItemHelper->mFormConnection.receiver == mTestObject );
QCOMPARE( mItemHelper->mFormConnection.method, SLOT(itemShown(const QModelIndex)) );
+
+ // and that group has correct label
+ QCOMPARE( mTestObject->label(), hbTrId("txt_videos_subhead_video_streaming_settings") );
}
// ---------------------------------------------------------------------------
@@ -250,13 +253,30 @@
//
void TestVideoSettingsGroup::testSetAccessPointId()
{
+ QString string("test");
CMPSettingsModel::mApId = -1;
-
- uint ap = 3;
+ mTestObject->mUseProxyItem->setContentWidgetData(QString("checked"), true);
+ mTestObject->mProxyServerItem->setContentWidgetData(QString("text"), string);
+ CMPSettingsModel::mHostName = string;
+ // given ap id is different from the one that is saved in settingsmodel.
+ uint ap = 3;
mTestObject->setAccessPointId(ap);
+ QCOMPARE( CMPSettingsModel::mApId, (int)ap );
+ QVERIFY( mTestObject->mUseProxyItem->contentWidgetData(QString("checked")).toBool() == false );
+ QCOMPARE( mTestObject->mProxyServerItem->contentWidgetData(QString("text")).toString(), string );
+ QCOMPARE( CMPSettingsModel::mHostName, string );
+ mTestObject->mUseProxyItem->setContentWidgetData(QString("checked"), true);
+ mTestObject->mProxyServerItem->setContentWidgetData(QString("text"), string);
+ CMPSettingsModel::mHostName = string;
+
+ // given ap id is the same than the one that is saved in settingsmodel.
+ mTestObject->setAccessPointId(ap);
QCOMPARE( CMPSettingsModel::mApId, (int)ap );
+ QVERIFY( mTestObject->mUseProxyItem->contentWidgetData(QString("checked")).toBool() );
+ QCOMPARE( mTestObject->mProxyServerItem->contentWidgetData(QString("text")).toString(), string );
+ QCOMPARE( CMPSettingsModel::mHostName, string );
}
// ---------------------------------------------------------------------------
@@ -268,30 +288,61 @@
connect(this, SIGNAL(testTextSignal()),
mTestObject, SLOT(lowestUdpPortEditingFinished()));
- QString highText("12345");
+ // normal case where min port is less than max port and both are in acceptable range.
+ QString highText("10000");
mTestObject->mHighestUDPPortItem->setContentWidgetData(QString("text"), highText);
- QString testString("1234");
+ QString testString("1024");
+ mTestObject->mLowestUDPPortItem->setContentWidgetData(QString("text"), testString);
+
+ emit testTextSignal();
+
+ QCOMPARE( CMPSettingsModel::mMinUdpPort, testString.toInt() );
+
+ // min port greater than max port, both are in acceptable range.
+ CMPSettingsModel::mMinUdpPort = 0;
+ mTestObject->mLowestUDPPortItem->setContentWidgetData(QString("text"), QString("10001"));
+
+ emit testTextSignal();
+
+ QCOMPARE( CMPSettingsModel::mMinUdpPort, highText.toInt() );
+
+ // min port same as max port and in acceptable range.
+ CMPSettingsModel::mMinUdpPort = 0;
+ testString = "10000";
mTestObject->mLowestUDPPortItem->setContentWidgetData(QString("text"), testString);
emit testTextSignal();
QCOMPARE( CMPSettingsModel::mMinUdpPort, testString.toInt() );
+ // min port less than 1024
CMPSettingsModel::mMinUdpPort = 0;
- mTestObject->mLowestUDPPortItem->setContentWidgetData(QString("text"), QString("12346"));
+ mTestObject->mLowestUDPPortItem->setContentWidgetData(QString("text"), QString("1023"));
emit testTextSignal();
- QCOMPARE( CMPSettingsModel::mMinUdpPort, highText.toInt() );
+ QCOMPARE( CMPSettingsModel::mMinUdpPort, 1024 );
+ QCOMPARE( mTestObject->mLowestUDPPortItem->contentWidgetData(QString("text")).toString(), QString("1024") );
+ // min port greater than 65535
CMPSettingsModel::mMinUdpPort = 0;
- testString = "12345";
- mTestObject->mLowestUDPPortItem->setContentWidgetData(QString("text"), testString);
+ mTestObject->mHighestUDPPortItem->setContentWidgetData(QString("text"), QString("65536"));
+ mTestObject->mLowestUDPPortItem->setContentWidgetData(QString("text"), QString("65536"));
emit testTextSignal();
- QCOMPARE( CMPSettingsModel::mMinUdpPort, testString.toInt() );
+ QCOMPARE( CMPSettingsModel::mMinUdpPort, 65535 );
+ QCOMPARE( mTestObject->mLowestUDPPortItem->contentWidgetData(QString("text")).toString(), QString("65535") );
+
+ // min port field empty
+ CMPSettingsModel::mMinUdpPort = 0;
+ mTestObject->mLowestUDPPortItem->setContentWidgetData(QString("text"), QString(""));
+
+ emit testTextSignal();
+
+ QCOMPARE( CMPSettingsModel::mMinUdpPort, 1024 );
+ QCOMPARE( mTestObject->mLowestUDPPortItem->contentWidgetData(QString("text")).toString(), QString("1024") );
}
// ---------------------------------------------------------------------------
@@ -303,30 +354,61 @@
connect(this, SIGNAL(testTextSignal()),
mTestObject, SLOT(highestUdpPortEditingFinished()));
- QString lowText("1234");
+ // normal case where min port is less than max port and both are in acceptable range.
+ QString lowText("2000");
mTestObject->mLowestUDPPortItem->setContentWidgetData(QString("text"), lowText);
- QString testString("12345");
+ QString testString("65535");
mTestObject->mHighestUDPPortItem->setContentWidgetData(QString("text"), testString);
emit testTextSignal();
QCOMPARE( CMPSettingsModel::mMaxUdpPort, testString.toInt() );
+ // max port less than min port, both in acceptable range.
CMPSettingsModel::mMaxUdpPort = 0;
- mTestObject->mHighestUDPPortItem->setContentWidgetData(QString("text"), QString("1233"));
+ mTestObject->mHighestUDPPortItem->setContentWidgetData(QString("text"), QString("1999"));
emit testTextSignal();
QCOMPARE( CMPSettingsModel::mMaxUdpPort, lowText.toInt() );
+ // max port same as min port and in acceptable range.
CMPSettingsModel::mMaxUdpPort = 0;
- testString = "1234";
+ testString = "2000";
mTestObject->mHighestUDPPortItem->setContentWidgetData(QString("text"), testString);
emit testTextSignal();
QCOMPARE( CMPSettingsModel::mMaxUdpPort, testString.toInt() );
+
+ // max port less than 1024
+ CMPSettingsModel::mMaxUdpPort = 0;
+ mTestObject->mHighestUDPPortItem->setContentWidgetData(QString("text"), QString("1023"));
+ mTestObject->mLowestUDPPortItem->setContentWidgetData(QString("text"), QString("1023"));
+
+ emit testTextSignal();
+
+ QCOMPARE( CMPSettingsModel::mMaxUdpPort, 1024 );
+ QCOMPARE( mTestObject->mHighestUDPPortItem->contentWidgetData(QString("text")).toString(), QString("1024") );
+
+ // max port greater than 65535
+ CMPSettingsModel::mMaxUdpPort = 0;
+ mTestObject->mHighestUDPPortItem->setContentWidgetData(QString("text"), QString("65536"));
+
+ emit testTextSignal();
+
+ QCOMPARE( CMPSettingsModel::mMaxUdpPort, 65535 );
+ QCOMPARE( mTestObject->mHighestUDPPortItem->contentWidgetData(QString("text")).toString(), QString("65535") );
+
+ // max port field empty
+ CMPSettingsModel::mMaxUdpPort = 0;
+ mTestObject->mHighestUDPPortItem->setContentWidgetData(QString("text"), QString(""));
+
+ emit testTextSignal();
+
+ QCOMPARE( CMPSettingsModel::mMaxUdpPort, 1024 );
+ QCOMPARE( mTestObject->mHighestUDPPortItem->contentWidgetData(QString("text")).toString(), QString("1024") );
}
// ---------------------------------------------------------------------------
@@ -376,11 +458,40 @@
connect(this, SIGNAL(testTextSignal()),
mTestObject, SLOT(proxyPortEditingFinished()));
- QString testString("1234");
+ // proxy port at lowest accepted range.
+ QString testString("1");
+ mTestObject->mProxyPortItem->setContentWidgetData(QString("text"), testString);
+
+ emit testTextSignal();
+ QCOMPARE( CMPSettingsModel::mProxyPort, testString.toInt() );
+
+ // proxy port at highest accepted range.
+ testString = "65535";
mTestObject->mProxyPortItem->setContentWidgetData(QString("text"), testString);
emit testTextSignal();
QCOMPARE( CMPSettingsModel::mProxyPort, testString.toInt() );
+
+ // proxy port 0
+ mTestObject->mProxyPortItem->setContentWidgetData(QString("text"), QString("0"));
+
+ emit testTextSignal();
+ QCOMPARE( CMPSettingsModel::mProxyPort, 1 );
+ QCOMPARE( mTestObject->mProxyPortItem->contentWidgetData(QString("text")).toString(), QString("1") );
+
+ // proxy port higher than accepted.
+ mTestObject->mProxyPortItem->setContentWidgetData(QString("text"), QString("65536"));
+
+ emit testTextSignal();
+ QCOMPARE( CMPSettingsModel::mProxyPort, 65535 );
+ QCOMPARE( mTestObject->mProxyPortItem->contentWidgetData(QString("text")).toString(), QString("65535") );
+
+ // proxy port empty
+ mTestObject->mProxyPortItem->setContentWidgetData(QString("text"), QString(""));
+
+ emit testTextSignal();
+ QCOMPARE( CMPSettingsModel::mProxyPort, 1 );
+ QCOMPARE( mTestObject->mProxyPortItem->contentWidgetData(QString("text")).toString(), QString("1") );
}
// ---------------------------------------------------------------------------
@@ -397,34 +508,23 @@
HbLineEdit* editor = new HbLineEdit();
mItemHelper->mWidgetReturnValue = editor;
- QIntValidator* val;
-
mItemHelper->mModelItemReturnValue = mTestObject->mLowestUDPPortItem;
HbEditorInterface::mFilter = 0;
emit testShownSignal(index);
QVERIFY( HbEditorInterface::mFilter == HbDigitsOnlyFilter::instance() );
- QCOMPARE( editor->mValidator->mValidators.count(), 1 );
- val = static_cast<QIntValidator*>(editor->mValidator->mValidators.at(0));
- QCOMPARE( val->bottom(), 1024 );
- QCOMPARE( val->top(), 65535 );
+ QCOMPARE( editor->mMaxLength, 5 );
mItemHelper->mModelItemReturnValue = mTestObject->mProxyPortItem;
HbEditorInterface::mFilter = 0;
emit testShownSignal(index);
QVERIFY( HbEditorInterface::mFilter == HbDigitsOnlyFilter::instance() );
- QCOMPARE( editor->mValidator->mValidators.count(), 1 );
- val = static_cast<QIntValidator*>(editor->mValidator->mValidators.at(0));
- QCOMPARE( val->bottom(), 1 );
- QCOMPARE( val->top(), 65535 );
+ QCOMPARE( editor->mMaxLength, 5 );
mItemHelper->mModelItemReturnValue = mTestObject->mHighestUDPPortItem;
HbEditorInterface::mFilter = 0;
emit testShownSignal(index);
QVERIFY( HbEditorInterface::mFilter == HbDigitsOnlyFilter::instance() );
- QCOMPARE( editor->mValidator->mValidators.count(), 1 );
- val = static_cast<QIntValidator*>(editor->mValidator->mValidators.at(0));
- QCOMPARE( val->bottom(), 1024 );
- QCOMPARE( val->top(), 65535 );
+ QCOMPARE( editor->mMaxLength, 5 );
mItemHelper->mModelItemReturnValue = mTestObject->mProxyServerItem;
HbEditorInterface::mFilter = 0;
--- a/mediasettings/videosettingsplugin/tsrc/testgroup/stub/inc/hblineedit.h Fri Jun 11 09:44:20 2010 +0300
+++ b/mediasettings/videosettingsplugin/tsrc/testgroup/stub/inc/hblineedit.h Thu Jun 24 09:49:13 2010 +0300
@@ -34,11 +34,15 @@
virtual ~HbLineEdit();
void setValidator(HbValidator *validator);
+
+ void setMaxLength(int max);
public:
HbValidator* mValidator;
+ int mMaxLength;
+
};
#endif // HBLINEEDIT_H
--- a/mediasettings/videosettingsplugin/tsrc/testgroup/stub/src/hblineedit.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/mediasettings/videosettingsplugin/tsrc/testgroup/stub/src/hblineedit.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -51,3 +51,12 @@
{
mValidator = validator;
}
+
+// ---------------------------------------------------------------------------
+// setValidator
+// ---------------------------------------------------------------------------
+//
+void HbLineEdit::setMaxLength(int max)
+{
+ mMaxLength = max;
+}
--- a/videocollection/inc/videocollectiontrace.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/inc/videocollectiontrace.h Thu Jun 24 09:49:13 2010 +0300
@@ -90,9 +90,9 @@
/**
* Trace prefixes for macros with component name.
*/
-#define _PREFIX_TRACE( a ) TPtrC( (const TText*) L"#FuC# " L##a )
-#define _PREFIX_TRACE_2( a, b ) TPtrC( (const TText*) L"#FuC# " L##a L##b )
-#define _PREFIX_TRACE8( a ) (const char*)( "#FuC# " ##a )
+#define _PREFIX_TRACE( a ) TPtrC( (const TText*) L"#Fu#Co# " L##a )
+#define _PREFIX_TRACE_2( a, b ) TPtrC( (const TText*) L"#Fu#Co# " L##a L##b )
+#define _PREFIX_TRACE8( a ) (const char*)( "#Fu#Co# " a )
/**
* Prefix error trace
--- a/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/conf/VCXMyVideosCollectionPluginTest.cfg Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/conf/VCXMyVideosCollectionPluginTest.cfg Thu Jun 24 09:49:13 2010 +0300
@@ -369,12 +369,10 @@
VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened KVCXMYVideosTestMessageListComplete
waittestclass VCXMV
-VCXMV CreateVideoFileNoWait VcxTestVideoMpeg4 DRIVE_1 "video1_DRIVE1.mp4" ANY_SIZE 3
-VCXMV CreateVideoFileNoWait VcxTestVideoMpeg4 DRIVE_2 "video2_DRIVE2.mp4" ANY_SIZE 3
-VCXMV CreateVideoFileNoWait VcxTestVideoMpeg4 DRIVE_1 "video3_DRIVE1.mp4" ANY_SIZE 3
-VCXMV CreateVideoFileNoWait VcxTestVideoMpeg4 DRIVE_2 "video4_DRIVE2.mp4" ANY_SIZE 3
-
-pause PAUSE_SIDELOAD_MINUTE
+VCXMV CreateVideoFile VcxTestVideoMpeg4 DRIVE_1 "video1_DRIVE1.mp4" ANY_SIZE 3
+VCXMV CreateVideoFile VcxTestVideoMpeg4 DRIVE_2 "video2_DRIVE2.mp4" ANY_SIZE 3
+VCXMV CreateVideoFile VcxTestVideoMpeg4 DRIVE_1 "video3_DRIVE1.mp4" ANY_SIZE 3
+VCXMV CreateVideoFile VcxTestVideoMpeg4 DRIVE_2 "video4_DRIVE2.mp4" ANY_SIZE 3
VCXMV CheckMediaCount ANY_DRIVE 12
VCXMV CheckMediaDetail ANY_DRIVE 0 EVcxTestMapping_KMPXMediaGeneralFlags EVcxMyVideosVideoNew
--- a/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/conf/VCXMyVideosCollectionPluginTestAlbums.cfg Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/conf/VCXMyVideosCollectionPluginTestAlbums.cfg Thu Jun 24 09:49:13 2010 +0300
@@ -56,7 +56,6 @@
VCXMV RemoveAllMedia
delete VCXMV
-
create VCXMyVideosCollectionPluginTest VCXMV
VCXMV Create
@@ -174,6 +173,9 @@
VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened
waittestclass VCXMV
+VCXMV RefreshContents
+VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened
+
VCXMV CheckAlbumCount 1
print OK!
@@ -502,8 +504,13 @@
VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageMpxAlbumInserted KVCXMYVideosTestMessageCollectionOpened
waittestclass VCXMV
-VCXMV CloseLevel
-VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened
+delete VCXMV
+
+create VCXMyVideosCollectionPluginTest VCXMV
+VCXMV Create
+
+VCXMV OpenCollection VCXCollectionMyVideos
+VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened KVCXMYVideosTestMessageListComplete
waittestclass VCXMV
VCXMV CheckAlbumCount 5
@@ -938,6 +945,79 @@
delete VCXMV
[Endtest]
+#------------------------------------------------------------------------------------
+#
+# Add videos to album from collection root level
+#
+#------------------------------------------------------------------------------------
+[Test]
+title Add videos to album from collection root level
+
+callsub Cleanup
+
+// TESTCASE START
+
+create VCXMyVideosCollectionPluginTest VCXMV
+VCXMV Create
+
+VCXMV OpenCollection VCXCollectionMyVideos
+VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened KVCXMYVideosTestMessageListComplete
+waittestclass VCXMV
+
+VCXMV CreateAlbum Album1
+VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageMpxAlbumInserted KVCXMYVideosTestMessageCollectionOpened
+waittestclass VCXMV
+
+VCXMV CreateAlbum Album2
+VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageMpxAlbumInserted KVCXMYVideosTestMessageCollectionOpened
+waittestclass VCXMV
+
+VCXMV OpenLevel EVcxMyVideosAllVideos
+VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened KVCXMYVideosTestMessageListComplete
+waittestclass VCXMV
+
+VCXMV CreateVideoFile VcxTestVideoMpeg4 DRIVE_1 "video.mp4" ANY_SIZE 3
+VCXMV CheckMediaCount ANY_DRIVE 3
+
+VCXMV CoolDown
+
+VCXMV SetUseCopiedMedias 1
+
+VCXMV CloseLevel
+VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened
+waittestclass VCXMV
+
+VCXMV AddMediasToAlbum Album2 ANY_DRIVE 0 3
+VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageMpxAlbumModified KVCXMYVideosTestMessageCommandComplete KVCXMYVideosTestMessageCollectionOpened
+waittestclass VCXMV
+
+VCXMV CoolDown
+
+VCXMV CheckMediaDetail ANY_DRIVE Album2 EVcxTestMapping_KVcxMediaMyVideosCategoryItemCount 3
+
+// Check that videos have been added.
+
+VCXMV SetUseCopiedMedias 0
+
+VCXMV OpenLevel Album2
+VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened KVCXMYVideosTestMessageListComplete
+waittestclass VCXMV
+
+VCXMV CheckMediaCount ANY_DRIVE 3
+
+VCXMV CloseLevel
+VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened
+waittestclass VCXMV
+
+VCXMV OpenLevel Album1
+VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened KVCXMYVideosTestMessageListComplete
+waittestclass VCXMV
+
+VCXMV CheckMediaCount ANY_DRIVE 0
+
+print OK!
+delete VCXMV
+[Endtest]
#------------------------------------------------------------------------------------
#
@@ -977,6 +1057,7 @@
VCXMV AddMediasToAlbum Album1 ANY_DRIVE 0 1
VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageMpxAlbumModified KVCXMYVideosTestMessageCommandComplete KVCXMYVideosTestMessageCollectionOpened
+allownextresult KERRARGUMENT
waittestclass VCXMV
// Check that videos have been added.
@@ -2429,7 +2510,7 @@
waittestclass VCXMV
VCXMV RenameAlbum Album1 Album2
-VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageMpxAlbumModified KVCXMYVideosTestMessageCollectionOpened
+VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageMpxAlbumModified
waittestclass VCXMV
VCXMV CheckAlbumExists Album2
@@ -2471,7 +2552,7 @@
waittestclass VCXMV
VCXMV RenameAlbum Album1 "EmptyString"
-VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageMpxAlbumModified KVCXMYVideosTestMessageCollectionOpened
+VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageMpxAlbumModified
waittestclass VCXMV
allownextresult KERRNOTFOUND
@@ -2482,39 +2563,6 @@
delete VCXMV
[Endtest]
-#------------------------------------------------------------------------------------
-#
-# Rename album with long name
-#
-#------------------------------------------------------------------------------------
-[Test]
-title Rename album with long name
-
-callsub Cleanup
-
-// TESTCASE START
-
-create VCXMyVideosCollectionPluginTest VCXMV
-VCXMV Create
-
-VCXMV OpenCollection VCXCollectionMyVideos
-VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened KVCXMYVideosTestMessageListComplete
-waittestclass VCXMV
-
-VCXMV CreateAlbum Album1
-VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageMpxAlbumInserted KVCXMYVideosTestMessageCollectionOpened
-waittestclass VCXMV
-
-VCXMV RenameAlbum Album1 "2KString"
-VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageMpxAlbumModified KVCXMYVideosTestMessageCollectionOpened
-waittestclass VCXMV
-
-VCXMV CheckAlbumExists Album1
-VCXMV CheckAlbumCount 1
-
-print OK!
-delete VCXMV
-[Endtest]
#------------------------------------------------------------------------------------
#
--- a/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/conf/VCXMyVideosCollectionPluginTestCategories.cfg Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/conf/VCXMyVideosCollectionPluginTestCategories.cfg Thu Jun 24 09:49:13 2010 +0300
@@ -53,8 +53,6 @@
VCXMV RemoveAllMedia
delete VCXMV
-print wait 30sec
-pause 30000
print cleanup end
[EndSub]
@@ -206,34 +204,6 @@
#------------------------------------------------------------------------------------
#
-# Tests opening 'TV Recordings' category when it's empty.
-#
-#------------------------------------------------------------------------------------
-[Test]
-title TV recordings - empty
-create VCXMyVideosCollectionPluginTest VCXMV
-VCXMV Create
-
-VCXMV OpenCollection VCXCollectionMyVideos
-VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened
-waittestclass VCXMV
-
-VCXMV OpenLevel EVcxMyVideosTvRecordings
-VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened KVCXMYVideosTestMessageListComplete
-waittestclass VCXMV
-
-VCXMV CheckMediaCount ANY_DRIVE 0
-
-VCXMV CloseLevel
-VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened
-waittestclass VCXMV
-
-print OK!
-delete VCXMV
-[Endtest]
-
-#------------------------------------------------------------------------------------
-#
# Tests opening 'Captured videos' category when it's empty.
#
#------------------------------------------------------------------------------------
@@ -433,36 +403,6 @@
#------------------------------------------------------------------------------------
#
-# Tests opening 'TV recordings' category when device has videos with different origins.
-#
-#------------------------------------------------------------------------------------
-[Test]
-title TV recordings - all origins
-create VCXMyVideosCollectionPluginTest VCXMV
-VCXMV Create
-VCXMV SetFileCheck 0
-
-VCXMV OpenCollection VCXCollectionMyVideos
-VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened
-waittestclass VCXMV
-
-VCXMV OpenLevel EVcxMyVideosTvRecordings
-VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened KVCXMYVideosTestMessageListComplete
-waittestclass VCXMV
-
-VCXMV CheckMediaCount ANY_DRIVE 1
-VCXMV CheckMediaDetail ANY_DRIVE 0 EVcxTestMapping_KMPXMediaGeneralTitle "OriginRecording"
-
-VCXMV CloseLevel
-VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened
-waittestclass VCXMV
-
-print OK!
-delete VCXMV
-[Endtest]
-
-#------------------------------------------------------------------------------------
-#
# Tests opening 'Captured videos' category when device has videos with different origins.
#
#------------------------------------------------------------------------------------
@@ -735,32 +675,6 @@
#------------------------------------------------------------------------------------
#
-# Tests that category 'TV recorgins' has correct details when there's videos with different origins.
-#
-#------------------------------------------------------------------------------------
-[Test]
-title TV recordings - category details
-create VCXMyVideosCollectionPluginTest VCXMV
-VCXMV Create
-
-VCXMV OpenCollection VCXCollectionMyVideos
-VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageCollectionOpened
-waittestclass VCXMV
-
-VCXMV WaitForMessages 1MINUTE KVCXMYVideosTestMessageListComplete
-waittestclass VCXMV
-
-VCXMV CheckMediaDetail ANY_DRIVE EVcxMyVideosTvRecordings EVcxTestMapping_KMPXMediaGeneralTitle "TV recordings"
-VCXMV CheckMediaDetail ANY_DRIVE EVcxMyVideosTvRecordings EVcxTestMapping_KVcxMediaMyVideosCategoryItemCount 2
-VCXMV CheckMediaDetail ANY_DRIVE EVcxMyVideosTvRecordings EVcxTestMapping_KVcxMediaMyVideosCategoryNewItemCount 1
-VCXMV CheckMediaDetail ANY_DRIVE EVcxMyVideosTvRecordings EVcxTestMapping_KVcxMediaMyVideosCategoryNewItemName "OriginRecording"
-
-print OK!
-delete VCXMV
-[Endtest]
-
-#------------------------------------------------------------------------------------
-#
# Tests that category 'Captured videos' has correct details when there's videos with different origins.
#
#------------------------------------------------------------------------------------
--- a/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/group/VCXMyVideosCollectionPluginTest.pkg Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/group/VCXMyVideosCollectionPluginTest.pkg Thu Jun 24 09:49:13 2010 +0300
@@ -17,13 +17,17 @@
&EN
; Provide value for uid
-#{"VCXMyVideosCollectionPluginTest"},(0x00000000),1,0,0,TYPE=SA, RU
+#{"VCXMyVideosCollectionPluginTest"},(0x101FB3E3),1,0,0,TYPE=SA, RU
; Localised Vendor name
%{"Nokia"}
; Unique Vendor name
:"Nokia"
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
; Logo
; None
@@ -53,9 +57,9 @@
; The testframework.ini files won't install with sis, only for ATS test runs.
"../init/TestFramework.ini" - "C:/TestFramework/TestFramework.ini"
-"../Data/MMC/video_3gp.3gp" - "e:/testing/data/video_3gp.xxx"
-"../Data/MMC/video_wmv.dat" - "e:/testing/data/video_wmv.xxx"
-"../Data/MMC/video_mpeg4.mp4" - "e:/testing/data/video_mpeg4.xxx"
+"../Data/MMC/video_3gp.3gp" - "c:/testing/data/video_3gp.xxx"
+"../Data/MMC/video_wmv.dat" - "c:/testing/data/video_wmv.xxx"
+"../Data/MMC/video_mpeg4.mp4" - "c:/testing/data/video_mpeg4.xxx"
; Embedded SIS
; None
--- a/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/group/bld.inf Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/group/bld.inf Thu Jun 24 09:49:13 2010 +0300
@@ -15,14 +15,16 @@
*
*/
+#include <platform_paths.hrh>
+
PRJ_PLATFORMS
DEFAULT
PRJ_TESTEXPORTS
-../data/mmc/video_3gp.3gp /epoc32/winscw/c/testing/data/video_3gp.xxx
-../data/mmc/video_mpeg4.mp4 /epoc32/winscw/c/testing/data/video_mpeg4.xxx
-../data/mmc/video_wmv.dat /epoc32/winscw/c/testing/data/video_wmv.xxx
+../data/mmc/video_3gp.3gp /epoc32/winscw/c/testing/data/video_3gp.xxx
+../data/mmc/video_mpeg4.mp4 /epoc32/winscw/c/testing/data/video_mpeg4.xxx
+../data/mmc/video_wmv.dat /epoc32/winscw/c/testing/data/video_wmv.xxx
../conf/VCXDrives.inc /epoc32/winscw/c/testframework/VCXDrives.inc
../conf/VCXErrors.inc /epoc32/winscw/c/testframework/VCXErrors.inc
../conf/vcxmvcollectionplugintest.inc /epoc32/winscw/c/testframework/vcxmvcollectionplugintest.inc
@@ -30,6 +32,16 @@
../conf/VCXMyVideosCollectionPluginTestCategories.cfg /epoc32/winscw/c/testframework/VCXMyVideosCollectionPluginTestCategories.cfg
../conf/VCXMyVideosCollectionPluginTestAlbums.cfg /epoc32/winscw/c/testframework/VCXMyVideosCollectionPluginTestAlbums.cfg
+../data/mmc/video_3gp.3gp /epoc32/data/z/system/testdata/video_3gp.xxx
+../data/mmc/video_mpeg4.mp4 /epoc32/data/z/system/testdata/video_mpeg4.xxx
+../data/mmc/video_wmv.dat /epoc32/data/z/system/testdata/video_wmv.xxx
+../conf/VCXDrives.inc /epoc32/data/z/system/testdata/VCXDrives.inc
+../conf/VCXErrors.inc /epoc32/data/z/system/testdata/VCXErrors.inc
+../conf/vcxmvcollectionplugintest.inc /epoc32/data/z/system/testdata/vcxmvcollectionplugintest.inc
+../conf/VCXMyVideosCollectionPluginTest.cfg /epoc32/data/z/system/testdata/VCXMyVideosCollectionPluginTest.cfg
+../conf/VCXMyVideosCollectionPluginTestCategories.cfg /epoc32/data/z/system/testdata/VCXMyVideosCollectionPluginTestCategories.cfg
+../conf/VCXMyVideosCollectionPluginTestAlbums.cfg /epoc32/data/z/system/testdata/VCXMyVideosCollectionPluginTestAlbums.cfg
+
PRJ_EXPORTS
PRJ_TESTMMPFILES
--- a/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/inc/VCXMyVideosTestUtils.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/inc/VCXMyVideosTestUtils.h Thu Jun 24 09:49:13 2010 +0300
@@ -83,7 +83,7 @@
/*
* Creates a video file to the system.
*/
- void CreateVideoFileL( TVcxTestVideoType aVideoType, TDesC& aFileName, TInt aSize );
+ void CreateVideoFileL( TVcxTestVideoType aVideoType, TDesC& aFileName, TInt aSize, TBool aUniqueName = false );
/*
* Creates video files to the system.
--- a/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/src/VCXMyVideosCollectionPluginTestBlocks.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/src/VCXMyVideosCollectionPluginTestBlocks.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -2970,7 +2970,48 @@
TInt err( KErrNone );
iLastReceivedMessage = -1;
-
+
+ if(aDoSync)
+ {
+ // Disable automatic refresh.
+ iTester->SetAutomaticRefresh( EFalse );
+ }
+
+ RArray<TInt> messages;
+
+ for(int i = 0; i < aVideoCount; i++)
+ {
+ // Create the video.
+ TRAP( err, iTestUtils->CreateVideoFileL( aType, *path, aSize, ETrue ) );
+ if(err != KErrNone)
+ {
+ VCXLOGLO2("CVCXMyVideosCollectionPluginTest:: CreateVideoFileL returned error: %d:", err);
+ }
+
+ if( aDoSync && iTester->GetCurrentLevel() == 3 )
+ {
+ // Wait for insertion event.
+ messages.Append( KVCXMYVideosTestMessageMpxVideoInserted );
+ WaitForMessagesL( ETrue, messages, 60, ETrue );
+ messages.Reset();
+ }
+ }
+
+ if( aDoSync )
+ {
+ // Refresh.
+ messages.Reset();
+ iTester->RefreshContentsL();
+ messages.Append( KVCXMYVideosTestMessageCollectionOpened );
+ CleanupClosePushL( messages );
+ WaitForMessagesL( ETrue, messages, 30, ETrue );
+ CleanupStack::PopAndDestroy( &messages );
+ iTester->SetAutomaticRefresh( ETrue );
+ }
+
+ CleanupStack::PopAndDestroy( path );
+
+#if 0
if( aVideoCount == 1 )
{
// Save the path for later use.
@@ -3035,6 +3076,7 @@
}
}
}
+#endif
}
// -----------------------------------------------------------------------------
--- a/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/src/VCXMyVideosCollectionPluginTester.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/src/VCXMyVideosCollectionPluginTester.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -1644,6 +1644,7 @@
delete iCollectionEntries;
iCollectionEntries = NULL;
iCollectionEntries = CMPXMedia::NewL( *aMessage );
+ iCollectionMediaArray = iCollectionEntries->Value<CMPXMediaArray>( KMPXMediaArrayContents );
UpdateOwnedMediaArrayL();
@@ -2822,7 +2823,7 @@
for( TInt i = 0; i < iAlbumIds.Count(); i++ )
{
- // TODO: removing photos albums causes fails in opening albums.
+ // don't remove photos albums
if( iAlbumIds[i].iId1 > 2 )
{
album = CMPXMedia::NewL();
@@ -3027,7 +3028,7 @@
break;
}
indexOfMediaWithDrive++;
- }
+ }
}
}
}
--- a/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/src/VCXMyVideosTestUtils.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/mpxmyvideoscollection/tsrc/mpxmvcolltest/src/VCXMyVideosTestUtils.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -97,115 +97,138 @@
// -----------------------------------------------------------------------------
-// CVCXMyVideosTestUtils::CreateVideoFilesL
+// CVCXMyVideosTestUtils::CreateVideoFileL
// -----------------------------------------------------------------------------
//
-void CVCXMyVideosTestUtils::CreateVideoFileL( TVcxTestVideoType aVideoType, TDesC& aFileName, TInt aSize )
+void CVCXMyVideosTestUtils::CreateVideoFileL( TVcxTestVideoType aVideoType, TDesC& aFileName, TInt aSize, TBool aUniqueName )
{
VCXLOGLO1(">>>CVcxTestVideoCreator::CreateVideoL");
- // Resolve source filename
- TBuf<256> srcFileName;
+ // Resolve source filename
+ TBuf<256> srcFileName;
- GetVideoFile( srcFileName, aVideoType, _L("C") );
+ GetVideoFile( srcFileName, aVideoType, _L("C") );
+ if( !BaflUtils::FileExists(iFs, srcFileName) )
+ {
+ VCXLOGLO2("CVcxTestVideoCreator:: %S does not exist.", &srcFileName);
+ GetVideoFile( srcFileName, aVideoType, _L("E") );
if( !BaflUtils::FileExists(iFs, srcFileName) )
{
VCXLOGLO2("CVcxTestVideoCreator:: %S does not exist.", &srcFileName);
- GetVideoFile( srcFileName, aVideoType, _L("E") );
- if( !BaflUtils::FileExists(iFs, srcFileName) )
- {
- VCXLOGLO2("CVcxTestVideoCreator:: %S does not exist.", &srcFileName);
- VCXLOGLO2("CVcxTestVideoCreator:: test video file %S missing! PANIC.", &srcFileName);
- User::Panic(_L("Video files missing!"), KErrNotFound);
- }
+ VCXLOGLO2("CVcxTestVideoCreator:: test video file %S missing! PANIC.", &srcFileName);
+ User::Panic(_L("Video files missing!"), KErrNotFound);
}
-
- BaflUtils::EnsurePathExistsL( iFs, aFileName.Left( aFileName.LocateReverse('\\') ) );
+ }
+
+ BaflUtils::EnsurePathExistsL( iFs, aFileName.Left( aFileName.LocateReverse('\\') ) );
+ HBufC* newFileName = HBufC::NewL( 256 );
+ CleanupStack::PushL( newFileName );
+
+ if(!aUniqueName)
+ {
+ newFileName->Des().Copy( aFileName );
BaflUtils::DeleteFile( iFs, aFileName );
-
- VCXLOGLO2("CVcxTestVideoCreator:: aSize = %d", aSize);
-
- TInt64 wantedSize( 0 );
-
- // Check the size
- if( aSize == KVcxTestLargeFile3GB ) {
- wantedSize = 1024*1024*1024 * 3;
+ }
+ else
+ {
+ newFileName->Des().Copy( aFileName );
+ TInt dotPos = aFileName.LocateReverse('.');
+ int count = 0;
+ while( BaflUtils::FileExists( iFs, *newFileName ) )
+ {
+ newFileName->Des().Copy( aFileName.Left( aFileName.LocateReverse('\\') ) );
+ newFileName->Des().Copy( aFileName.Left( dotPos ) );
+ newFileName->Des().Append( _L("_") );
+ newFileName->Des().AppendNum( count++ );
+ newFileName->Des().Append( aFileName.Right( aFileName.Length() - dotPos ) );
}
- else {
- wantedSize = aSize;
- }
-
- //wantedSize = wantedSize == 0 ? wantedSize -1 : wantedSize;
-
- VCXLOGLO2("CVcxTestVideoCreator:: Wanted file size: %Ld", wantedSize);
+ }
+
+ VCXLOGLO2("CVcxTestVideoCreator:: aSize = %d", aSize);
+
+ TInt64 wantedSize( 0 );
+
+ // Check the size
+ if( aSize == KVcxTestLargeFile3GB ) {
+ wantedSize = 1024*1024*1024 * 3;
+ }
+ else {
+ wantedSize = aSize;
+ }
+
+ //wantedSize = wantedSize == 0 ? wantedSize -1 : wantedSize;
+
+ VCXLOGLO2("CVcxTestVideoCreator:: Wanted file size: %Ld", wantedSize);
- // Read source file into memory, won't work on huge files.
- RFile64 srcFile;
- VCXLOGLO2("CVcxTestVideoCreator:: Opening %S", &srcFileName);
- User::LeaveIfError( srcFile.Open( iFs, srcFileName, EFileRead ) );
- CleanupClosePushL( srcFile );
+ // Read source file into memory, won't work on huge files.
+ RFile64 srcFile;
+ VCXLOGLO2("CVcxTestVideoCreator:: Opening %S", &srcFileName);
+ User::LeaveIfError( srcFile.Open( iFs, srcFileName, EFileRead ) );
+ CleanupClosePushL( srcFile );
+
+ TInt64 srcSize(0);
+ VCXLOGLO2("CVcxTestVideoCreator:: Getting size of %S", &srcFileName);
+ User::LeaveIfError( srcFile.Size( srcSize ) );
- TInt64 srcSize(0);
- VCXLOGLO2("CVcxTestVideoCreator:: Getting size of %S", &srcFileName);
- User::LeaveIfError( srcFile.Size( srcSize ) );
+ HBufC8* data = HBufC8::NewL( srcSize );
+ TPtr8 ptr( data->Des() );
+ srcFile.Read( ptr, srcSize );
+ CleanupStack::PopAndDestroy( &srcFile );
- HBufC8* data = HBufC8::NewL( srcSize );
- TPtr8 ptr( data->Des() );
- srcFile.Read( ptr, srcSize );
- CleanupStack::PopAndDestroy( &srcFile );
+ CleanupStack::PushL( data );
+
+ // Write new file.
+ RFile64 dstFile;
+ VCXLOGLO1("CVcxTestVideoCreator:: Replace");
+ User::LeaveIfError( dstFile.Replace( iFs, *newFileName, EFileWrite ) );
+ CleanupClosePushL(dstFile);
- CleanupStack::PushL( data );
+ if( wantedSize <= srcSize )
+ {
+ if( wantedSize == -1 )
+ {
+ VCXLOGLO2("CVcxTestVideoCreator:: Writing %Ld", srcSize);
+ User::LeaveIfError( dstFile.Write( *data, srcSize ) );
+ }
+ else
+ {
+ VCXLOGLO2("CVcxTestVideoCreator:: Writing %Ld", wantedSize);
+ User::LeaveIfError( dstFile.Write( *data, wantedSize ) );
+ }
+ }
+ else
+ {
+ VCXLOGLO2("CVcxTestVideoCreator:: Writing %Ld", srcSize);
+ User::LeaveIfError( dstFile.Write( *data, srcSize ) );
- // Write new file.
- RFile64 dstFile;
- VCXLOGLO1("CVcxTestVideoCreator:: Replace");
- User::LeaveIfError( dstFile.Replace( iFs, aFileName, EFileWrite ) );
- CleanupClosePushL(dstFile);
-
- if( wantedSize <= srcSize )
+ const TInt KVcxTest200Kilos = 1024*200;
+ HBufC8* buff = HBufC8::NewL( KVcxTest200Kilos );
+ buff->Des().SetLength( KVcxTest200Kilos );
+ CleanupStack::PushL( buff );
+ TInt64 bytesToWrite = wantedSize - srcSize;
+ while( bytesToWrite > 0 )
{
- if( wantedSize == -1 )
+ if( bytesToWrite >= KVcxTest200Kilos )
{
- VCXLOGLO2("CVcxTestVideoCreator:: Writing %Ld", srcSize);
- User::LeaveIfError( dstFile.Write( *data, srcSize ) );
+ bytesToWrite -= KVcxTest200Kilos;
+ User::LeaveIfError( dstFile.Write( *buff ) );
}
else
{
- VCXLOGLO2("CVcxTestVideoCreator:: Writing %Ld", wantedSize);
- User::LeaveIfError( dstFile.Write( *data, wantedSize ) );
+ User::LeaveIfError( dstFile.Write( *buff, bytesToWrite ) );
+ bytesToWrite = 0;
}
}
- else
- {
- VCXLOGLO2("CVcxTestVideoCreator:: Writing %Ld", srcSize);
- User::LeaveIfError( dstFile.Write( *data, srcSize ) );
+ CleanupStack::PopAndDestroy( buff );
+ }
- const TInt KVcxTest200Kilos = 1024*200;
- HBufC8* buff = HBufC8::NewL( KVcxTest200Kilos );
- buff->Des().SetLength( KVcxTest200Kilos );
- CleanupStack::PushL( buff );
- TInt64 bytesToWrite = wantedSize - srcSize;
- while( bytesToWrite > 0 )
- {
- if( bytesToWrite >= KVcxTest200Kilos )
- {
- bytesToWrite -= KVcxTest200Kilos;
- User::LeaveIfError( dstFile.Write( *buff ) );
- }
- else
- {
- User::LeaveIfError( dstFile.Write( *buff, bytesToWrite ) );
- bytesToWrite = 0;
- }
- }
- CleanupStack::PopAndDestroy( buff );
- }
+ CleanupStack::PopAndDestroy( &dstFile );
+ CleanupStack::PopAndDestroy( data );
+
+ CleanupStack::PopAndDestroy( newFileName );
- CleanupStack::PopAndDestroy( &dstFile );
- CleanupStack::PopAndDestroy( data );
-
- VCXLOGLO1("<<<CVcxTestVideoCreator::CreateVideoL");
+ VCXLOGLO1("<<<CVcxTestVideoCreator::CreateVideoL");
}
--- a/videocollection/tsrc/stubs/inc/videocollectionviewutilsdata.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/tsrc/stubs/inc/videocollectionviewutilsdata.h Thu Jun 24 09:49:13 2010 +0300
@@ -37,7 +37,9 @@
mIconString = "";
mPressedString = "";
mLastStatusAdditional = QVariant();
- mWidgetLevel = VideoCollectionCommon::ELevelInvalid;
+ mWidgetLevel = VideoCollectionCommon::ELevelVideos;
+ mActivityCollectionId = TMPXItemId::InvalidId();
+ mActivityCollectionName = "";
}
public: // data
@@ -52,6 +54,8 @@
static QString mPressedString;
static QVariant mLastStatusAdditional;
static VideoCollectionCommon::TCollectionLevels mWidgetLevel;
+ static TMPXItemId mActivityCollectionId;
+ static QString mActivityCollectionName;
};
#endif /* VIDEOCOLLECTIONVIEWUTILSDATA_H */
--- a/videocollection/tsrc/stubs/src/videocollectionuiloader.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/tsrc/stubs/src/videocollectionuiloader.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -144,7 +144,17 @@
}
VideoListWidget *videoList = qobject_cast<VideoListWidget*>(object);
VideoSortFilterProxyModel *model = wrapper.getModel(type);
- videoList->initialize(*model, 0);
+
+ VideoCollectionCommon::TCollectionLevels level = VideoCollectionCommon::ELevelInvalid;
+ if(name == DOCML_NAME_VC_VIDEOLISTWIDGET )
+ {
+ level = VideoCollectionCommon::ELevelVideos;
+ }
+ else if(name == DOCML_NAME_VC_COLLECTIONWIDGET)
+ {
+ level = VideoCollectionCommon::ELevelCategory;
+ }
+ videoList->initialize(*model, 0, level);
}
else if (name == DOCML_NAME_DIALOG)
{
--- a/videocollection/tsrc/stubs/src/videocollectionviewutils.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/tsrc/stubs/src/videocollectionviewutils.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -28,7 +28,9 @@
QString VideoCollectionViewUtilsData::mIconString = "";
QString VideoCollectionViewUtilsData::mPressedString = "";
QVariant VideoCollectionViewUtilsData::mLastStatusAdditional = QVariant();
-VideoCollectionCommon::TCollectionLevels VideoCollectionViewUtilsData::mWidgetLevel = VideoCollectionCommon::ELevelInvalid;
+VideoCollectionCommon::TCollectionLevels VideoCollectionViewUtilsData::mWidgetLevel = VideoCollectionCommon::ELevelVideos;
+TMPXItemId VideoCollectionViewUtilsData::mActivityCollectionId = TMPXItemId::InvalidId();
+QString VideoCollectionViewUtilsData::mActivityCollectionName = "";
VideoCollectionViewUtils& VideoCollectionViewUtils::instance()
{
@@ -125,16 +127,28 @@
// not stubbed
}
-void VideoCollectionViewUtils::saveWidgetLevel(VideoCollectionCommon::TCollectionLevels &level)
+void VideoCollectionViewUtils::setWidgetActivityLevel(const VideoCollectionCommon::TCollectionLevels &level)
{
- Q_UNUSED(level);
- // not stubbed
+ VideoCollectionViewUtilsData::mWidgetLevel = level;
}
-VideoCollectionCommon::TCollectionLevels VideoCollectionViewUtils::loadWidgetLevel()
+void VideoCollectionViewUtils::getActivityWidgetLevel(VideoCollectionCommon::TCollectionLevels &level)
+{
+ level = VideoCollectionViewUtilsData::mWidgetLevel;
+}
+
+void VideoCollectionViewUtils::setCollectionActivityData(const TMPXItemId &id, const QString &name)
{
- return VideoCollectionViewUtilsData::mWidgetLevel;
+ VideoCollectionViewUtilsData::mActivityCollectionId = id;
+ VideoCollectionViewUtilsData::mActivityCollectionName = name;
}
+
+void VideoCollectionViewUtils::getCollectionActivityData(TMPXItemId &id, QString &name)
+{
+ id = VideoCollectionViewUtilsData::mActivityCollectionId;
+ name = VideoCollectionViewUtilsData::mActivityCollectionName;
+}
+
void VideoCollectionViewUtils::sortModel(VideoSortFilterProxyModel *model,
bool async, VideoCollectionCommon::TCollectionLevels target)
--- a/videocollection/tsrc/stubs/src/videolistview.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/tsrc/stubs/src/videolistview.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -32,7 +32,6 @@
mUiUtils(VideoCollectionViewUtils::instance()),
mWrapper(VideoCollectionWrapper::instance()),
mUiLoader(uiLoader),
-mIsService(false),
mModelReady(false),
mVideoServices(0),
mCurrentList(0),
@@ -61,7 +60,7 @@
// not stubbed
}
-int VideoListView::activateView(const TMPXItemId &itemId)
+int VideoListView::activateView(TMPXItemId &itemId)
{
Q_UNUSED(itemId);
@@ -206,11 +205,11 @@
void VideoListView::collectionOpenedSlot(bool collectionOpened,
const QString& collection,
- const QModelIndex &index)
+ const TMPXItemId &id)
{
Q_UNUSED(collectionOpened);
Q_UNUSED(collection);
- Q_UNUSED(index);
+ Q_UNUSED(id);
// not stubbed
}
--- a/videocollection/tsrc/stubs/src/videolistwidget.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/tsrc/stubs/src/videolistwidget.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -33,7 +33,6 @@
mVideoServices(0),
mCurrentLevel(VideoCollectionCommon::ELevelInvalid),
mSignalsConnected(false),
- mIsService(false),
mNavKeyAction(0),
mContextMenu(0),
mSelectionMode(HbAbstractItemView::NoSelection),
@@ -49,9 +48,9 @@
}
int VideoListWidget::initialize(VideoSortFilterProxyModel &model,
- VideoServices *videoServices, VideoCollectionCommon::TCollectionLevels level)
+ bool isService, VideoCollectionCommon::TCollectionLevels level)
{
- Q_UNUSED(videoServices);
+ Q_UNUSED(isService);
VideoListWidgetData::mInitializeCount++;
mModel = &model;
@@ -178,6 +177,11 @@
// not stubbed
}
+void VideoListWidget::endVideoFecthingSlot()
+{
+ // not stubbed
+}
+
void VideoListWidget::scrollingStartedSlot()
{
// not stubbed
--- a/videocollection/tsrc/videoservicestestapp/src/videoservicestestappview.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/tsrc/videoservicestestapp/src/videoservicestestappview.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -214,6 +214,9 @@
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";
}
@@ -285,6 +288,9 @@
mErrorEdit->setText("Failed to send REQ");
qDebug() << "VideoServicesTestAppView::browseCapturedVideosFinished: XQAiwRequest::send returned false";
}
+ // req no longer needed, remove it
+ delete mReq;
+ mReq = 0;
}
}
@@ -324,6 +330,9 @@
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";
}
@@ -364,7 +373,9 @@
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";
}
@@ -432,6 +443,9 @@
mErrorEdit->setText("Failed to send REQ");
qDebug() << "VideoServicesTestAppView::browseCapturedVideosFinished: XQAiwRequest::send returned false";
}
+ // req no longer needed, remove it
+ delete mReq;
+ mReq = 0;
}
}
@@ -498,6 +512,9 @@
mErrorEdit->setText("Failed to send REQ");
qDebug() << "VideoServicesTestAppView::browseCapturedVideosFinished: XQAiwRequest::send returned false";
}
+ // req no longer needed, remove it
+ delete mReq;
+ mReq = 0;
}
}
Binary file videocollection/videocollectionview/conf/CI_videoplayerservicelist.confml has changed
Binary file videocollection/videocollectionview/conf/videolistview.confml has changed
Binary file videocollection/videocollectionview/conf/videolistview_2002BC63.crml has changed
Binary file videocollection/videocollectionview/conf/videoplayerservicelist.confml has changed
--- a/videocollection/videocollectionview/data/videolistselectiondialog.docml Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/data/videolistselectiondialog.docml Thu Jun 24 09:49:13 2010 +0300
@@ -57,7 +57,7 @@
</widget>
<widget name="mListContainer" role="HbDialog:contentWidget" type="HbStackedWidget"/>
<sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
- <sizehint height="95.22388un" type="PREFERRED" width="53.58209un"/>
+ <sizehint height="var(hb-param-screen-height)" type="PREFERRED" width="var(hb-param-screen-width)"/>
</widget>
<metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
<uistate name="Common ui state" sections="#common"/>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/videocollectionview/inc/videocollectioncenrepdefs.h Thu Jun 24 09:49:13 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* 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:
+*
+*/
+
+#ifndef _VIDEOCOLLETIONCENREP_H_
+#define _VIDEOCOLLETIONCENREP_H_
+
+// Cenrep constants.
+const int KVideoCollectionViewCenrepUid(0x2002BC63);
+const int KVideoCollectionViewCenrepVideoSortingRoleKey(0x1);
+const int KVideoCollectionViewCenrepVideoSortingOrderKey(0x2);
+const int KVideoCollectionViewCenrepCollectionsSortingRoleKey(0x3);
+const int KVideoCollectionViewCenrepCollectionsSortingOrderKey(0x4);
+
+const int KVideoCollectionViewCenrepServiceItem1Title(0x20);
+const int KVideoCollectionViewCenrepServiceItem1Text(0x21);
+const int KVideoCollectionViewCenrepServiceItem1IconPath(0x22);
+const int KVideoCollectionViewCenrepServiceItem1PressedIconPath(0x23);
+const int KVideoCollectionViewCenrepServiceItem1ToolbarIconPath(0x24);
+const int KVideoCollectionViewCenrepServiceItem1Url(0x25);
+const int KVideoCollectionViewCenrepServiceItem1Uid(0x26);
+
+const int KVideoCollectionViewCenrepServiceItem2Title(0x27);
+const int KVideoCollectionViewCenrepServiceItem2Text(0x28);
+const int KVideoCollectionViewCenrepServiceItem2ToolbarIconPath(0x29);
+const int KVideoCollectionViewCenrepServiceItem2Url(0x2A);
+const int KVideoCollectionViewCenrepServiceItem2Uid(0x2B);
+
+const int KVideoCollectionViewCenrepServiceItem3Title(0x2C);
+const int KVideoCollectionViewCenrepServiceItem3Text(0x2D);
+const int KVideoCollectionViewCenrepServiceItem3ToolbarIconPath(0x2E);
+const int KVideoCollectionViewCenrepServiceItem3Url(0x2F);
+const int KVideoCollectionViewCenrepServiceItem3Uid(0x30);
+
+const int KVideoCollectionViewCenrepServiceItem4Title(0x31);
+const int KVideoCollectionViewCenrepServiceItem4Text(0x32);
+const int KVideoCollectionViewCenrepServiceItem4ToolbarIconPath(0x33);
+const int KVideoCollectionViewCenrepServiceItem4Url(0x34);
+const int KVideoCollectionViewCenrepServiceItem4Uid(0x35);
+
+const int KVideoCollectionViewCenrepServiceItem5Title(0x36);
+const int KVideoCollectionViewCenrepServiceItem5Text(0x37);
+const int KVideoCollectionViewCenrepServiceItem5ToolbarIconPath(0x38);
+const int KVideoCollectionViewCenrepServiceItem5Url(0x39);
+const int KVideoCollectionViewCenrepServiceItem5Uid(0x3A);
+
+const int KVideoCollectionViewCenrepServiceItem6Title(0x3B);
+const int KVideoCollectionViewCenrepServiceItem6Text(0x3C);
+const int KVideoCollectionViewCenrepServiceItem6ToolbarIconPath(0x3D);
+const int KVideoCollectionViewCenrepServiceItem6Url(0x3E);
+const int KVideoCollectionViewCenrepServiceItem6Uid(0x3F);
+
+#endif // _VIDEOCOLLETIONCENREP_H_
--- a/videocollection/videocollectionview/inc/videocollectionviewplugin.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/inc/videocollectionviewplugin.h Thu Jun 24 09:49:13 2010 +0300
@@ -22,6 +22,7 @@
class VideoCollectionUiLoader;
class VideoListView;
+class VideoServices;
class VideoCollectionViewPlugin: public MpxViewPlugin
{
@@ -142,10 +143,10 @@
bool mActivated;
/*
- * Service mode flag. True if started as a service, otherwise false.
+ * Video service object.
*
*/
- bool mIsService;
+ VideoServices *mVideoServices;
};
#endif // VIDEOVIEWPLUGIN_H
--- a/videocollection/videocollectionview/inc/videocollectionviewutils.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/inc/videocollectionviewutils.h Thu Jun 24 09:49:13 2010 +0300
@@ -85,19 +85,39 @@
static void sortModel(VideoSortFilterProxyModel *model, bool async, VideoCollectionCommon::TCollectionLevels target);
/**
- * Method saves the latest videolist widget level into activity manager db
+ * Method saves the latest videolist widget level into local activity manager
+ * data container.
+ *
+ * Note that collection id will be cleared in activity data in case level is
+ * all videos or collection list.
*
- * @param level type of widget
+ * @param level collection level
*/
- static void saveWidgetLevel(VideoCollectionCommon::TCollectionLevels &level);
+ static void setWidgetActivityLevel(const VideoCollectionCommon::TCollectionLevels &level);
+
+ /**
+ * Method gets the latest videolist widget level from local activity manager
+ * data container.
+ *
+ * @param level, reference to level variable where value is saved
+ */
+ static void getActivityWidgetLevel(VideoCollectionCommon::TCollectionLevels &level);
/**
- * Method loads the latest videolist widget level from activity manager db.
- * Possible values are ELevelCategory or ELevelVideos
+ * method saves provided id and string into local activity
+ * manager data container.
*
- * @return VideoCollectionCommon::TCollectionLevels
+ * @param id. Id to save
*/
- static VideoCollectionCommon::TCollectionLevels loadWidgetLevel();
+ static void setCollectionActivityData(const TMPXItemId &id, const QString &name);
+
+ /**
+ * method reads id and string from from local activity manager data
+ * container and prepares MPX item id.
+ *
+ * @param id. Id to return
+ */
+ static void getCollectionActivityData(TMPXItemId &id, QString &name);
public slots:
--- a/videocollection/videocollectionview/inc/videohintwidget.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/inc/videohintwidget.h Thu Jun 24 09:49:13 2010 +0300
@@ -123,12 +123,7 @@
* Service icon.
*/
HbIcon *mServiceIcon;
-
- /**
- * Add videos icon.
- */
- HbIcon *mAddVideosIcon;
-
+
/**
* Current hint level.
*/
--- a/videocollection/videocollectionview/inc/videolistview.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/inc/videolistview.h Thu Jun 24 09:49:13 2010 +0300
@@ -81,7 +81,7 @@
* @param itemId, Id of the widget which is to be activated
* @return 0 activation ok, < 0 if activation fails
*/
- int activateView(const TMPXItemId &itemId);
+ int activateView(TMPXItemId &itemId);
/**
* Deactivates current widget, disables menu and disconnects
@@ -250,12 +250,12 @@
/**
* Slot is connected to videolistwidgets collectionOpened -signal
*
- * @param collectionOpened
+ * @param openingCollection
* @param collection contains the name of the collection opened
*/
- void collectionOpenedSlot(bool collectionOpened,
+ void collectionOpenedSlot(bool openingCollection,
const QString& collection,
- const QModelIndex &index);
+ const TMPXItemId &collectionId);
/**
* Slot which is called when an object has been loaded.
@@ -320,12 +320,19 @@
void showAction(bool show, const QString &name);
/**
- * Activate to all videos view.
+ * Activates all videos or collections -list.
+ *
+ * @return int 0 ok
*/
- int activateVideosView();
+ int activateMainView();
/**
- * Activate to collection content view.
+ * Activate to collection content view when servicing.
+ * Only default collections are supported. If some other
+ * id is provided, all videos -list will be activated
+ *
+ * @param itemId. Id of collection to activate
+ * @return int
*/
int activateCollectionContentView(const TMPXItemId &itemId);
@@ -359,11 +366,6 @@
VideoCollectionUiLoader* mUiLoader;
/**
- * Boolean for knowing when the app was started as a service.
- */
- bool mIsService;
-
- /**
* Boolean for knowing when the model is ready.
*/
bool mModelReady;
@@ -380,6 +382,7 @@
/**
* pointer to videoservices instance
+ * if exists, app has started as service
*/
VideoServices* mVideoServices;
--- a/videocollection/videocollectionview/inc/videolistwidget.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/inc/videolistwidget.h Thu Jun 24 09:49:13 2010 +0300
@@ -69,12 +69,12 @@
* layout and activates correct view based on the current orientation
*
* @param model Model for this list view.
- * @param videoservices
+ * @param isService, flag indicating app service status
* @param level presetted level for the widget
* @return int 0 initialization ok, < 0 if fails.
*/
int initialize(VideoSortFilterProxyModel &model,
- VideoServices* videoServices = 0,
+ bool isService = false,
VideoCollectionCommon::TCollectionLevels level = VideoCollectionCommon::ELevelInvalid);
/**
@@ -148,7 +148,7 @@
* @param true if opened, false if closed.
* @param optional name string
*/
- void collectionOpened(bool, const QString&, const QModelIndex&);
+ void collectionOpened(bool, const QString&, const TMPXItemId&);
/**
* signal is connected to service's itemSelected -slot
@@ -243,6 +243,12 @@
*
*/
void back();
+
+ /**
+ * connected to navi -quit action triggered signal.
+ * Signals fileUri with empty path for servicing to be completed
+ */
+ void endVideoFecthingSlot();
/**
* Signaled when view scrolling starts, pauses thumbnail creation.
@@ -278,7 +284,7 @@
*
*/
void fetchThumbnailsForVisibleItems();
-
+
private:
enum TContextActionIds
@@ -307,9 +313,9 @@
void setContextMenu();
/**
- * Method sets correct popup menu during browsing service.
+ * Method sets correct popup menu for service.
*/
- void setBrowsingServiceContextMenu();
+ void setServiceContextMenu();
/**
* Method connects signals needed by the widget
@@ -325,11 +331,6 @@
void disConnectSignals();
/**
- * Return if this is a browsing service.
- */
- bool isBrowsingService() const;
-
- /**
* Set navigation action.
*/
void setNavigationAction();
@@ -359,7 +360,8 @@
QPointer<VideoSortFilterProxyModel> mModel;
/**
- * pointer to videoservices instance
+ * pointer to videoservices instance. If exists,
+ * app has started as service.
*/
VideoServices* mVideoServices;
@@ -379,11 +381,6 @@
*/
bool mSignalsConnected;
- /**
- * Boolean for knowing when the app was started as a service.
- */
- bool mIsService;
-
/**
* Navigation softkey action.
*/
--- a/videocollection/videocollectionview/src/videocollectionuiloader.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/src/videocollectionuiloader.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 22 %
+// Version : %version: 24 %
// INCLUDE FILES
#include <qgraphicswidget.h>
@@ -34,7 +34,6 @@
#include "videocollectionwrapper.h"
#include "videosortfilterproxymodel.h"
#include "videocollectionviewutils.h"
-#include "videoservices.h"
#include "videocollectiontrace.h"
// ---------------------------------------------------------------------------
@@ -376,12 +375,7 @@
VideoCollectionViewUtils::sortModel(model, true, VideoCollectionCommon::ELevelVideos);
// init widget
- VideoServices *videoServices = 0;
- if (mIsService)
- {
- videoServices = VideoServices::instance();
- }
- videoList->initialize(*model, videoServices, VideoCollectionCommon::ELevelVideos);
+ videoList->initialize(*model, mIsService, VideoCollectionCommon::ELevelVideos);
}
}
}
@@ -399,12 +393,7 @@
if (videoList)
{
// init widget
- VideoServices *videoServices = 0;
- if (mIsService)
- {
- videoServices = VideoServices::instance();
- }
- videoList->initialize(*model, videoServices, VideoCollectionCommon::ELevelCategory);
+ videoList->initialize(*model, mIsService, VideoCollectionCommon::ELevelCategory);
}
}
}
@@ -422,13 +411,8 @@
if (videoList)
{
// init widget
- VideoServices *videoServices = 0;
- if (mIsService)
- {
- videoServices = VideoServices::instance();
- }
// cannot set level at this point yet: it can be either default or user defined collection
- videoList->initialize(*model, videoServices);
+ videoList->initialize(*model, mIsService);
}
}
}
--- a/videocollection/videocollectionview/src/videocollectionviewplugin.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/src/videocollectionviewplugin.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 23 %
+// Version : %version: 24 %
// INCLUDE FILES
#include <xqplugin.h>
@@ -41,7 +41,7 @@
: mUiLoader( 0 )
, mView( 0 )
, mActivated( false )
- , mIsService( false )
+ , mVideoServices( 0 )
{
FUNC_LOG;
}
@@ -72,14 +72,8 @@
}
mUiLoader->reset();
-
- if (XQServiceUtil::isService())
- {
- INFO("VideoCollectionViewPlugin::createView() service flag set to true.");
- mIsService = true;
- }
- mUiLoader->setIsService(mIsService);
+ mUiLoader->setIsService(XQServiceUtil::isService());
bool ok(false);
@@ -145,6 +139,12 @@
mView = 0;
delete mUiLoader;
mUiLoader = 0;
+
+ if(mVideoServices)
+ {
+ mVideoServices->decreaseReferenceCount();
+ mVideoServices = 0;
+ }
}
// ---------------------------------------------------------------------------
@@ -163,17 +163,18 @@
bool isService = XQServiceUtil::isService();
if (isService)
{
- VideoServices *videoServices = VideoServices::instance();
- if (videoServices)
+ if(!mVideoServices)
{
- VideoServices::TVideoService serviceType =
- videoServices->currentService();
- if (serviceType == VideoServices::EBrowse)
- {
- // activate browsing service
- itemId.iId1 = videoServices->getBrowseCategory();
- itemId.iId2 = KVcxMvcMediaTypeCategory;
- }
+ mVideoServices = VideoServices::instance();
+ }
+
+ VideoServices::TVideoService serviceType =
+ mVideoServices->currentService();
+ if (serviceType == VideoServices::EBrowse)
+ {
+ // activate browsing service
+ itemId.iId1 = mVideoServices->getBrowseCategory();
+ itemId.iId2 = KVcxMvcMediaTypeCategory;
}
}
int err = mView->activateView(itemId);
--- a/videocollection/videocollectionview/src/videocollectionviewutils.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/src/videocollectionviewutils.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 41 %
+// Version : %version: 43 %
// INCLUDE FILES
#include <hbglobal.h>
@@ -26,30 +26,33 @@
#include <hbmessagebox.h>
#include <hbnotificationdialog.h>
#include <centralrepository.h>
+#include <vcxmyvideosdefs.h>
#include "videocollectioncommon.h"
#include "videocollectionviewutils.h"
#include "videosortfilterproxymodel.h"
#include "videoactivitystate.h"
+#include "videocollectioncenrepdefs.h"
#include "videocollectiontrace.h"
// Object names.
const char* const VIEW_UTILS_OBJECT_NAME_STATUS_MSG = "vc:ViewUtilsStatusMessage";
const char* const VIEW_UTILS_OBJECT_NAME_MESSAGE_BOX_WARNING = "vc:ViewUtilsMessageBoxWarning";
-// Cenrep constants.
-const int KVideoCollectionViewCenrepUid(0x2002BC63);
-const int KVideoCollectionViewCenrepServiceIconKey(0x2);
-const int KVideoCollectionViewCenrepServiceIconPressedKey(0x3);
-const int KVideoCollectionViewCenrepVideoSortingRoleKey(0x5);
-const int KVideoCollectionViewCenrepVideoSortingOrderKey(0x6);
-const int KVideoCollectionViewCenrepCollectionsSortingRoleKey(0x7);
-const int KVideoCollectionViewCenrepCollectionsSortingOrderKey(0x8);
-
const int KAddToCollectionDataCount(2);
const int KAddToCollectionCountIndex(0);
const int KAddToCollectionNameIndex(1);
+// type of collectionview plugin's widget level(int):
+// all videos, collections or collection video list
+static const QString KEY_WIDGET_LEVEL = "_VideoActivity_widget_level_";
+
+// id of the collection whose videolist is to be shown (int).
+static const QString KEY_COLLECTION_ID = "_VideoActivity_collection_id_";
+
+// name of the collection whose videolist is to be shown (QString)
+static const QString KEY_COLLECTION_NAME = "_VideoActivity_collection_name_";
+
// ---------------------------------------------------------------------------
// instance
@@ -207,10 +210,10 @@
{
TBuf<255> iconValue;
TBuf<255> pressedValue;
- status = cenRep->Get(KVideoCollectionViewCenrepServiceIconKey, iconValue);
+ status = cenRep->Get(KVideoCollectionViewCenrepServiceItem1IconPath, iconValue);
if(status == KErrNone)
{
- status = cenRep->Get(KVideoCollectionViewCenrepServiceIconPressedKey, pressedValue);
+ status = cenRep->Get(KVideoCollectionViewCenrepServiceItem1PressedIconPath, pressedValue);
if(status == KErrNone)
{
QString iconTemp((QChar*)iconValue.Ptr(),iconValue.Length());
@@ -238,7 +241,7 @@
if(cenRep)
{
TBuf<255> uriValue;
- if(cenRep->Get(KVideoCollectionViewCenrepServiceIconKey, uriValue) == KErrNone)
+ if(cenRep->Get(KVideoCollectionViewCenrepServiceItem1Url, uriValue) == KErrNone)
{
QString uriTemp((QChar*)uriValue.Ptr(),uriValue.Length());
uri = uriTemp;
@@ -313,33 +316,93 @@
}
// ---------------------------------------------------------------------------
-// saveWidgetLevel
+// setWidgetActivityLevel
// ---------------------------------------------------------------------------
//
-void VideoCollectionViewUtils::saveWidgetLevel(VideoCollectionCommon::TCollectionLevels &level)
+void VideoCollectionViewUtils::setWidgetActivityLevel(
+ const VideoCollectionCommon::TCollectionLevels &level)
{
FUNC_LOG;
QVariant data = int(level);
- VideoActivityState::instance().setActivityData(data, VideoActivityData::KEY_WIDGET_LEVEL);
+ VideoActivityState::instance().setActivityData(data, KEY_WIDGET_LEVEL);
+
+ if(level != VideoCollectionCommon::ELevelDefaultColl &&
+ level != VideoCollectionCommon::ELevelAlbum)
+ {
+ // no need to save collection related data, clear them
+ data.clear();
+ VideoActivityState::instance().setActivityData(data, KEY_COLLECTION_ID);
+ VideoActivityState::instance().setActivityData(data, KEY_COLLECTION_NAME);
+ }
}
-
+
// ---------------------------------------------------------------------------
-// loadWidgetLevel
+// getActivityWidgetLevel
// ---------------------------------------------------------------------------
//
-VideoCollectionCommon::TCollectionLevels VideoCollectionViewUtils::loadWidgetLevel()
+void VideoCollectionViewUtils::getActivityWidgetLevel(VideoCollectionCommon::TCollectionLevels &level)
{
FUNC_LOG;
- // all videos view is the default value to be returned in case nothing can be read
- // from the activity manager
- VideoCollectionCommon::TCollectionLevels level(VideoCollectionCommon::ELevelVideos);
- QVariant data = VideoActivityState::instance().getActivityData(VideoActivityData::KEY_WIDGET_LEVEL);
- if(data.toInt() == VideoCollectionCommon::ELevelCategory)
+ // default value is all videos list level
+ level = VideoCollectionCommon::ELevelVideos;
+ QVariant data = VideoActivityState::instance().getActivityData(KEY_WIDGET_LEVEL);
+
+ int value = data.toInt();
+ if(value == VideoCollectionCommon::ELevelCategory)
{
level = VideoCollectionCommon::ELevelCategory;
}
- return level;
+ else if(value == VideoCollectionCommon::ELevelDefaultColl)
+ {
+ level = VideoCollectionCommon::ELevelDefaultColl;
+ }
+ else if(value == VideoCollectionCommon::ELevelAlbum)
+ {
+ level = VideoCollectionCommon::ELevelAlbum;
+ }
+}
+
+// ---------------------------------------------------------------------------
+// setCollectionActivityData
+// ---------------------------------------------------------------------------
+//
+void VideoCollectionViewUtils::setCollectionActivityData(const TMPXItemId &id, const QString &name)
+{
+ FUNC_LOG;
+ QVariant data = int(id.iId1);
+ VideoActivityState::instance().setActivityData(data, KEY_COLLECTION_ID);
+ data.clear();
+ data = name;
+ VideoActivityState::instance().setActivityData(data, KEY_COLLECTION_NAME);
+}
+// ---------------------------------------------------------------------------
+// getCollectionActivityData
+// ---------------------------------------------------------------------------
+//
+void VideoCollectionViewUtils::getCollectionActivityData(TMPXItemId &id, QString &name)
+{
+ FUNC_LOG;
+ id = TMPXItemId::InvalidId();
+ name = "";
+ VideoCollectionCommon::TCollectionLevels level = VideoCollectionCommon::ELevelVideos;
+ getActivityWidgetLevel(level);
+
+ if(level == VideoCollectionCommon::ELevelDefaultColl)
+ {
+ id.iId2 = KVcxMvcMediaTypeCategory;
+ }
+ else if(level == VideoCollectionCommon::ELevelAlbum)
+ {
+ id.iId2 = KVcxMvcMediaTypeAlbum;
+ }
+ if(id.iId2 != KMaxTUint32)
+ {
+ QVariant data = VideoActivityState::instance().getActivityData(KEY_COLLECTION_ID);
+ id.iId1 = data.toInt();
+ data = VideoActivityState::instance().getActivityData(KEY_COLLECTION_NAME);
+ name = data.toString();
+ }
}
// ---------------------------------------------------------------------------
--- a/videocollection/videocollectionview/src/videohintwidget.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/src/videohintwidget.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 13 %
+// Version : %version: 14 %
// INCLUDE FILES
#include <hbpushbutton.h>
@@ -36,12 +36,11 @@
: HbWidget( parent )
, mUiLoader( uiLoader )
, mServiceIcon( 0 )
- , mAddVideosIcon( 0 )
, mCurrentLevel( AllVideos )
, mButtonShown( false )
, mActivated( false )
{
- FUNC_LOG;
+ FUNC_LOG;
// NOP
}
@@ -51,9 +50,8 @@
//
VideoHintWidget::~VideoHintWidget()
{
- FUNC_LOG;
+ FUNC_LOG;
delete mServiceIcon;
- delete mAddVideosIcon;
}
// ---------------------------------------------------------------------------
@@ -62,7 +60,7 @@
//
int VideoHintWidget::initialize()
{
- FUNC_LOG;
+ FUNC_LOG;
VideoCollectionViewUtils& utils = VideoCollectionViewUtils::instance();
return utils.getServiceIconStrings(mServiceIconString, mServiceIconPressedString);
}
@@ -73,8 +71,8 @@
//
void VideoHintWidget::setLevel(HintLevel level)
{
- FUNC_LOG;
- INFO_1("VideoHintWidget::setLevel() level: %d", level);
+ FUNC_LOG;
+ INFO_1("VideoHintWidget::setLevel() level: %d", level);
mCurrentLevel = level;
if(mActivated) {
updateUiComponents();
@@ -87,9 +85,9 @@
//
void VideoHintWidget::setButtonShown(bool shown)
{
- FUNC_LOG;
- INFO_1("VideoHintWidget::setButtonShown() shown: %d", shown);
- mButtonShown = shown;
+ FUNC_LOG;
+ INFO_1("VideoHintWidget::setButtonShown() shown: %d", shown);
+ mButtonShown = shown;
if(mActivated) {
updateUiComponents();
}
@@ -101,7 +99,7 @@
//
void VideoHintWidget::orientationChangedSlot(Qt::Orientation targetOrientation)
{
- FUNC_LOG;
+ FUNC_LOG;
Q_UNUSED(targetOrientation);
updateUiComponents();
}
@@ -112,24 +110,22 @@
//
void VideoHintWidget::activate()
{
- FUNC_LOG;
+ FUNC_LOG;
if (!mActivated)
{
- if(mServiceIconString.isEmpty() ||
- mServiceIconPressedString.isEmpty())
- {
- return;
- }
-
HbMainWindow *mainWnd = hbInstance->allMainWindows().value(0);
connect(
mainWnd, SIGNAL(orientationChanged(Qt::Orientation)),
this, SLOT(orientationChangedSlot(Qt::Orientation)));
- mServiceIcon = new HbIcon(mServiceIconString);
- mServiceIcon->setIconName(mServiceIconPressedString, QIcon::Normal, QIcon::On);
-
- mAddVideosIcon = new HbIcon("qtg_mono_add_to_video_collection");
+ if(!mServiceIconString.isEmpty())
+ {
+ mServiceIcon = new HbIcon(mServiceIconString);
+ }
+ if(mServiceIcon && !mServiceIconPressedString.isEmpty())
+ {
+ mServiceIcon->setIconName(mServiceIconPressedString, QIcon::Normal, QIcon::On);
+ }
updateUiComponents();
@@ -145,7 +141,7 @@
//
void VideoHintWidget::deactivate()
{
- FUNC_LOG;
+ FUNC_LOG;
if (mActivated)
{
mActivated = false;
@@ -164,15 +160,9 @@
{
serviceButton->setIcon(HbIcon());
}
- if(mServiceIcon) {
- delete mServiceIcon;
- mServiceIcon = 0;
- }
-
- if(mAddVideosIcon) {
- delete mAddVideosIcon;
- mAddVideosIcon = 0;
- }
+
+ delete mServiceIcon;
+ mServiceIcon = 0;
}
}
@@ -182,7 +172,7 @@
//
void VideoHintWidget::updateUiComponents()
{
- FUNC_LOG;
+ FUNC_LOG;
HbMainWindow *mainWnd = hbInstance->allMainWindows().value(0);
if (mainWnd)
{
@@ -197,17 +187,17 @@
DOCML_NAME_NO_VIDEOS_LABEL);
if (serviceButton && hintLabel && noVideosLabel)
{
- serviceButton->setVisible(mainWnd->orientation() == Qt::Horizontal && mButtonShown);
noVideosLabel->setVisible(true);
- if (mCurrentLevel == Collection)
+ if (mServiceIcon && mCurrentLevel == AllVideos)
+ {
+ hintLabel->setVisible(true);
+ serviceButton->setIcon(*mServiceIcon);
+ serviceButton->setVisible(mButtonShown);
+ }
+ else
{
hintLabel->setVisible(false);
- serviceButton->setIcon(*mAddVideosIcon);
- }
- else
- {
- hintLabel->setVisible(true);
- serviceButton->setIcon(*mServiceIcon);
+ serviceButton->setVisible(false);
}
}
}
--- a/videocollection/videocollectionview/src/videolistview.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/src/videolistview.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 110 %
+// Version : %version: 113 %
// INCLUDE FILES
#include <xqserviceutil.h>
@@ -59,7 +59,6 @@
, mUiUtils( VideoCollectionViewUtils::instance() )
, mWrapper( VideoCollectionWrapper::instance() )
, mUiLoader( uiLoader )
- , mIsService( false )
, mModelReady( false )
, mViewReady( false )
, mHintLevel( VideoHintWidget::AllVideos )
@@ -103,49 +102,68 @@
cleanup();
return -1;
}
-
- if (XQServiceUtil::isService() && !mVideoServices)
+ int videoListPhase = VideoCollectionUiLoaderParam::LoadPhasePrimary;
+ int collectionListPhase = VideoCollectionUiLoaderParam::LoadPhaseSecondary;
+ int collectionContentListPhase = VideoCollectionUiLoaderParam::LoadPhaseSecondary;
+ VideoCollectionCommon::TCollectionLevels level = VideoCollectionCommon::ELevelVideos;
+ if (XQServiceUtil::isService())
{
- INFO("VideoListView::initializeView() service flag set to true.");
- mIsService = true;
-
- mVideoServices = VideoServices::instance();
-
+ INFO("VideoListView::initializeView() initializing service.");
if (!mVideoServices)
{
- ERROR(-1, "VideoListView::initializeView() getting services instance failed.");
- cleanup();
- return -1;
+ mVideoServices = VideoServices::instance();
+ connect(mVideoServices, SIGNAL(titleReady(const QString&)),
+ this, SLOT(titleReadySlot(const QString&)));
}
- else
- {
- connect(mVideoServices, SIGNAL(titleReady(const QString&)), this, SLOT(titleReadySlot(const QString&)));
- }
+
}
- QList<VideoCollectionUiLoaderParam> params;
- int videoListPhase = VideoCollectionUiLoaderParam::LoadPhasePrimary;
- int collectionListPhase = VideoCollectionUiLoaderParam::LoadPhaseSecondary;
-
- if(VideoCollectionViewUtils::loadWidgetLevel() == VideoCollectionCommon::ELevelCategory)
+ else
{
- videoListPhase = VideoCollectionUiLoaderParam::LoadPhaseSecondary;
- collectionListPhase = VideoCollectionUiLoaderParam::LoadPhasePrimary;
-
-
+ if(mVideoServices)
+ {
+ disconnect(mVideoServices, SIGNAL(titleReady(const QString&)),
+ this, SLOT(titleReadySlot(const QString&)));
+ mVideoServices->decreaseReferenceCount();
+ mVideoServices = 0;
+ }
+ VideoCollectionViewUtils::getActivityWidgetLevel(level);
+ if(level == VideoCollectionCommon::ELevelCategory)
+ {
+ videoListPhase = VideoCollectionUiLoaderParam::LoadPhaseSecondary;
+ collectionListPhase = VideoCollectionUiLoaderParam::LoadPhasePrimary;
+ collectionContentListPhase = VideoCollectionUiLoaderParam::LoadPhaseSecondary;
+ }
+ else if(level == VideoCollectionCommon::ELevelDefaultColl ||
+ level == VideoCollectionCommon::ELevelAlbum)
+ {
+ videoListPhase = VideoCollectionUiLoaderParam::LoadPhaseSecondary;
+ collectionListPhase = VideoCollectionUiLoaderParam::LoadPhasePrimary;
+ collectionContentListPhase = VideoCollectionUiLoaderParam::LoadPhasePrimary;
+ }
}
// start loading objects and widgets
+ QList<VideoCollectionUiLoaderParam> params;
+
params.append(VideoCollectionUiLoaderParam(
- DOCML_NAME_VC_VIDEOLISTWIDGET,
- DOCML_VIDEOCOLLECTIONVIEW_FILE,
- true,
- videoListPhase));
+ DOCML_NAME_VC_VIDEOLISTWIDGET,
+ DOCML_VIDEOCOLLECTIONVIEW_FILE,
+ true,
+ videoListPhase));
+
params.append(VideoCollectionUiLoaderParam(
- DOCML_NAME_VC_COLLECTIONWIDGET,
- DOCML_VIDEOCOLLECTIONVIEW_FILE,
- DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST,
- true,
- collectionListPhase));
-
+ DOCML_NAME_VC_COLLECTIONWIDGET,
+ DOCML_VIDEOCOLLECTIONVIEW_FILE,
+ DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST,
+ true,
+ collectionListPhase));
+
+ params.append(VideoCollectionUiLoaderParam(
+ DOCML_NAME_VC_COLLECTIONCONTENTWIDGET,
+ DOCML_VIDEOCOLLECTIONVIEW_FILE,
+ DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST,
+ true,
+ collectionContentListPhase));
+
params.append(VideoCollectionUiLoaderParam(
DOCML_NAME_OPTIONS_MENU,
DOCML_VIDEOCOLLECTIONVIEW_FILE,
@@ -195,13 +213,7 @@
DOCML_NAME_SORT_BY_SIZE,
DOCML_VIDEOCOLLECTIONVIEW_FILE,
false,
- VideoCollectionUiLoaderParam::LoadPhaseSecondary));
- params.append(VideoCollectionUiLoaderParam(
- DOCML_NAME_VC_COLLECTIONCONTENTWIDGET,
- DOCML_VIDEOCOLLECTIONVIEW_FILE,
- DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST,
- true,
- VideoCollectionUiLoaderParam::LoadPhaseSecondary)); // widget
+ VideoCollectionUiLoaderParam::LoadPhaseSecondary));
params.append(VideoCollectionUiLoaderParam(
DOCML_NAME_DIALOG,
DOCML_VIDEOSELECTIONDIALOG_FILE,
@@ -231,16 +243,21 @@
mUiLoader->loadPhase(VideoCollectionUiLoaderParam::LoadPhasePrimary);
params.clear();
+ // fetch current list right away for main views
+ // for default and user defined collections, currentList
+ // will be setted during activation
if(videoListPhase == VideoCollectionUiLoaderParam::LoadPhasePrimary)
{
mCurrentList = mUiLoader->findWidget<VideoListWidget>(
- DOCML_NAME_VC_VIDEOLISTWIDGET);
+ DOCML_NAME_VC_VIDEOLISTWIDGET );
}
- else
+ else
{
mCurrentList = mUiLoader->findWidget<VideoListWidget>(
- DOCML_NAME_VC_COLLECTIONWIDGET);
+ DOCML_NAME_VC_COLLECTIONWIDGET );
}
+
+
return 0;
}
@@ -259,24 +276,47 @@
// activateView()
// ---------------------------------------------------------------------------
//
-int VideoListView::activateView(const TMPXItemId &itemId)
+int VideoListView::activateView( TMPXItemId &itemId)
{
FUNC_LOG;
- int err = 0;
-
+ int err = -1;
+
// activate collection to correct view
if (itemId == TMPXItemId::InvalidId())
- {
- err = activateVideosView();
+ {
+
+ VideoCollectionCommon::TCollectionLevels level = VideoCollectionCommon::ELevelVideos;
+ if(!mVideoServices)
+ {
+ VideoCollectionViewUtils::getActivityWidgetLevel(level);
+ }
+ if(level == VideoCollectionCommon::ELevelCategory ||
+ level == VideoCollectionCommon::ELevelVideos)
+ {
+ err = activateMainView();
+ }
+ else if(level == VideoCollectionCommon::ELevelDefaultColl ||
+ level == VideoCollectionCommon::ELevelAlbum)
+ {
+ // level is default or user defined collection
+ // see if we have item id
+ VideoCollectionViewUtils::getCollectionActivityData(itemId, mCollectionName);
+ }
}
- else
+ if(itemId != TMPXItemId::InvalidId())
{
err = activateCollectionContentView(itemId);
}
+ if(!err)
+ {
+
+ err = createToolbar();
+ }
+
// connect signals if everything went ok
- if (err == 0)
+ if (!err)
{
HbMainWindow *mainWnd = hbInstance->allMainWindows().value(0);
mainWnd->setOrientation(Qt::Vertical, false);
@@ -302,6 +342,10 @@
err = -1;
}
}
+ else
+ {
+ deactivateView();
+ }
return err;
}
@@ -394,12 +438,11 @@
this, SLOT(modelReadySlot()));
showHint(false);
- }
-
- if(mCurrentList)
- {
- VideoCollectionCommon::TCollectionLevels level = mCurrentList->getLevel();
- VideoCollectionViewUtils::saveWidgetLevel(level);
+ if(!mVideoServices)
+ {
+ VideoCollectionCommon::TCollectionLevels level = mCurrentList->getLevel();
+ VideoCollectionViewUtils::setWidgetActivityLevel(level);
+ }
mCurrentList->deactivate();
}
}
@@ -455,7 +498,7 @@
mToolbarActions[ETBActionCollections] = createAction("qtg_mono_video_collection",
mToolbarViewsActionGroup, SLOT(openCollectionViewSlot()));
- if (!mIsService)
+ if (!mVideoServices)
{
// Services tab
mToolbarActions[ETBActionServices] = createAction("qtg_mono_ovistore",
@@ -476,7 +519,7 @@
if( !bar
|| !mToolbarActions[ETBActionAllVideos]
|| !mToolbarActions[ETBActionCollections]
- || ( !mIsService && (!mToolbarActions[ETBActionServices]
+ || ( !mVideoServices && (!mToolbarActions[ETBActionServices]
|| !mToolbarActions[ETBActionAddVideos]
|| !mToolbarActions[ETBActionRemoveVideos])))
{
@@ -493,21 +536,30 @@
mToolbarActions[ETBActionAllVideos]->setCheckable(true);
mToolbarActions[ETBActionCollections]->setCheckable(true);
- if (!mIsService)
+ if (!mVideoServices)
{
mToolbarActions[ETBActionServices]->setCheckable(false);
}
-
- if(mCurrentList->getLevel() == VideoCollectionCommon::ELevelCategory)
+ VideoCollectionCommon::TCollectionLevels level = VideoCollectionCommon::ELevelVideos;
+ if(mCurrentList)
+ {
+ level = mCurrentList->getLevel();
+ }
+ if(level == VideoCollectionCommon::ELevelCategory)
{
mToolbarActions[ETBActionCollections]->setChecked(true);
+ bar->addActions(mToolbarViewsActionGroup->actions());
}
- else
+ else if(level == VideoCollectionCommon::ELevelVideos )
{
mToolbarActions[ETBActionAllVideos]->setChecked(true);
+ bar->addActions(mToolbarViewsActionGroup->actions());
}
-
- bar->addActions(mToolbarViewsActionGroup->actions());
+ else if(level == VideoCollectionCommon::ELevelAlbum)
+ {
+ bar->addActions(mToolbarCollectionActionGroup->actions());
+ }
+
}
return 0;
@@ -582,7 +634,7 @@
}
}
- if (mToolbarViewsActionGroup && mToolbarCollectionActionGroup && !mIsService)
+ if (mToolbarViewsActionGroup && mToolbarCollectionActionGroup && !mVideoServices)
{
if (show)
{
@@ -692,10 +744,10 @@
}
// ---------------------------------------------------------------------------
-// activateVideosView()
+// activateMainView()
// ---------------------------------------------------------------------------
//
-int VideoListView::activateVideosView()
+int VideoListView::activateMainView()
{
FUNC_LOG;
@@ -703,24 +755,14 @@
{
return -1;
}
- VideoCollectionCommon::TCollectionLevels level = mCurrentList->getLevel();
- int result = mCurrentList->activate(level);
+ int result = mCurrentList->activate();
if(result < 0)
{
ERROR(result, "VideoListView::activateVideosView() failed to activate.");
- // activate failed, deactivate view so we get rid of dangling connections.
- deactivateView();
return -1;
}
-
- if (createToolbar() != 0)
- {
- ERROR(result, "VideoListView::activateVideosView() failed to create toolbar.");
- deactivateView();
- return -1;
- }
-
+
return 0;
}
@@ -731,101 +773,76 @@
int VideoListView::activateCollectionContentView(const TMPXItemId &itemId)
{
FUNC_LOG;
- int err = 0;
-
- if (itemId.iId2 == KVcxMvcMediaTypeCategory ||
- itemId.iId2 == KVcxMvcMediaTypeAlbum)
+
+ // resolve collection name if possible
+ if(itemId.iId2 == KVcxMvcMediaTypeCategory && mCollectionName.isEmpty())
{
- // currently only captured and downloaded categories are supported
- switch (itemId.iId1)
+ if (itemId.iId1 == KVcxMvcCategoryIdDownloads)
+ {
+ mCollectionName = hbTrId("txt_videos_dblist_downloaded");
+ }
+ else if(itemId.iId1 == KVcxMvcCategoryIdCaptured)
+ {
+ mCollectionName = hbTrId("txt_videos_dblist_captured");
+ }
+ else
{
- case KVcxMvcCategoryIdDownloads:
- case KVcxMvcCategoryIdCaptured:
- {
- VideoListWidget *collectionContentWidget =
- mUiLoader->findWidget<VideoListWidget>(
- DOCML_NAME_VC_COLLECTIONCONTENTWIDGET);
- if (collectionContentWidget && collectionContentWidget->getModel())
- {
- // no need to deactivate since there cannot be previous widget
- mCurrentList = collectionContentWidget;
-
- // resolve collection name
- if (itemId.iId1 == KVcxMvcCategoryIdDownloads)
- {
- mCollectionName = hbTrId("txt_videos_dblist_downloaded");
- }
- else if (itemId.iId1 == KVcxMvcCategoryIdCaptured)
- {
- mCollectionName = hbTrId("txt_videos_dblist_captured");
- }
-
- // activate collection content widget
- mCurrentList->activate(VideoCollectionCommon::ELevelDefaultColl);
-
- // open the model
- VideoSortFilterProxyModel *model = mCurrentList->getModel();
- model->openItem(itemId);
-
- // sort model
- int sortRole = VideoCollectionCommon::KeyDateTime;
- if (mIsService &&
- mVideoServices)
- {
- // TODO: sorting roles needs to be defined somewhere
- sortRole = mVideoServices->sortRole();
- switch (sortRole)
- {
- // sort by name
- case 2:
- {
- sortRole = VideoCollectionCommon::KeyTitle;
- break;
- }
- // sort by size
- case 3:
- {
- sortRole = VideoCollectionCommon::KeySizeValue;
- break;
- }
- // date & time
- case 1:
- // fall through
- default:
- {
- sortRole = VideoCollectionCommon::KeyDateTime;
- break;
- }
- }
- }
- model->doSorting(sortRole, Qt::AscendingOrder);
-
- // set hint level to collections
- setHintLevel(VideoHintWidget::Collection);
- }
- else
- {
- ERROR(-1, "VideoListView::activateVideosView() failed to get collection content widget.");
- err = -1;
- }
- break;
- }
- default:
- {
- // by default open videos view
- err = activateVideosView();
- break;
- }
+ // only downloads and captured are supported in default collections
+ ERROR(-1, "VideoListView::activateVideosView() invalid defauld collection.");
+ return -1;
}
-
+ }
+ // at this point activation will fail if there's no collection name available
+ if(mCollectionName.isEmpty())
+ {
+ ERROR(-1, "VideoListView::activateVideosView() no collection name, cannot proceed.");
+ return -1;
}
- else
+
+ // if current list at this point is already collection content,
+ // no need to init again, just activate
+ if(mCurrentList &&
+ (mCurrentList->getLevel() == VideoCollectionCommon::ELevelDefaultColl ||
+ mCurrentList->getLevel() == VideoCollectionCommon::ELevelAlbum))
{
- // open videos view
- err = activateVideosView();
+
+ return mCurrentList->activate();
+ }
+ // no currentlist, or currentlist differs, create and initialize all over
+ collectionOpenedSlot(true, mCollectionName, itemId);
+
+ if((!mCurrentList || !mCurrentList->getModel()) ||
+ (mCurrentList->getLevel() != VideoCollectionCommon::ELevelDefaultColl &&
+ mCurrentList->getLevel() != VideoCollectionCommon::ELevelAlbum ))
+ {
+ ERROR(-1, "VideoListView::activateVideosView() failed to init and activate collection.");
+ return -1;
}
- return err;
+ // if we're servicing, need to fetch sorting role from client
+ // in normal use, sorting has set already at uiloader
+
+ if (mVideoServices)
+ {
+ // TODO: service sorting roles needs to be defined somewhere
+ int sortRole = mVideoServices->sortRole();
+ if(sortRole == 2)
+ {
+ sortRole = VideoCollectionCommon::KeyTitle;
+ }
+ else if(sortRole == 3)
+ {
+ sortRole = VideoCollectionCommon::KeySizeValue;
+ }
+ else
+ {
+ // default
+ sortRole = VideoCollectionCommon::KeyDateTime;
+ }
+ mCurrentList->getModel()->doSorting(sortRole, Qt::AscendingOrder);
+ }
+
+ return 0;
}
// ---------------------------------------------------------------------------
@@ -943,17 +960,26 @@
}
model->doSorting(role, order);
- if (mCurrentList == mUiLoader->findWidget<VideoListWidget>(DOCML_NAME_VC_COLLECTIONCONTENTWIDGET))
+ // for video related sorting, all videos list and collection content
+ // list, sorting orders are same all the time
+ VideoListWidget *anotherVideosList = 0;
+ VideoCollectionCommon::TCollectionLevels level = mCurrentList->getLevel();
+ if (level == VideoCollectionCommon::ELevelDefaultColl ||
+ level == VideoCollectionCommon::ELevelAlbum)
{
- VideoListWidget *allVideosList = mUiLoader->findWidget<VideoListWidget>(DOCML_NAME_VC_VIDEOLISTWIDGET);
- if(allVideosList && allVideosList->getModel())
- {
- allVideosList->getModel()->doSorting(role, order);
- }
+ anotherVideosList = mUiLoader->findWidget<VideoListWidget>(DOCML_NAME_VC_VIDEOLISTWIDGET);
}
+ else if(level == VideoCollectionCommon::ELevelVideos)
+ {
+ anotherVideosList = mUiLoader->findWidget<VideoListWidget>(DOCML_NAME_VC_COLLECTIONCONTENTWIDGET);
+ }
+ if(anotherVideosList && anotherVideosList->getModel())
+ {
+ anotherVideosList->getModel()->doSorting(role, order);
+ }
// save sorting values only if the application is not started as a service
- if (!mIsService)
+ if (!mVideoServices)
{
// save sorting values
mUiUtils.saveSortingValues(role, order, mCurrentList->getLevel());
@@ -1114,8 +1140,7 @@
//
void VideoListView::aboutToShowMainMenuSlot()
{
- if (mIsService &&
- mVideoServices &&
+ if (mVideoServices &&
mVideoServices->currentService() == VideoServices::EBrowse)
{
prepareBrowseServiceMenu();
@@ -1167,7 +1192,7 @@
action->setChecked(true);
}
- if (!mIsService)
+ if (!mVideoServices)
{
showAction(true, DOCML_NAME_ADD_TO_COLLECTION);
showAction(true, DOCML_NAME_DELETE_MULTIPLE);
@@ -1176,7 +1201,7 @@
else if(mToolbarViewsActionGroup->checkedAction() == mToolbarActions[ETBActionCollections] &&
firstAction == mToolbarActions[ETBActionAllVideos] )
{
- if (!mIsService)
+ if (!mVideoServices)
{
showAction(true, DOCML_NAME_CREATE_COLLECTION);
}
@@ -1203,7 +1228,7 @@
action->setChecked(true);
}
- if (!mIsService)
+ if (!mVideoServices)
{
showAction(true, DOCML_NAME_DELETE_MULTIPLE);
}
@@ -1272,16 +1297,12 @@
// collectionOpenedSlot
// -------------------------------------------------------------------------------------------------
//
-void VideoListView::collectionOpenedSlot(bool collectionOpened,
+void VideoListView::collectionOpenedSlot(bool openingCollection,
const QString& collection,
- const QModelIndex &index)
+ const TMPXItemId &collectionId)
{
FUNC_LOG;
- if(!mCurrentList || !mCurrentList->getModel())
- {
- return;
- }
// clear toolbar actions.
toolBar()->clearActions();
@@ -1300,27 +1321,24 @@
HbAbstractItemView::ItemAnimations animationState = collectionContentWidget->enabledAnimations();
collectionContentWidget->setEnabledAnimations(HbAbstractItemView::None);
- if(collectionOpened)
+ if(openingCollection)
{
// open album view
- if (!index.isValid() || !mCurrentList || mCurrentList == collectionContentWidget)
+ if (collectionId == TMPXItemId::InvalidId() || mCurrentList == collectionContentWidget)
{
// no currentlist or currentlist is already collection content -list
collectionContentWidget->setEnabledAnimations(animationState);
return;
}
-
- // get item id before deactivating
- TMPXItemId itemId = mCurrentList->getModel()->getMediaIdAtIndex(index);
-
+
// get level from the item to be opened only default
// or user defined collections can be activated here
VideoCollectionCommon::TCollectionLevels level = VideoCollectionCommon::ELevelInvalid;
- if(itemId.iId2 == KVcxMvcMediaTypeCategory)
+ if(collectionId.iId2 == KVcxMvcMediaTypeCategory)
{
level = VideoCollectionCommon::ELevelDefaultColl;
}
- else if(itemId.iId2 == KVcxMvcMediaTypeAlbum)
+ else if(collectionId.iId2 == KVcxMvcMediaTypeAlbum)
{
level = VideoCollectionCommon::ELevelAlbum;
}
@@ -1335,12 +1353,16 @@
if(!model)
{
// no model for content widget, cannot activate
+ collectionContentWidget->setEnabledAnimations(animationState);
return;
}
- model->openItem(itemId);
+ model->openItem(collectionId);
// deactivat current widget.
- mCurrentList->deactivate();
+ if(mCurrentList)
+ {
+ mCurrentList->deactivate();
+ }
// activate video collection content widget and set it as current list.
mCurrentList = collectionContentWidget;
@@ -1376,6 +1398,11 @@
}
// restore animations for collection content widget
collectionContentWidget->setEnabledAnimations(animationState);
+ if(!mVideoServices)
+ {
+ // save / clear collection related activity data
+ VideoCollectionViewUtils::setCollectionActivityData(collectionId, collection);
+ }
}
// -------------------------------------------------------------------------------------------------
@@ -1398,8 +1425,8 @@
else if (name.compare(DOCML_NAME_VC_COLLECTIONWIDGET) == 0)
{
connect(
- object, SIGNAL(collectionOpened(bool, const QString&, const QModelIndex&)),
- this, SLOT(collectionOpenedSlot(bool, const QString&, const QModelIndex&)));
+ object, SIGNAL(collectionOpened(bool, const QString&, const TMPXItemId&)),
+ this, SLOT(collectionOpenedSlot(bool, const QString&, const TMPXItemId&)));
if(mCurrentList != object)
{
// this widget not yet activated so it's has been created on the second phase
@@ -1411,8 +1438,8 @@
{
connect(object, SIGNAL(command(int)), this, SIGNAL(command(int)));
connect(
- object, SIGNAL(collectionOpened(bool, const QString&, const QModelIndex&)),
- this, SLOT(collectionOpenedSlot(bool, const QString&, const QModelIndex&)));
+ object, SIGNAL(collectionOpened(bool, const QString&, const TMPXItemId&)),
+ this, SLOT(collectionOpenedSlot(bool, const QString&, const TMPXItemId&)));
if(mCurrentList != object)
{
// this widget not yet activated so it's has been created on the second phase
--- a/videocollection/videocollectionview/src/videolistwidget.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/src/videolistwidget.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -70,7 +70,6 @@
mVideoServices(0),
mCurrentLevel(VideoCollectionCommon::ELevelInvalid),
mSignalsConnected(false),
-mIsService(false),
mNavKeyAction(0),
mContextMenu(0),
mSelectionMode(HbAbstractItemView::NoSelection),
@@ -96,6 +95,12 @@
mContextMenu = 0;
delete mNavKeyAction;
mNavKeyAction = 0;
+
+ if(mVideoServices)
+ {
+ mVideoServices->decreaseReferenceCount();
+ mVideoServices = 0;
+ }
}
// ---------------------------------------------------------------------------
@@ -103,18 +108,19 @@
// ---------------------------------------------------------------------------
//
int VideoListWidget::initialize(VideoSortFilterProxyModel &model,
- VideoServices* videoServices,
+ bool isService,
VideoCollectionCommon::TCollectionLevels level)
{
FUNC_LOG_ADDR(this);
mModel = &model;
- mVideoServices = videoServices;
mCurrentLevel = level;
- if(mVideoServices)
+ if(isService)
{
- mIsService = true;
-
+ if(!mVideoServices)
+ {
+ mVideoServices = VideoServices::instance();
+ }
if(XQServiceUtil::interfaceName().contains("IVideoFetch"))
{
mService = VideoServices::EUriFetcher;
@@ -124,6 +130,14 @@
mService = VideoServices::EBrowse;
}
}
+ else
+ {
+ if(mVideoServices)
+ {
+ mVideoServices->decreaseReferenceCount();
+ mVideoServices = 0;
+ }
+ }
// init list view
VideoCollectionViewUtils::initListView(this);
@@ -131,7 +145,7 @@
mScrollPositionTimer = new QTimer();
mScrollPositionTimer->setSingleShot(true);
- if (mIsService)
+ if (mVideoServices)
{
connect(this, SIGNAL(fileUri(const QString&)), mVideoServices, SLOT(itemSelected(const QString&)));
}
@@ -160,7 +174,7 @@
FUNC_LOG_ADDR(this);
INFO_2("VideoListWidget::activate() [0x%x]: level: %d", this, level);
- if(!mModel)
+ if(!mModel || level == VideoCollectionCommon::ELevelInvalid)
{
return -1;
}
@@ -230,42 +244,52 @@
{
FUNC_LOG_ADDR(this);
- int retval(0);
-
- if (!mSignalsConnected)
+ if (mSignalsConnected)
+ {
+ return 0;
+ }
+
+ if(!connect(this, SIGNAL(scrollingStarted()), this, SLOT(scrollingStartedSlot())) ||
+ !connect(this, SIGNAL(scrollingEnded()), this, SLOT(scrollingEndedSlot())) ||
+ !connect(this, SIGNAL(scrollPositionChanged(const QPointF &)),
+ this, SLOT(scrollPositionChangedSlot(const QPointF &))) ||
+ !connect(mScrollPositionTimer, SIGNAL(timeout()), this, SLOT(scrollPositionTimerSlot())) ||
+ !connect(this, SIGNAL(longPressed(HbAbstractViewItem *, const QPointF &)),
+ this, SLOT(longPressedSlot(HbAbstractViewItem *, const QPointF &))))
{
- if(!connect(this, SIGNAL(scrollingStarted()), this, SLOT(scrollingStartedSlot())) ||
- !connect(this, SIGNAL(scrollingEnded()), this, SLOT(scrollingEndedSlot())) ||
- !connect(this, SIGNAL(scrollPositionChanged(const QPointF &)),
- this, SLOT(scrollPositionChangedSlot(const QPointF &))) ||
- !connect(mScrollPositionTimer, SIGNAL(timeout()), this, SLOT(scrollPositionTimerSlot())) ||
- !connect(this, SIGNAL(longPressed(HbAbstractViewItem *, const QPointF &)),
- this, SLOT(longPressedSlot(HbAbstractViewItem *, const QPointF &))))
- {
- return -1;
- }
+ return -1;
+ }
- if (!isBrowsingService())
+ // handle navi key trigger -signal connection
+ const char *slot = SLOT(quit());
+ QObject *receiver = qApp;
+
+ if(mVideoServices && mService == VideoServices::EBrowse)
+ {
+ receiver = mVideoServices;
+ slot = SLOT(browsingEnded());
+ }
+ else
+ {
+ if(mCurrentLevel == VideoCollectionCommon::ELevelAlbum ||
+ mCurrentLevel == VideoCollectionCommon::ELevelDefaultColl)
{
- if(VideoCollectionCommon::EModelTypeCollectionContent == mModel->getType())
- {
- if (!connect(mNavKeyAction, SIGNAL(triggered()), this, SLOT(back())))
- {
- retval = -1;
- }
- }
- else
- {
- if (!connect(mNavKeyAction, SIGNAL(triggered()), qApp, SLOT(quit())))
- {
- retval = -1;
- }
- }
+ receiver = this;
+ slot = SLOT(back());
+ }
+ else if(mVideoServices && mService == VideoServices::EUriFetcher)
+ {
+ receiver = this;
+ slot = SLOT(endVideoFecthingSlot());
}
-
- mSignalsConnected = true;
}
- return retval;
+ if(!connect(mNavKeyAction, SIGNAL(triggered()), receiver, slot))
+ {
+ return -1;
+ }
+ mSignalsConnected = true;
+
+ return 0;
}
// ---------------------------------------------------------------------------
@@ -296,55 +320,15 @@
mScrollPositionTimer, SIGNAL(timeout()),
this, SLOT(scrollPositionTimerSlot()));
}
-
- // check that model and navigation action exists
- if (!isBrowsingService())
+ if(mNavKeyAction)
{
- if (mModel &&
- mModel->getType() == VideoCollectionCommon::EModelTypeCollectionContent)
- {
- if (mNavKeyAction)
- {
- disconnect(
- mNavKeyAction, SIGNAL(triggered()),
- this, SLOT(back()));
- }
- }
- else
- {
- if (mNavKeyAction)
- {
- disconnect(
- mNavKeyAction, SIGNAL(triggered()),
- qApp, SLOT(quit()));
- }
- }
+ mNavKeyAction->disconnect(SIGNAL(triggered()));
}
mSignalsConnected = false;
}
// ---------------------------------------------------------------------------
-// isBrowsingService
-// ---------------------------------------------------------------------------
-//
-bool VideoListWidget::isBrowsingService() const
-{
- FUNC_LOG_ADDR(this);
-
- bool isBrowsingService = false;
-
- if (mIsService &&
- mVideoServices &&
- mService == VideoServices::EBrowse)
- {
- isBrowsingService = true;
- }
-
- return isBrowsingService;
-}
-
-// ---------------------------------------------------------------------------
// setNavigationAction
// ---------------------------------------------------------------------------
//
@@ -355,26 +339,16 @@
// Create navigation action if not already created
if (!mNavKeyAction)
{
- if (isBrowsingService())
- {
- mNavKeyAction = new HbAction(Hb::QuitNaviAction);
- mNavKeyAction->setObjectName(LIST_WIDGET_OBJECT_NAME_NAV_KEY_QUIT);
- connect(mNavKeyAction, SIGNAL(triggered()),
- mVideoServices, SLOT(browsingEnded()));
- }
- else if (mModel)
+ Hb::NavigationAction navAction = Hb::QuitNaviAction;
+ QString objectName = LIST_WIDGET_OBJECT_NAME_NAV_KEY_QUIT;
+ if(mCurrentLevel == VideoCollectionCommon::ELevelAlbum ||
+ mCurrentLevel == VideoCollectionCommon::ELevelDefaultColl)
{
- if (VideoCollectionCommon::EModelTypeCollectionContent == mModel->getType())
- {
- mNavKeyAction = new HbAction(Hb::BackNaviAction);
- mNavKeyAction->setObjectName(LIST_WIDGET_OBJECT_NAME_NAV_KEY_BACK);
- }
- else
- {
- mNavKeyAction = new HbAction(Hb::QuitNaviAction);
- mNavKeyAction->setObjectName(LIST_WIDGET_OBJECT_NAME_NAV_KEY_QUIT);
- }
+ navAction = Hb::BackNaviAction;
+ objectName = LIST_WIDGET_OBJECT_NAME_NAV_KEY_BACK;
}
+ mNavKeyAction = new HbAction(navAction);
+ mNavKeyAction->setObjectName(LIST_WIDGET_OBJECT_NAME_NAV_KEY_BACK);
}
// Set navigation action only when widget is not in selection mode
@@ -457,6 +431,10 @@
mContextMenu->addAction(hbTrId("txt_videos_menu_attach"), this, SLOT(openItemSlot()));
mContextMenuActions[EActionAttach]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_ATTACH);
+ mContextMenuActions[EActionOpen] =
+ mContextMenu->addAction(hbTrId("txt_common_menu_open"), this, SLOT(openItemSlot()));
+ mContextMenuActions[EActionOpen]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_OPEN);
+
mContextMenuActions[EActionPlay] =
mContextMenu->addAction(hbTrId("txt_videos_menu_play"), this, SLOT(playItemSlot()));
mContextMenuActions[EActionPlay]->setObjectName(LIST_WIDGET_OBJECT_NAME_ACTION_PLAY);
@@ -552,25 +530,17 @@
return;
}
- if (isBrowsingService())
+ if (mVideoServices)
{
- setBrowsingServiceContextMenu();
+ setServiceContextMenu();
return;
}
-
if(mCurrentLevel == VideoCollectionCommon::ELevelVideos ||
mCurrentLevel == VideoCollectionCommon::ELevelDefaultColl)
{
- if (!mIsService)
- {
- mContextMenuActions[EActionAddToCollection]->setVisible(true);
- mContextMenuActions[EActionDelete]->setVisible(true);
- }
- else
- {
- mContextMenuActions[EActionAttach]->setVisible(true);
- }
+ mContextMenuActions[EActionAddToCollection]->setVisible(true);
+ mContextMenuActions[EActionDelete]->setVisible(true);
mContextMenuActions[EActionPlay]->setVisible(true);
mContextMenuActions[EActionDetails]->setVisible(true);
}
@@ -578,7 +548,7 @@
{
mContextMenuActions[EActionOpen]->setVisible(true);
TMPXItemId mpxId = mModel->getMediaIdAtIndex(currentIndex());
- if(!mIsService && mpxId.iId2 == KVcxMvcMediaTypeAlbum)
+ if(mpxId.iId2 == KVcxMvcMediaTypeAlbum)
{
mContextMenuActions[EActionRename]->setVisible(true);
mContextMenuActions[EActionRemoveCollection]->setVisible(true);
@@ -586,28 +556,38 @@
}
else if(mCurrentLevel == VideoCollectionCommon::ELevelAlbum)
{
- if (!mIsService)
- {
- mContextMenuActions[EActionRemove]->setVisible(true);
- mContextMenuActions[EActionDelete]->setVisible(true);
- } else {
- mContextMenuActions[EActionAttach]->setVisible(true);
- }
+ mContextMenuActions[EActionRemove]->setVisible(true);
+ mContextMenuActions[EActionDelete]->setVisible(true);
mContextMenuActions[EActionPlay]->setVisible(true);
mContextMenuActions[EActionDetails]->setVisible(true);
}
}
// ---------------------------------------------------------------------------
-// setBrowsingServiceContextMenu
+// setServiceContextMenu
// ---------------------------------------------------------------------------
//
-void VideoListWidget::setBrowsingServiceContextMenu()
+void VideoListWidget::setServiceContextMenu()
{
FUNC_LOG_ADDR(this);
- mContextMenuActions[EActionPlay]->setVisible(true);
- mContextMenuActions[EActionDelete]->setVisible(true);
- mContextMenuActions[EActionDetails]->setVisible(true);
+
+ if(mCurrentLevel == VideoCollectionCommon::ELevelCategory)
+ {
+ mContextMenuActions[EActionOpen]->setVisible(true);
+ }
+ else if(mCurrentLevel > VideoCollectionCommon::ELevelCategory)
+ {
+ mContextMenuActions[EActionDetails]->setVisible(true);
+ mContextMenuActions[EActionPlay]->setVisible(true);
+ if(mService == VideoServices::EBrowse)
+ {
+ mContextMenuActions[EActionDelete]->setVisible(true);
+ }
+ else if(mService == VideoServices::EUriFetcher)
+ {
+ mContextMenuActions[EActionAttach]->setVisible(true);
+ }
+ }
}
// ---------------------------------------------------------------------------
@@ -653,8 +633,7 @@
//
void VideoListWidget::doEmitActivated (const QModelIndex &index)
{
- if(mIsService &&
- mVideoServices &&
+ if(mVideoServices &&
mService == VideoServices::EUriFetcher &&
mCurrentLevel != VideoCollectionCommon::ELevelCategory)
{
@@ -691,7 +670,7 @@
// signal view that item has been activated
emit(collectionOpened(true,
variant.toString(),
- index));
+ mModel->getMediaIdAtIndex(index)));
}
return;
}
@@ -958,7 +937,20 @@
{
// Empty the proxy model causing the items to be removed from list widget.
mModel->setAlbumInUse(TMPXItemId::InvalidId());
- emit collectionOpened(false, QString(), QModelIndex());
+ emit collectionOpened(false, QString(), TMPXItemId::InvalidId());
+ }
+}
+
+// ---------------------------------------------------------------------------
+// endVideoFecthingSlot
+// ---------------------------------------------------------------------------
+//
+void VideoListWidget::endVideoFecthingSlot()
+{
+ if(mVideoServices && mService == VideoServices::EUriFetcher)
+ {
+ QString empty = "";
+ emit fileUri(empty);
}
}
--- a/videocollection/videocollectionview/tsrc/testcollectionview/src/testcollectionview.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/tsrc/testcollectionview/src/testcollectionview.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,6 +15,9 @@
*
*/
+#include "xqplugin.h"
+#include "xqserviceutilstub.h"
+#include "xqserviceproviderstub.h"
#include "xqserviceutilxtra.h"
#include <hbaction.h>
@@ -117,9 +120,9 @@
//
void TestCollectionView::cleanup()
{
- HbMainWindow *window = hbInstance->allMainWindows().value(0);
- if (window)
+ if(hbInstance->allMainWindows().count() > 0)
{
+ HbMainWindow *window = hbInstance->allMainWindows().at(0);
QList<HbView*> views = window->views();
int count = views.count();
for (int i = 0; i < count; i++)
--- a/videocollection/videocollectionview/tsrc/testhintwidget/inc/testhintwidget.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/tsrc/testhintwidget/inc/testhintwidget.h Thu Jun 24 09:49:13 2010 +0300
@@ -45,6 +45,7 @@
void testDeactivate();
void testUpdateUiComponents();
void testOrientationChangedSlot();
+ void testSetButtonShown();
signals:
--- a/videocollection/videocollectionview/tsrc/testhintwidget/src/testhintwidget.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/tsrc/testhintwidget/src/testhintwidget.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -203,19 +203,22 @@
mTestObject->mServiceIconString = QString();
mTestObject->activate();
QVERIFY(mTestObject->mServiceIcon == 0);
- QVERIFY(mTestObject->isVisible() == false);
- QVERIFY(mTestObject->mActivated == false);
+ QVERIFY(mTestObject->isVisible() == true);
+ QVERIFY(mTestObject->mActivated == true);
// mServiceIconPressedString empty.
mTestObject->mServiceIconString = "test";
mTestObject->mServiceIconPressedString = QString();
mTestObject->activate();
QVERIFY(mTestObject->mServiceIcon == 0);
- QVERIFY(mTestObject->isVisible() == false);
- QVERIFY(mTestObject->mActivated == false);
+ QVERIFY(mTestObject->isVisible() == true);
+ QVERIFY(mTestObject->mActivated == true);
// successful case.
- mTestObject->mServiceIconPressedString = "test2";
+ mTestObject->mActivated = false;
+ mTestObject->mServiceIconString = "qtg_mono_ovistore";
+ mTestObject->mServiceIconPressedString = "qtg_mono_ovistore";
+
HbLabel *noVideosLabel = mUiLoader->findWidget<HbLabel>(DOCML_NAME_NO_VIDEOS_LABEL);
QVERIFY(noVideosLabel);
noVideosLabel->setVisible(false);
@@ -245,7 +248,6 @@
// when serviceButton does not exist
mTestObject->mServiceIcon = 0;
- mTestObject->mAddVideosIcon = 0;
HbDocumentLoader::mFindWidgetFails = true;
mTestObject->deactivate();
QVERIFY(mTestObject->mActivated == false);
@@ -266,17 +268,14 @@
// when icons are non-null, but widget is not activated.
mTestObject->setVisible(true);
mTestObject->mServiceIcon = new HbIcon;
- mTestObject->mAddVideosIcon = new HbIcon;
mTestObject->deactivate();
QVERIFY(mTestObject->mServiceIcon != 0);
- QVERIFY(mTestObject->mAddVideosIcon != 0);
QVERIFY(mTestObject->isVisible() == true);
// when icons are non-null and widget is activated.
mTestObject->mActivated = true;
mTestObject->deactivate();
QVERIFY(mTestObject->mServiceIcon == 0);
- QVERIFY(mTestObject->mAddVideosIcon == 0);
QVERIFY(mTestObject->isVisible() == false);
cleanup();
@@ -294,7 +293,6 @@
init(true);
mTestObject->mServiceIcon = new HbIcon(QIcon(QPixmap(QSize(100,100))));
- mTestObject->mAddVideosIcon = new HbIcon(QIcon(QPixmap(QSize(50,50))));
mTestObject->mActivated = true;
HbDocumentLoader::mFindWidgetFails = true;
@@ -318,9 +316,8 @@
mainWnd->setOrientation(Qt::Horizontal);
mTestObject->mButtonShown = true;
mTestObject->setLevel(VideoHintWidget::Collection);
- QVERIFY(serviceButton->isVisible());
+ QVERIFY(!serviceButton->isVisible());
QVERIFY(serviceButton->icon().isNull() == false);
- QVERIFY(serviceButton->icon().qicon().cacheKey() == mTestObject->mAddVideosIcon->qicon().cacheKey());
QVERIFY(hintLabel->isVisible() == false);
mTestObject->mButtonShown = false;
@@ -379,4 +376,28 @@
cleanup();
}
+// ---------------------------------------------------------------------------
+// testSetButtonShown
+// ---------------------------------------------------------------------------
+//
+void TestHintWidget::testSetButtonShown()
+{
+ HbMainWindow *mainWnd = hbInstance->allMainWindows()[0];
+
+ init(true);
+
+ HbLabel *noVideosLabel = mUiLoader->findWidget<HbLabel>(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
--- a/videocollection/videocollectionview/tsrc/testlistview/inc/testlistview.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/tsrc/testlistview/inc/testlistview.h Thu Jun 24 09:49:13 2010 +0300
@@ -11,7 +11,7 @@
*
* Contributors:
*
-* Description: tester for methods in VideoSortFilterProxyModel
+* Description: tester for methods in VideoListView
*
*/
--- a/videocollection/videocollectionview/tsrc/testlistview/src/testlistview.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/tsrc/testlistview/src/testlistview.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 46 %
+// Version : %version: 48 %
#define private public
#include "videoservices.h"
@@ -97,7 +97,7 @@
// init
// ---------------------------------------------------------------------------
//
-void TestListView::init(bool initTestView)
+void TestListView::init(bool initTestView )
{
XQServiceUtilXtra::service = false;
mUiLoader = new VideoCollectionUiLoader();
@@ -177,7 +177,8 @@
{
if (!mTestView->mCurrentList)
{
- mTestView->activateView(TMPXItemId::InvalidId());
+ TMPXItemId tmpId = TMPXItemId::InvalidId();
+ mTestView->activateView(tmpId);
}
model = mTestView->mCurrentList->mModel;
}
@@ -265,23 +266,21 @@
mTestView->mUiLoader = 0;
QVERIFY( mTestView->initializeView() < 0 );
QVERIFY( mTestView->mVideoServices == 0 );
- QVERIFY( mTestView->mIsService == false );
mTestView->mUiLoader = tmp;
// service flag is false and mVideoServices is != 0
- mTestView->mIsService = false;
XQServiceUtilXtra::service = false;
- mTestView->mVideoServices = VideoServices::instance();
+ VideoServices *tmpService = VideoServices::instance();
+ mTestView->mVideoServices = tmpService;
QVERIFY( mTestView->initializeView() == 0 );
- QVERIFY( mTestView->mVideoServices != 0 );
- QVERIFY( mTestView->mIsService == false );
-
- // servicve flag is true, mVideoServices is 0
+ QVERIFY( mTestView->mVideoServices == 0 );
+ tmpService->decreaseReferenceCount();
+
+ // service flag is true, mVideoServices is 0
mTestView->mVideoServices = 0;
XQServiceUtilXtra::service = true;
QVERIFY( mTestView->initializeView() == 0 );
QVERIFY( mTestView->mVideoServices != 0 );
- QVERIFY( mTestView->mIsService == true );
XQServiceUtilXtra::service = false;
cleanup();
@@ -294,7 +293,8 @@
void TestListView::testMenus()
{
init();
- mTestView->activateView(TMPXItemId::InvalidId());
+ TMPXItemId tmpId = TMPXItemId::InvalidId();
+ mTestView->activateView(tmpId);
HbAction* action = 0;
QList<QAction*> tbActions = mTestView->toolBar()->actions();
@@ -394,7 +394,8 @@
void TestListView::testCreateAction()
{
init();
- mTestView->activateView(TMPXItemId::InvalidId());
+ TMPXItemId tmpId = TMPXItemId::InvalidId();
+ mTestView->activateView(tmpId);
QVERIFY(mTestView->mToolbarViewsActionGroup != 0);
@@ -435,7 +436,7 @@
void TestListView::testActivateView()
{
VideoListWidget* videoListWidget = 0;
-
+ TMPXItemId invalidId = TMPXItemId::InvalidId();
init();
HbMainWindow *mainWnd = hbInstance->allMainWindows().value(0);
@@ -443,7 +444,7 @@
VideoListWidget *backup = mTestView->mCurrentList;
mTestView->mCurrentList = 0;
HbDocumentLoader::mFindWidgetFails = true;
- QCOMPARE( mTestView->activateView(TMPXItemId::InvalidId()), -1 );
+ QCOMPARE( mTestView->activateView(invalidId), -1 );
QVERIFY( VideoListWidgetData::mActive == false );
QVERIFY( mTestView->mCurrentList == 0 );
QCOMPARE( VideoListWidgetData::mActivateCount, 0 );
@@ -455,21 +456,21 @@
videoListWidget = mUiLoader->findWidget<VideoListWidget>(DOCML_NAME_VC_VIDEOLISTWIDGET);
QVERIFY(videoListWidget);
VideoListWidgetData::mActivateReturnValue = -1;
- QCOMPARE( mTestView->activateView(TMPXItemId::InvalidId()), -1 );
+ QCOMPARE( mTestView->activateView(invalidId), -1 );
QVERIFY( VideoListWidgetData::mActive == false );
QCOMPARE( VideoListWidgetData::mActivateCount, 1 );
QCOMPARE( VideoListWidgetData::mDeactivateCount, 1 );
QVERIFY( mainWnd->mOrientationSet == false );
VideoListWidgetData::mActivateReturnValue = 0;
- QCOMPARE( mTestView->activateView(TMPXItemId::InvalidId()), 0 );
+ QCOMPARE( mTestView->activateView(invalidId), 0 );
QVERIFY( VideoListWidgetData::mActive );
QCOMPARE( VideoListWidgetData::mActivateCount, 2 );
QCOMPARE( VideoListWidgetData::mDeactivateCount, 1 );
QVERIFY( mainWnd->mOrientationSet );
QCOMPARE( mainWnd->mOrientation, Qt::Vertical );
- QCOMPARE( mTestView->activateView(TMPXItemId::InvalidId()), 0 );
+ QCOMPARE( mTestView->activateView(invalidId), 0 );
QVERIFY( VideoListWidgetData::mActive );
QCOMPARE( VideoListWidgetData::mActivateCount, 3 );
QCOMPARE( VideoListWidgetData::mDeactivateCount, 1 );
@@ -478,8 +479,7 @@
cleanup();
- // activate view:
- // -browse service
+ // activate collection content view:
// -captured category
TMPXItemId itemId = TMPXItemId::InvalidId();
init();
@@ -493,12 +493,9 @@
QCOMPARE(mTestView->mCollectionName, hbTrId("txt_videos_dblist_captured"));
QCOMPARE(mTestView->mCurrentList->getLevel(), VideoCollectionCommon::ELevelDefaultColl);
QCOMPARE(VideoSortFilterProxyModelData::mLastItemId, itemId);
- QCOMPARE(VideoSortFilterProxyModelData::mSortRole, (int)VideoCollectionCommon::KeyDateTime);
- QCOMPARE(VideoSortFilterProxyModelData::mSortOrder, Qt::AscendingOrder);
cleanup();
- // activate view:
- // -browse service
+ // activate collection content view::
// -downloaded category
init();
VideoListWidgetData::reset();
@@ -511,12 +508,9 @@
QCOMPARE(mTestView->mCollectionName, hbTrId("txt_videos_dblist_downloaded"));
QCOMPARE(mTestView->mCurrentList->getLevel(), VideoCollectionCommon::ELevelDefaultColl);
QCOMPARE(VideoSortFilterProxyModelData::mLastItemId, itemId);
- QCOMPARE(VideoSortFilterProxyModelData::mSortRole, (int)VideoCollectionCommon::KeyDateTime);
- QCOMPARE(VideoSortFilterProxyModelData::mSortOrder, Qt::AscendingOrder);
cleanup();
- // activate view:
- // -browse service
+ // activate collection content view:
// -other category
init();
videoListWidget = mUiLoader->findWidget<VideoListWidget>(DOCML_NAME_VC_VIDEOLISTWIDGET);
@@ -524,27 +518,28 @@
VideoSortFilterProxyModelData::reset();
itemId.iId1 = KVcxMvcCategoryIdOther;
itemId.iId2 = KVcxMvcMediaTypeCategory;
- QCOMPARE(mTestView->activateView(itemId), 0);
- QVERIFY(VideoListWidgetData::mActive);
- QCOMPARE(VideoListWidgetData::mActivateCount, 1);
+ QCOMPARE(mTestView->activateView(itemId), -1);
+ QVERIFY(VideoListWidgetData::mActive == false);
+ QCOMPARE(VideoListWidgetData::mActivateCount, 0);
QCOMPARE(mTestView->mCollectionName.length(), 0);
- //QCOMPARE(mTestView->mCurrentList->getLevel(), VideoCollectionCommon::ELevelVideos);
+ // for not activated widget, defaultlevel is ELevelVideos
+ QCOMPARE(mTestView->mCurrentList->getLevel(), VideoCollectionCommon::ELevelVideos);
QCOMPARE(VideoSortFilterProxyModelData::mLastItemId, TMPXItemId::InvalidId());
cleanup();
- // activate view:
- // -browse service
+ // activate collection content view:
// -invalid category but item id is ok
init();
VideoListWidgetData::reset();
VideoSortFilterProxyModelData::reset();
itemId.iId1 = 0;
itemId.iId2 = KVcxMvcMediaTypeVideo;
- QCOMPARE(mTestView->activateView(itemId), 0);
- QVERIFY(VideoListWidgetData::mActive);
- QCOMPARE(VideoListWidgetData::mActivateCount, 1);
+ QCOMPARE(mTestView->activateView(itemId), -1);
+ QVERIFY(VideoListWidgetData::mActive == false);
+ QCOMPARE(VideoListWidgetData::mActivateCount, 0);
QCOMPARE(mTestView->mCollectionName.length(), 0);
-// QCOMPARE(mTestView->mCurrentList->getLevel(), VideoCollectionCommon::ELevelVideos);
+ // for not activated widget, defaultlevel is ELevelVideos
+ QCOMPARE(mTestView->mCurrentList->getLevel(), VideoCollectionCommon::ELevelVideos);
QCOMPARE(VideoSortFilterProxyModelData::mLastItemId, TMPXItemId::InvalidId());
cleanup();
@@ -664,7 +659,7 @@
void TestListView::testDeactivateView()
{
VideoListWidget* videoListWidget = 0;
-
+ TMPXItemId invalidId = TMPXItemId::InvalidId();
init();
HbMainWindow *mainWnd = hbInstance->allMainWindows().value(0);
@@ -689,7 +684,7 @@
VideoListWidgetData::mActivateReturnValue = 0;
mainWnd->mOrientationSet = true;
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
mTestView->deactivateView();
QVERIFY( mUiLoader->findWidget<HbMenu>(DOCML_NAME_OPTIONS_MENU)->isVisible() == false );
QCOMPARE( VideoListWidgetData::mActivateCount, 1 );
@@ -720,9 +715,9 @@
{
VideoListWidget *videoListWidget = 0;
HbGroupBox *subLabel = 0;
-
+ TMPXItemId invalidId = TMPXItemId::InvalidId();
init();
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
videoListWidget = mUiLoader->findWidget<VideoListWidget>(DOCML_NAME_VC_VIDEOLISTWIDGET);
QVERIFY( videoListWidget );
@@ -760,9 +755,9 @@
{
VideoListWidget *collectionWidget = 0;
HbGroupBox *subLabel = 0;
-
+ TMPXItemId invalidId = TMPXItemId::InvalidId();
init();
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
QList<QAction*> actions = mTestView->mToolbarViewsActionGroup->actions();
HbAction* action = static_cast<HbAction*>(actions.at(1));
@@ -827,9 +822,10 @@
QCOMPARE(VideoSortFilterProxyModelData::mSortRole, -1);
cleanup();
+ TMPXItemId invalidId = TMPXItemId::InvalidId();
// Active action is not sort by.
init();
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
action = mUiLoader->findObject<HbAction>(DOCML_NAME_DELETE_MULTIPLE);
QVERIFY(action != 0);
mUiLoader->findWidget<HbMenu>(DOCML_NAME_OPTIONS_MENU)->setActiveAction(action);
@@ -844,7 +840,7 @@
// Good cases.
init();
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
sortMenu = mUiLoader->findWidget<HbMenu>(DOCML_NAME_SORT_MENU);
sortMenuAction->setMenu(sortMenu);
HbMenuData::mMenuAction = sortMenuAction;
@@ -864,22 +860,27 @@
connect(this, SIGNAL(testSignal(int)), mTestView, SLOT(startSorting()));
emit testSignal(0);
- QCOMPARE(VideoSortFilterProxyModelData::mDoSortingCallCount, 1);
+ // since current list is videolist, sorting count is 2 because both all videos and collection content are sorted
+ QCOMPARE(VideoSortFilterProxyModelData::mDoSortingCallCount, 2);
QCOMPARE(VideoSortFilterProxyModelData::mSortRole, (int)VideoCollectionCommon::KeyTitle);
QCOMPARE(VideoSortFilterProxyModelData::mSortOrder, Qt::AscendingOrder);
QVERIFY(VideoSortFilterProxyModelData::mSortAsync);
+ VideoSortFilterProxyModelData::mDoSortingCallCount = 0;
// emit test signal again, with same parameters. Sorting should be switched to
// descending order.
emit testSignal(0);
+ // since current list is videolist, sorting count is 2 because both all videos and collection content are sorted
QCOMPARE(VideoSortFilterProxyModelData::mDoSortingCallCount, 2);
QCOMPARE(VideoSortFilterProxyModelData::mSortRole, (int)VideoCollectionCommon::KeyTitle);
QCOMPARE(VideoSortFilterProxyModelData::mSortOrder, Qt::DescendingOrder);
QVERIFY(VideoSortFilterProxyModelData::mSortAsync);
+ VideoSortFilterProxyModelData::mDoSortingCallCount = 0;
// on third emit, sorting should be switched back to ascending
emit testSignal(0);
- QCOMPARE(VideoSortFilterProxyModelData::mDoSortingCallCount, 3);
+ // since current list is videolist, sorting count is 2 because both all videos and collection content are sorted
+ QCOMPARE(VideoSortFilterProxyModelData::mDoSortingCallCount, 2);
QCOMPARE(VideoSortFilterProxyModelData::mSortRole, (int)VideoCollectionCommon::KeyTitle);
QCOMPARE(VideoSortFilterProxyModelData::mSortOrder, Qt::AscendingOrder);
QVERIFY(VideoSortFilterProxyModelData::mSortAsync);
@@ -889,9 +890,10 @@
sortAction = mUiLoader->findObject<HbAction>(DOCML_NAME_SORT_BY_DATE);
QVERIFY(sortAction != 0);
sortMenu->setActiveAction(sortAction);
-
+ VideoSortFilterProxyModelData::mDoSortingCallCount = 0;
emit testSignal(0);
- QCOMPARE(VideoSortFilterProxyModelData::mDoSortingCallCount, 5);
+ // since current list is videolist, sorting count is 2 because both all videos and collection content are sorted
+ QCOMPARE(VideoSortFilterProxyModelData::mDoSortingCallCount, 2);
QCOMPARE(VideoSortFilterProxyModelData::mSortRole, (int)VideoCollectionCommon::KeyDateTime);
QCOMPARE(VideoSortFilterProxyModelData::mSortOrder, Qt::AscendingOrder);
QVERIFY(VideoSortFilterProxyModelData::mSortAsync);
@@ -911,7 +913,7 @@
XQServiceUtilXtra *serviceUtilXtra = XQServiceUtilXtra::instance();
serviceUtilXtra->setCurrentService(true);
QCOMPARE(mTestView->initializeView(), 0);
- QCOMPARE(mTestView->activateView(TMPXItemId::InvalidId()), 0);
+ QCOMPARE(mTestView->activateView(invalidId), 0);
int sortRole = VideoCollectionViewUtilsData::mVideoSortRole;
emit testSignal(0);
QCOMPARE(sortRole, VideoCollectionViewUtilsData::mVideoSortRole);
@@ -1012,11 +1014,11 @@
cleanup();
HbAction *action(0);
-
+ TMPXItemId invalidId = TMPXItemId::InvalidId();
// Collections is triggered from toolbar.
init();
connect(this, SIGNAL(testSignal()), mTestView, SLOT(aboutToShowMainMenuSlot()));
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
setRowCount(1);
action = mTestView->mToolbarActions[VideoListView::ETBActionCollections];
QVERIFY(action != 0);
@@ -1030,7 +1032,7 @@
// All videos is triggered from toolbar.
init();
connect(this, SIGNAL(testSignal()), mTestView, SLOT(aboutToShowMainMenuSlot()));
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
setRowCount(1);
action = mTestView->mToolbarActions[VideoListView::ETBActionAllVideos];
QVERIFY(action != 0);
@@ -1044,7 +1046,7 @@
// Add videos action is visible.
init();
connect(this, SIGNAL(testSignal()), mTestView, SLOT(aboutToShowMainMenuSlot()));
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
mTestView->toolBar()->clearActions();
mTestView->toolBar()->addActions( mTestView->mToolbarCollectionActionGroup->actions() );
setRowCount(1);
@@ -1057,7 +1059,7 @@
// Model has no items.
init();
connect(this, SIGNAL(testSignal()), mTestView, SLOT(aboutToShowMainMenuSlot()));
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
setRowCount(0);
emit testSignal();
visible = visibleMenuActions();
@@ -1067,7 +1069,7 @@
// Toolbar action group is null
init();
connect(this, SIGNAL(testSignal()), mTestView, SLOT(aboutToShowMainMenuSlot()));
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
setRowCount(1);
QActionGroup* actionGroup = mTestView->mToolbarViewsActionGroup;
mTestView->mToolbarViewsActionGroup = NULL;
@@ -1096,7 +1098,7 @@
videoServices->mCurrentService = VideoServices::EBrowse;
init(true);
connect(this, SIGNAL(testSignal()), mTestView, SLOT(aboutToShowMainMenuSlot()));
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
emit testSignal();
visible = visibleMenuActions();
QCOMPARE(visible, 0);
@@ -1109,7 +1111,7 @@
videoServices->mCurrentService = VideoServices::EBrowse;
init(true);
connect(this, SIGNAL(testSignal()), mTestView, SLOT(aboutToShowMainMenuSlot()));
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
setRowCount(3, mTestView->mCurrentList->getModel());
emit testSignal();
QVERIFY(isActionVisible(DOCML_NAME_DELETE_MULTIPLE));
@@ -1289,13 +1291,14 @@
//
void TestListView::testShowHint()
{
+ TMPXItemId invalidId = TMPXItemId::InvalidId();
init(false);
connect(this, SIGNAL(testLayoutChangedSignal()), mTestView, SLOT(layoutChangedSlot()));
mTestView->mModelReady = true;
// current list is null. (cannot be verified, run for coverity
emit testLayoutChangedSignal();
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
disconnect(this, SIGNAL(testLayoutChangedSignal()), mTestView, SLOT(layoutChangedSlot()));
cleanup();
@@ -1353,7 +1356,7 @@
////////
// toolbar setup
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
mTestView->mToolbarActions[VideoListView::ETBActionRemoveVideos]->setVisible(true);
// mToolbarViewsActionGroup is null
@@ -1370,11 +1373,13 @@
QVERIFY(mTestView->mToolbarActions[VideoListView::ETBActionRemoveVideos]->isVisible());
mTestView->mToolbarCollectionActionGroup = tmp;
- // mIsService is true
- mTestView->mIsService = true;
+ // mVideoServices exists
+ VideoServices *tmpService = VideoServices::instance();
+ mTestView->mVideoServices = tmpService;
emit testLayoutChangedSignal();
QVERIFY(mTestView->mToolbarActions[VideoListView::ETBActionRemoveVideos]->isVisible());
- mTestView->mIsService = false;
+ mTestView->mVideoServices = 0;
+ tmpService->decreaseReferenceCount();
// show -flag is true, currentlist level != VideoCollectionCommon::ELevelDefaultColl
mTestView->mCurrentList->activate(VideoCollectionCommon::ELevelAlbum);
@@ -1534,6 +1539,7 @@
init(false);
QVERIFY(connect(this, SIGNAL(testSignal()), mTestView, SLOT(addVideosToCollectionSlot())));
+ TMPXItemId invalidId = TMPXItemId::InvalidId();
VideoSortFilterProxyModelData::mOpenedItemId = TMPXItemId(0, 2);
// Not initalized, no mCurrentList
@@ -1543,7 +1549,7 @@
QCOMPARE(VideoCollectionViewUtilsData::mLastError, 0);
QVERIFY(mTestView->initializeView() == 0);
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
// Selection dialog widget loading fails.
VideoCollectionUiLoaderData::mFindFailure = true;
@@ -1611,7 +1617,7 @@
QVERIFY(connect(this, SIGNAL(testSignal2()), mTestView, SLOT(openCollectionViewSlot())));
emit testSignal2();
disconnect(this, SIGNAL(testSignal2()), mTestView, SLOT(openCollectionViewSlot()));
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
VideoListDataModelData::mRowCountDecrement = 1;
mTestView->mCurrentList->mCurrentLevel = VideoCollectionCommon::ELevelAlbum;
setRowCount(1);
@@ -1643,8 +1649,10 @@
// Not initialized, no current list
emit testSignal();
+ TMPXItemId invalidId = TMPXItemId::InvalidId();
+
QVERIFY(mTestView->initializeView() == 0);
- mTestView->activateView(TMPXItemId::InvalidId());
+ mTestView->activateView(invalidId);
setRowCount(1);
// Wrong level.
--- a/videocollection/videocollectionview/tsrc/testlistwidget/src/testlistwidget.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/tsrc/testlistwidget/src/testlistwidget.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 52 %
+// Version : %version: 56 %
#include <qmap.h>
#include <vcxmyvideosdefs.h>
@@ -147,6 +147,7 @@
void TestListWidget::initTestCase()
{
qRegisterMetaType<QModelIndex>("QModelIndex");
+ qRegisterMetaType<TMPXItemId>("TMPXItemId");
}
// ---------------------------------------------------------------------------
@@ -188,7 +189,7 @@
}
// ---------------------------------------------------------------------------
-// testInitialize
+// testInitialized
// ---------------------------------------------------------------------------
//
void TestListWidget::testInitialize()
@@ -200,14 +201,12 @@
QVERIFY(mTestWidget->initialize(*model) == 0);
QVERIFY(mTestWidget->mModel == model);
QVERIFY(mTestWidget->mVideoServices == 0);
- QVERIFY(mTestWidget->mIsService == false);
// service initialization
VideoServices *service = VideoServices::instance();
- QVERIFY(mTestWidget->initialize(*model, service) == 0);
+ QVERIFY(mTestWidget->initialize(*model, true) == 0);
QVERIFY(mTestWidget->mModel == model);
QVERIFY(mTestWidget->mVideoServices == service);
- QVERIFY(mTestWidget->mIsService == true);
service->decreaseReferenceCount();
service = 0;
@@ -228,20 +227,25 @@
QCOMPARE(HbListView::mLatestVisibility, false);
QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 0);
- // model exist, no current view default level: succeeds
+ // model exist, no current view default level: fails
QVERIFY(mTestWidget->initialize(*model) == 0);
- QVERIFY(mTestWidget->activate() == 0);
+ QVERIFY(mTestWidget->activate() == -1);
QCOMPARE(HbMenuData::mEnabledSetted, false);
- QCOMPARE(HbListView::mLatestVisibility, true);
- QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 1);
+ QCOMPARE(HbListView::mLatestVisibility, false);
+ QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 0);
HbMenuData::mEnabledSetted = true;
HbListView::mLatestVisibility = false;
HbListView::mLatestEnableValue = false;
VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 0;
-
+ HbView *tmpView = new HbView();
// model exists, current view exists, level neither ELevelAlbum nor ELevelDefaultColl
- HbView *tmpView = new HbView();
+ delete mTestWidget;
+ mTestWidget = 0;
+ mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
+ model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+
+ QVERIFY(mTestWidget->initialize(*model, 0, VideoCollectionCommon::ELevelVideos) == 0);
hbInstance->allMainWindows().value(0)->addView(tmpView);
QVERIFY(mTestWidget->activate() == 0);
QCOMPARE(HbMenuData::mEnabledSetted, true);
@@ -277,16 +281,42 @@
// activate:
// -is service
// -current service is browse
- VideoServices *videoServices = VideoServices::instance();
+ VideoServices *videoServices = VideoServices::instance();
+ delete mTestWidget;
+ mTestWidget = 0;
+ mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
videoServices->mCurrentService = VideoServices::EBrowse;
+ QVERIFY(mTestWidget->initialize(*model, true) == 0);
+ QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelDefaultColl) == 0);
+ QVERIFY(mTestWidget->mNavKeyAction);
+ QVERIFY(HbAction::mNavAction == Hb::BackAction);
+
+ // activate:
+ // -is service
+ // -current service is fetch
+ // -activating all videos
delete mTestWidget;
mTestWidget = 0;
mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
- QVERIFY(mTestWidget->initialize(*model, videoServices) == 0);
- QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelDefaultColl) == 0);
+ videoServices->mCurrentService = VideoServices::EUriFetcher;
+ QVERIFY(mTestWidget->initialize(*model, true) == 0);
+ QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelVideos) == 0);
QVERIFY(mTestWidget->mNavKeyAction);
QVERIFY(HbAction::mNavAction == Hb::QuitAction);
+ // activate:
+ // -is service
+ // -current service is fetch
+ // -activating album
+ delete mTestWidget;
+ mTestWidget = 0;
+ mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
+ videoServices->mCurrentService = VideoServices::EUriFetcher;
+ QVERIFY(mTestWidget->initialize(*model, true) == 0);
+ QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelAlbum) == 0);
+ QVERIFY(mTestWidget->mNavKeyAction);
+ QVERIFY(HbAction::mNavAction == Hb::BackAction);
+
hbInstance->allMainWindows().value(0)->removeView(tmpView);
delete tmpView;
@@ -387,7 +417,7 @@
VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
- QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const QModelIndex&)));
+ QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const TMPXItemId&)));
QSignalSpy spysignalFileUri(mTestWidget, SIGNAL(fileUri(const QString&)));
QSignalSpy spysignalActivated(mTestWidget, SIGNAL(activated(const QModelIndex&)));
@@ -451,11 +481,10 @@
spysignalActivated.clear();
// current level is not ELevelCategory
- // mIsService is true, variant gotten is invalid
+ // mVideoServices exist, variant gotten is invalid
mTestWidget->mService = VideoServices::EUriFetcher;
VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, QVariant());
mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelVideos;
- mTestWidget->mIsService = true;
mTestWidget->mVideoServices = videoServices;
fetchIndex = model->index(5, 0, QModelIndex());
mTestWidget->callEmiteActivated(fetchIndex);
@@ -465,7 +494,7 @@
QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
// current level is not ELevelCategory
- // mIsService is true, variant gotten is valid
+ // mVideoServices, variant gotten is valid
mTestWidget->mService = VideoServices::EUriFetcher;
VideoListDataModelData::setData(VideoCollectionCommon::KeyFilePath, data);
fetchIndex = model->index(0, 0, QModelIndex());
@@ -480,8 +509,8 @@
spysignalActivated.clear();
// current level is not ELevelCategory
- // mIsService is false
- mTestWidget->mIsService = false;
+ // mVideoServices does not exists
+ mTestWidget->mVideoServices = 0;
fetchIndex = model->index(0, 0, QModelIndex());
mTestWidget->callEmiteActivated(fetchIndex);
QVERIFY(spysignal.count() == 0);
@@ -563,24 +592,26 @@
QVERIFY(HbMenuData::mExecPoint != point);
mTestWidget->mModel = tmp;
- // gotten id != KVcxMvcMediaTypeVideo, service is true and id != KVcxMvcMediaTypeAlbum
+ VideoServices *videoServices = VideoServices::instance();
+
+ // gotten id != KVcxMvcMediaTypeVideo, service exists true and id != KVcxMvcMediaTypeAlbum
VideoSortFilterProxyModelData::mItemIds.clear();
VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,1));
- mTestWidget->mIsService = true;
+ mTestWidget->mVideoServices = videoServices;
mTestWidget->callLongPressedSlot(item, point);
QVERIFY(HbMenuData::mExecPoint == point);
- // gotten id != KVcxMvcMediaTypeVideo, service is false and id != KVcxMvcMediaTypeAlbum
+ // gotten id != KVcxMvcMediaTypeVideo, service does not exists and id != KVcxMvcMediaTypeAlbum
VideoSortFilterProxyModelData::mItemIds.clear();
VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,1));
- mTestWidget->mIsService = false;
+ mTestWidget->mVideoServices = 0;
mTestWidget->callLongPressedSlot(item, point);
QVERIFY(HbMenuData::mExecPoint == point);
- // gotten id != KVcxMvcMediaTypeVideo, service is false and id == KVcxMvcMediaTypeAlbum
+ // gotten id != KVcxMvcMediaTypeVideo, service service does not exists and id == KVcxMvcMediaTypeAlbum
VideoSortFilterProxyModelData::mItemIds.clear();
VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,2));
- mTestWidget->mIsService = false;
+ mTestWidget->mVideoServices = 0;
mTestWidget->callLongPressedSlot(item, point);
QVERIFY(HbMenuData::mExecPoint == point);
HbMenuData::mExecPoint = QPointF();
@@ -588,7 +619,7 @@
// gotten id == KVcxMvcMediaTypeVideo
VideoSortFilterProxyModelData::mItemIds.clear();
VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,02));
- mTestWidget->mIsService = false;
+ mTestWidget->mVideoServices = 0;
mTestWidget->callLongPressedSlot(item, point);
QVERIFY(HbMenuData::mExecPoint == point);
HbMenuData::mExecPoint = QPointF();
@@ -607,12 +638,11 @@
// -is service
// -current service is browse
HbMenuData::mExecPoint = QPointF();
- VideoServices *videoServices = VideoServices::instance();
videoServices->mCurrentService = VideoServices::EBrowse;
delete mTestWidget;
mTestWidget = 0;
mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
- QVERIFY(mTestWidget->initialize(*model, videoServices) == 0);
+ QVERIFY(mTestWidget->initialize(*model, true) == 0);
QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelDefaultColl) == 0);
mTestWidget->mItem->mModelIndex = model->index(0, 0, QModelIndex());
mTestWidget->callLongPressedSlot(item, point);
@@ -622,19 +652,61 @@
QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionDetails]->isVisible());
// long press gesture:
- // -is service
- // -current service is EUriFetcher
+ // - is service
+ // - current service is EUriFetcher
+ // - category view activated
HbMenuData::mExecPoint = QPointF();
videoServices = VideoServices::instance();
videoServices->mCurrentService = VideoServices::EUriFetcher;
delete mTestWidget;
mTestWidget = 0;
mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
- QVERIFY(mTestWidget->initialize(*model, videoServices) == 0);
+ QVERIFY(mTestWidget->initialize(*model, true) == 0);
+ QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelCategory) == 0);
+ mTestWidget->mItem->mModelIndex = model->index(0, 0, QModelIndex());
+ mTestWidget->callLongPressedSlot(item, point);
+ QCOMPARE(mTestWidget->mContextMenuActions.count(), 4);
+ QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionOpen]->isVisible());
+ QVERIFY(!mTestWidget->mContextMenuActions[VideoListWidget::EActionAttach]->isVisible());
+ QVERIFY(!mTestWidget->mContextMenuActions[VideoListWidget::EActionPlay]->isVisible());
+ QVERIFY(!mTestWidget->mContextMenuActions[VideoListWidget::EActionDetails]->isVisible());
+
+ // long press gesture:
+ // - is service
+ // - current service is EUriFetcher
+ // - user defined collection activated
+ HbMenuData::mExecPoint = QPointF();
+ videoServices = VideoServices::instance();
+ videoServices->mCurrentService = VideoServices::EUriFetcher;
+ delete mTestWidget;
+ mTestWidget = 0;
+ mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
+ QVERIFY(mTestWidget->initialize(*model, true) == 0);
+ QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelAlbum) == 0);
+ mTestWidget->mItem->mModelIndex = model->index(0, 0, QModelIndex());
+ mTestWidget->callLongPressedSlot(item, point);
+ QCOMPARE(mTestWidget->mContextMenuActions.count(), 4);
+ QVERIFY(!mTestWidget->mContextMenuActions[VideoListWidget::EActionOpen]->isVisible());
+ QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionAttach]->isVisible());
+ QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionPlay]->isVisible());
+ QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionDetails]->isVisible());
+
+ // long press gesture:
+ // - is service
+ // - current service is EUriFetcher
+ // - default collection activated
+ HbMenuData::mExecPoint = QPointF();
+ videoServices = VideoServices::instance();
+ videoServices->mCurrentService = VideoServices::EUriFetcher;
+ delete mTestWidget;
+ mTestWidget = 0;
+ mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
+ QVERIFY(mTestWidget->initialize(*model, true) == 0);
QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelDefaultColl) == 0);
mTestWidget->mItem->mModelIndex = model->index(0, 0, QModelIndex());
mTestWidget->callLongPressedSlot(item, point);
- QCOMPARE(mTestWidget->mContextMenuActions.count(), 3);
+ QCOMPARE(mTestWidget->mContextMenuActions.count(), 4);
+ QVERIFY(!mTestWidget->mContextMenuActions[VideoListWidget::EActionOpen]->isVisible());
QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionAttach]->isVisible());
QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionPlay]->isVisible());
QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionDetails]->isVisible());
@@ -659,7 +731,7 @@
setRowCount(1);
HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
-
+
TMPXItemId itemId;
QPointF point(1,1);
itemId.iId2 = 0;
@@ -701,8 +773,8 @@
// mCurrentLevel == ELevelCategory
mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelCategory;
- // mIsService is false
- mTestWidget->mIsService = false;
+ // service does not exist
+ mTestWidget->mVideoServices = 0;
mTestWidget->callLongPressedSlot(item, point);
iter = mTestWidget->mContextMenuActions.begin();
QVERIFY(iter != mTestWidget->mContextMenuActions.end());
@@ -717,8 +789,9 @@
}
QVERIFY(visibleCount == 1);
- // mIsService is true, mpxId.iId2 != KVcxMvcMediaTypeAlbum
- mTestWidget->mIsService = true;
+ VideoServices *videoServices = VideoServices::instance();
+ // service exists, mpxId.iId2 != KVcxMvcMediaTypeAlbum
+ mTestWidget->mVideoServices = videoServices;
mTestWidget->callLongPressedSlot(item, point);
iter = mTestWidget->mContextMenuActions.begin();
QVERIFY(iter != mTestWidget->mContextMenuActions.end());
@@ -733,12 +806,11 @@
}
QVERIFY(visibleCount == 1);
- // mIsService is false, mpxId.iId2 == KVcxMvcMediaTypeAlbum
- //VideoSortFilterProxyModelData::mItemIds.clear();
+ // service does not exists , mpxId.iId2 == KVcxMvcMediaTypeAlbum
VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,KVcxMvcMediaTypeAlbum));
HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
item->mModelIndex = model->index(1, 0, QModelIndex());
- mTestWidget->mIsService = false;
+ mTestWidget->mVideoServices = 0;
mTestWidget->callLongPressedSlot(item, point);
iter = mTestWidget->mContextMenuActions.begin();
QVERIFY(iter != mTestWidget->mContextMenuActions.end());
@@ -756,8 +828,8 @@
// mCurrentLevel == ELevelAlbum
mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelAlbum;
- // mIsService is false
- mTestWidget->mIsService = false;
+ // service does not exists
+ mTestWidget->mVideoServices = 0;
mTestWidget->callLongPressedSlot(item, point);
iter = mTestWidget->mContextMenuActions.begin();
QVERIFY(iter != mTestWidget->mContextMenuActions.end());
@@ -772,14 +844,13 @@
}
QVERIFY(visibleCount == 4);
- // mIsService is true
+ // service does exists
// object needs to be resetted for the service use
cleanup();
init();
setRowCount(1);
model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
- VideoServices *videoServices = VideoServices::instance();
- mTestWidget->mIsService = true;
+ mTestWidget->mVideoServices = videoServices;
videoServices->mCurrentService = VideoServices::EUriFetcher;
mTestWidget->initialize(*model, videoServices);
HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
@@ -817,6 +888,7 @@
++iter;
}
QVERIFY(visibleCount == 0);
+ videoServices->decreaseReferenceCount();
}
void TestListWidget::testDoDelayedsSlot()
@@ -1315,7 +1387,7 @@
VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
- QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const QModelIndex&)));
+ QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const TMPXItemId&)));
connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(back()));
// no model
emit testSignal();
--- a/videocollection/videocollectionview/tsrc/testvideocollectionviewutils/inc/testvideocollectionviewutils.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/tsrc/testvideocollectionviewutils/inc/testvideocollectionviewutils.h Thu Jun 24 09:49:13 2010 +0300
@@ -81,9 +81,14 @@
void testSortModel();
/**
- * verifies saveWidgetLevel & loadWidgetLevel
+ * verifies setWidgetLevel & getWidgetLevel
*/
- void testSaveAndLoadWidgetLevel();
+ void testSetAndGetWidgetLevel();
+
+ /**
+ * verifies setCollectionActivityData & getCollectionActivityData
+ */
+ void testSetAndGetCollectionActivityData();
};
--- a/videocollection/videocollectionview/tsrc/testvideocollectionviewutils/src/testvideocollectionviewutils.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/tsrc/testvideocollectionviewutils/src/testvideocollectionviewutils.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -16,12 +16,14 @@
*/
#include <qapplication.h>
+#include <vcxmyvideosdefs.h>
#include "centralrepository.h"
#include "testvideocollectionviewutils.h"
#include "hblabel.h"
#include "hbaction.h"
#include "videocollectionwrapper.h"
#include "videosortfilterproxymodeldata.h"
+#include "videoactivitystate.h"
#include "videocollectioncommon.h"
#include "centralrepository.h"
#include "hbmessageboxdata.h"
@@ -35,10 +37,17 @@
#undef private
// following consts are copied from videocollectionviewutils.cpp
-const int KVideoSortingRoleKey(0x5);
-const int KVideoSortingOrderKey(0x6);
-const int KCollectionsSortingRoleKey(0x7);
-const int KCollectionsSortingOrderKey(0x8);
+const int KVideoSortingRoleKey(0x1);
+const int KVideoSortingOrderKey(0x2);
+const int KCollectionsSortingRoleKey(0x3);
+const int KCollectionsSortingOrderKey(0x4);
+static const QString KEY_WIDGET_LEVEL = "_VideoActivity_widget_level_";
+
+// id of the collection whose videolist is to be shown (int).
+static const QString KEY_COLLECTION_ID = "_VideoActivity_collection_id_";
+
+// name of the collection whose videolist is to be shown (QString)
+static const QString KEY_COLLECTION_NAME = "_VideoActivity_collection_name_";
// ---------------------------------------------------------------------------
// main
@@ -626,6 +635,10 @@
}
+// -----------------------------------------------------------------------------
+// testSortModel
+// -----------------------------------------------------------------------------
+//
void TestVideoVideoCollectionViewUtils::testSortModel()
{
VideoCollectionViewUtils &testObject(VideoCollectionViewUtils::instance());
@@ -697,7 +710,11 @@
QVERIFY(testObject.mCollectionsSortOrder == Qt::DescendingOrder);
}
-void TestVideoVideoCollectionViewUtils::testSaveAndLoadWidgetLevel()
+// -----------------------------------------------------------------------------
+// testSetAndGetWidgetLevel
+// -----------------------------------------------------------------------------
+//
+void TestVideoVideoCollectionViewUtils::testSetAndGetWidgetLevel()
{
static const char* ACTIVITY_VIDEOS_MAINVIEW = "VideosMainView";
@@ -705,15 +722,78 @@
// Invalid level
level = VideoCollectionCommon::ELevelInvalid;
- VideoCollectionViewUtils::saveWidgetLevel(level);
- level = VideoCollectionViewUtils::loadWidgetLevel();
+ VideoCollectionViewUtils::setWidgetActivityLevel(level);
+ VideoCollectionViewUtils::getActivityWidgetLevel( level);
QVERIFY(level == VideoCollectionCommon::ELevelVideos);
// Category level.
level = VideoCollectionCommon::ELevelCategory;
- VideoCollectionViewUtils::saveWidgetLevel(level);
- level = VideoCollectionViewUtils::loadWidgetLevel();
+ VideoCollectionViewUtils::setWidgetActivityLevel(level);
+ VideoCollectionViewUtils::getActivityWidgetLevel( level);
QVERIFY(level == VideoCollectionCommon::ELevelCategory);
+
+ // make sure unneeded data is cleared
+ TMPXItemId id = TMPXItemId(1,1);
+ QString name = "name";
+ VideoCollectionViewUtils::setCollectionActivityData(id, name);
+ level = VideoCollectionCommon::ELevelVideos;
+ VideoCollectionViewUtils::setWidgetActivityLevel(level);
+
+ QVERIFY(level == VideoCollectionCommon::ELevelVideos);
+ QVariant data = VideoActivityState::instance().getActivityData(KEY_COLLECTION_ID);
+ QVERIFY(data.toInt() == 0);
+ data = VideoActivityState::instance().getActivityData(KEY_COLLECTION_NAME);
+ QVERIFY(data.toString().isEmpty());
+
+ id = TMPXItemId(1,1);
+ name = "name";
+ VideoCollectionViewUtils::setCollectionActivityData(id, name);
+ level = VideoCollectionCommon::ELevelAlbum;
+ VideoCollectionViewUtils::setWidgetActivityLevel(level);
+
+ QVERIFY(level == VideoCollectionCommon::ELevelAlbum);
+ data = VideoActivityState::instance().getActivityData(KEY_COLLECTION_ID);
+ QVERIFY(data.toInt() == 1);
+ data = VideoActivityState::instance().getActivityData(KEY_COLLECTION_NAME);
+ QVERIFY(data.toString() == "name");
+
+}
+
+void TestVideoVideoCollectionViewUtils::testSetAndGetCollectionActivityData()
+{
+ TMPXItemId id = TMPXItemId(1,1);
+ QString name = "name";
+
+ // no default collection nor user defined collection
+ VideoCollectionCommon::TCollectionLevels level = VideoCollectionCommon::ELevelVideos;
+ VideoCollectionViewUtils::setWidgetActivityLevel(level);
+ VideoCollectionViewUtils::setCollectionActivityData(id, name);
+ VideoCollectionViewUtils::getCollectionActivityData(id, name);
+ QVERIFY(id == TMPXItemId::InvalidId());
+ QVERIFY(name.isEmpty());
+
+ // default collection
+ level = VideoCollectionCommon::ELevelDefaultColl;
+ id = TMPXItemId(1,1);
+ name = "name";
+ VideoCollectionViewUtils::setWidgetActivityLevel(level);
+ VideoCollectionViewUtils::setCollectionActivityData(id, name);
+ VideoCollectionViewUtils::getCollectionActivityData(id, name);
+
+ QVERIFY(id == TMPXItemId(1, KVcxMvcMediaTypeCategory));
+ QVERIFY(name == "name");
+
+ // user defined collection
+ level = VideoCollectionCommon::ELevelAlbum;
+ id = TMPXItemId(1,1);
+ name = "name";
+ VideoCollectionViewUtils::setWidgetActivityLevel(level);
+ VideoCollectionViewUtils::setCollectionActivityData(id, name);
+ VideoCollectionViewUtils::getCollectionActivityData(id, name);
+
+ QVERIFY(id == TMPXItemId(1, KVcxMvcMediaTypeAlbum));
+ QVERIFY(name == "name");
+
}
// End of file
--- a/videocollection/videocollectionview/videocollectionview.pro Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/videocollectionview.pro Thu Jun 24 09:49:13 2010 +0300
@@ -26,6 +26,8 @@
BLD_INF_RULES.prj_exports += \
"rom/videocollectionview.iby CORE_APP_LAYER_IBY_EXPORT_PATH(videocollectionview.iby)" \
"conf/videolistview.confml APP_LAYER_CONFML(videolistview.confml)" \
+ "conf/CI_videoplayerservicelist.confml APP_LAYER_CONFML(CI_videoplayerservicelist.confml)" \
+ "conf/videoplayerservicelist.confml APP_LAYER_CONFML(videoplayerservicelist.confml)" \
"conf/videolistview_2002BC63.crml APP_LAYER_CRML(videolistview_2002BC63.crml)"
TARGET.CAPABILITY = ALL -TCB -DRM
@@ -59,7 +61,8 @@
inc/videohintwidget.h \
inc/videocollectionviewutils.h \
inc/videocollectionuiloader.h \
- inc/videolistselectiondialog.h
+ inc/videolistselectiondialog.h \
+ inc/videocollectioncenrepdefs.h
SOURCES += src/videocollectionviewplugin.cpp \
src/videolistview.cpp \
--- a/videocollection/videocollectionwrapper/src/videolistdatamodel_p.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionwrapper/src/videolistdatamodel_p.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 38 %
+// Version : %version: 38.1.1 %
// INCLUDE FILES
#include <hbglobal.h>
@@ -361,18 +361,20 @@
unsigned int startIndex)
{
FUNC_LOG;
- INFO_2("VideoListDataModelPrivate::appendDataToContainerL() array count: %d, start index: %d", videoArray->Count(), startIndex);
- int count = videoArray->Count();
if (!videoArray ||
- startIndex >= count)
+ startIndex >= videoArray->Count())
{
return;
}
+ INFO_2("VideoListDataModelPrivate::appendDataToContainerL() array count: %d, start index: %d", videoArray->Count(), startIndex);
+
CMPXMedia *newMedia = 0;
CMPXMedia *mediaFromArray = 0;
TMPXItemId itemId = TMPXItemId::InvalidId();
+ int count = videoArray->Count();
+
for(int i = startIndex; i < count; ++i)
{
mediaFromArray = videoArray->AtL(i);
--- a/videocollection/videocollectionwrapper/videocollectionwrapper.pro Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionwrapper/videocollectionwrapper.pro Thu Jun 24 09:49:13 2010 +0300
@@ -20,9 +20,15 @@
TARGET.UID2 = 0x1000008D
TARGET.UID3 = 0x200211FD
BLD_INF_RULES.prj_exports += "rom/videocollectionwrapper.iby CORE_APP_LAYER_IBY_EXPORT_PATH(videocollectionwrapper.iby)"
- MMP_RULES += "DEFFILE videocollectionwrapper.def"
TARGET.CAPABILITY = CAP_GENERAL_DLL
TARGET.EPOCALLOWDLLDATA = 1
+ defBlock = \
+ "$${LITERAL_HASH}if defined(EABI)" \
+ "DEFFILE ../eabi/videocollectionwrapper.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/videocollectionwrapper.def" \
+ "$${LITERAL_HASH}endif"
+ MMP_RULES += defBlock
}
CONFIG += hb qt dll
DEFINES += BUILD_VIDEOCOLLECTION_DLL
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/videofiledetailsview/data/videofiledetails.docml Thu Jun 24 09:49:13 2010 +0300
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <object name="mOptionsDelete" type="HbAction">
+ <string locid="txt_common_opt_delete" name="text" value="Delete"/>
+ </object>
+ <widget name="videofiledetailsview" type="HbView">
+ <widget name="mOptionsMenu" role="HbView:menu" type="HbMenu">
+ <ref object="mOptionsDelete" role="HbWidget:addAction"/>
+ </widget>
+ <widget name="mContent" role="HbView:widget" type="HbWidget">
+ <widget name="mLblTitle" type="HbStackedWidget">
+ <real name="z" value="0.0079"/>
+ <sizehint height="4.47761un" type="PREFERRED" width="47.7612un"/>
+ </widget>
+ <widget name="mDetailsContainer" type="HbWidget">
+ <widget name="mDetailsList" type="HbListWidget"/>
+ <real name="z" value="2"/>
+ <sizehint height="23.8806un" type="PREFERRED" width="11.9403un"/>
+ <layout orientation="Vertical" type="linear">
+ <linearitem itemname="mDetailsList"/>
+ </layout>
+ </widget>
+ <widget name="mThumbContainer" type="HbWidget">
+ <widget name="mDetailsLabel" type="HbStackedWidget">
+ <real name="z" value="2"/>
+ <sizehint height="34.47761un" type="PREFERRED" width="47.91045un"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="state" value="normal"/>
+ </widget>
+ <real name="z" value="1"/>
+ <sizehint height="37.31343un" type="PREFERRED" width="47.7612un"/>
+ <layout type="anchor">
+ <anchoritem dst="mDetailsLabel" dstEdge="LEFT" spacing="1.34328un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="mDetailsLabel" dstEdge="TOP" spacing="1.34328un" src="" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ <widget name="mButton" type="HbPushButton">
+ <real name="z" value="3"/>
+ </widget>
+ </widget>
+ </widget>
+ <section name="portrait">
+ <widget name="mContent" role="HbView:widget" type="HbWidget">
+ <widget name="mButton" type="HbPushButton">
+ <real name="z" value="5"/>
+ <sizehint height="7.17164un" type="PREFERRED" width="50.74626un"/>
+ </widget>
+ <widget name="mDetailsContainer" type="HbWidget">
+ <widget name="mDetailsList" type="HbListWidget">
+ <real name="z" value="0"/>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <sizehint height="38.50746un" type="PREFERRED" width="48.0597un"/>
+ <bool name="visible" value="TRUE"/>
+ </widget>
+ <real name="z" value="2"/>
+ <sizehint height="42.68657un" type="PREFERRED" width="50.89551un"/>
+ <layout type="anchor">
+ <anchoritem dst="mDetailsList" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="mDetailsList" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="mDetailsList" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="mDetailsList" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <widget name="mThumbContainer" type="HbWidget">
+ <widget name="mDetailsLabel" type="HbStackedWidget">
+ <real name="z" value="2"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="28.54478un" type="FIXED" width="50.74627un"/>
+ <string name="state"/>
+ </widget>
+ <real name="z" value="1"/>
+ <sizehint height="28.69403un" type="PREFERRED" width="50.74626un"/>
+ <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ <layout orientation="Horizontal" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="mDetailsLabel"/>
+ </layout>
+ </widget>
+ <layout orientation="Vertical" type="linear">
+ <linearitem itemname="mLblTitle"/>
+ <linearitem itemname="mThumbContainer"/>
+ <linearitem itemname="mDetailsContainer"/>
+ <linearitem itemname="mButton"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="landscape">
+ <widget name="mContent" role="HbView:widget" type="HbWidget">
+ <widget name="mDetailsContent" type="HbWidget">
+ <widget name="mRightContent" type="HbWidget">
+ <widget name="mDetailsContainer" type="HbWidget">
+ <widget name="mDetailsList" type="HbListWidget">
+ <real name="z" value="0"/>
+ <sizehint height="35.37314un" type="PREFERRED" width="48.0597un"/>
+ <bool name="visible" value="TRUE"/>
+ </widget>
+ <real name="z" value="2"/>
+ <sizehint height="35.97015un" type="PREFERRED" width="42.98507un"/>
+ <layout type="anchor">
+ <anchoritem dst="mDetailsList" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="mDetailsList" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="mDetailsList" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="mDetailsList" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <sizehint height="29.52029un" type="PREFERRED" width="29.52029un"/>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <layout orientation="Vertical" type="linear">
+ <linearitem itemname="mDetailsContainer"/>
+ </layout>
+ </widget>
+ <widget name="mLeftContent" type="HbWidget">
+ <widget name="mThumbContainer" type="HbWidget">
+ <widget name="mDetailsLabel" type="HbStackedWidget">
+ <real name="z" value="5"/>
+ <sizehint height="29.49253un" type="FIXED" width="48.35821un"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="state"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ </widget>
+ <real name="z" value="1"/>
+ <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ <sizehint height="30.29851un" type="PREFERRED" width="49.04478un"/>
+ <layout type="anchor">
+ <anchoritem dst="mDetailsLabel" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="mDetailsLabel" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="mDetailsLabel" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="mDetailsLabel" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <widget name="mButton" type="HbPushButton">
+ <real name="z" value="6"/>
+ <sizehint height="7.5un" type="PREFERRED" width="43.88059un"/>
+ </widget>
+ <sizehint height="23.8806un" type="PREFERRED" width="23.8806un"/>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <layout orientation="Vertical" type="linear">
+ <linearitem itemname="mThumbContainer"/>
+ <linearitem itemname="mButton"/>
+ </layout>
+ </widget>
+ <sizehint height="29.52029un" type="PREFERRED" width="29.52029un"/>
+ <layout orientation="Horizontal" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="mLeftContent"/>
+ <linearitem itemname="mRightContent"/>
+ </layout>
+ </widget>
+ <layout orientation="Vertical" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="mLblTitle"/>
+ <linearitem itemname="mDetailsContent"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="landscape" display="NHD-4.0-inch_landscape" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common portrait"/>
+ <uistate name="landscape" sections="#common landscape"/>
+ </metadata>
+</hbdocument>
--- a/videocollection/videofiledetailsview/data/videofiledetails.qrc Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videofiledetailsview/data/videofiledetails.qrc Thu Jun 24 09:49:13 2010 +0300
@@ -1,5 +1,5 @@
<RCC>
<qresource prefix="/xml" >
- <file alias="videofiledetails.docml">videofiledetails.xml</file>
+ <file alias="videofiledetails.docml">videofiledetails.docml</file>
</qresource>
</RCC>
--- a/videocollection/videofiledetailsview/data/videofiledetails.xml Fri Jun 11 09:44:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<hbdocument version="1.0">
- <object name="mOptionsDelete" type="HbAction">
- <string locid="txt_common_opt_delete" name="text" value="Delete"/>
- </object>
- <widget name="videofiledetailsview" type="HbView">
- <widget name="mOptionsMenu" role="HbView:menu" type="HbMenu">
- <ref object="mOptionsDelete" role="HbMenu:addAction"/>
- </widget>
- <widget name="mContent" role="HbView:widget" type="HbWidget">
- <widget name="mLblTitle" type="HbStackedWidget">
- <real name="z" value="0.0079"/>
- <sizehint height="4.47761un" type="PREFERRED" width="47.7612un"/>
- </widget>
- <widget name="mDetailsContainer" type="HbWidget">
- <widget name="mDetailsList" type="HbListWidget"/>
- <real name="z" value="2"/>
- <sizehint height="23.8806un" type="PREFERRED" width="11.9403un"/>
- <layout orientation="Vertical" type="linear">
- <linearitem itemname="mDetailsList"/>
- </layout>
- </widget>
- <widget name="mThumbContainer" type="HbWidget">
- <widget name="mDetailsLabel" type="HbStackedWidget">
- <real name="z" value="2"/>
- <sizehint height="34.47761un" type="PREFERRED" width="47.91045un"/>
- <bool name="visible" value="TRUE"/>
- <string name="state" value="normal"/>
- </widget>
- <real name="z" value="1"/>
- <sizehint height="37.31343un" type="PREFERRED" width="47.7612un"/>
- <layout type="anchor">
- <anchoritem dst="mDetailsLabel" dstEdge="LEFT" spacing="1.34328un" src="" srcEdge="LEFT"/>
- <anchoritem dst="mDetailsLabel" dstEdge="TOP" spacing="1.34328un" src="" srcEdge="TOP"/>
- </layout>
- </widget>
- <widget name="mButton" type="HbPushButton">
- <real name="z" value="3"/>
- </widget>
- </widget>
- </widget>
- <section name="portrait">
- <widget name="mContent" role="HbView:widget" type="HbWidget">
- <widget name="mThumbContainer" type="HbWidget">
- <widget name="mDetailsLabel" type="HbStackedWidget">
- <real name="z" value="2"/>
- <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <sizehint height="28.54478un" type="FIXED" width="50.74627un"/>
- <string name="state" value=""/>
- </widget>
- <real name="z" value="1"/>
- <sizehint height="28.69403un" type="PREFERRED" width="50.74626un"/>
- <layout type="anchor">
- <anchoritem dst="mDetailsLabel" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
- <anchoritem dst="mDetailsLabel" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
- <anchoritem dst="mDetailsLabel" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
- <anchoritem dst="mDetailsLabel" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
- </layout>
- </widget>
- <widget name="mDetailsContainer" type="HbWidget">
- <widget name="mDetailsList" type="HbListWidget">
- <real name="z" value="0"/>
- <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
- <sizehint height="38.50746un" type="PREFERRED" width="48.0597un"/>
- <bool name="visible" value="TRUE"/>
- </widget>
- <real name="z" value="2"/>
- <sizehint height="42.68657un" type="PREFERRED" width="50.89551un"/>
- <layout type="anchor">
- <anchoritem dst="mDetailsList" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
- <anchoritem dst="mDetailsList" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
- <anchoritem dst="mDetailsList" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
- <anchoritem dst="mDetailsList" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
- </layout>
- </widget>
- <widget name="mButton" type="HbPushButton">
- <real name="z" value="5"/>
- <sizehint height="7.17164un" type="PREFERRED" width="50.74626un"/>
- </widget>
- <layout type="anchor">
- <anchoritem dst="mLblTitle" dstEdge="TOP" spacing="1.04478un" src="" srcEdge="TOP"/>
- <anchoritem dst="mLblTitle" dstEdge="LEFT" spacing="1.49254un" src="" srcEdge="LEFT"/>
- <anchoritem dst="mLblTitle" dstEdge="RIGHT" spacing="-1.49254un" src="" srcEdge="RIGHT"/>
- <anchoritem dst="mThumbContainer" dstEdge="TOP" spacing="6.71642un" src="" srcEdge="TOP"/>
- <anchoritem dst="mThumbContainer" dstEdge="LEFT" spacing="1.49254un" src="" srcEdge="LEFT"/>
- <anchoritem dst="mThumbContainer" dstEdge="RIGHT" spacing="-1.49254un" src="" srcEdge="RIGHT"/>
- <anchoritem dst="mButton" dstEdge="LEFT" spacing="1un" src="" srcEdge="LEFT"/>
- <anchoritem dst="mButton" dstEdge="TOP" spacing="0un" src="mDetailsContainer" srcEdge="BOTTOM"/>
- <anchoritem dst="mButton" dstEdge="RIGHT" spacing="-1un" src="" srcEdge="RIGHT"/>
- <anchoritem dst="mButton" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
- <anchoritem dst="mDetailsContainer" dstEdge="BOTTOM" spacing="-7.5un" src="" srcEdge="BOTTOM"/>
- <anchoritem dst="mDetailsContainer" dstEdge="RIGHT" spacing="-1.19405un" src="" srcEdge="RIGHT"/>
- <anchoritem dst="mDetailsContainer" dstEdge="LEFT" spacing="1.49254un" src="" srcEdge="LEFT"/>
- </layout>
- </widget>
- </section>
- <section name="landscape">
- <widget name="mContent" role="HbView:widget" type="HbWidget">
- <widget name="mDetailsContainer" type="HbWidget">
- <widget name="mDetailsList" type="HbListWidget">
- <real name="z" value="0"/>
- <sizehint height="35.37314un" type="PREFERRED" width="48.0597un"/>
- <bool name="visible" value="TRUE"/>
- </widget>
- <real name="z" value="2"/>
- <sizehint height="35.97015un" type="PREFERRED" width="42.98507un"/>
- <layout type="anchor">
- <anchoritem dst="mDetailsList" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
- <anchoritem dst="mDetailsList" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
- <anchoritem dst="mDetailsList" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
- <anchoritem dst="mDetailsList" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
- </layout>
- </widget>
- <widget name="mThumbContainer" type="HbWidget">
- <widget name="mDetailsLabel" type="HbStackedWidget">
- <real name="z" value="5"/>
- <sizehint height="29.49253un" type="PREFERRED" width="48.35821un"/>
- <bool name="visible" value="TRUE"/>
- <string name="state" value=""/>
- </widget>
- <sizehint height="30.29851un" type="PREFERRED" width="49.04478un"/>
- <layout type="anchor">
- <anchoritem dst="mDetailsLabel" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
- <anchoritem dst="mDetailsLabel" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
- <anchoritem dst="mDetailsLabel" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
- <anchoritem dst="mDetailsLabel" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
- </layout>
- </widget>
- <widget name="mButton" type="HbPushButton">
- <real name="z" value="6"/>
- <sizehint height="7.5un" type="PREFERRED" width="43.88059un"/>
- </widget>
- <layout type="anchor">
- <anchoritem dst="mLblTitle" dstEdge="TOP" spacing="1.04478un" src="" srcEdge="TOP"/>
- <anchoritem dst="mLblTitle" dstEdge="LEFT" spacing="1.49254un" src="" srcEdge="LEFT"/>
- <anchoritem dst="mLblTitle" dstEdge="RIGHT" spacing="-1.49254un" src="" srcEdge="RIGHT"/>
- <anchoritem dst="mButton" dstEdge="LEFT" spacing="1un" src="" srcEdge="LEFT"/>
- <anchoritem dst="mButton" dstEdge="RIGHT" spacing="-1un" src="mDetailsContainer" srcEdge="LEFT"/>
- <anchoritem dst="mButton" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
- <anchoritem dst="mDetailsContainer" dstEdge="LEFT" spacing="51.04478un" src="" srcEdge="LEFT"/>
- <anchoritem dst="mDetailsContainer" dstEdge="TOP" spacing="6.2un" src="" srcEdge="TOP"/>
- <anchoritem dst="mDetailsContainer" dstEdge="RIGHT" spacing="-1.34329un" src="" srcEdge="RIGHT"/>
- <anchoritem dst="mDetailsContainer" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
- <anchoritem dst="mThumbContainer" dstEdge="RIGHT" spacing="-0.91045un" src="mDetailsContainer" srcEdge="LEFT"/>
- <anchoritem dst="mThumbContainer" dstEdge="TOP" spacing="6.2un" src="" srcEdge="TOP"/>
- <anchoritem dst="mThumbContainer" dstEdge="LEFT" spacing="1un" src="" srcEdge="LEFT"/>
- </layout>
- </widget>
- </section>
- <metadata activeUIState="portrait" display="NHD portrait" unit="un">
- <uistate name="Common ui state" sections="#common"/>
- <uistate name="portrait" sections="#common portrait"/>
- <uistate name="landscape" sections="#common landscape"/>
- </metadata>
-</hbdocument>
--- a/videocollection/videofiledetailsview/src/videofiledetailsviewplugin.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videofiledetailsview/src/videofiledetailsviewplugin.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 76 %
+// Version : %version: 76.1.1 %
// INCLUDE FILES
#include <qcoreapplication.h>
@@ -326,6 +326,14 @@
return;
}
+ // Fix the size of the thumbnail, as that needs to be in 16:9
+ qreal width = button->size().width();
+ qreal height = width * 9 / 16;
+
+ HbStackedWidget* thumbWidget = findWidget<HbStackedWidget>(VIDEO_DETAILS_THUMBNAIL);
+ thumbWidget->setPreferredWidth(width);
+ thumbWidget->setPreferredHeight(height);
+
if (service == VideoServices::EUriFetcher)
{
button->setText(hbTrId("txt_videos_button_attach"));
--- a/videoplayback/hbvideoplaybackview/controlinc/mpxvideoplaybackcontrolbar.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/controlinc/mpxvideoplaybackcontrolbar.h Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 2 %
+// Version : %version: 3 %
@@ -23,8 +23,6 @@
#define MPXVIDEOPLAYBACKCONTROLBAR_H_
-
-#include <hbeffect.h>
#include <hbwidget.h>
#include <mpxplaybackframeworkdefs.h>
@@ -48,10 +46,6 @@
void durationChanged( int duration );
void positionChanged( int position );
- private slots:
- void appeared( const HbEffect::EffectStatus &status );
- void disappeared( const HbEffect::EffectStatus &status );
-
private:
QMPXVideoPlaybackControlsController *mController;
QMPXVideoPlaybackToolBar *mToolBar;
--- a/videoplayback/hbvideoplaybackview/controlinc/mpxvideoplaybackprogressbar.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/controlinc/mpxvideoplaybackprogressbar.h Thu Jun 24 09:49:13 2010 +0300
@@ -15,14 +15,14 @@
*
*/
-// Version : %version: da1mmcf#12 %
+// Version : %version: da1mmcf#13 %
#ifndef MPXVIDEOPLAYBACKPROGRESSBAR_H_
#define MPXVIDEOPLAYBACKPROGRESSBAR_H_
-#include <hbwidget.h>
+#include <QObject>
#include <mpxplaybackframeworkdefs.h>
class QTimer;
@@ -30,7 +30,7 @@
class QMPXVideoPlaybackViewFileDetails;
class QMPXVideoPlaybackControlsController;
-class QMPXVideoPlaybackProgressBar : public HbWidget
+class QMPXVideoPlaybackProgressBar : public QObject
{
Q_OBJECT
--- a/videoplayback/hbvideoplaybackview/controlsrc/mpxvideoplaybackcontrolbar.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/controlsrc/mpxvideoplaybackcontrolbar.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 6 %
+// Version : %version: 7 %
@@ -24,7 +24,6 @@
#include "mpxvideoplaybackcontrolbar.h"
#include "mpxvideoplaybackprogressbar.h"
#include "mpxcommonvideoplaybackview.hrh"
-#include "mpxvideoplaybackdocumentloader.h"
#include "mpxvideoplaybackcontrolscontroller.h"
@@ -32,17 +31,21 @@
// QMPXVideoPlaybackControlBar::QMPXVideoPlaybackControlBar()
// -------------------------------------------------------------------------------------------------
//
-QMPXVideoPlaybackControlBar::QMPXVideoPlaybackControlBar(
+QMPXVideoPlaybackControlBar::QMPXVideoPlaybackControlBar(
QMPXVideoPlaybackControlsController* controller )
: mController( controller )
- , mProgressBar( NULL )
{
MPX_ENTER_EXIT(_L("QMPXVideoPlaybackControlBar::QMPXVideoPlaybackControlBar"));
//
- // button bar
+ // create toolbar handler
//
mToolBar = new QMPXVideoPlaybackToolBar( mController );
+
+ //
+ // create progressbar handler
+ //
+ mProgressBar = new QMPXVideoPlaybackProgressBar( mController );
}
// -------------------------------------------------------------------------------------------------
@@ -53,6 +56,12 @@
{
MPX_DEBUG(_L("QMPXVideoPlaybackControlBar::~QMPXVideoPlaybackControlBar()"));
+ if ( mProgressBar )
+ {
+ delete mProgressBar;
+ mProgressBar = NULL;
+ }
+
if ( mToolBar )
{
delete mToolBar;
@@ -68,23 +77,9 @@
{
MPX_ENTER_EXIT(_L("QMPXVideoPlaybackControlBar::initialize()"));
- QMPXVideoPlaybackDocumentLoader *loader = mController->layoutLoader();
-
- //
- // Don't need to initialize buttons once it gets initialized
- //
- if ( mProgressBar == NULL )
+ if ( mProgressBar )
{
- //
- // progress bar
- //
- QGraphicsWidget *widget = loader->findWidget( QString( "progressBarLayout" ) );
- mProgressBar = qobject_cast<QMPXVideoPlaybackProgressBar*>( widget );
-
- if ( mProgressBar )
- {
- mProgressBar->initialize();
- }
+ mProgressBar->initialize();
}
}
@@ -157,43 +152,6 @@
}
}
-// -------------------------------------------------------------------------------------------------
-// QMPXVideoPlaybackControlBar::appeared()
-// -------------------------------------------------------------------------------------------------
-//
-void QMPXVideoPlaybackControlBar::appeared( const HbEffect::EffectStatus &status )
-{
- MPX_DEBUG(_L("QMPXVideoPlaybackControlBar::appeared()"));
-
- if ( status.reason == Hb::EffectFinished )
- {
- MPX_DEBUG(_L("QMPXVideoPlaybackControlBar::appeared() successful"));
- }
- else
- {
- MPX_DEBUG(_L("QMPXVideoPlaybackControlBar::appeared() NOT successful"));
- }
-}
-
-// -------------------------------------------------------------------------------------------------
-// QMPXVideoPlaybackControlBar::disappeared()
-// -------------------------------------------------------------------------------------------------
-//
-void QMPXVideoPlaybackControlBar::disappeared( const HbEffect::EffectStatus &status )
-{
- MPX_DEBUG(_L("QMPXVideoPlaybackControlBar::disappeared()"));
-
- if ( status.reason == Hb::EffectFinished )
- {
- setVisible( false );
-
- MPX_DEBUG(_L("QMPXVideoPlaybackControlBar::disappeared() successful"));
- }
- else
- {
- MPX_DEBUG(_L("QMPXVideoPlaybackControlBar::disappeared() NOT successful"));
- }
-}
// -------------------------------------------------------------------------------------------------
// QMPXVideoPlaybackControlBar::durationChanged()
@@ -226,7 +184,7 @@
{
mProgressBar->positionChanged( position );
}
-
+
if ( mToolBar )
{
mToolBar->positionChanged( position );
--- a/videoplayback/hbvideoplaybackview/controlsrc/mpxvideoplaybackdetailsplaybackwindow.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/controlsrc/mpxvideoplaybackdetailsplaybackwindow.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 17 %
+// Version : %version: 18 %
@@ -122,11 +122,11 @@
//
// dim "share" button for streaming
//
- if ( mController->fileDetails()->mPlaybackMode == EMPXVideoStreaming ||
- mController->fileDetails()->mPlaybackMode == EMPXVideoLiveStreaming )
+ if ( details->mPlaybackMode == EMPXVideoStreaming ||
+ details->mPlaybackMode == EMPXVideoLiveStreaming )
{
- shareButton->setEnabled( false );
- }
+ shareButton->setEnabled( false );
+ }
}
}
--- a/videoplayback/hbvideoplaybackview/controlsrc/mpxvideoplaybackdocumentloader.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/controlsrc/mpxvideoplaybackdocumentloader.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,13 +15,12 @@
*
*/
-// Version : %version: 13 %
+// Version : %version: 14 %
#include "mpxvideo_debug.h"
#include "mpxvideoplaybackcontrolbar.h"
-#include "mpxvideoplaybackprogressbar.h"
#include "mpxvideoplaybackdocumentloader.h"
#include "mpxvideoplaybackfiledetailswidget.h"
#include "mpxvideoplaybackcontrolscontroller.h"
@@ -66,11 +65,6 @@
object = new QMPXVideoPlaybackControlBar( mController );
object->setObjectName( name );
}
- else if ( name == "progressBarLayout" )
- {
- object = new QMPXVideoPlaybackProgressBar( mController );
- object->setObjectName( name );
- }
else if ( name == "fileDetailsLayout" )
{
object = new QMPXVideoPlaybackFileDetailsWidget( mController );
--- a/videoplayback/hbvideoplaybackview/controlsrc/mpxvideoplaybackfiledetailswidget.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/controlsrc/mpxvideoplaybackfiledetailswidget.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 25 %
+// Version : %version: 26 %
#include <QDir>
@@ -42,7 +42,7 @@
// QMPXVideoPlaybackFileDetailsWidget::QMPXVideoPlaybackFileDetailsWidget
// -------------------------------------------------------------------------------------------------
//
-QMPXVideoPlaybackFileDetailsWidget::QMPXVideoPlaybackFileDetailsWidget(
+QMPXVideoPlaybackFileDetailsWidget::QMPXVideoPlaybackFileDetailsWidget(
QMPXVideoPlaybackControlsController* controller )
: mController( controller )
, mListWidget( 0 )
@@ -75,7 +75,7 @@
// load fileDetails widget
//
QGraphicsWidget *widget = loader->findWidget( QString( "fileDetails" ) );
-
+
//
// cast fileDetails widget to HbListWidget
//
@@ -89,7 +89,7 @@
//
// Title
- //
+ //
makeTitleItem( details );
if ( ! mFileDetailsUpdated )
@@ -101,8 +101,8 @@
//
// Description
//
- addItemToListWidget(
- hbTrId( "txt_videos_list_description" ), details->mDescription );
+ addItemToListWidget(
+ hbTrId( "txt_videos_list_description" ), details->mDescription );
//
// Duration
@@ -118,8 +118,8 @@
addItemToListWidget(
hbTrId( "txt_videos_list_duration" ),
- hbTrId( "txt_videos_list_l1l2l3" ).arg( hour ).arg( min ).arg( sec ) );
- }
+ hbTrId( "txt_videos_list_l1l2l3" ).arg( hour ).arg( min ).arg( sec ) );
+ }
//
// Date/Time
@@ -129,27 +129,27 @@
//
// Location
//
- addItemToListWidget( hbTrId( "txt_videos_list_location" ), details->mLocation );
+ addItemToListWidget( hbTrId( "txt_videos_list_location" ), details->mLocation );
//
// Author
//
- addItemToListWidget( hbTrId( "txt_videos_list_author" ), details->mArtist );
+ addItemToListWidget( hbTrId( "txt_videos_list_author" ), details->mArtist );
//
// Copyright
//
- addItemToListWidget( hbTrId( "txt_videos_list_copyright" ), details->mCopyright );
+ addItemToListWidget( hbTrId( "txt_videos_list_copyright" ), details->mCopyright );
//
// Language
//
- addItemToListWidget( hbTrId( "txt_videos_list_language" ), details->mLanguage );
+ addItemToListWidget( hbTrId( "txt_videos_list_language" ), details->mLanguage );
//
// Keywords
//
- addItemToListWidget( hbTrId( "txt_videos_list_keywords" ), details->mKeywords );
+ addItemToListWidget( hbTrId( "txt_videos_list_keywords" ), details->mKeywords );
//
// Size
@@ -163,14 +163,14 @@
{
QString resolution = hbTrId( "txt_videos_list_l1l2" )
.arg( locale.toString( details->mVideoWidth ) )
- .arg( locale.toString( details->mVideoHeight ) );
- addItemToListWidget( hbTrId( "txt_videos_list_resolution" ), resolution );
+ .arg( locale.toString( details->mVideoHeight ) );
+ addItemToListWidget( hbTrId( "txt_videos_list_resolution" ), resolution );
}
//
// Format
//
- addItemToListWidget( hbTrId( "txt_videos_list_format" ), details->mMimeType );
+ addItemToListWidget( hbTrId( "txt_videos_list_format" ), details->mMimeType );
//
// Bitrate
@@ -183,7 +183,7 @@
if ( details->mPlaybackMode == EMPXVideoLocal ||
details->mPlaybackMode == EMPXVideoProgressiveDownload)
{
- QFileInfo fileInfo( details->mClipName );
+ QFileInfo fileInfo( details->mClipName );
QString folder = fileInfo.dir().dirName();
addItemToListWidget( hbTrId( "txt_videos_list_collection_name" ), folder );
}
@@ -234,16 +234,16 @@
// -------------------------------------------------------------------------------------------------
//
void QMPXVideoPlaybackFileDetailsWidget::makeTitleItem( QMPXVideoPlaybackViewFileDetails* details )
-{
+{
MPX_DEBUG(_L("QMPXVideoPlaybackFileDetailsWidget::makeTitleItem()"));
//
// Title should be the first item in file details list
//
if ( mController->viewMode() == EAudioOnlyView )
- {
+ {
//
- // show the title for audio-only view
+ // show the title for audio-only view
//
if ( mListWidget->count() == 0 || ! mListWidget->item( 0 )->text().contains( "Title", Qt::CaseInsensitive ) )
{
@@ -253,9 +253,9 @@
{
//
// If title is not available, show clip name
- //
+ //
QFileInfo fileInfo( details->mClipName );
- title = fileInfo.baseName ();
+ title = fileInfo.completeBaseName();
}
//
@@ -270,7 +270,7 @@
else if ( mListWidget->count() &&
mListWidget->item( 0 )->text().contains( "Title", Qt::CaseInsensitive ) )
{
- //
+ //
// title is displayed under the status pane for video clips,
// so hide the title for this details view
//
@@ -283,17 +283,17 @@
// -------------------------------------------------------------------------------------------------
//
void QMPXVideoPlaybackFileDetailsWidget::makeSizeItem( QMPXVideoPlaybackViewFileDetails* details )
-{
+{
if ( details->mPlaybackMode == EMPXVideoLocal ||
details->mPlaybackMode == EMPXVideoProgressiveDownload )
{
- QFileInfo fileInfo( details->mClipName );
-
+ QFileInfo fileInfo( details->mClipName );
+
//
// to prevent overflow, get an unsigned value of file size
//
ulong fileSize = fileInfo.size();
-
+
//
// convert file size to KB, MB, GB accordingly
//
@@ -329,9 +329,9 @@
int temp = size * 10;
size = (float)temp / 10;
- addItemToListWidget(
+ addItemToListWidget(
hbTrId( "txt_videos_list_file_size" ), scale.arg( locale.toString( size ) ) );
- }
+ }
}
}
@@ -340,7 +340,7 @@
// -------------------------------------------------------------------------------------------------
//
void QMPXVideoPlaybackFileDetailsWidget::makeBitRateItem( QMPXVideoPlaybackViewFileDetails* details )
-{
+{
if ( details->mBitRate > 0 )
{
HbExtendedLocale locale = HbExtendedLocale::system();
@@ -353,17 +353,17 @@
{
bitrate /= KILOBYTE;
}
-
+
if ( bitrate > KILOBYTE )
{
bitrate /= KILOBYTE;
scale = hbTrId( "txt_videos_list_l1_mbps" );
}
-
+
int temp = bitrate * 10;
bitrate = (float)temp / 10;
- addItemToListWidget(
+ addItemToListWidget(
hbTrId( "txt_videos_list_bitrate" ), scale.arg( locale.toString( bitrate ) ) );
}
}
@@ -373,18 +373,18 @@
// -------------------------------------------------------------------------------------------------
//
void QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget( QString item, QString text )
-{
+{
MPX_ENTER_EXIT(_L("QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget"));
-
+
if ( text.count() > 0 )
{
- MPX_DEBUG(_L("QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget( %s %s )"),
+ MPX_DEBUG(_L("QMPXVideoPlaybackFileDetailsWidget::addItemToListWidget( %s %s )"),
item.data(), text.data() );
-
+
HbListWidgetItem* listWidgetItem = new HbListWidgetItem();
listWidgetItem->setText( item );
listWidgetItem->setSecondaryText( text );
-
+
mListWidget->addItem( listWidgetItem );
}
}
@@ -394,21 +394,21 @@
// -------------------------------------------------------------------------------------------------
//
void QMPXVideoPlaybackFileDetailsWidget::makeDateTimeItem( QMPXVideoPlaybackViewFileDetails* details )
-{
+{
MPX_ENTER_EXIT(_L("QMPXVideoPlaybackFileDetailsWidget::makeDateTimeItem"));
-
+
//
// attempt to get 'created' and 'last modified' date/time from metadata first,
// if it's not available, then get it from the file system
//
-
+
if ( details->mPlaybackMode == EMPXVideoLocal ||
details->mPlaybackMode == EMPXVideoProgressiveDownload )
- {
+ {
QDateTime dateTime;
- QFileInfo fileInfo( details->mClipName );
+ QFileInfo fileInfo( details->mClipName );
HbExtendedLocale locale = HbExtendedLocale::system();
-
+
//
// Date created
//
@@ -420,15 +420,15 @@
{
dateTime = fileInfo.created();
}
-
+
//
// convert 'created' date/time to proper string format
// according to its current locale
//
QString date = locale.format( dateTime.date(), r_qtn_date_usual );
QString time = locale.format( dateTime.time(), r_qtn_time_long_with_zero );
- addItemToListWidget( hbTrId( "txt_videos_list_date" ), date + " " + time );
-
+ addItemToListWidget( hbTrId( "txt_videos_list_date" ), date + " " + time );
+
//
// Date modified
//
@@ -440,15 +440,15 @@
{
dateTime = fileInfo.lastModified();
}
-
+
//
// convert 'last modified' date/time to proper string format
// according to its current locale
//
date = locale.format( dateTime.date(), r_qtn_date_usual );
time = locale.format( dateTime.time(), r_qtn_time_long_with_zero );
- addItemToListWidget( hbTrId( "txt_videos_list_modified" ), date + " " + time );
- }
+ addItemToListWidget( hbTrId( "txt_videos_list_modified" ), date + " " + time );
+ }
}
//End of file
--- a/videoplayback/hbvideoplaybackview/controlsrc/mpxvideoplaybackprogressbar.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/controlsrc/mpxvideoplaybackprogressbar.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: da1mmcf#23 %
+// Version : %version: da1mmcf#24 %
@@ -41,10 +41,9 @@
// QMPXVideoPlaybackProgressBar::QMPXVideoPlaybackProgressBar
// -------------------------------------------------------------------------------------------------
//
-QMPXVideoPlaybackProgressBar::QMPXVideoPlaybackProgressBar(
+QMPXVideoPlaybackProgressBar::QMPXVideoPlaybackProgressBar(
QMPXVideoPlaybackControlsController* controller )
: mController( controller )
- , mDuration( -1 )
, mDraggingPosition( 0 )
, mSetPosition( -1 )
, mNeedToResumeAfterSetPosition( false )
@@ -68,7 +67,7 @@
if ( mSeekingTimer )
{
disconnect( mSeekingTimer, SIGNAL( timeout() ), this, SLOT( handleSeekingTimeout() ) );
-
+
if ( mSeekingTimer->isActive() )
{
mSeekingTimer->stop();
@@ -95,11 +94,11 @@
if ( loader && ! mInitialized )
{
mInitialized = true;
- mLiveStreaming =
+ mLiveStreaming =
( mController->fileDetails()->mPlaybackMode == EMPXVideoLiveStreaming )? true:false;
//
- // Create a timer for seeking.
+ // Create a timer for seeking.
// We will issue SetPosition every KSeekingTimeOut msec to show the current frame to user
//
mSeekingTimer = new QTimer();
@@ -119,7 +118,7 @@
//
// If we init the progress bar after pp sends the duration informatin
- // we need to set the duration manually
+ // we need to set the duration manually
//
durationChanged( (qreal)mController->fileDetails()->mDuration / (qreal)KPbMilliMultiplier );
@@ -135,7 +134,7 @@
frameItem->frameDrawer().setFrameGraphicsName( "qtg_fr_multimedia_trans" );
frameItem->frameDrawer().setFrameType( HbFrameDrawer::NinePieces );
frameItem->frameDrawer().setFillWholeRect( true );
- setBackgroundItem( frameItem );
+ mProgressSlider->setBackgroundItem( frameItem );
}
}
@@ -149,6 +148,7 @@
if ( mLiveStreaming )
{
+ mDuration = 0;
mProgressSlider->setMaxText( "Live" );
}
else
@@ -251,7 +251,7 @@
// QMPXVideoPlaybackProgressBar::handleSliderPressed
// -------------------------------------------------------------------------------------------------
//
-void QMPXVideoPlaybackProgressBar::handleSliderPressed()
+void QMPXVideoPlaybackProgressBar::handleSliderPressed()
{
MPX_ENTER_EXIT(_L("QMPXVideoPlaybackProgressBar::handleSliderPressed()"));
@@ -265,7 +265,7 @@
if( mController->state() == EPbStatePlaying )
{
mNeedToResumeAfterSetPosition = true;
- mController->handleCommand( EMPXPbvCmdCustomPause );
+ mController->handleCommand( EMPXPbvCmdCustomPause );
}
}
@@ -273,7 +273,7 @@
// QMPXVideoPlaybackProgressBar::handleSliderMoved
// -------------------------------------------------------------------------------------------------
//
-void QMPXVideoPlaybackProgressBar::handleSliderMoved( int value )
+void QMPXVideoPlaybackProgressBar::handleSliderMoved( int value )
{
MPX_DEBUG(_L("QMPXVideoPlaybackProgressBar::handleSliderMoved() position = %d"), value);
@@ -324,7 +324,7 @@
{
mSeekingTimer->stop();
}
-
+
mController->resetDisappearingTimers( EMPXTimerReset );
int value = mProgressSlider->sliderValue();
@@ -364,7 +364,7 @@
MPX_DEBUG(_L("QMPXVideoPlaybackProgressBar::updateControlsWithFileDetails()"));
if ( ! details->mPausableStream || ! details->mSeekable )
- {
+ {
mProgressSlider->setEnabled( false );
}
else if ( ! mProgressSlider->isEnabled() )
@@ -372,7 +372,8 @@
mProgressSlider->setEnabled( true );
}
- backgroundItem()->setVisible( ( mController->viewMode() == EFullScreenView )? ETrue:EFalse );
+ mProgressSlider->backgroundItem()->setVisible(
+ ( mController->viewMode() == EFullScreenView )? ETrue:EFalse );
}
// -------------------------------------------------------------------------------------------------
@@ -388,18 +389,18 @@
case EPbStatePlaying:
case EPbStatePaused:
{
- if ( ! isEnabled() )
+ if ( ! mProgressSlider->isEnabled() )
{
- setEnabled( true );
+ mProgressSlider->setEnabled( true );
}
break;
}
default:
{
- if ( isEnabled() )
+ if ( mProgressSlider->isEnabled() )
{
- setEnabled( false );
+ mProgressSlider->setEnabled( false );
}
break;
}
--- a/videoplayback/hbvideoplaybackview/controlsrc/mpxvideoplaybackstatuspanecontrol.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/controlsrc/mpxvideoplaybackstatuspanecontrol.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 17 %
+// Version : %version: 19 %
@@ -42,10 +42,10 @@
// QMPXVideoPlaybackStatusPaneControl::QMPXVideoPlaybackStatusPaneControl()
// -------------------------------------------------------------------------------------------------
//
-QMPXVideoPlaybackStatusPaneControl::QMPXVideoPlaybackStatusPaneControl(
- QMPXVideoPlaybackControlsController* controller,
- TMPXVideoPlaybackControls index,
- HbWidget* widget,
+QMPXVideoPlaybackStatusPaneControl::QMPXVideoPlaybackStatusPaneControl(
+ QMPXVideoPlaybackControlsController* controller,
+ TMPXVideoPlaybackControls index,
+ HbWidget* widget,
TUint controlproperties )
: QMPXVideoPlaybackFullScreenControl( controller, index, widget, controlproperties )
, mActionBack( NULL )
@@ -181,7 +181,7 @@
if ( title.count() == 0 )
{
QFileInfo fileInfo( mController->fileDetails()->mClipName );
- title = fileInfo.baseName ();
+ title = fileInfo.completeBaseName();
}
QGraphicsWidget *qWidget = mController->layoutLoader()->findWidget( QString( "title" ) );
@@ -210,12 +210,13 @@
{
//
// Set TitleBar transparent and go back to preview view with back key
- //
+ //
disconnect( mActionBack, SIGNAL( triggered() ), this, SLOT( openFullScreenView() ) );
connect( mActionBack, SIGNAL( triggered() ), mController->view(), SLOT( closePlaybackView() ) );
- mController->view()->setViewFlags(
- HbView::HbViewFlags( HbView::ViewTitleBarTransparent | HbView::ViewStatusBarTransparent ) );
+ mController->view()->setViewFlags( mController->view()->viewFlags() |
+ HbView::ViewTitleBarTransparent |
+ HbView::ViewStatusBarTransparent );
mTitleLabel->setVisible( true );
mTitleGroupBox->setVisible( false );
@@ -226,7 +227,7 @@
{
//
// Set TitleBar opaque and go back to full screen view with back key
- //
+ //
disconnect( mActionBack, SIGNAL( triggered() ), mController->view(), SLOT( closePlaybackView() ) );
connect( mActionBack, SIGNAL( triggered() ), this, SLOT( openFullScreenView() ) );
@@ -241,7 +242,7 @@
{
//
// Set TitleBar opaque and go back to preview view with back key
- //
+ //
disconnect( mActionBack, SIGNAL( triggered() ), this, SLOT( openFullScreenView() ) );
connect( mActionBack, SIGNAL( triggered() ), mController->view(), SLOT( closePlaybackView() ) );
--- a/videoplayback/hbvideoplaybackview/controlsrc/mpxvideoplaybacktoolbar.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/controlsrc/mpxvideoplaybacktoolbar.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,14 +15,13 @@
*
*/
-// Version : %version: 6 %
+// Version : %version: 7 %
#include <QTimer>
#include <QGraphicsLayout>
-#include <hbeffect.h>
#include <hbaction.h>
#include <hbtoolbar.h>
#include <hbinstance.h>
@@ -44,7 +43,7 @@
// QMPXVideoPlaybackToolBar::QMPXVideoPlaybackToolBar()
// -------------------------------------------------------------------------------------------------
//
-QMPXVideoPlaybackToolBar::QMPXVideoPlaybackToolBar(
+QMPXVideoPlaybackToolBar::QMPXVideoPlaybackToolBar(
QMPXVideoPlaybackControlsController* controller )
: mController( controller )
, mSeekStartTimer( NULL )
@@ -59,8 +58,7 @@
mToolBar = mController->view()->toolBar();
mToolBar->setOrientation( Qt::Horizontal );
- HbEffect::disable( mToolBar );
-
+
mController->view()->hideItems( Hb::ToolBarItem );
initialize();
@@ -74,7 +72,6 @@
{
MPX_DEBUG(_L("QMPXVideoPlaybackToolBar::~QMPXVideoPlaybackToolBar()"));
- HbEffect::enable( mToolBar );
mToolBar->clearActions();
for ( int i = 0 ; i < mButtonIcons.count() ; i++ )
@@ -170,7 +167,7 @@
mButtonActions[EMPX1stButton]->setIcon( *mButtonIcons[EMPXNaturalIcon] );
//
- // Attach/Share button
+ // Attach/Share button
//
mButtonIcons[EMPXAttachIcon]->setIconName( "qtg_mono_attach" );
mButtonIcons[EMPXShareIcon]->setIconName( "qtg_mono_share" );
@@ -184,26 +181,26 @@
mDuration = (qreal)mController->fileDetails()->mDuration / (qreal)KPbMilliMultiplier;
//
- // Create a timer for seeking.
+ // Create a timer for seeking.
// We will issue SetPosition every KSeekingTimeOut msec to show the current frame to user
//
mSeekStartTimer = new QTimer();
mSeekStartTimer->setSingleShot( true );
mSeekStartTimer->setInterval( KSeekStartTimeOut );
-
+
//
// get window size
//
- RWindow *window = mController->view()->getWindow();
+ 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();
+ TReal32 height = (TReal32) displayRect.Height();
mDisplayAspectRatio = (width > height)? (width / height) : (height / width);
}
}
@@ -233,7 +230,7 @@
{
mSeekingState = EMPXFastForwarding;
- mController->handleCommand( EMPXPbvCmdSeekForward );
+ mController->handleCommand( EMPXPbvCmdSeekForward );
}
}
@@ -272,7 +269,7 @@
if ( mSeekingState == EMPXFastForwarding )
{
- mController->handleCommand( EMPXPbvCmdEndSeek );
+ mController->handleCommand( EMPXPbvCmdEndSeek );
}
else
{
@@ -310,7 +307,7 @@
if ( mSeekingState == EMPXRewinding )
{
- mController->handleCommand( EMPXPbvCmdEndSeek );
+ mController->handleCommand( EMPXPbvCmdEndSeek );
}
else
{
@@ -341,7 +338,7 @@
MPX_DEBUG(_L("QMPXVideoPlaybackToolBar::changeAspectRatio()"));
mController->resetDisappearingTimers( EMPXTimerReset );
-
+
TMPXVideoPlaybackViewCommandIds cmd = EMPXPbvCmdStretchAspectRatio;
switch( mAspectRatio )
@@ -409,7 +406,7 @@
//
// 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
+ // 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 )
@@ -431,7 +428,7 @@
mButtonActions[EMPX1stButton]->setIcon( *mButtonIcons[EMPXNaturalIcon] );
break;
}
- }
+ }
}
}
@@ -531,11 +528,11 @@
else
{
//
- // check if video clip has same aspect ratio as display window
+ // check if video clip has same aspect ratio as display window
//
- TReal32 videoAspectRatio = (TReal32) details->mVideoWidth / (TReal32) details->mVideoHeight;
+ TReal32 videoAspectRatio = (TReal32) details->mVideoWidth / (TReal32) details->mVideoHeight;
bool enabled = ( mDisplayAspectRatio == videoAspectRatio )? false : true;
-
+
//
// enable or dim 'aspect ratio' buttons accordingly
//
@@ -548,7 +545,7 @@
this, SLOT( changeAspectRatio() ) );
}
}
- }
+ }
else if ( mController->viewMode() == EAudioOnlyView )
{
//
@@ -574,7 +571,7 @@
if ( mButtons.count() )
{
disconnect( mButtons[EMPX1stButton], SIGNAL( released() ), 0, 0 );
- connect( mButtons[EMPX1stButton], SIGNAL( released() ),
+ connect( mButtons[EMPX1stButton], SIGNAL( released() ),
mController, SLOT( sendVideo() ) );
}
}
@@ -615,7 +612,7 @@
}
//
- // toolbar creates button once it gets visible, so we don't know exact timing when toolbar
+ // toolbar creates button once it gets visible, so we don't know exact timing when toolbar
// creates button, so start timer to get layout information once the toolbar gets visible.
// This is needed since we don't use toolbar in proper way.
//
@@ -624,9 +621,9 @@
mRetrieveButtonTimer = new QTimer();
mRetrieveButtonTimer->setSingleShot( false );
mRetrieveButtonTimer->setInterval( KRetrieveButtonTimeOut );
- connect( mRetrieveButtonTimer, SIGNAL( timeout() ), this, SLOT( retrieveButtons() ) );
+ connect( mRetrieveButtonTimer, SIGNAL( timeout() ), this, SLOT( retrieveButtons() ) );
- mRetrieveButtonTimer->start();
+ mRetrieveButtonTimer->start();
}
durationChanged( (qreal)mController->fileDetails()->mDuration / (qreal)KPbMilliMultiplier );
@@ -708,7 +705,7 @@
if ( mRetrieveButtonTimer->isActive() )
{
mRetrieveButtonTimer->stop();
- }
+ }
}
for ( int i = 0 ; i < layout->count() ; i++ )
@@ -744,10 +741,10 @@
{
connect( mButtons[EMPX1stButton], SIGNAL( released() ),
this, SLOT( changeAspectRatio() ) );
- }
+ }
else if ( mController->viewMode() == EAudioOnlyView )
{
- connect( mButtons[EMPX1stButton], SIGNAL( released() ),
+ connect( mButtons[EMPX1stButton], SIGNAL( released() ),
mController, SLOT( sendVideo() ) );
}
}
--- a/videoplayback/hbvideoplaybackview/hbvideoplaybackview.pro Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/hbvideoplaybackview.pro Thu Jun 24 09:49:13 2010 +0300
@@ -14,7 +14,7 @@
# Description: Project file for building Videoplayer components
#
#
-# Version : %version: da1mmcf#23 %
+# Version : %version: 24 %
TEMPLATE = lib
@@ -30,6 +30,13 @@
INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
$$APP_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE
BLD_INF_RULES.prj_exports += "rom/hbvideoplaybackview.iby CORE_APP_LAYER_IBY_EXPORT_PATH(hbvideoplaybackview.iby)"
+ defBlock = \
+ "$${LITERAL_HASH}if defined(EABI)" \
+ "DEFFILE ../eabi/hbvideoplaybackview.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/hbvideoplaybackview.def" \
+ "$${LITERAL_HASH}endif"
+ MMP_RULES += defBlock
}
INCLUDEPATH += ../../inc \
--- a/videoplayback/hbvideoplaybackview/resources/hbvideoplaybackview.docml Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/resources/hbvideoplaybackview.docml Thu Jun 24 09:49:13 2010 +0300
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<hbdocument version="1.0">
+<hbdocument version="1.1">
<widget name="content" type="HbWidget">
<widget name="bufferingIcon" type="HbLabel">
<enums name="alignment" value="AlignVCenter|AlignHCenter"/>
<icon iconName="preroll_anim" name="icon"/>
<real name="z" value="6"/>
- <sizehint height="70" type="PREFERRED" width="70"/>
+ <sizehint height="10.44776un" type="PREFERRED" width="10.44776un"/>
<bool name="visible" value="FALSE"/>
</widget>
<widget name="titleLayout" type="HbWidget">
@@ -20,7 +20,7 @@
<string name="heading" value="Group Box"/>
</widget>
<real name="z" value="2"/>
- <sizehint height="33" type="PREFERRED" width="640"/>
+ <sizehint height="4.92537un" type="PREFERRED" width="95.52239un"/>
<bool name="visible" value="FALSE"/>
<layout type="stacked">
<stackitem itemname="title"/>
@@ -33,32 +33,26 @@
<layout type="anchor"/>
</widget>
<widget name="controlBarLayout" type="HbWidget">
- <widget name="progressBarLayout" type="HbWidget">
- <widget name="progressSlider" type="HbProgressSlider">
- <integer name="progressValue" value="70"/>
- <bool name="minMaxTextVisible" value="TRUE"/>
- <enums name="minMaxTextAlignment" value="AlignVCenter|AlignHCenter"/>
- <string name="minText"/>
- <enums name="orientation" value="Horizontal"/>
- <integer name="sliderValue" value="30"/>
- <string name="maxText"/>
- <bool name="textVisible" value="FALSE"/>
- <string name="textAlignment" value="AlignBottom"/>
- </widget>
- <real name="z" value="3"/>
- <bool name="visible" value="TRUE"/>
- <layout type="anchor">
- <anchoritem dst="progressSlider" dstEdge="LEFT" spacing="0" src="" srcEdge="LEFT"/>
- <anchoritem dst="progressSlider" dstEdge="CENTERV" spacing="0" src="" srcEdge="CENTERV"/>
- <anchoritem dst="progressSlider" dstEdge="RIGHT" spacing="0" src="" srcEdge="RIGHT"/>
- </layout>
+ <widget name="progressSlider" type="HbProgressSlider">
+ <integer name="progressValue" value="70"/>
+ <bool name="minMaxTextVisible" value="TRUE"/>
+ <enums name="minMaxTextAlignment" value="AlignVCenter|AlignHCenter"/>
+ <string name="minText"/>
+ <real name="z" value="1"/>
+ <enums name="orientation" value="Horizontal"/>
+ <integer name="sliderValue" value="30"/>
+ <string name="maxText"/>
+ <string name="textAlignment" value="AlignBottom"/>
+ <bool name="textVisible" value="FALSE"/>
+ <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="1"/>
+ <sizehint height="5.97015un" type="PREFERRED" width="95.52239un"/>
</widget>
<real name="z" value="1"/>
- <sizehint height="160" type="PREFERRED" width="80"/>
+ <sizehint height="23.8806un" type="PREFERRED" width="95.52239un"/>
<bool name="visible" value="FALSE"/>
- <layout orientation="Vertical" spacing="0px" type="linear">
- <contentsmargins bottom="0px" left="0px" right="0px" top="0px"/>
- <linearitem itemname="progressBarLayout"/>
+ <layout orientation="Vertical" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="progressSlider"/>
</layout>
</widget>
<widget name="fileDetailsLayout" type="HbWidget">
@@ -66,7 +60,7 @@
<real name="z" value="3"/>
<bool name="visible" value="FALSE"/>
<layout orientation="Vertical" type="linear">
- <contentsmargins bottom="0px" left="0px" right="0px" top="0px"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
<linearitem itemname="fileDetails" spacing="0px"/>
</layout>
</widget>
@@ -93,9 +87,9 @@
</widget>
<real name="z" value="5"/>
<sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
- <sizehint height="193" type="PREFERRED" width="320"/>
- <sizehint height="18" type="MINIMUM" width="18"/>
- <sizehint height="16777215" type="MAXIMUM" width="16777215"/>
+ <sizehint height="28.80597un" type="PREFERRED" width="47.7612un"/>
+ <sizehint height="2.68657un" type="MINIMUM" width="2.68657un"/>
+ <sizehint height="2307732.46823un" type="MAXIMUM" width="2307732.46823un"/>
<bool name="visible" value="FALSE"/>
<layout type="stacked">
<stackitem itemname="audioOnlyBitmap"/>
@@ -109,33 +103,33 @@
<widget name="detailsViewPlayButton" type="HbPushButton">
<icon iconName="qtg_mono_play" name="icon"/>
<real name="z" value="2"/>
- <sizehint height="60" type="PREFERRED" width="60"/>
- <contentsmargins bottom="0" left="0" right="0" top="0"/>
+ <sizehint height="8.95522un" type="PREFERRED" width="8.95522un"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
<string name="state" value="normal"/>
</widget>
<real name="z" value="0"/>
- <sizehint height="220" type="PREFERRED" width="360"/>
+ <sizehint height="32.83582un" type="PREFERRED" width="53.73134un"/>
<layout type="anchor">
- <anchoritem dst="detailsViewPlayButton" dstEdge="CENTERH" spacing="0" src="" srcEdge="CENTERH"/>
- <anchoritem dst="detailsViewPlayButton" dstEdge="CENTERV" spacing="0" src="" srcEdge="CENTERV"/>
+ <anchoritem dst="detailsViewPlayButton" dstEdge="CENTERH" spacing="0un" src="" srcEdge="CENTERH"/>
+ <anchoritem dst="detailsViewPlayButton" dstEdge="CENTERV" spacing="0un" src="" srcEdge="CENTERV"/>
</layout>
</widget>
<widget name="attachShareButton" type="HbWidget">
<widget name="detailsAttachButton" type="HbPushButton">
<icon iconName="qtg_mono_attach" name="icon"/>
- <sizehint height="40" type="PREFERRED" width="320"/>
+ <sizehint height="5.97015un" type="PREFERRED" width="47.7612un"/>
<bool name="visible" value="FALSE"/>
<string name="state" value="normal"/>
</widget>
<widget name="detailsShareButton" type="HbPushButton">
<icon iconName="qtg_mono_share" name="icon"/>
<real name="z" value="1"/>
- <sizehint height="40" type="PREFERRED" width="320"/>
+ <sizehint height="5.97015un" type="PREFERRED" width="47.7612un"/>
<bool name="visible" value="TRUE"/>
<string name="state" value="normal"/>
</widget>
<real name="z" value="0"/>
- <sizehint height="50" type="PREFERRED" width="320"/>
+ <sizehint height="7.46269un" type="PREFERRED" width="47.7612un"/>
<layout type="stacked">
<stackitem itemname="detailsAttachButton"/>
<stackitem itemname="detailsShareButton"/>
@@ -143,54 +137,54 @@
</widget>
<real name="z" value="4"/>
<bool name="visible" value="FALSE"/>
- <layout orientation="Vertical" spacing="0px" type="linear">
- <contentsmargins bottom="0px" left="0px" right="0px" top="0px"/>
+ <layout orientation="Vertical" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
<linearitem itemname="small_transparentWindow"/>
<linearitem itemname="attachShareButton"/>
</layout>
</widget>
<widget name="rnLogoBitmap" type="HbLabel">
+ <icon iconName="qtg_large_realplayer" name="icon"/>
<real name="z" value="7"/>
- <sizehint height="200" type="PREFERRED" width="200"/>
- <icon iconName="qtg_large_realplayer" name="icon"/>
+ <sizehint height="29.85075un" type="PREFERRED" width="29.85075un"/>
<bool name="visible" value="FALSE"/>
</widget>
- <size height="360" name="size" width="640"/>
+ <size height="var(hb-param-screen-short-edge)" name="size" width="var(hb-param-screen-long-edge)"/>
<real name="z" value="1"/>
- <rect height="360" name="geometry" width="640" x="0" y="0"/>
- <sizehint height="524287" type="MAXIMUM" width="524287"/>
+ <rect height="var(hb-param-screen-short-edge)" name="geometry" width="var(hb-param-screen-long-edge)" x="0un" y="0un"/>
+ <sizehint height="78251.79327un" type="MAXIMUM" width="78251.79327un"/>
<layout type="anchor">
- <anchoritem dst="bufferingIcon" dstEdge="CENTERH" spacing="0" src="" srcEdge="CENTERH"/>
- <anchoritem dst="bufferingIcon" dstEdge="CENTERV" spacing="0" src="" srcEdge="CENTERV"/>
- <anchoritem dst="titleLayout" dstEdge="LEFT" spacing="0" src="" srcEdge="LEFT"/>
- <anchoritem dst="titleLayout" dstEdge="TOP" spacing="62" src="" srcEdge="TOP"/>
- <anchoritem dst="titleLayout" dstEdge="RIGHT" spacing="0" src="" srcEdge="RIGHT"/>
- <anchoritem dst="titleLayout" dstEdge="BOTTOM" spacing="95" src="" srcEdge="TOP"/>
- <anchoritem dst="transparentWindow" dstEdge="LEFT" spacing="0" src="" srcEdge="LEFT"/>
- <anchoritem dst="transparentWindow" dstEdge="TOP" spacing="0" src="" srcEdge="TOP"/>
- <anchoritem dst="transparentWindow" dstEdge="RIGHT" spacing="0" src="" srcEdge="RIGHT"/>
- <anchoritem dst="transparentWindow" dstEdge="BOTTOM" spacing="0" src="" srcEdge="BOTTOM"/>
- <anchoritem dst="controlBarLayout" dstEdge="LEFT" spacing="0" src="" srcEdge="LEFT"/>
- <anchoritem dst="controlBarLayout" dstEdge="TOP" spacing="-110" src="" srcEdge="BOTTOM"/>
- <anchoritem dst="controlBarLayout" dstEdge="RIGHT" spacing="0" src="" srcEdge="RIGHT"/>
- <anchoritem dst="controlBarLayout" dstEdge="BOTTOM" spacing="-60" src="" srcEdge="BOTTOM"/>
- <anchoritem dst="detailsPlaybackWindow" dstEdge="TOP" spacing="0" src="titleLayout" srcEdge="BOTTOM"/>
- <anchoritem dst="detailsPlaybackWindow" dstEdge="LEFT" spacing="0" src="" srcEdge="LEFT"/>
- <anchoritem dst="detailsPlaybackWindow" dstEdge="RIGHT" spacing="0" src="" srcEdge="CENTERH"/>
- <anchoritem dst="detailsPlaybackWindow" dstEdge="BOTTOM" spacing="0" src="" srcEdge="BOTTOM"/>
- <anchoritem dst="bitmapLayout" dstEdge="LEFT" spacing="0" src="" srcEdge="LEFT"/>
- <anchoritem dst="bitmapLayout" dstEdge="TOP" spacing="0" src="titleLayout" srcEdge="TOP"/>
- <anchoritem dst="bitmapLayout" dstEdge="RIGHT" spacing="0" src="" srcEdge="CENTERH"/>
- <anchoritem dst="bitmapLayout" dstEdge="BOTTOM" spacing="0" src="controlBarLayout" srcEdge="TOP"/>
- <anchoritem dst="fileDetailsLayout" dstEdge="LEFT" spacing="0" src="" srcEdge="CENTERH"/>
- <anchoritem dst="fileDetailsLayout" dstEdge="TOP" spacing="0" src="titleLayout" srcEdge="BOTTOM"/>
- <anchoritem dst="fileDetailsLayout" dstEdge="RIGHT" spacing="0" src="" srcEdge="RIGHT"/>
- <anchoritem dst="fileDetailsLayout" dstEdge="BOTTOM" spacing="0" src="" srcEdge="BOTTOM"/>
- <anchoritem dst="rnLogoBitmap" dstEdge="CENTERH" spacing="0" src="" srcEdge="CENTERH"/>
- <anchoritem dst="rnLogoBitmap" dstEdge="CENTERV" spacing="0" src="" srcEdge="CENTERV"/>
+ <anchoritem dst="bufferingIcon" dstEdge="CENTERH" spacing="0un" src="" srcEdge="CENTERH"/>
+ <anchoritem dst="bufferingIcon" dstEdge="CENTERV" spacing="0un" src="" srcEdge="CENTERV"/>
+ <anchoritem dst="titleLayout" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="titleLayout" dstEdge="TOP" spacing="9.40299un" src="" srcEdge="TOP"/>
+ <anchoritem dst="titleLayout" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="titleLayout" dstEdge="BOTTOM" spacing="14.32836un" src="" srcEdge="TOP"/>
+ <anchoritem dst="transparentWindow" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="transparentWindow" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="transparentWindow" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="transparentWindow" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="controlBarLayout" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="controlBarLayout" dstEdge="TOP" spacing="-14.92537un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="controlBarLayout" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="controlBarLayout" dstEdge="BOTTOM" spacing="-8.95522un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="detailsPlaybackWindow" dstEdge="TOP" spacing="0un" src="titleLayout" srcEdge="BOTTOM"/>
+ <anchoritem dst="detailsPlaybackWindow" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="detailsPlaybackWindow" dstEdge="RIGHT" spacing="0un" src="" srcEdge="CENTERH"/>
+ <anchoritem dst="detailsPlaybackWindow" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="bitmapLayout" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="bitmapLayout" dstEdge="TOP" spacing="0un" src="titleLayout" srcEdge="TOP"/>
+ <anchoritem dst="bitmapLayout" dstEdge="RIGHT" spacing="0un" src="" srcEdge="CENTERH"/>
+ <anchoritem dst="bitmapLayout" dstEdge="BOTTOM" spacing="0un" src="controlBarLayout" srcEdge="TOP"/>
+ <anchoritem dst="fileDetailsLayout" dstEdge="LEFT" spacing="0un" src="" srcEdge="CENTERH"/>
+ <anchoritem dst="fileDetailsLayout" dstEdge="TOP" spacing="0un" src="titleLayout" srcEdge="BOTTOM"/>
+ <anchoritem dst="fileDetailsLayout" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="fileDetailsLayout" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="rnLogoBitmap" dstEdge="CENTERH" spacing="0un" src="" srcEdge="CENTERH"/>
+ <anchoritem dst="rnLogoBitmap" dstEdge="CENTERV" spacing="0un" src="" srcEdge="CENTERV"/>
</layout>
</widget>
- <metadata activeUIState="Common ui state" display="NHD landscape" unit="px">
+ <metadata activeUIState="Common ui state" display="NHD-3.2-inch_landscape" unit="un">
<resource location="hbvideoplaybackview.qrc"/>
<uistate name="Common ui state" sections="#common"/>
</metadata>
--- a/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackcontrolbar/stub/inc/hbeffect.h Fri Jun 11 09:44:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +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 HbEffect
-*
-*/
-
-// Version : %version: 2 %
-
-
-
-#ifndef HBEFFECT_H
-#define HBEFFECT_H
-
-#include <hbwidget.h>
-
-
-class HbEffect : public HbWidget
-{
- Q_OBJECT
-
- public:
- struct EffectStatus
- {
- Hb::EffectEvent reason;
- };
-
- public:
- static bool add( QGraphicsItem *item, const QString &filePath, const QString &effectEvent );
- static bool remove( QGraphicsItem *item, const QString &filePath, const QString &effectEvent );
-
- static bool start( QGraphicsItem *item,
- const QString &effectEvent,
- QObject *receiver = 0,
- const char *member = 0 );
-
- static bool cancel( QGraphicsItem *item );
-
- static bool effectRunning( QGraphicsItem *item, const QString &effectEvent = QString() );
-
- private:
- void started();
-};
-
-#endif /*HBEFFECT_H*/
-
--- a/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackcontrolbar/stub/inc/mpxvideoplaybackcontrolscontroller.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackcontrolbar/stub/inc/mpxvideoplaybackcontrolscontroller.h Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 1 %
+// Version : %version: 2 %
@@ -31,7 +31,6 @@
#include "mpxvideoplaybackviewfiledetails.h"
// FORWARD DECLARATIONS
-class QMPXVideoPlaybackDocumentLoader;
class QMPXVideoPlaybackControlsController ;
// DATA TYPES
@@ -90,15 +89,12 @@
*/
inline QMPXVideoPlaybackViewFileDetails* fileDetails();
- inline QMPXVideoPlaybackDocumentLoader* layoutLoader();
-
TPlaybackViewMode viewMode();
void changeViewMode( TPlaybackViewMode viewMode, bool transitionEffect = true );
public:
QMPXVideoPlaybackViewFileDetails *mFileDetails;
- QMPXVideoPlaybackDocumentLoader *mLoader;
TMPXPlaybackState mState;
TPlaybackViewMode mViewMode;
@@ -129,16 +125,6 @@
}
// -------------------------------------------------------------------------------------------------
-// QMPXVideoPlaybackControlsController::layoutLoader
-// -------------------------------------------------------------------------------------------------
-//
-inline
-QMPXVideoPlaybackDocumentLoader* QMPXVideoPlaybackControlsController::layoutLoader()
-{
- return mLoader;
-}
-
-// -------------------------------------------------------------------------------------------------
// QMPXVideoPlaybackControlsController::viewMode
// -------------------------------------------------------------------------------------------------
//
--- a/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackcontrolbar/stub/inc/mpxvideoplaybackdocumentloader.h Fri Jun 11 09:44:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +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 QMPXVideoPlaybackDocumentLoader
-*
-*/
-
-// Version : %version: 1 %
-
-
-
-#ifndef MPXVIDEOPLAYBACKDOCUMENTHANDLER_H_
-#define MPXVIDEOPLAYBACKDOCUMENTHANDLER_H_
-
-
-#include <qobject>
-
-class QList;
-class QGraphicsWidget;
-class QMPXVideoPlaybackControlsController;
-
-class QMPXVideoPlaybackDocumentLoader : public QObject
-{
- public:
- QMPXVideoPlaybackDocumentLoader( QMPXVideoPlaybackControlsController *controller );
-
- virtual ~QMPXVideoPlaybackDocumentLoader();
-
- public:
- QGraphicsWidget* findWidget( const QString &name );
-
- private:
- QGraphicsWidget* createWidget( const QString &name );
- int exist( const QString &name );
-
- private:
- QList<QGraphicsWidget*> mWidgets;
- QMPXVideoPlaybackControlsController *mController;
-};
-
-#endif /*MPXVIDEOPLAYBACKDOCUMENTHANDLER_H_*/
-
--- a/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackcontrolbar/stub/src/hbeffect.cpp Fri Jun 11 09:44:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +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 HbEffect
-*
-*/
-
-// Version : %version: 3 %
-
-
-
-#include "mpxvideo_debug.h"
-#include "hbeffect.h"
-
-
-// -------------------------------------------------------------------------------------------------
-// HbEffect::add
-// -------------------------------------------------------------------------------------------------
-//
-bool HbEffect::add( QGraphicsItem *item, const QString &filePath, const QString &effectEvent )
-{
- MPX_DEBUG(_L("HbEffect::add") );
-
- Q_UNUSED( item );
- Q_UNUSED( filePath );
- Q_UNUSED( effectEvent );
-
- return true;
-}
-
-// -------------------------------------------------------------------------------------------------
-// HbEffect::remove
-// -------------------------------------------------------------------------------------------------
-//
-bool HbEffect::remove( QGraphicsItem *item, const QString &filePath, const QString &effectEvent )
-{
- MPX_DEBUG(_L("HbEffect::remove") );
-
- Q_UNUSED( item );
- Q_UNUSED( filePath );
- Q_UNUSED( effectEvent );
-
- return true;
-}
-
-// -------------------------------------------------------------------------------------------------
-// HbEffect::start
-// -------------------------------------------------------------------------------------------------
-//
-bool HbEffect::start(
- QGraphicsItem *item, const QString &effectEvent, QObject *receiver, const char *member )
-{
- MPX_DEBUG(_L("HbEffect::start") );
-
- Q_UNUSED( item );
- Q_UNUSED( effectEvent );
-
- HbEffect::EffectStatus status;
- status.reason = Hb::EffectFinished;
-
- QMetaObject::invokeMethod(
- receiver,
- member,
- Qt::AutoConnection,
- QGenericReturnArgument(),
- Q_ARG( HbEffect::EffectStatus, status ) );
-
- return true;
-}
-
-// -------------------------------------------------------------------------------------------------
-// HbEffect::cancel
-// -------------------------------------------------------------------------------------------------
-//
-bool HbEffect::cancel( QGraphicsItem *item )
-{
- MPX_DEBUG(_L("HbEffect::cancel"));
-
- Q_UNUSED( item );
-
- return true;
-}
-
-// -------------------------------------------------------------------------------------------------
-// HbEffect::effectRunning
-// -------------------------------------------------------------------------------------------------
-//
-bool HbEffect::effectRunning( QGraphicsItem *item, const QString &effectEvent )
-{
- MPX_DEBUG(_L("HbEffect::effectRunning"));
-
- Q_UNUSED( item );
- Q_UNUSED( effectEvent );
-
- return false;
-}
-
-// End of file
--- a/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackcontrolbar/stub/src/mpxvideoplaybackcontrolscontroller.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackcontrolbar/stub/src/mpxvideoplaybackcontrolscontroller.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,14 +15,13 @@
*
*/
-// Version : %version: 1 %
+// Version : %version: 2 %
// INCLUDE FILES
-#include "mpxvideoplaybackdocumentloader.h"
#include "mpxvideoplaybackcontrolscontroller.h"
// ================= MEMBER FUNCTIONS ==============================================================
@@ -36,7 +35,6 @@
{
MPX_ENTER_EXIT(_L("QMPXVideoPlaybackControlsController::QMPXVideoPlaybackControlsController()"));
- mLoader = new QMPXVideoPlaybackDocumentLoader( this );
mFileDetails = new QMPXVideoPlaybackViewFileDetails();
}
--- a/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackcontrolbar/stub/src/mpxvideoplaybackdocumentloader.cpp Fri Jun 11 09:44:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +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 QMPXVideoPlaybackDocumentLoader
-*
-*/
-
-// Version : %version: 2 %
-
-
-
-
-#include "mpxvideo_debug.h"
-#include "mpxvideoplaybackprogressbar.h"
-#include "mpxvideoplaybackdocumentloader.h"
-#include "mpxvideoplaybackcontrolscontroller.h"
-
-// -------------------------------------------------------------------------------------------------
-// QMPXVideoPlaybackDocumentLoader::QMPXVideoPlaybackDocumentLoader
-// -------------------------------------------------------------------------------------------------
-//
-QMPXVideoPlaybackDocumentLoader::QMPXVideoPlaybackDocumentLoader(
- QMPXVideoPlaybackControlsController *controller )
-{
- MPX_ENTER_EXIT(_L("QMPXVideoPlaybackDocumentLoader::QMPXVideoPlaybackDocumentLoader()"));
-
- mController = controller;
-}
-
-// -------------------------------------------------------------------------------------------------
-// QMPXVideoPlaybackDocumentLoader::~QMPXVideoPlaybackDocumentLoader
-// -------------------------------------------------------------------------------------------------
-//
-QMPXVideoPlaybackDocumentLoader::~QMPXVideoPlaybackDocumentLoader()
-{
- MPX_DEBUG(_L("QMPXVideoPlaybackDocumentLoader::QMPXVideoPlaybackDocumentLoader") );
-
- for ( int i = 0 ; i < mWidgets.count() ; i++ )
- {
- mWidgets.removeAt( 0 );
- }
-}
-
-// -------------------------------------------------------------------------------------------------
-// QMPXVideoPlaybackDocumentLoader::findWidget()
-// -------------------------------------------------------------------------------------------------
-//
-QGraphicsWidget *QMPXVideoPlaybackDocumentLoader::findWidget( const QString &name )
-{
- MPX_DEBUG(_L("QMPXVideoPlaybackDocumentLoader::findWidget") );
-
- QGraphicsWidget *object = NULL;
-
- int index = exist( name );
-
- if ( index == -1 )
- {
- object = createWidget( name );
- }
- else
- {
- object = mWidgets[ index ];
- }
-
- return object;
-}
-
-// -------------------------------------------------------------------------------------------------
-// QMPXVideoPlaybackDocumentLoader::createWidget()
-// -------------------------------------------------------------------------------------------------
-//
-QGraphicsWidget *QMPXVideoPlaybackDocumentLoader::createWidget( const QString &name )
-{
- MPX_DEBUG(_L("QMPXVideoPlaybackDocumentLoader::createWidget") );
-
- QGraphicsWidget *object = NULL;
-
- if ( name == "progressBarLayout" )
- {
- object = new QMPXVideoPlaybackProgressBar( mController );
- object->setObjectName( name );
- mWidgets.append( object );
- }
-
- return object;
-}
-
-// -------------------------------------------------------------------------------------------------
-// QMPXVideoPlaybackDocumentLoader::exist()
-// -------------------------------------------------------------------------------------------------
-//
-int QMPXVideoPlaybackDocumentLoader::exist( const QString &name )
-{
- int i = 0;
-
- for ( ; i < mWidgets.count() ; i++ )
- {
- if( mWidgets[i]->objectName() == name )
- {
- break;
- }
- }
-
- if ( i == mWidgets.count() )
- {
- i = -1;
- }
-
- MPX_DEBUG(_L("QMPXVideoPlaybackDocumentLoader::exist %d"), i );
-
- return i;
-}
-
-// End of file
--- a/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackcontrolbar/testmpxvideoplaybackcontrolbar.pro Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackcontrolbar/testmpxvideoplaybackcontrolbar.pro Thu Jun 24 09:49:13 2010 +0300
@@ -14,7 +14,7 @@
# Description: Project file for building testmpxvideoplaybackcontrolbar
#
#
-# Version : %version: 3 %
+# Version : %version: 4 %
TEMPLATE = app
TARGET = testmpxvideoplaybackcontrolbar
@@ -30,18 +30,14 @@
# Input
HEADERS += testmpxvideoplaybackcontrolbar.h \
mpxvideoplaybackcontrolscontroller.h \
- mpxvideoplaybackdocumentloader.h \
mpxvideoplaybackviewfiledetails.h \
mpxvideoplaybackprogressbar.h \
mpxvideoplaybacktoolbar.h \
- hbeffect.h \
../../controlinc/mpxvideoplaybackcontrolbar.h
SOURCES += testmpxvideoplaybackcontrolbar.cpp \
mpxvideoplaybackcontrolscontroller.cpp \
- mpxvideoplaybackdocumentloader.cpp \
mpxvideoplaybackviewfiledetails.cpp \
mpxvideoplaybackprogressbar.cpp \
mpxvideoplaybacktoolbar.cpp \
- hbeffect.cpp \
../../controlsrc/mpxvideoplaybackcontrolbar.cpp
--- a/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackdocumentloader/src/testmpxvideoplaybackdocumentloader.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackdocumentloader/src/testmpxvideoplaybackdocumentloader.cpp Thu Jun 24 09:49:13 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"
@@ -12,10 +12,10 @@
* Contributors:
*
* Description: tester for methods in TestMPXVideoPlaybackDocumentLoader
-*
+*
*/
-// Version : %version: 5 %
+// Version : %version: 6 %
#include <qdebug>
@@ -49,9 +49,9 @@
pass[0] = argv[0];
pass[1] = "-o";
pass[2] = "c:\\data\\testmpxvideoplaybackdocumentloader.txt";
-
+
int res = QTest::qExec(&tv, 3, pass);
-
+
return res;
}
@@ -102,9 +102,6 @@
QObject *object = mLoader->createObject( "", "controlBarLayout" );
QVERIFY( object->objectName() == "controlBarLayout" );
- object = mLoader->createObject( "", "progressBarLayout" );
- QVERIFY( object->objectName() == "progressBarLayout" );
-
object = mLoader->createObject( "", "fileDetailsLayout" );
QVERIFY( object->objectName() == "fileDetailsLayout" );
--- a/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackdocumentloader/stub/inc/mpxvideoplaybackprogressbar.h Fri Jun 11 09:44:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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 QMPXVideoPlaybackProgressBar
-*
-*/
-
-// Version : %version: 1 %
-
-
-
-#ifndef MPXVIDEOPLAYBACKPROGRESSBAR_H_
-#define MPXVIDEOPLAYBACKPROGRESSBAR_H_
-
-#include <qobject>
-
-class QMPXVideoPlaybackControlsController;
-
-class QMPXVideoPlaybackProgressBar : public QObject
-{
- Q_OBJECT
-
- public:
- QMPXVideoPlaybackProgressBar( QMPXVideoPlaybackControlsController* controller );
- virtual ~QMPXVideoPlaybackProgressBar();
-
- public:
- QMPXVideoPlaybackControlsController *mController;
-};
-
-#endif /*MPXVIDEOPLAYBACKPROGRESSBAR_H_*/
-
--- a/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackdocumentloader/stub/src/mpxvideoplaybackprogressbar.cpp Fri Jun 11 09:44:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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 QMPXVideoPlaybackProgressBar
-*
-*/
-
-// Version : %version: 1 %
-
-
-#include "mpxvideo_debug.h"
-#include "mpxvideoplaybackprogressbar.h"
-#include "mpxvideoplaybackcontrolscontroller.h"
-
-// -------------------------------------------------------------------------------------------------
-// QMPXVideoPlaybackProgressBar::QMPXVideoPlaybackProgressBar
-// -------------------------------------------------------------------------------------------------
-//
-QMPXVideoPlaybackProgressBar::QMPXVideoPlaybackProgressBar(
- QMPXVideoPlaybackControlsController* controller )
- : mController( controller )
-{
- MPX_ENTER_EXIT(_L("QMPXVideoPlaybackProgressBar::QMPXVideoPlaybackProgressBar()"));
-}
-
-// -------------------------------------------------------------------------------------------------
-// QMPXVideoPlaybackProgressBar::~QMPXVideoPlaybackProgressBar
-// -------------------------------------------------------------------------------------------------
-//
-QMPXVideoPlaybackProgressBar::~QMPXVideoPlaybackProgressBar()
-{
- MPX_ENTER_EXIT(_L("QMPXVideoPlaybackProgressBar::~QMPXVideoPlaybackProgressBar()"));
-}
-
-//End of file
--- a/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackdocumentloader/testmpxvideoplaybackdocumentloader.pro Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackdocumentloader/testmpxvideoplaybackdocumentloader.pro Thu Jun 24 09:49:13 2010 +0300
@@ -14,7 +14,7 @@
# Description: Project file for building testmpxvideoplaybackdocumentloader
#
#
-# Version : %version: 5 %
+# Version : %version: 6 %
TEMPLATE = app
TARGET = testmpxvideoplaybackdocumentloader
@@ -32,7 +32,6 @@
mpxvideoplaybackcontrolscontroller.h \
mpxvideoplaybackfiledetailswidget.h \
mpxvideoplaybackdetailsplaybackwindow.h \
- mpxvideoplaybackprogressbar.h \
mpxvideoplaybackcontrolbar.h \
../../controlinc/mpxvideoplaybackdocumentloader.h
@@ -40,6 +39,5 @@
mpxvideoplaybackcontrolscontroller.cpp \
mpxvideoplaybackfiledetailswidget.cpp \
mpxvideoplaybackdetailsplaybackwindow.cpp \
- mpxvideoplaybackprogressbar.cpp \
mpxvideoplaybackcontrolbar.cpp \
../../controlsrc/mpxvideoplaybackdocumentloader.cpp
--- a/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoviewwrapper/src/testmpxvideoviewwrapper.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoviewwrapper/src/testmpxvideoviewwrapper.cpp Thu Jun 24 09:49:13 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,10 +12,10 @@
* Contributors:
*
* Description: tester for methods in VideoSortFilterProxyModel
-*
+*
*/
-// Version : %version: 8 %
+// Version : %version: 9 %
#include <e32err.h>
#include <w32std.h>
@@ -53,16 +53,16 @@
{
HbApplication app(argc, argv);
HbMainWindow window;
-
+
TestMPXVideoViewWrapper tv;
char *pass[3];
pass[0] = argv[0];
pass[1] = "-o";
pass[2] = "c:\\data\\testmpxvideoviewwrapper.txt";
-
+
int res = QTest::qExec(&tv, 3, pass);
-
+
return res;
}
@@ -71,9 +71,9 @@
// ---------------------------------------------------------------------------
//
void TestMPXVideoViewWrapper::init()
-{
+{
mBaseVideoView = new HbVideoBasePlaybackView();
- TRAPD( err, mVideoViewWrapper = CMPXVideoViewWrapper::NewL( mBaseVideoView ) );
+ TRAPD( err, mVideoViewWrapper = CMPXVideoViewWrapper::NewL( mBaseVideoView ) );
QVERIFY( err == KErrNone );
}
@@ -86,7 +86,7 @@
if ( mVideoViewWrapper )
{
delete mVideoViewWrapper;
- mVideoViewWrapper = NULL;
+ mVideoViewWrapper = NULL;
}
if ( mBaseVideoView )
@@ -102,9 +102,9 @@
TRAPD(err, mVideoViewWrapper->RequestMediaL());
QVERIFY( err == KErrNone );
-
+
QVERIFY( mVideoViewWrapper->iMediaRequestStatus == MediaRequested );
-
+
cleanup();
}
@@ -114,13 +114,13 @@
TRAPD(err, mVideoViewWrapper->RequestMediaL());
QVERIFY( err == KErrNone );
-
+
mVideoViewWrapper->iFileDetails->mPlaybackMode = EMPXVideoLiveStreaming;
QVERIFY( mVideoViewWrapper->IsLive() );
mVideoViewWrapper->iFileDetails->mPlaybackMode = EMPXVideoLocal;
QVERIFY( ! mVideoViewWrapper->IsLive() );
-
+
cleanup();
}
@@ -130,7 +130,7 @@
mVideoViewWrapper->iPlaylistView = true;
QVERIFY( mVideoViewWrapper->IsPlaylist() == true );
-
+
mVideoViewWrapper->iPlaylistView = false;
QVERIFY( mVideoViewWrapper->IsPlaylist() == false );
@@ -140,180 +140,180 @@
void TestMPXVideoViewWrapper::testHandleCommand()
{
init();
-
+
TRAPD( errReqMedia, mVideoViewWrapper->RequestMediaL() );
QVERIFY( errReqMedia == KErrNone );
//
// Test 'Play' command
//
- TRAPD( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdPlay ) );
+ TRAPD( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdPlay ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdPlay );
-
+
//
// Test 'Pause' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdPause ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdPause ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdPause );
//
// Test 'Close' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdClose ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdClose ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdClose );
-
+
//
// Test 'Seek Forward' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdSeekForward ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdSeekForward ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdStartVideoSeekingForward );
//
// Test 'Seek Backward' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdSeekBackward ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdSeekBackward ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdStartVideoSeekingBackward );
-
+
//
// Test 'End Seek' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdEndSeek ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdEndSeek ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdStopVideoSeeking );
-
+
//
// Test 'PlayPause' command
//
mVideoViewWrapper->iPlaybackState = EPbStatePlaying;
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdPlayPause ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdPlayPause ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdPause );
mVideoViewWrapper->iPlaybackState = EPbStatePaused;
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdPlayPause ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdPlayPause ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdPlay );
//
// Test 'Stop' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdStop ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdStop ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdStop );
-
+
//
// Test 'Decrease Volume' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdDecreaseVolume ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdDecreaseVolume ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdHandleDecreaseVolume );
-
+
//
// Test 'Increase Volume' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdIncreaseVolume ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdIncreaseVolume ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdHandleIncreaseVolume );
-
+
//
// Test 'Natural Aspect Ratio' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdNaturalAspectRatio ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdNaturalAspectRatio ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iDisplayHandler->iCommand == EPbCmdNaturalAspectRatio );
-
+
//
// Test 'Zoom Aspect Ratio' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdZoomAspectRatio ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdZoomAspectRatio ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iDisplayHandler->iCommand == EPbCmdZoomAspectRatio );
-
+
//
// Test 'Stretch Aspect Ratio' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdStretchAspectRatio ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdStretchAspectRatio ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iDisplayHandler->iCommand == EPbCmdStretchAspectRatio );
-
+
//
// Test 'Mute' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdMute ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdMute ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdMuteVolume );
-
+
//
// Test 'Un-mute' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdUnMute ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdUnMute ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdUnMuteVolume );
-
+
//
// Test 'Short Press Backward' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdShortPressBackward ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdShortPressBackward ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iProperty == EPbPropertyPosition );
-
+
//
// Test 'Reset Controls' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdResetControls ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdResetControls ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdInitView );
-
+
//
// Test 'Next List Item' command
//
mVideoViewWrapper->iPlaylistView = true;
- mVideoViewWrapper->iFileDetails->mMultiItemPlaylist = true;
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdNextListItem ) );
+ mVideoViewWrapper->iFileDetails->mMultiItemPlaylist = true;
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdNextListItem ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdNext );
-
+
//
// Test 'Previous List Item' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdPreviousListItem ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdPreviousListItem ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdPrevious );
-
+
//
// Test 'End Of Clip' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdEndOfClip ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdEndOfClip ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdEndofClipReached );
-
+
//
// Test 'Custom Pause' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdCustomPause ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdCustomPause ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdCustomPause );
-
+
//
// Test 'Custom Play' command
//
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdCustomPlay ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdCustomPlay ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdCustomPlay );
-
+
//
// Test 'RealOne Bitmap Timeout' command
//
mVideoViewWrapper->iMediaRequestStatus = MediaDelivered;
- TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdRealOneBitmapTimeout ) );
+ TRAP( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdRealOneBitmapTimeout ) );
QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdPlay );
-
+
cleanup();
}
@@ -323,11 +323,11 @@
TRAPD(errReqMedia, mVideoViewWrapper->RequestMediaL());
QVERIFY( errReqMedia == KErrNone );
-
+
mVideoViewWrapper->HandlePluginError( KErrNotSupported );
-
+
QVERIFY( mVideoViewWrapper->iView->mCurrentError == KErrNotSupported );
-
+
cleanup();
}
@@ -339,51 +339,51 @@
// Test Video Msg
//***************************
CMPXMessage* message = NULL;
- TRAP_IGNORE(
- message = CMPXMessage::NewL();
+ TRAP_IGNORE(
+ message = CMPXMessage::NewL();
message->SetTObjectValueL<TMPXMessageId>( KMPXMessageGeneralId, KMPXMediaIdVideoPlayback );
message->SetTObjectValueL<TMPXVideoPlaybackCommand>
( KMPXMediaVideoPlaybackCommand, EPbCmdTvOutEvent );
message->SetTObjectValueL<TInt>( KMPXMediaVideoTvOutConnected, ETrue );
);
mVideoViewWrapper->HandlePlaybackMessage( message, KErrNone );
- QVERIFY( mVideoViewWrapper->iFileDetails->mTvOutConnected );
+ QVERIFY( mVideoViewWrapper->iFileDetails->mTvOutConnected );
if ( message )
{
delete message;
message = NULL;
- }
+ }
//***************************
// Test General Msg
//***************************
- TRAP_IGNORE(
+ TRAP_IGNORE(
message = CMPXMessage::NewL();
message->SetTObjectValueL<TMPXMessageId>( KMPXMessageGeneralId, KMPXMessageGeneral );
- message->SetTObjectValueL<TInt>( KMPXMessageGeneralEvent, 28 ); // EReachedEndOfPlaylist = 28
+ message->SetTObjectValueL<TInt>( KMPXMessageGeneralEvent, 28 ); // EReachedEndOfPlaylist = 28
message->SetTObjectValueL<TInt>( KMPXMessageGeneralType, 0 );
- message->SetTObjectValueL<TInt>( KMPXMessageGeneralData, 0 );
+ message->SetTObjectValueL<TInt>( KMPXMessageGeneralData, 0 );
);
- mVideoViewWrapper->HandlePlaybackMessage( message, KErrNone );
- QVERIFY( ! mVideoViewWrapper->iView->mViewActive );
+ mVideoViewWrapper->HandlePlaybackMessage( message, KErrNone );
+ QVERIFY( ! mVideoViewWrapper->iView->mViewActive );
if ( message )
{
delete message;
message = NULL;
- }
+ }
//***************************
// Test Video Msg with err
//***************************
TRAP_IGNORE( message = CMPXMessage::NewL() );
mVideoViewWrapper->HandlePlaybackMessage( message, KErrNotFound );
- QVERIFY( mVideoViewWrapper->iView->mCurrentError == KErrNotFound );
+ QVERIFY( mVideoViewWrapper->iView->mCurrentError == KErrNotFound );
if ( message )
{
delete message;
message = NULL;
- }
-
+ }
+
cleanup();
}
@@ -417,7 +417,7 @@
// Duration
//
int value = 5000;
- TRAPD(errHdlProp, mVideoViewWrapper->HandlePropertyL( EPbPropertyDuration, value, KErrNone ) );
+ TRAPD(errHdlProp, mVideoViewWrapper->HandlePropertyL( EPbPropertyDuration, value, KErrNone ) );
QVERIFY( errHdlProp == KErrNone );
QVERIFY( mVideoViewWrapper->iControlsController->mReceivedEvent == EMPXControlCmdSetDuration );
@@ -428,7 +428,7 @@
//
value = 500;
- TRAP(errHdlProp, mVideoViewWrapper->HandlePropertyL( EPbPropertyPosition, value, KErrNone ) );
+ TRAP(errHdlProp, mVideoViewWrapper->HandlePropertyL( EPbPropertyPosition, value, KErrNone ) );
QVERIFY( errHdlProp == KErrNone );
QVERIFY( mVideoViewWrapper->iControlsController->mReceivedEvent == EMPXControlCmdSetPosition );
@@ -439,7 +439,7 @@
//
value = 10;
- TRAP(errHdlProp, mVideoViewWrapper->HandlePropertyL( EPbPropertyVolume, value, KErrNone ) );
+ TRAP(errHdlProp, mVideoViewWrapper->HandlePropertyL( EPbPropertyVolume, value, KErrNone ) );
QVERIFY( errHdlProp == KErrNone );
QVERIFY( mVideoViewWrapper->iControlsController->mReceivedEvent == EMPXControlCmdSetVolume );
@@ -450,7 +450,7 @@
//
value = 1;
- TRAP(errHdlProp, mVideoViewWrapper->HandlePropertyL( EPbPropertyMute, value, KErrNone ) );
+ TRAP(errHdlProp, mVideoViewWrapper->HandlePropertyL( EPbPropertyMute, value, KErrNone ) );
QVERIFY( errHdlProp == KErrNone );
QVERIFY( mVideoViewWrapper->iControlsController->mReceivedEvent == EMPXControlCmdSetVolume );
@@ -463,19 +463,19 @@
{
init();
- mVideoViewWrapper->iFileDetails->clearFileDetails();
+ mVideoViewWrapper->iFileDetails->clearFileDetails();
CMPXCommand* cmd = NULL;
-
+
TRAP_IGNORE( cmd = CMPXCommand::NewL() );
if ( cmd )
{
TRAPD(errRetFileName, mVideoViewWrapper->RetrieveFileNameAndModeL( cmd ) );
QVERIFY( errRetFileName == KErrNone );
-
- QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdInitView );
-
+
+ QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdInitView );
+
QCOMPARE( mVideoViewWrapper->iFileDetails->mClipName, QString("testClip.3gp"));
delete cmd;
@@ -500,8 +500,8 @@
{
init();
- TRAPD(err, mVideoViewWrapper->DoClosePlayerL());
- QVERIFY( err == KErrNone );
+ TRAPD(err, mVideoViewWrapper->DoClosePlayer());
+ QVERIFY( err == KErrNone );
QVERIFY( ! mVideoViewWrapper->iView->mViewActive );
@@ -562,7 +562,7 @@
TRAPD( errHdlCmd, mVideoViewWrapper->HandleCommandL( EMPXPbvCmdDecreaseVolume ) );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iCommand == EPbCmdHandleDecreaseVolume );
- QVERIFY( errHdlCmd == KErrNone );
+ QVERIFY( errHdlCmd == KErrNone );
QVERIFY( mVideoViewWrapper->iFileDetails->mAudioEnabled );
@@ -584,7 +584,7 @@
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iProperty == EPbPropertyPosition );
QVERIFY( mVideoViewWrapper->iPlaybackUtility->iPropertyValue == 0 );
- QVERIFY( errHdlCmd == KErrNone );
+ QVERIFY( errHdlCmd == KErrNone );
cleanup();
}
@@ -651,8 +651,8 @@
TRect rect( 0, 0, 50, 50 );
- mVideoViewWrapper->UpdateVideoRect(
- rect.iTl.iX, rect.iTl.iY, rect.iBr.iX, rect.iBr.iY, false );
+ mVideoViewWrapper->UpdateVideoRect(
+ rect.iTl.iX, rect.iTl.iY, rect.iBr.iX, rect.iBr.iY, false );
QVERIFY( rect == mVideoViewWrapper->iDisplayHandler->iRect );
@@ -687,22 +687,22 @@
CMPXMessage* message = NULL;
TRAP_IGNORE(
- message = CMPXMessage::NewL();
+ message = CMPXMessage::NewL();
message->SetTObjectValueL<TMPXMessageId>( KMPXMessageGeneralId, KMPXMediaIdVideoPlayback );
message->SetTObjectValueL<TMPXVideoPlaybackCommand>
( KMPXMediaVideoPlaybackCommand, EPbCmdPluginError );
message->SetTObjectValueL<TInt>( KMPXMediaVideoError, KErrNotSupported );
);
-
- mVideoViewWrapper->HandleVideoPlaybackMessage( message );
-
- QCOMPARE( mVideoViewWrapper->iView->mCurrentError, KErrNotSupported );
+
+ mVideoViewWrapper->HandleVideoPlaybackMessage( message );
+
+ QCOMPARE( mVideoViewWrapper->iView->mCurrentError, KErrNotSupported );
if ( message )
{
delete message;
- message = NULL;
+ message = NULL;
}
-
+
cleanup();
}
@@ -711,23 +711,23 @@
init();
CMPXCommand* cmd = NULL;
-
+
TRAP_IGNORE( cmd = CMPXCommand::NewL() );
-
- mVideoViewWrapper->HandlePlaybackCommandComplete( cmd, KErrNone );
-
+
+ mVideoViewWrapper->HandlePlaybackCommandComplete( cmd, KErrNone );
+
QVERIFY( mVideoViewWrapper );
-
+
delete cmd;
- cmd = NULL;
-
+ cmd = NULL;
+
cleanup();
}
void TestMPXVideoViewWrapper::testHandleMedia()
{
init();
-
+
CMPXMedia* media = NULL;
//
@@ -735,38 +735,38 @@
//
TRAP_IGNORE(
RArray<TInt> suppIds;
- CleanupClosePushL( suppIds );
+ CleanupClosePushL( suppIds );
suppIds.AppendL( KMPXMediaIdGeneral );
suppIds.AppendL( KMPXMediaIdVideo );
-
+
media = CMPXMedia::NewL( suppIds.Array() );
CleanupStack::PopAndDestroy( &suppIds );
-
+
media->SetTObjectValueL<TInt>( TMPXAttribute( KMPXMediaVideoError ), KErrCancel );
);
-
+
TRAPD( err, mVideoViewWrapper->HandleMediaL( *media, KErrNone ) );
QVERIFY( err == KErrNone );
-
+
QCOMPARE( mVideoViewWrapper->iView->mCurrentError, KErrCancel );
QVERIFY( ! mVideoViewWrapper->iControlsController->mFileDetailsAdded );
QVERIFY( mVideoViewWrapper->iMediaRequestStatus == MediaNotRequested );
if ( media )
- {
+ {
delete media;
- media = NULL;
+ media = NULL;
}
-
+
//
// working case - RN logo is not visible
//
TRAP_IGNORE(
RArray<TInt> suppIds;
- CleanupClosePushL( suppIds );
+ CleanupClosePushL( suppIds );
suppIds.AppendL( KMPXMediaIdGeneral );
suppIds.AppendL( KMPXMediaIdVideo );
-
+
media = CMPXMedia::NewL( suppIds.Array() );
CleanupStack::PopAndDestroy( &suppIds );
);
@@ -787,9 +787,9 @@
QVERIFY( mVideoViewWrapper->iMediaRequestStatus == MediaDelivered );
if ( media )
- {
+ {
delete media;
- media = NULL;
+ media = NULL;
}
//
@@ -797,10 +797,10 @@
//
TRAP_IGNORE(
RArray<TInt> suppIds;
- CleanupClosePushL( suppIds );
+ CleanupClosePushL( suppIds );
suppIds.AppendL( KMPXMediaIdGeneral );
suppIds.AppendL( KMPXMediaIdVideo );
-
+
media = CMPXMedia::NewL( suppIds.Array() );
CleanupStack::PopAndDestroy( &suppIds );
);
@@ -822,9 +822,9 @@
QVERIFY( mVideoViewWrapper->iMediaRequestStatus == MediaDelivered );
if ( media )
- {
+ {
delete media;
- media = NULL;
+ media = NULL;
}
cleanup();
--- a/videoplayback/hbvideoplaybackview/tsrc/testprogressbar/src/testprogressbar.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/tsrc/testprogressbar/src/testprogressbar.cpp Thu Jun 24 09:49:13 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"
@@ -12,10 +12,10 @@
* Contributors:
*
* Description: tester for methods in TestMPXVideoPlaybackButtonBar
-*
+*
*/
-// Version : %version: 5 %
+// Version : %version: 6 %
#include <qdebug>
@@ -50,9 +50,9 @@
pass[0] = argv[0];
pass[1] = "-o";
pass[2] = "c:\\data\\testprogressbar.txt";
-
+
int res = QTest::qExec(&tv, 3, pass);
-
+
return res;
}
@@ -74,7 +74,7 @@
{
MPX_ENTER_EXIT(_L("TestProgressBar::setup()"));
- mController = new QMPXVideoPlaybackControlsController();
+ mController = new QMPXVideoPlaybackControlsController();
mProgBar = new QMPXVideoPlaybackProgressBar( mController );
mProgBar->initialize();
@@ -114,7 +114,7 @@
//
// If it is playing state
//
- mController->mState = EPbStatePlaying;
+ mController->mState = EPbStatePlaying;
emit mProgBar->mProgressSlider->press();
@@ -126,8 +126,8 @@
//
// If it is pause state
//
- mController->mState = EPbStatePaused;
- mController->mCommand = EMPXPbvCmdStop;
+ mController->mState = EPbStatePaused;
+ mController->mCommand = EMPXPbvCmdStop;
emit mProgBar->mProgressSlider->press();
@@ -155,7 +155,7 @@
mProgBar->mDuration = 120;
mProgBar->mProgressSlider->mSliderValue = 130;
mController->mTimerAction = EMPXTimerCancel;
- mController->mCommand = EMPXPbvCmdStop;
+ mController->mCommand = EMPXPbvCmdStop;
emit mProgBar->mProgressSlider->release();
QVERIFY( mController->mTimerAction == EMPXTimerReset );
@@ -167,21 +167,21 @@
//
mProgBar->mProgressSlider->mSliderValue = -1;
mController->mTimerAction = EMPXTimerCancel;
- mController->mCommand = EMPXPbvCmdStop;
- mController->mValue = 100;
+ mController->mCommand = EMPXPbvCmdStop;
+ mController->mValue = 100;
emit mProgBar->mProgressSlider->release();
QVERIFY( mController->mTimerAction == EMPXTimerReset );
QVERIFY( ! mProgBar->mSliderDragging );
QVERIFY( mController->mCommand == EMPXPbvCmdSetPosition );
QVERIFY( mController->mValue == 0 );
-
+
//
// 0 <= moved position < duration
//
mProgBar->mProgressSlider->mSliderValue = 60;
mController->mTimerAction = EMPXTimerCancel;
- mController->mCommand = EMPXPbvCmdStop;
+ mController->mCommand = EMPXPbvCmdStop;
emit mProgBar->mProgressSlider->release();
QVERIFY( mController->mTimerAction == EMPXTimerReset );
@@ -299,11 +299,11 @@
// test for 1st block of cases
mProgBar->updateState( EPbStatePlaying );
- QVERIFY( mProgBar->isEnabled() );
+ QVERIFY( mProgBar->mProgressSlider->isEnabled() );
// test for 2nd block of cases
mProgBar->updateState( EPbStateBuffering );
- QVERIFY( ! mProgBar->isEnabled() );
+ QVERIFY( ! mProgBar->mProgressSlider->isEnabled() );
cleanup();
}
@@ -399,7 +399,7 @@
setup();
- mProgBar->mDraggingPosition = 10;
+ mProgBar->mDraggingPosition = 10;
mProgBar->mDuration = 30;
mProgBar->mSetPosition = 0;
--- a/videoplayback/hbvideoplaybackview/tsrc/testvideodisplayhandler/src/testvideodisplayhandler.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/tsrc/testvideodisplayhandler/src/testvideodisplayhandler.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -212,24 +212,44 @@
{
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 QMPXVideoPlaybackViewFileDetails();
mFileDetails->mVideoHeight = 280;
mFileDetails->mVideoWidth = 600;
-
- RWindow *window = mBaseVideoView->getWindow();
- TRect displayRect = TRect( window->Position().iX,
- window->Position().iY,
- window->Position().iX + window->Size().iWidth,
- window->Position().iY + window->Size().iHeight );
-
- TReal displayAspectRatio = (TReal32)displayRect.Width() / (TReal32)displayRect.Height();
-
int aspectRatio = mDispHdlr->SetDefaultAspectRatioL( mFileDetails, displayAspectRatio );
QVERIFY( aspectRatio == EMMFZoom );
- mDispHdlr->RemoveDisplayWindow();
+ //
+ // aspect ratio stretch
+ //
+ mFileDetails->mVideoHeight = 144;
+ mFileDetails->mVideoWidth = 220;
+
+ aspectRatio = mDispHdlr->SetDefaultAspectRatioL( mFileDetails, displayAspectRatio );
+
+ QVERIFY( aspectRatio == EMMFStretch );
+
+ mDispHdlr->RemoveDisplayWindow();
+
cleanup();
}
--- a/videoplayback/hbvideoplaybackview/viewinc/mpxvideoviewwrapper.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/viewinc/mpxvideoviewwrapper.h Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: da1mmcf#14 %
+// Version : %version: da1mmcf#16 %
@@ -64,14 +64,14 @@
virtual ~CMPXVideoViewWrapper();
private:
- CMPXVideoViewWrapper( HbVideoBasePlaybackView* aView );
+ CMPXVideoViewWrapper( HbVideoBasePlaybackView* aView );
void ConstructL();
public:
virtual void HandleCommandL( TInt aCommand );
void RetrieveFileNameAndModeL( CMPXCommand* aCmd );
-
+
/*
* From MMPXViewActivationObserver
* Handle view activation.
@@ -80,7 +80,7 @@
* @param aPreviousViewType Previous view type Uid.
*/
inline void HandleViewActivation( const TUid& /*aCurrentViewType*/,
- const TUid& /*aPreviousViewType*/ ) {}
+ const TUid& /*aPreviousViewType*/ ) {}
/**
* From MMPXPlaybackObserver
@@ -163,19 +163,19 @@
*/
void SetPropertyL( TMPXPlaybackProperty aProperty, TInt aValue );
virtual void RetrievePdlInformationL();
-
+
TBool IsLive();
-
+
TBool IsPlaylist();
-
- void IssueVideoAppForegroundCmdL(TBool aForeground);
-
- void RequestMediaL();
-
+
+ void IssueVideoAppForegroundCmdL(TBool aForeground);
+
+ void RequestMediaL();
+
void CreateGeneralPlaybackCommandL( TMPXPlaybackCommand aCmd, TBool aDoSync = ETrue );
-
+
TBool IsAppInFrontL();
-
+
/*
* Activates an active object to close the player
* @since 5.0
@@ -203,14 +203,14 @@
* @param aPtr Pointer to callback class
* @return KErrNone
*/
- static TInt ClosePlayerL( TAny* aPtr );
+ static TInt ClosePlayer( TAny* aPtr );
/*
* Called to stop and exit the player
* @since 3.2
* @return void
*/
- void DoClosePlayerL();
+ void DoClosePlayer();
void HandleVideoPlaybackMessage( CMPXMessage* aMessage );
@@ -248,7 +248,7 @@
void HandleGeneralPlaybackMessageL( CMPXMessage* aMessage );
- void SetAspectRatioL( TMPXVideoPlaybackCommand aCmd );
+ void SetAspectRatioL( TMPXVideoPlaybackCommand aCmd );
void HandleVolumeCmdL( TMPXPlaybackCommand aCmd );
@@ -268,9 +268,13 @@
CMPXVideoPlaybackDisplayHandler* iDisplayHandler;
CMPXVideoPlaybackUserInputHandler* iUserInputHandler;
QMPXVideoPlaybackControlsController* iControlsController;
-
+
TMPXMediaRequestStatus iMediaRequestStatus;
TBool iPlaylistView;
+ int iPlayPosition;
+
+ public:
+ friend class HbVideoBasePlaybackView;
};
#endif // __MPXVIDEOVIEWWRAPPER_H__
--- a/videoplayback/hbvideoplaybackview/viewsrc/hbvideobaseplaybackview.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/viewsrc/hbvideobaseplaybackview.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: da1mmcf#41 %
+// Version : %version: da1mmcf#43 %
@@ -40,11 +40,14 @@
#include <mpxvideoplaybackdefs.h>
#include <mpxplaybackcommanddefs.h>
+#include <mpxhbvideocommondefs.h>
#include "mpxvideo_debug.h"
#include "mpxvideoviewwrapper.h"
#include "mpxvideoplaybackuids.hrh"
#include "hbvideobaseplaybackview.h"
+#include "videoactivitystate.h"
+#include "mpxvideoplaybackviewfiledetails.h"
#include "mpxcommonvideoplaybackview.hrh"
@@ -58,6 +61,7 @@
: mVideoMpxWrapper( NULL )
, mTimerForClosingView( NULL )
, mActivated( false )
+ , mStayPaused ( false )
{
MPX_ENTER_EXIT(_L("HbVideoBasePlaybackView::HbVideoBasePlaybackView()"));
}
@@ -79,6 +83,23 @@
mTimerForClosingView->setSingleShot( true );
mTimerForClosingView->setInterval( 10 );
connect( mTimerForClosingView, SIGNAL( timeout() ), this, SIGNAL( activatePreviousView() ) );
+
+ //
+ // Read activity data ...
+ // If last playback was forced to terminate due to low memory (GOOM, etc.)
+ // then the clip needs to be restored to the last played position
+ // and the state needs to be paused, since forced termination can only occur for
+ // background apps - so if this happened Video Player must have been in background
+ // which implies paused state
+ //
+ int lastViewType = VideoActivityState::instance().getActivityData(KEY_VIEWPLUGIN_TYPE).toInt();
+ if ( lastViewType == MpxHbVideoCommon::PlaybackView )
+ {
+ QVariant data = VideoActivityState::instance().getActivityData(KEY_LAST_PLAY_POSITION_ID);
+ mLastPlayPosition = data.toInt();
+
+ mStayPaused = true;
+ }
}
// -------------------------------------------------------------------------------------------------
@@ -119,14 +140,14 @@
{
MPX_ENTER_EXIT(_L("HbVideoBasePlaybackView::handleActivateView()"));
- TRAP_IGNORE( mVideoMpxWrapper = CMPXVideoViewWrapper::NewL( this ) );
+ MPX_TRAPD( err, mVideoMpxWrapper = CMPXVideoViewWrapper::NewL( this ) );
QCoreApplication::instance()->installEventFilter( this );
//
// Request the needed Media from the Playback Plugin
//
- TRAP_IGNORE( mVideoMpxWrapper->RequestMediaL() );
+ MPX_TRAP( err, mVideoMpxWrapper->RequestMediaL() );
menu()->close();
@@ -148,6 +169,8 @@
{
MPX_ENTER_EXIT(_L("HbVideoBasePlaybackView::handleDeactivateView()"));
+ saveActivityData();
+
mActivated = false;
QCoreApplication::instance()->removeEventFilter( this );
@@ -170,6 +193,25 @@
}
// -------------------------------------------------------------------------------------------------
+// HbVideoBasePlaybackView::saveActivityData()
+// -------------------------------------------------------------------------------------------------
+//
+void HbVideoBasePlaybackView::saveActivityData()
+{
+ MPX_DEBUG( _L("HbVideoBasePlaybackView::saveActivityData()") );
+
+ // save the activity data
+ QVariant data = QString( mVideoMpxWrapper->iFileDetails->mClipName );
+ VideoActivityState::instance().setActivityData(data, KEY_LAST_PLAYED_CLIP);
+
+ data = int( mVideoMpxWrapper->iPlayPosition );
+ VideoActivityState::instance().setActivityData(data, KEY_LAST_PLAY_POSITION_ID);
+
+ data = bool( mVideoMpxWrapper->iFileDetails->mPlaybackMode == EMPXVideoLocal );
+ VideoActivityState::instance().setActivityData(data, KEY_LAST_LOCAL_PLAYBACK);
+}
+
+// -------------------------------------------------------------------------------------------------
// HbVideoBasePlaybackView::handleClosePlaybackView()
// -------------------------------------------------------------------------------------------------
//
--- a/videoplayback/hbvideoplaybackview/viewsrc/mpxvideoplaybackdisplayhandler.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/viewsrc/mpxvideoplaybackdisplayhandler.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 21 %
+// Version : %version: 22 %
#include <sysutil.h>
#include <s32file.h>
@@ -275,18 +275,22 @@
//
// if can't find out match aspect ratio in dat file,
- // choose the scaling type through the rule
- // videoAspectRatio - aDisplayAspectRatio > 0.1 ==> zoom
- // videoAspectRatio - aDisplayAspectRatio < 0.1 ==> stretch
- // videoAspectRatio = aDisplayAspectRatio ==> natural
+ // 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
//
+
if ( i == cnt )
{
if ( videoAspectRatio - aDisplayAspectRatio > 0.1 )
{
scalingType = EMMFZoom;
}
- else if ( videoAspectRatio != aDisplayAspectRatio )
+ else if ( ( videoAspectRatio != aDisplayAspectRatio ) &&
+ ( videoAspectRatio - aDisplayAspectRatio > (- 0.3) ) )
{
scalingType = EMMFStretch;
}
--- a/videoplayback/hbvideoplaybackview/viewsrc/mpxvideoviewwrapper.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/viewsrc/mpxvideoviewwrapper.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: da1mmcf#33 %
+// Version : %version: da1mmcf#37 %
@@ -266,7 +266,7 @@
}
case EMPXPbvCmdPlayPause:
{
- MPX_DEBUG(_L("CMPXVideoViewWrapper::HandleCommandL() EMPXPbvCmdPause"));
+ MPX_DEBUG(_L("CMPXVideoViewWrapper::HandleCommandL() EMPXPbvCmdPlayPause"));
if ( iPlaybackState == EPbStatePlaying )
{
@@ -351,7 +351,7 @@
if ( iPlaylistView && iFileDetails->mMultiItemPlaylist )
{
- iPlaybackUtility->CommandL( EPbCmdNext );
+ CreateGeneralPlaybackCommandL( EPbCmdNext );
}
else
{
@@ -366,13 +366,11 @@
if ( iPlaylistView && iFileDetails->mMultiItemPlaylist )
{
- //
- // the command is being sent twice on purpose
- // one EMPXPbvCmdPreviousListItem command only sets the position to 0
- // the second cmd actually goes to the previous item in the list
+ //
+ // Need to send sync message to go back to a previous clip
+ // regardless of current positoin
//
- iPlaybackUtility->CommandL( EPbCmdPrevious );
- iPlaybackUtility->CommandL( EPbCmdPrevious );
+ CreateGeneralPlaybackCommandL( EPbCmdPrevious );
}
else
{
@@ -1053,7 +1051,9 @@
{
iControlsController->handleEvent( EMPXControlCmdSetPosition, aValue );
}
-
+
+ iPlayPosition = aValue;
+
break;
}
case EPbPropertyDuration:
@@ -1105,6 +1105,8 @@
//
void CMPXVideoViewWrapper::RetrieveFileNameAndModeL( CMPXCommand* aCmd )
{
+ MPX_ENTER_EXIT(_L("CMPXVideoViewWrapper::RetrieveFileNameAndModeL()"));
+
//
// set attributes on the command
//
@@ -1128,29 +1130,29 @@
if ( ! iCloseAO->IsActive() )
{
- iCloseAO->Start( TCallBack( CMPXVideoViewWrapper::ClosePlayerL, this ) );
+ iCloseAO->Start( TCallBack( CMPXVideoViewWrapper::ClosePlayer, this ) );
}
}
// -------------------------------------------------------------------------------------------------
-// CMPXVideoViewWrapper::ClosePlayerL
+// CMPXVideoViewWrapper::ClosePlayer
// -------------------------------------------------------------------------------------------------
//
-TInt CMPXVideoViewWrapper::ClosePlayerL( TAny* aPtr )
+TInt CMPXVideoViewWrapper::ClosePlayer( TAny* aPtr )
{
- MPX_DEBUG(_L("CMPXVideoViewWrapper::ClosePlayerL()"));
+ MPX_DEBUG(_L("CMPXVideoViewWrapper::ClosePlayer()"));
- static_cast<CMPXVideoViewWrapper*>(aPtr)->DoClosePlayerL();
+ static_cast<CMPXVideoViewWrapper*>(aPtr)->DoClosePlayer();
return KErrNone;
}
// -------------------------------------------------------------------------------------------------
-// CMPXVideoViewWrapper::DoClosePlayerL
+// CMPXVideoViewWrapper::DoClosePlayer
// -------------------------------------------------------------------------------------------------
//
-void CMPXVideoViewWrapper::DoClosePlayerL()
+void CMPXVideoViewWrapper::DoClosePlayer()
{
- MPX_ENTER_EXIT(_L("CMPXVideoViewWrapper::DoClosePlayerL()"));
+ MPX_ENTER_EXIT(_L("CMPXVideoViewWrapper::DoClosePlayer()"));
iView->doClosePlayer();
}
@@ -1505,7 +1507,21 @@
}
}
- CreateGeneralPlaybackCommandL( EPbCmdPlay );
+ // if coming back after a forced termination, the playback position must
+ // be restored and state be set to paused, as forced termination can only
+ // happen when app is on background, in which case Video Player is paused
+ // by default
+ if ( iView->mStayPaused )
+ {
+ CreateGeneralPlaybackCommandL( EPbCmdPause );
+ SetPropertyL( EPbPropertyPosition, iView->mLastPlayPosition );
+ iView->mStayPaused = false;
+ }
+ else
+ {
+ CreateGeneralPlaybackCommandL( EPbCmdPlay );
+ }
+
}
}
--- a/videoplayback/inc/hbvideobaseplaybackview.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/inc/hbvideobaseplaybackview.h Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: da1mmcf#17 %
+// Version : %version: da1mmcf#18 %
@@ -101,6 +101,10 @@
void gestureEvent( QGestureEvent* event );
+ private:
+
+ void saveActivityData();
+
protected: // data
CMPXVideoViewWrapper *mVideoMpxWrapper;
@@ -108,6 +112,8 @@
bool mActivated;
bool mSyncClose;
+ int mLastPlayPosition;
+ bool mStayPaused;
public:
friend class CMPXVideoViewWrapper;
--- a/videoplayback/videohelix/inc/mpxvideoplaybackstate.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/videohelix/inc/mpxvideoplaybackstate.h Thu Jun 24 09:49:13 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: 20 %
+// Version : %version: 21 %
#ifndef _CMPXVIDEOPLAYBACKSTATE_H_
@@ -225,6 +225,7 @@
virtual void HandleStop();
virtual void HandleForeground();
virtual void HandleBackground();
+ virtual void HandlePause();
// general method
virtual void HandleSetPositionL(TInt aPosition);
--- a/videoplayback/videohelix/src/mpxvideoplaybackstate.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/videohelix/src/mpxvideoplaybackstate.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -16,7 +16,7 @@
*/
-// Version : %version: 45 %
+// Version : %version: 47 %
//
@@ -1275,6 +1275,16 @@
CommandHandleForeground();
}
+// ------------------------------------------------------------------------------------------------
+// CMPXInitialisedState::HandlePause()
+// ------------------------------------------------------------------------------------------------
+void CMPXInitialisedState::HandlePause()
+{
+ MPX_ENTER_EXIT(_L("CMPXInitialisedState::HandlePause()"));
+
+ iVideoPlaybackCtlr->iPlaybackMode->HandlePause();
+}
+
// *************************************************************************************************
//
// CMPXPlayingState
@@ -1638,6 +1648,14 @@
{
IssuePlayCommand( EMPXVideoPlaying, MMPXPlaybackPluginObserver::EPPlaying, EFalse );
}
+ else
+ {
+ // As the custom play command could not resume the playback. Send a pause event to
+ // the view though the MPX FW to get the view state in sync playback plugin.
+ iVideoPlaybackCtlr->iMPXPluginObs->HandlePluginEvent( MMPXPlaybackPluginObserver::EPPaused,
+ 0,
+ KErrNone );
+ }
}
// -------------------------------------------------------------------------------------------------
--- a/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/videohelixtest.h Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayback/videohelix/tsrc/ut_videohelixtest/inc/videohelixtest.h Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: e003sa33#15 %
+// Version : %version: 16 %
#ifndef __VHPPTESTCASE_H__
@@ -35,10 +35,10 @@
#include <ctsydomainpskeys.h>
#include <mmf/common/mmferrors.h>
-#include <accessoryserver.h>
-#include <accessorycontrol.h>
-#include <accpolgidheader.h>
-#include <accpolgenericid.h>
+#include <AccessoryServer.h>
+#include <AccessoryControl.h>
+#include <AccPolGIDHeader.h>
+#include <AccPolGenericID.h>
#include <mpxvideoplaybackdefs.h>
#include "timeoutController.h"
--- a/videoplayerapp/videoplayerengine/src/videoplayerengine.cpp Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayerapp/videoplayerengine/src/videoplayerengine.cpp Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-// Version : %version: 33 %
+// Version : %version: da1mmcf#35 %
#include <QApplication>
@@ -150,13 +150,20 @@
// check latest plugin type from activity manager data and create + activate it
// CollectionView (default) and playbackview are the ones that are accepted
MpxHbVideoCommon::MpxHbVideoViewType viewType = MpxHbVideoCommon::CollectionView;
- int typeGotten = VideoActivityState::instance().getActivityData(VideoActivityData::KEY_VIEWPLUGIN_TYPE).toInt();
- if(typeGotten == MpxHbVideoCommon::CollectionView || typeGotten == MpxHbVideoCommon::PlaybackView)
+ int typeGotten = VideoActivityState::instance().getActivityData(KEY_VIEWPLUGIN_TYPE).toInt();
+
+ if ( typeGotten == MpxHbVideoCommon::PlaybackView )
{
+ createPlaybackView();
viewType = MpxHbVideoCommon::MpxHbVideoViewType(typeGotten);
+ QVariant data = VideoActivityState::instance().getActivityData(KEY_LAST_PLAYED_CLIP);
+ playMedia( data.toString() );
}
- loadPluginAndCreateView( viewType );
- activateView( viewType );
+ else
+ {
+ loadPluginAndCreateView( viewType );
+ activateView( viewType );
+ }
}
}
@@ -462,22 +469,31 @@
HbActivityManager *actManager = qobject_cast<HbApplication*>(qApp)->activityManager();
//
+ // deactivate is the final point for current plugin to save it's activity data into
+ // VideoActivityState before they are saved to to activity manager
+ //
+ mCurrentViewPlugin->deactivateView();
+
+ //
// get and save recent view type: either playback or collection view plugins are currently used.
// activity will not be saved from the details plugin
//
int viewType = MpxHbVideoCommon::CollectionView;
if(mCurrentViewPlugin == mPlaybackViewPlugin)
{
- viewType = MpxHbVideoCommon::PlaybackView;
+ // for playback view, the state preservation and restoration should only be done
+ // for loacl clips (non-streaming) - so set KEY_VIEWPLUGIN_TYPE to PlaybackView only
+ // for local clips. Otherwise the default value CollectionView should be set.
+ //
+ QVariant playdata = VideoActivityState::instance().getActivityData(KEY_LAST_LOCAL_PLAYBACK);
+ if ( playdata.toBool() )
+ {
+ viewType = MpxHbVideoCommon::PlaybackView;
+ }
}
- data = viewType;
- localActivity.setActivityData(data, VideoActivityData::KEY_VIEWPLUGIN_TYPE);
- //
- // deactivate is the final point for current plugin to save it's activity data into
- // VideoActivityState before they are saved to to activity manager
- //
- mCurrentViewPlugin->deactivateView();
+ data = viewType;
+ localActivity.setActivityData(data, KEY_VIEWPLUGIN_TYPE);
// save data to activity manager
actManager->addActivity(ACTIVITY_VIDEOPLAYER_MAINVIEW,
--- a/videoplayerapp/videoplayerengine/videoplayerengine.pro Fri Jun 11 09:44:20 2010 +0300
+++ b/videoplayerapp/videoplayerengine/videoplayerengine.pro Thu Jun 24 09:49:13 2010 +0300
@@ -14,7 +14,7 @@
# Description: Project file for building Videoplayer components
#
#
-# Version : %version: 26 %
+# Version : %version: 27 %
TEMPLATE = lib
@@ -31,6 +31,13 @@
INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
$$APP_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE
BLD_INF_RULES.prj_exports += "rom/videoplayerengine.iby CORE_APP_LAYER_IBY_EXPORT_PATH(videoplayerengine.iby)"
+ defBlock = \
+ "$${LITERAL_HASH}if defined(EABI)" \
+ "DEFFILE ../eabi/videoplayerengine.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/videoplayerengine.def" \
+ "$${LITERAL_HASH}endif"
+ MMP_RULES += defBlock
}
INCLUDEPATH += ../../inc \
@@ -48,6 +55,7 @@
-lxqservice.dll \
-lxqserviceutil.dll \
-lflogger.dll \
+ -lefsrv
DEPENDPATH += ../../inc ../inc inc
VPATH += src