# HG changeset patch # User hgs # Date 1272828230 -19800 # Node ID 112f0ac2d1f0159488130fe160e7bbcb403270ed # Parent c499df2dbb332749fe85dd5834a75e8e822d6e39 201017 diff -r c499df2dbb33 -r 112f0ac2d1f0 commonutilities/common/cenrep/20007194.txt Binary file commonutilities/common/cenrep/20007194.txt has changed diff -r c499df2dbb33 -r 112f0ac2d1f0 commonutilities/common/group/bld.inf --- a/commonutilities/common/group/bld.inf Mon May 03 12:31:32 2010 +0300 +++ b/commonutilities/common/group/bld.inf Mon May 03 00:53:50 2010 +0530 @@ -45,12 +45,19 @@ ../cenrep/200009EE_orientation_portrait_landscape.txt /epoc32/data/z/private/10202be9/200009EE.txt // for emulator ../cenrep/200009EE_orientation_portrait_landscape.txt /epoc32/release/winscw/udeb/z/private/10202be9/200009EE.txt + //slideshow settings cenrep initialisation file + ../cenrep/20007194.txt /epoc32/data/z/private/10202be9/20007194.txt + ../cenrep/20007194.txt /epoc32/release/winscw/udeb/z/private/10202be9/20007194.txt + ../cenrep/20007194.txt /epoc32/release/winscw/urel/z/private/10202be9/20007194.txt + #endif // Generic configuration interface for component cenrep settings ../../../conf/gallery.confml CONFML_EXPORT_PATH(gallery.confml,customsw) ../../../conf/gallery_200009EE.crml CRML_EXPORT_PATH(gallery_200009EE.crml,customsw) +../../../conf/slideshowsettings.confml CONFML_EXPORT_PATH(slideshowsettings.confml,customsw) +../../../conf/slideshowsettings_20007194.crml CRML_EXPORT_PATH(slideshowsettings_20007194.crml,customsw) PRJ_MMPFILES glxcommon.mmp diff -r c499df2dbb33 -r 112f0ac2d1f0 conf/slideshowsettings.confml Binary file conf/slideshowsettings.confml has changed diff -r c499df2dbb33 -r 112f0ac2d1f0 conf/slideshowsettings_20007194.crml Binary file conf/slideshowsettings_20007194.crml has changed diff -r c499df2dbb33 -r 112f0ac2d1f0 data/fullscreen.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/data/fullscreen.docml Mon May 03 00:53:50 2010 +0530 @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
diff -r c499df2dbb33 -r 112f0ac2d1f0 data/slideshow.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/data/slideshow.docml Mon May 03 00:53:50 2010 +0530 @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c499df2dbb33 -r 112f0ac2d1f0 engine/collectionframework/plugins/glxcollectionpluginalbums/inc/glxcollectionpluginalbums.hrh --- a/engine/collectionframework/plugins/glxcollectionpluginalbums/inc/glxcollectionpluginalbums.hrh Mon May 03 12:31:32 2010 +0300 +++ b/engine/collectionframework/plugins/glxcollectionpluginalbums/inc/glxcollectionpluginalbums.hrh Mon May 03 00:53:50 2010 +0530 @@ -28,6 +28,10 @@ #define KGlxCollectionPluginAlbumsDllUid 0x20007196 #define KGlxCollectionPluginAlbumsImplementationUid 0x20007197 +#define KGlxCollectionPluginFavoritesAlbumId 0x2000A77C +//This is Used to set the Leavel in the alibum list +//as favorites is first in album list +#define KGlxCollectionFavoritesId 1 #endif // GLXCOLLECTIONPLUGINALBUMS_HRH diff -r c499df2dbb33 -r 112f0ac2d1f0 gallery/sis/glxgallery.pkg --- a/gallery/sis/glxgallery.pkg Mon May 03 12:31:32 2010 +0300 +++ b/gallery/sis/glxgallery.pkg Mon May 03 00:53:50 2010 +0530 @@ -87,6 +87,7 @@ ;qt dlls "\epoc32\release\armv5\urel\glxtvoutwrapper.dll" -"!:\sys\bin\glxtvoutwrapper.dll" "\epoc32\release\armv5\urel\glxmedialistwrapper.dll" -"!:\sys\bin\glxmedialistwrapper.dll" +"\epoc32\release\armv5\urel\glxmodelwrapper.dll" -"!:\sys\bin\glxmodelwrapper.dll" "\epoc32\release\armv5\urel\glxexternalutility.dll" -"!:\sys\bin\glxexternalutility.dll" "\epoc32\release\armv5\urel\glxmediamodel.dll" -"!:\sys\bin\glxmediamodel.dll" "\epoc32\release\armv5\urel\glxlistmodel.dll" -"!:\sys\bin\glxlistmodel.dll" diff -r c499df2dbb33 -r 112f0ac2d1f0 gallery/sis/photosqt_stub.pkg --- a/gallery/sis/photosqt_stub.pkg Mon May 03 12:31:32 2010 +0300 +++ b/gallery/sis/photosqt_stub.pkg Mon May 03 00:53:50 2010 +0530 @@ -78,6 +78,7 @@ ;qt dlls ""-"z:\sys\bin\glxtvoutwrapper.dll" ""-"z:\sys\bin\glxmedialistwrapper.dll" +""-"z:\sys\bin\glxmodelwrapper.dll" ""-"z:\sys\bin\glxexternalutility.dll" ""-"z:\sys\bin\glxmediamodel.dll" ""-"z:\sys\bin\glxlistmodel.dll" diff -r c499df2dbb33 -r 112f0ac2d1f0 rom/photos.iby --- a/rom/photos.iby Mon May 03 12:31:32 2010 +0300 +++ b/rom/photos.iby Mon May 03 00:53:50 2010 +0530 @@ -63,6 +63,8 @@ file=ABI_DIR/BUILD_DIR/glxmedialistwrapper.dll SHARED_LIB_DIR/glxmedialistwrapper.dll file=ABI_DIR/BUILD_DIR/glxmediamodel.dll SHARED_LIB_DIR/glxmediamodel.dll file=ABI_DIR/BUILD_DIR/glxlistmodel.dll SHARED_LIB_DIR/glxlistmodel.dll +file=ABI_DIR/BUILD_DIR/glxmodelwrapper.dll SHARED_LIB_DIR/glxmodelwrapper.dll +file=ABI_DIR/BUILD_DIR/glxfavmediamodel.dll SHARED_LIB_DIR/glxfavmediamodel.dll file=ABI_DIR/BUILD_DIR/glxstatehandler.dll SHARED_LIB_DIR/glxstatehandler.dll file=ABI_DIR/BUILD_DIR/glxviewmanager.dll SHARED_LIB_DIR/glxviewmanager.dll @@ -73,7 +75,7 @@ S60_APP_EXE(photos) data=/epoc32/data/z/private/10003a3f/import/apps/photos_reg.rsc private/10003a3f/import/apps/photos_reg.rsc data=DATAZ_/APP_RESOURCE_DIR/0xE2C223D9.mif APP_RESOURCE_DIR/0xE2C223D9.mif - +data=/epoc32/data/Z/private/10202BE9/20007194.txt private/10202BE9/20007194.txt //data=/epoc32/data/z/system/install/photos_stub.sis /system/install/photos_stub.sis #endif //__PHOTOS_IBY__ \ No newline at end of file diff -r c499df2dbb33 -r 112f0ac2d1f0 tsrc/unittest/unittest_medialistwrapper/unittest_medialistwrapper.cpp --- a/tsrc/unittest/unittest_medialistwrapper/unittest_medialistwrapper.cpp Mon May 03 12:31:32 2010 +0300 +++ b/tsrc/unittest/unittest_medialistwrapper/unittest_medialistwrapper.cpp Mon May 03 00:53:50 2010 +0530 @@ -106,7 +106,7 @@ // After adding grid context should get grid icon mTestObject->setContextMode(GlxContextPtGrid); - QTest::qWait(2000); + QTest::qWait(10000); icon = mTestObject->retrieveItemIcon(itemIndex,GlxTBContextGrid); QVERIFY(icon != NULL); } diff -r c499df2dbb33 -r 112f0ac2d1f0 tvout/tvoutengine/inc/glxhdmicontroller.h --- a/tvout/tvoutengine/inc/glxhdmicontroller.h Mon May 03 12:31:32 2010 +0300 +++ b/tvout/tvoutengine/inc/glxhdmicontroller.h Mon May 03 00:53:50 2010 +0530 @@ -20,7 +20,6 @@ // Internal includes #include // for inteface MGlxTvObserver -#include class CGlxHdmiContainer; class CGlxHdmiSurfaceUpdater; @@ -128,7 +127,8 @@ CGlxHdmiContainer* iHdmiContainer; CGlxHdmiSurfaceUpdater* iSurfaceUpdater; CGlxTv* iGlxTvOut; - TBool iIsImageSupported; + TBool iIsImageSupported; // Flag to see if Image is supported + TBool iIsPostingMode; // Flag for determining if the image needs to be in posting mode }; #endif /* GLXHDMICONTROLLER_H_ */ diff -r c499df2dbb33 -r 112f0ac2d1f0 tvout/tvoutengine/inc/glxtvconnectionmonitor.h --- a/tvout/tvoutengine/inc/glxtvconnectionmonitor.h Mon May 03 12:31:32 2010 +0300 +++ b/tvout/tvoutengine/inc/glxtvconnectionmonitor.h Mon May 03 00:53:50 2010 +0530 @@ -114,6 +114,7 @@ */ void IssueNotificationL(); + void UpdateConnectionStatusL(); private: // class member data diff -r c499df2dbb33 -r 112f0ac2d1f0 tvout/tvoutengine/src/glxhdmicontroller.cpp --- a/tvout/tvoutengine/src/glxhdmicontroller.cpp Mon May 03 12:31:32 2010 +0300 +++ b/tvout/tvoutengine/src/glxhdmicontroller.cpp Mon May 03 00:53:50 2010 +0530 @@ -73,6 +73,7 @@ } if (iGlxTvOut->IsHDMIConnected()) { + iIsPostingMode = ETrue; // the image should be in posting mode GLX_LOG_INFO("CGlxHdmiController::SetImageL() - 2"); // do not close the surface , use the same surface instead. // Call a function to pass imagefile @@ -139,8 +140,10 @@ EXPORT_C void CGlxHdmiController::ShiftToCloningMode() { TRACER("CGlxHdmiController::ShiftToCloningMode()"); + // Shift to cloning only if HDMI is connected and surfaceupdater available. if (iGlxTvOut->IsHDMIConnected() && iSurfaceUpdater) { + iIsPostingMode = EFalse; iSurfaceUpdater->ShiftToCloningMode(); } } @@ -151,14 +154,27 @@ EXPORT_C void CGlxHdmiController::ShiftToPostingMode() { TRACER("CGlxHdmiController::ShiftToPostingMode()"); - if (iGlxTvOut->IsHDMIConnected() && iSurfaceUpdater) + if (iGlxTvOut->IsHDMIConnected()) { - iSurfaceUpdater->ShiftToPostingMode(); + if (!iSurfaceUpdater) + { + GLX_LOG_INFO("CGlxHdmiController::ShiftToPostingMode() - 1"); + // This case would come when HDMI connected, TvOut /headphones being connected + // and then it shows a popup of "microphone connected" + // thus Background - Foreground when headphones connected during HDMI connected + SetImageL(iStoredImagePath->Des(), iFsBitmap, EFalse); + } + else + { + GLX_LOG_INFO("CGlxHdmiController::ShiftToPostingMode() - 2"); + iSurfaceUpdater->ShiftToPostingMode(); + } + iIsPostingMode = ETrue; } } // ----------------------------------------------------------------------------- -// HandleTvStatusChangedL +// IsHDMIConnected // ----------------------------------------------------------------------------- EXPORT_C TBool CGlxHdmiController::IsHDMIConnected() { @@ -171,7 +187,8 @@ // Constructor // ----------------------------------------------------------------------------- CGlxHdmiController::CGlxHdmiController(): - iFsBitmap(NULL) + iFsBitmap(NULL), + iIsPostingMode(EFalse) { TRACER("CGlxHdmiController::CGlxHdmiController()"); // Implement nothing here @@ -211,6 +228,7 @@ delete iSurfaceUpdater; iSurfaceUpdater = NULL; } + iIsPostingMode = EFalse; } // ----------------------------------------------------------------------------- @@ -264,7 +282,14 @@ TRACER("CGlxHdmiController::HandleTvStatusChangedL()"); if ( aChangeType == ETvConnectionChanged ) { - if ( iGlxTvOut->IsHDMIConnected() && iIsImageSupported ) + if ( iGlxTvOut->IsHDMIConnected() && iGlxTvOut->IsConnected() && iSurfaceUpdater) + { + GLX_LOG_INFO("CGlxHdmiController::HandleTvStatusChangedL() - HDMI and TV Connected"); + // Do nothing , as this means HDMI is already connected and headset/tv cable connected + // meaning we shouldnt destroy HDMI and neither have to create surface updater. + return; + } + else if ( iGlxTvOut->IsHDMIConnected() && iIsImageSupported && iIsPostingMode) { GLX_LOG_INFO("CGlxHdmiController::HandleTvStatusChangedL() - HDMI Connected"); // Calling SetImageL() with appropriate parameters @@ -272,8 +297,8 @@ } else { - GLX_LOG_INFO2("CGlxHdmiController::HandleTvStatusChangedL() iIsImageSupported=%d, iGlxTvOut->IsHDMIConnected()=%d", - iIsImageSupported,iGlxTvOut->IsHDMIConnected()); + GLX_LOG_INFO3("CGlxHdmiController::HandleTvStatusChangedL() iIsImageSupported=%d, iGlxTvOut->IsHDMIConnected()=%d, iIsPostingMode=%d", + iIsImageSupported,iGlxTvOut->IsHDMIConnected(),iIsPostingMode); // if it gets disconnected, destroy the surface GLX_LOG_INFO("CGlxHdmiController::HandleTvStatusChangedL() - HDMI Not Connected"); DestroySurfaceUpdater(); diff -r c499df2dbb33 -r 112f0ac2d1f0 tvout/tvoutengine/src/glxtvconnectionmonitor.cpp --- a/tvout/tvoutengine/src/glxtvconnectionmonitor.cpp Mon May 03 12:31:32 2010 +0300 +++ b/tvout/tvoutengine/src/glxtvconnectionmonitor.cpp Mon May 03 00:53:50 2010 +0530 @@ -29,6 +29,8 @@ // INTERNAL INCLUDES #include +#include + #include #include "glxtv.h" #include @@ -40,7 +42,7 @@ CGlxTvConnectionMonitor* CGlxTvConnectionMonitor::NewL( MGlxTvConnectionObserver& aConnectionObserver ) { - GLX_LOG_INFO("CGlxTvConnectionMonitor::NewL"); + TRACER("CGlxTvConnectionMonitor::NewL"); CGlxTvConnectionMonitor* self = new (ELeave) CGlxTvConnectionMonitor( aConnectionObserver ); CleanupStack::PushL( self ); @@ -56,7 +58,7 @@ // CGlxTvConnectionMonitor::~CGlxTvConnectionMonitor() { - GLX_LOG_INFO("~CGlxTvConnectionMonitor"); + TRACER("~CGlxTvConnectionMonitor"); Cancel(); iTvAccCon.CloseSubSession(); iTvAccServer.Disconnect(); @@ -70,9 +72,12 @@ CGlxTvConnectionMonitor::CGlxTvConnectionMonitor ( MGlxTvConnectionObserver& aConnectionObserver ) :CActive(EPriorityStandard), - iConnectionObserver ( aConnectionObserver ) + iConnectionObserver ( aConnectionObserver ), + iTvOutConnectionState(EFalse), + iHDMIConnectionState(EFalse) + { - GLX_LOG_INFO("CGlxTvConnectionMonitor"); + TRACER("CGlxTvConnectionMonitor"); CActiveScheduler::Add( this ); } @@ -83,20 +88,12 @@ // void CGlxTvConnectionMonitor::ConstructL() { - GLX_LOG_INFO("CGlxTvConnectionMonitor::ConstructL"); + TRACER("CGlxTvConnectionMonitor::ConstructL"); User::LeaveIfError(iTvAccServer.Connect()); User::LeaveIfError(iTvAccCon.CreateSubSession(iTvAccServer)); - User::LeaveIfError(iTvAccCon.GetAccessoryConnectionStatus(iCurrentAccArray)); - for (int i = 0; i < iCurrentAccArray.Count(); i++) - { - iTvOutConnectionState - = (iCurrentAccArray.GetGenericIDL(i).PhysicalConnectionCaps() - == KPCWired); - iHDMIConnectionState - = (iCurrentAccArray.GetGenericIDL(i).PhysicalConnectionCaps() - == KPCHDMI); - } - IssueRequest(); + + UpdateConnectionStatusL(); + IssueRequest(); } //----------------------------------------------------------------------------- @@ -106,7 +103,7 @@ // void CGlxTvConnectionMonitor::RunL() { - GLX_LOG_INFO("CGlxTvConnectionMonitor::RunL"); + TRACER("CGlxTvConnectionMonitor::RunL"); // Check for errors User::LeaveIfError( iStatus.Int() ); // Notify observers @@ -123,7 +120,7 @@ // void CGlxTvConnectionMonitor::DoCancel() { - GLX_LOG_INFO("CGlxTvConnectionMonitor::DoCancel"); + TRACER("CGlxTvConnectionMonitor::DoCancel"); iTvAccCon.CancelGetAccessoryConnectionStatus(); iTvAccCon.CancelNotifyAccessoryConnectionStatusChanged(); } @@ -148,7 +145,7 @@ // TBool CGlxTvConnectionMonitor::IsConnected() const { - GLX_LOG_INFO("CGlxTvConnectionMonitor::IsConnected"); + TRACER("CGlxTvConnectionMonitor::IsConnected"); GLX_LOG_INFO1("CGlxTvConnectionMonitor::IsConnected iTvOutConnectionState=%d",iTvOutConnectionState); return iTvOutConnectionState; } @@ -160,7 +157,7 @@ // TBool CGlxTvConnectionMonitor::IsHDMIConnected() const { - GLX_LOG_INFO("CGlxTvConnectionMonitor::IsHDMIConnected"); + TRACER("CGlxTvConnectionMonitor::IsHDMIConnected"); GLX_LOG_INFO1("CGlxTvConnectionMonitor::IsHDMIConnected iHDMIConnectionState=%d",iHDMIConnectionState); return iHDMIConnectionState; } @@ -171,7 +168,7 @@ // void CGlxTvConnectionMonitor::IssueRequest() { - GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueRequest"); + TRACER("CGlxTvConnectionMonitor::IssueRequest"); if (!IsActive()) // required for testing { iTvAccCon.NotifyAccessoryConnectionStatusChanged(iStatus,iCurrentAccArray); @@ -179,74 +176,78 @@ } } - //----------------------------------------------------------------------------- // Sends notification to observers if TV Out is connected //----------------------------------------------------------------------------- // void CGlxTvConnectionMonitor::IssueNotificationL() { - GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueNotificationL"); + TRACER("CGlxTvConnectionMonitor::IssueNotificationL"); TBool previousTvState = iTvOutConnectionState; TBool previousHDMIState = iHDMIConnectionState; - GLX_LOG_INFO2("previousTvState = %d , previousHDMIState = %d", - previousTvState,previousHDMIState); + + // Update the connection status + UpdateConnectionStatusL(); + + // trigger tvstatus change only when there is actually a change the in the connection and not + // for spurious events + if (previousTvState !=iTvOutConnectionState || previousHDMIState != iHDMIConnectionState) + { + GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueNotificationL - Connection Altered"); + iConnectionObserver.HandleTvConnectionStatusChangedL(); + } + } - //gets the TV status in to the iCurrentAccArray and haves the Latest Accesory in 0-index - User::LeaveIfError(iTvAccCon.GetAccessoryConnectionStatus(iCurrentAccArray)); +//----------------------------------------------------------------------------- +// UpdateConnectionStatusL() +//----------------------------------------------------------------------------- +// +void CGlxTvConnectionMonitor::UpdateConnectionStatusL() + { + TRACER("CGlxTvConnectionMonitor::UpdateConnectionStatusL()"); - CAccPolSubblockNameArray* nameArray = CAccPolSubblockNameArray::NewL(); - CleanupStack::PushL(nameArray); + GLX_LOG_INFO2("CGlxTvConnectionMonitor::UpdateConnectionStatusL previousTvState = %d , previousHDMIState = %d", + iTvOutConnectionState,iHDMIConnectionState); + + //gets the TV status in to the iCurrentAccArray and haves the Latest Accesory in 0-index + User::LeaveIfError(iTvAccCon.GetAccessoryConnectionStatus(iCurrentAccArray)); - // - // Get the number of currently connected accessories - // Loop through each connected accessory looking for - // the desired capabilities - // - iTvOutConnectionState = EFalse; - iHDMIConnectionState = EFalse; - const TInt count = iCurrentAccArray.Count(); - for (TInt index = 0; index < count; index++) - { - TAccPolGenericID genId = iCurrentAccArray.GetGenericIDL(index); - // Get all supported capabilities for this connected accessory. - iTvAccCon.GetSubblockNameArrayL(genId, *nameArray); - // Check if this connected accessory supports TV-Out capabality. - if (nameArray->HasName(KAccVideoOut)) - { - GLX_LOG_INFO("TV-Out Capabilities Exist"); - TAccPolNameRecord nameRecord; - nameRecord.SetNameL(KAccVideoOut); - TAccValueTypeTInt value; - iTvAccCon.GetValueL(genId, nameRecord, value); - if (value.iValue == EAccVideoOutEHDMI) - { - GLX_LOG_INFO("HDMI is connected Capabilities Exist"); - iHDMIConnectionState = ETrue; - break; - } - else if (value.iValue == EAccVideoOutCVideo) - { - GLX_LOG_INFO("TV is connected Capabilities Exist"); - iTvOutConnectionState = ETrue; - break; - } - } + CAccPolSubblockNameArray* nameArray = CAccPolSubblockNameArray::NewL(); + CleanupStack::PushL(nameArray); + // Get the number of currently connected accessories + // Loop through each connected accessory looking for + // the desired capabilities + // + const TInt count = iCurrentAccArray.Count(); + GLX_LOG_INFO1("CGlxTvConnectionMonitor::UpdateConnectionStatusL current count value is %d",count); + for (TInt index = 0; index HasName(KAccVideoOut)) + { + GLX_LOG_INFO("CGlxTvConnectionMonitor::UpdateConnectionStatusL Video Accessory Supported"); + TAccPolNameRecord nameRecord; + nameRecord.SetNameL(KAccVideoOut); + TAccValueTypeTInt value; + iTvAccCon.GetValueL(genId, nameRecord, value); + if (value.iValue == EAccVideoOutEHDMI) + { + GLX_LOG_INFO("CGlxTvConnectionMonitor::UpdateConnectionStatusL HDMI is connected"); + iHDMIConnectionState = ETrue; + } + else if (value.iValue == EAccVideoOutCVideo) + { + GLX_LOG_INFO("CGlxTvConnectionMonitor::UpdateConnectionStatusL TV is connected"); + iTvOutConnectionState = ETrue; + } + } + } + CleanupStack::PopAndDestroy(nameArray); - } - CleanupStack::PopAndDestroy(nameArray); - - if (previousTvState != iTvOutConnectionState || previousHDMIState - != iHDMIConnectionState) - { - GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueNotificationL -" - " TvConnectionStatusChanged"); - GLX_LOG_INFO2("CurrentTvState = %d , CurrentHDMIState = %d", - iTvOutConnectionState,iHDMIConnectionState); - iConnectionObserver.HandleTvConnectionStatusChangedL(); - } + GLX_LOG_INFO2("CGlxTvConnectionMonitor::UpdateConnectionStatusL CurrentTvState = %d , CurrentHDMIState = %d", + iTvOutConnectionState,iHDMIConnectionState); } - - - - diff -r c499df2dbb33 -r 112f0ac2d1f0 tvout/tvoutwrapper/inc/glxtvoutwrapper_p.h --- a/tvout/tvoutwrapper/inc/glxtvoutwrapper_p.h Mon May 03 12:31:32 2010 +0300 +++ b/tvout/tvoutwrapper/inc/glxtvoutwrapper_p.h Mon May 03 00:53:50 2010 +0530 @@ -99,6 +99,11 @@ * and pass it to HDMI controller */ void SetNewImage(); + + /* + * getsubstate + */ + int getSubState(); private: GlxTvOutWrapper* iTvOutWrapper; // Instance of the Tv Wrapper QAbstractItemModel* iModel; // Instance of the model diff -r c499df2dbb33 -r 112f0ac2d1f0 tvout/tvoutwrapper/src/glxtvoutwrapper_p.cpp --- a/tvout/tvoutwrapper/src/glxtvoutwrapper_p.cpp Mon May 03 12:31:32 2010 +0300 +++ b/tvout/tvoutwrapper/src/glxtvoutwrapper_p.cpp Mon May 03 00:53:50 2010 +0530 @@ -20,6 +20,7 @@ #include "glxtvconnectionobserver.h" #include "glxhdmicontroller.h" #include "glxmodelparm.h" +#include "glxviewids.h" // ----------------------------------------------------------------------------- // Static method to create the private wrapper instance @@ -89,7 +90,7 @@ iHdmiConnected = aConnected; // if Connection state positive and uri/bmp are not passed to HDMI already // then it is a new image - Set it. - if (!isImageSetToHdmi && iHdmiConnected) + if (!isImageSetToHdmi && iHdmiConnected && getSubState() !=IMAGEVIEWER_S) { SetNewImage(); } @@ -123,7 +124,14 @@ // ----------------------------------------------------------------------------- void GlxTvOutWrapperPrivate::SetNewImage() { - int focusIndex = (iModel->data(iModel->index(0,0),GlxFocusIndexRole).value()); + QVariant focusVariant =(iModel->data(iModel->index(0,0),GlxFocusIndexRole)); + int focusIndex; + if (focusVariant.isValid() && focusVariant.canConvert()) { + focusIndex = (focusVariant.value()); + } + else{ + return ; + } // Get the image uri QString imagePath = (iModel->data(iModel->index(focusIndex,0),GlxUriRole)).value(); @@ -188,4 +196,17 @@ } } +// ----------------------------------------------------------------------------- +// getSubState +// ----------------------------------------------------------------------------- +int GlxTvOutWrapperPrivate::getSubState() +{ + int substate = NO_FULLSCREEN_S; + QVariant variant = iModel->data( iModel->index(0,0), GlxSubStateRole ); + if ( variant.isValid() && variant.canConvert () ) { + substate = variant.value(); + } + return substate; +} + // End of file diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/commandhandlers/bwins/glxcommandhandlerbaseu.def --- a/ui/commandhandlers/bwins/glxcommandhandlerbaseu.def Mon May 03 12:31:32 2010 +0300 +++ b/ui/commandhandlers/bwins/glxcommandhandlerbaseu.def Mon May 03 00:53:50 2010 +0530 @@ -1,38 +1,49 @@ EXPORTS ?HandleItemSelectedL@GlxMpxCommandHandler@@MAEXHHPAVMGlxMediaList@@@Z @ 1 NONAME ; void GlxMpxCommandHandler::HandleItemSelectedL(int, int, class MGlxMediaList *) ?CreateMediaListAlbumItemL@GlxMpxCommandHandler@@AAEXHHW4TGlxFilterItemType@@@Z @ 2 NONAME ; void GlxMpxCommandHandler::CreateMediaListAlbumItemL(int, int, enum TGlxFilterItemType) - ??_EGlxCommandHandler@@UAE@I@Z @ 3 NONAME ; GlxCommandHandler::~GlxCommandHandler(unsigned int) - ??1GlxCommandHandler@@UAE@XZ @ 4 NONAME ; GlxCommandHandler::~GlxCommandHandler(void) - ?ConfirmationNoteL@GlxMpxCommandHandler@@ABE_NAAVMGlxMediaList@@@Z @ 5 NONAME ; bool GlxMpxCommandHandler::ConfirmationNoteL(class MGlxMediaList &) const + ?ConfirmationNoteL@GlxMpxCommandHandler@@AAEXAAVMGlxMediaList@@@Z @ 3 NONAME ; void GlxMpxCommandHandler::ConfirmationNoteL(class MGlxMediaList &) + ??_EGlxCommandHandler@@UAE@I@Z @ 4 NONAME ; GlxCommandHandler::~GlxCommandHandler(unsigned int) + ??1GlxCommandHandler@@UAE@XZ @ 5 NONAME ; GlxCommandHandler::~GlxCommandHandler(void) ?executeCommand@GlxModelCommandHandler@@UAEXHHV?$QList@VQModelIndex@@@@@Z @ 6 NONAME ; void GlxModelCommandHandler::executeCommand(int, int, class QList) - ?CompletionNoteL@GlxMpxCommandHandler@@ABEXXZ @ 7 NONAME ; void GlxMpxCommandHandler::CompletionNoteL(void) const - ?ProgressTextL@GlxMpxCommandHandler@@MBE?AVQString@@XZ @ 8 NONAME ; class QString GlxMpxCommandHandler::ProgressTextL(void) const - ?HandleCommandCompleteL@GlxMpxCommandHandler@@MAEXPAXPAVCMPXMedia@@HPAVMGlxMediaList@@@Z @ 9 NONAME ; void GlxMpxCommandHandler::HandleCommandCompleteL(void *, class CMPXMedia *, int, class MGlxMediaList *) - ?TryExitL@GlxMpxCommandHandler@@AAEXH@Z @ 10 NONAME ; void GlxMpxCommandHandler::TryExitL(int) - ?HandleMediaL@GlxMpxCommandHandler@@MAEXHPAVMGlxMediaList@@@Z @ 11 NONAME ; void GlxMpxCommandHandler::HandleMediaL(int, class MGlxMediaList *) - ?HandleErrorL@GlxMpxCommandHandler@@MAEXH@Z @ 12 NONAME ; void GlxMpxCommandHandler::HandleErrorL(int) - ??0GlxModelCommandHandler@@QAE@XZ @ 13 NONAME ; GlxModelCommandHandler::GlxModelCommandHandler(void) - ?ConfirmationNoteMultipleL@GlxMpxCommandHandler@@ABE_NAAVMGlxMediaList@@@Z @ 14 NONAME ; bool GlxMpxCommandHandler::ConfirmationNoteMultipleL(class MGlxMediaList &) const - ?CreateMediaListL@GlxMpxCommandHandler@@AAEXHHW4TGlxFilterItemType@@@Z @ 15 NONAME ; void GlxMpxCommandHandler::CreateMediaListL(int, int, enum TGlxFilterItemType) - ?ConfirmationNoteSingleL@GlxMpxCommandHandler@@ABE_NAAVMGlxMediaList@@@Z @ 16 NONAME ; bool GlxMpxCommandHandler::ConfirmationNoteSingleL(class MGlxMediaList &) const - ?CompletionTextL@GlxMpxCommandHandler@@MBE?AVQString@@XZ @ 17 NONAME ; class QString GlxMpxCommandHandler::CompletionTextL(void) const - ?HandleFocusChangedL@GlxMpxCommandHandler@@MAEXW4TFocusChangeType@NGlxListDefs@@HHPAVMGlxMediaList@@@Z @ 18 NONAME ; void GlxMpxCommandHandler::HandleFocusChangedL(enum NGlxListDefs::TFocusChangeType, int, int, class MGlxMediaList *) - ?HandleAttributesAvailableL@GlxMpxCommandHandler@@MAEXHABV?$RArray@VTMPXAttribute@@@@PAVMGlxMediaList@@@Z @ 19 NONAME ; void GlxMpxCommandHandler::HandleAttributesAvailableL(int, class RArray const &, class MGlxMediaList *) - ?HandleItemRemovedL@GlxMpxCommandHandler@@MAEXHHPAVMGlxMediaList@@@Z @ 20 NONAME ; void GlxMpxCommandHandler::HandleItemRemovedL(int, int, class MGlxMediaList *) - ?HandleMessageL@GlxMpxCommandHandler@@MAEXABVCMPXMedia@@PAVMGlxMediaList@@@Z @ 21 NONAME ; void GlxMpxCommandHandler::HandleMessageL(class CMPXMedia const &, class MGlxMediaList *) - ?ProgressNoteL@GlxMpxCommandHandler@@AAEXH@Z @ 22 NONAME ; void GlxMpxCommandHandler::ProgressNoteL(int) - ?HandleError@GlxMpxCommandHandler@@MAEXH@Z @ 23 NONAME ; void GlxMpxCommandHandler::HandleError(int) - ??1GlxMpxCommandHandler@@UAE@XZ @ 24 NONAME ; GlxMpxCommandHandler::~GlxMpxCommandHandler(void) - ??1GlxModelCommandHandler@@UAE@XZ @ 25 NONAME ; GlxModelCommandHandler::~GlxModelCommandHandler(void) - ?DismissProgressNoteL@GlxMpxCommandHandler@@AAEXXZ @ 26 NONAME ; void GlxMpxCommandHandler::DismissProgressNoteL(void) - ?HandleItemAddedL@GlxMpxCommandHandler@@MAEXHHPAVMGlxMediaList@@@Z @ 27 NONAME ; void GlxMpxCommandHandler::HandleItemAddedL(int, int, class MGlxMediaList *) - ?executeCommand@GlxMpxCommandHandler@@UAEXHHV?$QList@VQModelIndex@@@@@Z @ 28 NONAME ; void GlxMpxCommandHandler::executeCommand(int, int, class QList) - ?DoExecuteCommandL@GlxMpxCommandHandler@@MAEXHAAVMGlxMediaList@@AAH@Z @ 29 NONAME ; void GlxMpxCommandHandler::DoExecuteCommandL(int, class MGlxMediaList &, int &) - ??0GlxCommandHandler@@QAE@XZ @ 30 NONAME ; GlxCommandHandler::GlxCommandHandler(void) - ?ConfirmationTextL@GlxMpxCommandHandler@@MBE?AVQString@@_N@Z @ 31 NONAME ; class QString GlxMpxCommandHandler::ConfirmationTextL(bool) const - ??0GlxMpxCommandHandler@@QAE@XZ @ 32 NONAME ; GlxMpxCommandHandler::GlxMpxCommandHandler(void) - ??_EGlxMpxCommandHandler@@UAE@I@Z @ 33 NONAME ; GlxMpxCommandHandler::~GlxMpxCommandHandler(unsigned int) - ?HandleItemModifiedL@GlxMpxCommandHandler@@MAEXABV?$RArray@H@@PAVMGlxMediaList@@@Z @ 34 NONAME ; void GlxMpxCommandHandler::HandleItemModifiedL(class RArray const &, class MGlxMediaList *) - ??_EGlxModelCommandHandler@@UAE@I@Z @ 35 NONAME ; GlxModelCommandHandler::~GlxModelCommandHandler(unsigned int) - ?DoHandleCommandCompleteL@GlxMpxCommandHandler@@MAEXPAXPAVCMPXMedia@@HPAVMGlxMediaList@@@Z @ 36 NONAME ; void GlxMpxCommandHandler::DoHandleCommandCompleteL(void *, class CMPXMedia *, int, class MGlxMediaList *) + ?ConfirmationNoteMultipleL@GlxMpxCommandHandler@@AAEXAAVMGlxMediaList@@@Z @ 7 NONAME ; void GlxMpxCommandHandler::ConfirmationNoteMultipleL(class MGlxMediaList &) + ?CompletionNoteL@GlxMpxCommandHandler@@ABEXXZ @ 8 NONAME ; void GlxMpxCommandHandler::CompletionNoteL(void) const + ?trUtf8@GlxMpxCommandHandler@@SA?AVQString@@PBD0@Z @ 9 NONAME ; class QString GlxMpxCommandHandler::trUtf8(char const *, char const *) + ?tr@GlxMpxCommandHandler@@SA?AVQString@@PBD0@Z @ 10 NONAME ; class QString GlxMpxCommandHandler::tr(char const *, char const *) + ?getStaticMetaObject@GlxMpxCommandHandler@@SAABUQMetaObject@@XZ @ 11 NONAME ; struct QMetaObject const & GlxMpxCommandHandler::getStaticMetaObject(void) + ?ProgressTextL@GlxMpxCommandHandler@@MBE?AVQString@@XZ @ 12 NONAME ; class QString GlxMpxCommandHandler::ProgressTextL(void) const + ?HandleCommandCompleteL@GlxMpxCommandHandler@@MAEXPAXPAVCMPXMedia@@HPAVMGlxMediaList@@@Z @ 13 NONAME ; void GlxMpxCommandHandler::HandleCommandCompleteL(void *, class CMPXMedia *, int, class MGlxMediaList *) + ?metaObject@GlxMpxCommandHandler@@UBEPBUQMetaObject@@XZ @ 14 NONAME ; struct QMetaObject const * GlxMpxCommandHandler::metaObject(void) const + ?TryExitL@GlxMpxCommandHandler@@AAEXH@Z @ 15 NONAME ; void GlxMpxCommandHandler::TryExitL(int) + ?HandleMediaL@GlxMpxCommandHandler@@MAEXHPAVMGlxMediaList@@@Z @ 16 NONAME ; void GlxMpxCommandHandler::HandleMediaL(int, class MGlxMediaList *) + ?HandleErrorL@GlxMpxCommandHandler@@MAEXH@Z @ 17 NONAME ; void GlxMpxCommandHandler::HandleErrorL(int) + ??0GlxModelCommandHandler@@QAE@XZ @ 18 NONAME ; GlxModelCommandHandler::GlxModelCommandHandler(void) + ?CreateMediaListL@GlxMpxCommandHandler@@AAEXHHW4TGlxFilterItemType@@@Z @ 19 NONAME ; void GlxMpxCommandHandler::CreateMediaListL(int, int, enum TGlxFilterItemType) + ?executeMpxCommand@GlxMpxCommandHandler@@AAEX_N@Z @ 20 NONAME ; void GlxMpxCommandHandler::executeMpxCommand(bool) + ?ConfirmationNoteSingleL@GlxMpxCommandHandler@@AAEXAAVMGlxMediaList@@@Z @ 21 NONAME ; void GlxMpxCommandHandler::ConfirmationNoteSingleL(class MGlxMediaList &) + ?CompletionTextL@GlxMpxCommandHandler@@MBE?AVQString@@XZ @ 22 NONAME ; class QString GlxMpxCommandHandler::CompletionTextL(void) const + ?HandleFocusChangedL@GlxMpxCommandHandler@@MAEXW4TFocusChangeType@NGlxListDefs@@HHPAVMGlxMediaList@@@Z @ 23 NONAME ; void GlxMpxCommandHandler::HandleFocusChangedL(enum NGlxListDefs::TFocusChangeType, int, int, class MGlxMediaList *) + ?tr@GlxMpxCommandHandler@@SA?AVQString@@PBD0H@Z @ 24 NONAME ; class QString GlxMpxCommandHandler::tr(char const *, char const *, int) + ?HandleAttributesAvailableL@GlxMpxCommandHandler@@MAEXHABV?$RArray@VTMPXAttribute@@@@PAVMGlxMediaList@@@Z @ 25 NONAME ; void GlxMpxCommandHandler::HandleAttributesAvailableL(int, class RArray const &, class MGlxMediaList *) + ?messageDialogClose@GlxMpxCommandHandler@@QAEXPAVHbAction@@@Z @ 26 NONAME ; void GlxMpxCommandHandler::messageDialogClose(class HbAction *) + ?HandleItemRemovedL@GlxMpxCommandHandler@@MAEXHHPAVMGlxMediaList@@@Z @ 27 NONAME ; void GlxMpxCommandHandler::HandleItemRemovedL(int, int, class MGlxMediaList *) + ?HandleMessageL@GlxMpxCommandHandler@@MAEXABVCMPXMedia@@PAVMGlxMediaList@@@Z @ 28 NONAME ; void GlxMpxCommandHandler::HandleMessageL(class CMPXMedia const &, class MGlxMediaList *) + ?qt_metacall@GlxMpxCommandHandler@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 29 NONAME ; int GlxMpxCommandHandler::qt_metacall(enum QMetaObject::Call, int, void * *) + ?ProgressNoteL@GlxMpxCommandHandler@@AAEXH@Z @ 30 NONAME ; void GlxMpxCommandHandler::ProgressNoteL(int) + ?trUtf8@GlxMpxCommandHandler@@SA?AVQString@@PBD0H@Z @ 31 NONAME ; class QString GlxMpxCommandHandler::trUtf8(char const *, char const *, int) + ?HandleError@GlxMpxCommandHandler@@MAEXH@Z @ 32 NONAME ; void GlxMpxCommandHandler::HandleError(int) + ??1GlxMpxCommandHandler@@UAE@XZ @ 33 NONAME ; GlxMpxCommandHandler::~GlxMpxCommandHandler(void) + ??1GlxModelCommandHandler@@UAE@XZ @ 34 NONAME ; GlxModelCommandHandler::~GlxModelCommandHandler(void) + ?DismissProgressNoteL@GlxMpxCommandHandler@@AAEXXZ @ 35 NONAME ; void GlxMpxCommandHandler::DismissProgressNoteL(void) + ?HandleItemAddedL@GlxMpxCommandHandler@@MAEXHHPAVMGlxMediaList@@@Z @ 36 NONAME ; void GlxMpxCommandHandler::HandleItemAddedL(int, int, class MGlxMediaList *) + ?executeCommand@GlxMpxCommandHandler@@UAEXHHV?$QList@VQModelIndex@@@@@Z @ 37 NONAME ; void GlxMpxCommandHandler::executeCommand(int, int, class QList) + ?staticMetaObject@GlxMpxCommandHandler@@2UQMetaObject@@B @ 38 NONAME ; struct QMetaObject const GlxMpxCommandHandler::staticMetaObject + ?DoExecuteCommandL@GlxMpxCommandHandler@@MAEXHAAVMGlxMediaList@@AAH@Z @ 39 NONAME ; void GlxMpxCommandHandler::DoExecuteCommandL(int, class MGlxMediaList &, int &) + ??0GlxCommandHandler@@QAE@XZ @ 40 NONAME ; GlxCommandHandler::GlxCommandHandler(void) + ?qt_metacast@GlxMpxCommandHandler@@UAEPAXPBD@Z @ 41 NONAME ; void * GlxMpxCommandHandler::qt_metacast(char const *) + ?ConfirmationTextL@GlxMpxCommandHandler@@MBE?AVQString@@_N@Z @ 42 NONAME ; class QString GlxMpxCommandHandler::ConfirmationTextL(bool) const + ??0GlxMpxCommandHandler@@QAE@XZ @ 43 NONAME ; GlxMpxCommandHandler::GlxMpxCommandHandler(void) + ??_EGlxMpxCommandHandler@@UAE@I@Z @ 44 NONAME ; GlxMpxCommandHandler::~GlxMpxCommandHandler(unsigned int) + ?HandleItemModifiedL@GlxMpxCommandHandler@@MAEXABV?$RArray@H@@PAVMGlxMediaList@@@Z @ 45 NONAME ; void GlxMpxCommandHandler::HandleItemModifiedL(class RArray const &, class MGlxMediaList *) + ??_EGlxModelCommandHandler@@UAE@I@Z @ 46 NONAME ; GlxModelCommandHandler::~GlxModelCommandHandler(unsigned int) + ?DoHandleCommandCompleteL@GlxMpxCommandHandler@@MAEXPAXPAVCMPXMedia@@HPAVMGlxMediaList@@@Z @ 47 NONAME ; void GlxMpxCommandHandler::DoHandleCommandCompleteL(void *, class CMPXMedia *, int, class MGlxMediaList *) diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/commandhandlers/bwins/glxcommoncommandhandlersu.def --- a/ui/commandhandlers/bwins/glxcommoncommandhandlersu.def Mon May 03 12:31:32 2010 +0300 +++ b/ui/commandhandlers/bwins/glxcommoncommandhandlersu.def Mon May 03 00:53:50 2010 +0530 @@ -4,73 +4,63 @@ ?RotateImageL@GlxCommandHandlerRotate@@AAEXV?$TBuf@$0BAA@@@@Z @ 3 NONAME ; void GlxCommandHandlerRotate::RotateImageL(class TBuf<256>) ?qt_metacall@GlxCommandHandlerNewMedia@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4 NONAME ; int GlxCommandHandlerNewMedia::qt_metacall(enum QMetaObject::Call, int, void * *) ?ProgressTextL@GlxCommandHandlerRemoveFrom@@EBE?AVQString@@XZ @ 5 NONAME ; class QString GlxCommandHandlerRemoveFrom::ProgressTextL(void) const - ??1GlxCommandHandlerAddToContainer@@UAE@XZ @ 6 NONAME ; GlxCommandHandlerAddToContainer::~GlxCommandHandlerAddToContainer(void) - ?getStaticMetaObject@GlxCommandHandlerNewMedia@@SAABUQMetaObject@@XZ @ 7 NONAME ; struct QMetaObject const & GlxCommandHandlerNewMedia::getStaticMetaObject(void) - ?SetImageOrientationL@GlxCommandHandlerRotate@@AAEXG@Z @ 8 NONAME ; void GlxCommandHandlerRotate::SetImageOrientationL(unsigned short) - ?ConfirmationTextL@GlxCommandHandlerDelete@@EBE?AVQString@@_N@Z @ 9 NONAME ; class QString GlxCommandHandlerDelete::ConfirmationTextL(bool) const - ??_EGlxCommandHandlerSend@@UAE@I@Z @ 10 NONAME ; GlxCommandHandlerSend::~GlxCommandHandlerSend(unsigned int) - ?trUtf8@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0@Z @ 11 NONAME ; class QString GlxCommandHandlerNewMedia::trUtf8(char const *, char const *) - ?HandleErrorL@GlxCommandHandlerNewMedia@@MAEXH@Z @ 12 NONAME ; void GlxCommandHandlerNewMedia::HandleErrorL(int) - ?tr@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0H@Z @ 13 NONAME ; class QString GlxCommandHandlerNewMedia::tr(char const *, char const *, int) - ?trUtf8@GlxCommandHandlerAddToContainer@@SA?AVQString@@PBD0@Z @ 14 NONAME ; class QString GlxCommandHandlerAddToContainer::trUtf8(char const *, char const *) - ?DoExecuteCommandL@GlxCommandHandlerRotate@@UAEXHAAVMGlxMediaList@@AAH@Z @ 15 NONAME ; void GlxCommandHandlerRotate::DoExecuteCommandL(int, class MGlxMediaList &, int &) - ?metaObject@GlxCommandHandlerNewMedia@@UBEPBUQMetaObject@@XZ @ 16 NONAME ; struct QMetaObject const * GlxCommandHandlerNewMedia::metaObject(void) const - ?CreateCommandL@GlxCommandHandlerDelete@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 17 NONAME ; class CMPXMedia * GlxCommandHandlerDelete::CreateCommandL(int, class MGlxMediaList &, int &) const - ?CreateCommandL@GlxCommandHandlerAddToContainer@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 18 NONAME ; class CMPXMedia * GlxCommandHandlerAddToContainer::CreateCommandL(int, class MGlxMediaList &, int &) const - ?CompletionTextL@GlxCommandHandlerDelete@@EBE?AVQString@@XZ @ 19 NONAME ; class QString GlxCommandHandlerDelete::CompletionTextL(void) const - ?DoHandleCommandCompleteL@GlxCommandHandlerNewMedia@@MAEXPAXPAVCMPXMedia@@HPAVMGlxMediaList@@@Z @ 20 NONAME ; void GlxCommandHandlerNewMedia::DoHandleCommandCompleteL(void *, class CMPXMedia *, int, class MGlxMediaList *) - ?GenerateNewMediaItemTitleL@GlxCommandHandlerNewMedia@@ABE?AVQString@@V2@AAVMGlxMediaList@@@Z @ 21 NONAME ; class QString GlxCommandHandlerNewMedia::GenerateNewMediaItemTitleL(class QString, class MGlxMediaList &) const - ??1GlxCommandHandlerRemoveFrom@@UAE@XZ @ 22 NONAME ; GlxCommandHandlerRemoveFrom::~GlxCommandHandlerRemoveFrom(void) - ?qt_metacast@GlxCommandHandlerNewMedia@@UAEPAXPBD@Z @ 23 NONAME ; void * GlxCommandHandlerNewMedia::qt_metacast(char const *) - ?qt_metacall@GlxCommandHandlerAddToContainer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 24 NONAME ; int GlxCommandHandlerAddToContainer::qt_metacall(enum QMetaObject::Call, int, void * *) + ??0GlxCommandHandlerRename@@QAE@XZ @ 6 NONAME ; GlxCommandHandlerRename::GlxCommandHandlerRename(void) + ??1GlxCommandHandlerAddToContainer@@UAE@XZ @ 7 NONAME ; GlxCommandHandlerAddToContainer::~GlxCommandHandlerAddToContainer(void) + ?getStaticMetaObject@GlxCommandHandlerNewMedia@@SAABUQMetaObject@@XZ @ 8 NONAME ; struct QMetaObject const & GlxCommandHandlerNewMedia::getStaticMetaObject(void) + ?SetImageOrientationL@GlxCommandHandlerRotate@@AAEXG@Z @ 9 NONAME ; void GlxCommandHandlerRotate::SetImageOrientationL(unsigned short) + ?ConfirmationTextL@GlxCommandHandlerDelete@@EBE?AVQString@@_N@Z @ 10 NONAME ; class QString GlxCommandHandlerDelete::ConfirmationTextL(bool) const + ??_EGlxCommandHandlerSend@@UAE@I@Z @ 11 NONAME ; GlxCommandHandlerSend::~GlxCommandHandlerSend(unsigned int) + ?trUtf8@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString GlxCommandHandlerNewMedia::trUtf8(char const *, char const *) + ?HandleErrorL@GlxCommandHandlerNewMedia@@MAEXH@Z @ 13 NONAME ; void GlxCommandHandlerNewMedia::HandleErrorL(int) + ?GetName@GlxCommandHandlerRename@@ABE?AVQString@@AAVMGlxMediaList@@@Z @ 14 NONAME ; class QString GlxCommandHandlerRename::GetName(class MGlxMediaList &) const + ?tr@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0H@Z @ 15 NONAME ; class QString GlxCommandHandlerNewMedia::tr(char const *, char const *, int) + ?DoExecuteCommandL@GlxCommandHandlerRotate@@UAEXHAAVMGlxMediaList@@AAH@Z @ 16 NONAME ; void GlxCommandHandlerRotate::DoExecuteCommandL(int, class MGlxMediaList &, int &) + ?metaObject@GlxCommandHandlerNewMedia@@UBEPBUQMetaObject@@XZ @ 17 NONAME ; struct QMetaObject const * GlxCommandHandlerNewMedia::metaObject(void) const + ?CreateCommandL@GlxCommandHandlerDelete@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 18 NONAME ; class CMPXMedia * GlxCommandHandlerDelete::CreateCommandL(int, class MGlxMediaList &, int &) const + ?CreateCommandL@GlxCommandHandlerAddToContainer@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 19 NONAME ; class CMPXMedia * GlxCommandHandlerAddToContainer::CreateCommandL(int, class MGlxMediaList &, int &) const + ?CompletionTextL@GlxCommandHandlerDelete@@EBE?AVQString@@XZ @ 20 NONAME ; class QString GlxCommandHandlerDelete::CompletionTextL(void) const + ?DoHandleCommandCompleteL@GlxCommandHandlerNewMedia@@MAEXPAXPAVCMPXMedia@@HPAVMGlxMediaList@@@Z @ 21 NONAME ; void GlxCommandHandlerNewMedia::DoHandleCommandCompleteL(void *, class CMPXMedia *, int, class MGlxMediaList *) + ?GenerateNewMediaItemTitleL@GlxCommandHandlerNewMedia@@ABE?AVQString@@V2@AAVMGlxMediaList@@@Z @ 22 NONAME ; class QString GlxCommandHandlerNewMedia::GenerateNewMediaItemTitleL(class QString, class MGlxMediaList &) const + ??1GlxCommandHandlerRemoveFrom@@UAE@XZ @ 23 NONAME ; GlxCommandHandlerRemoveFrom::~GlxCommandHandlerRemoveFrom(void) + ?qt_metacast@GlxCommandHandlerNewMedia@@UAEPAXPBD@Z @ 24 NONAME ; void * GlxCommandHandlerNewMedia::qt_metacast(char const *) ??0GlxCommandHandlerRemoveFrom@@QAE@XZ @ 25 NONAME ; GlxCommandHandlerRemoveFrom::GlxCommandHandlerRemoveFrom(void) ?HandleItemAddedL@GlxCommandHandlerNewMedia@@MAEXHHPAVMGlxMediaList@@@Z @ 26 NONAME ; void GlxCommandHandlerNewMedia::HandleItemAddedL(int, int, class MGlxMediaList *) - ?tr@GlxCommandHandlerAddToContainer@@SA?AVQString@@PBD0@Z @ 27 NONAME ; class QString GlxCommandHandlerAddToContainer::tr(char const *, char const *) - ?tr@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0@Z @ 28 NONAME ; class QString GlxCommandHandlerNewMedia::tr(char const *, char const *) - ?metaObject@GlxCommandHandlerAddToContainer@@UBEPBUQMetaObject@@XZ @ 29 NONAME ; struct QMetaObject const * GlxCommandHandlerAddToContainer::metaObject(void) const - ?ReadImageOrientationL@GlxCommandHandlerRotate@@AAEGXZ @ 30 NONAME ; unsigned short GlxCommandHandlerRotate::ReadImageOrientationL(void) - ??1GlxCommandHandlerRotate@@UAE@XZ @ 31 NONAME ; GlxCommandHandlerRotate::~GlxCommandHandlerRotate(void) + ?tr@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0@Z @ 27 NONAME ; class QString GlxCommandHandlerNewMedia::tr(char const *, char const *) + ?createNewMedia@GlxCommandHandlerAddToContainer@@ABEXXZ @ 28 NONAME ; void GlxCommandHandlerAddToContainer::createNewMedia(void) const + ?ReadImageOrientationL@GlxCommandHandlerRotate@@AAEGXZ @ 29 NONAME ; unsigned short GlxCommandHandlerRotate::ReadImageOrientationL(void) + ??1GlxCommandHandlerRotate@@UAE@XZ @ 30 NONAME ; GlxCommandHandlerRotate::~GlxCommandHandlerRotate(void) + ?CreateCommandL@GlxCommandHandlerRename@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 31 NONAME ; class CMPXMedia * GlxCommandHandlerRename::CreateCommandL(int, class MGlxMediaList &, int &) const ??1GlxCommandHandlerNewMedia@@UAE@XZ @ 32 NONAME ; GlxCommandHandlerNewMedia::~GlxCommandHandlerNewMedia(void) ??_EGlxCommandHandlerNewMedia@@UAE@I@Z @ 33 NONAME ; GlxCommandHandlerNewMedia::~GlxCommandHandlerNewMedia(unsigned int) ?CompletionTextL@GlxCommandHandlerRemoveFrom@@EBE?AVQString@@XZ @ 34 NONAME ; class QString GlxCommandHandlerRemoveFrom::CompletionTextL(void) const ??_EGlxCommandHandlerDelete@@UAE@I@Z @ 35 NONAME ; GlxCommandHandlerDelete::~GlxCommandHandlerDelete(unsigned int) ?ProgressTextL@GlxCommandHandlerDelete@@EBE?AVQString@@XZ @ 36 NONAME ; class QString GlxCommandHandlerDelete::ProgressTextL(void) const - ?staticMetaObject@GlxCommandHandlerNewMedia@@2UQMetaObject@@B @ 37 NONAME ; struct QMetaObject const GlxCommandHandlerNewMedia::staticMetaObject - ??0GlxCommandHandlerDelete@@QAE@XZ @ 38 NONAME ; GlxCommandHandlerDelete::GlxCommandHandlerDelete(void) + ?CompletionTextL@GlxCommandHandlerRename@@EBE?AVQString@@XZ @ 37 NONAME ; class QString GlxCommandHandlerRename::CompletionTextL(void) const + ?staticMetaObject@GlxCommandHandlerNewMedia@@2UQMetaObject@@B @ 38 NONAME ; struct QMetaObject const GlxCommandHandlerNewMedia::staticMetaObject ?DestroyExifWriter@GlxCommandHandlerRotate@@AAEXXZ @ 39 NONAME ; void GlxCommandHandlerRotate::DestroyExifWriter(void) - ??0GlxCommandHandlerSend@@QAE@XZ @ 40 NONAME ; GlxCommandHandlerSend::GlxCommandHandlerSend(void) - ?HandleError@GlxCommandHandlerNewMedia@@MAEXH@Z @ 41 NONAME ; void GlxCommandHandlerNewMedia::HandleError(int) - ??0GlxCommandHandlerAddToContainer@@QAE@XZ @ 42 NONAME ; GlxCommandHandlerAddToContainer::GlxCommandHandlerAddToContainer(void) - ?getStaticMetaObject@GlxCommandHandlerAddToContainer@@SAABUQMetaObject@@XZ @ 43 NONAME ; struct QMetaObject const & GlxCommandHandlerAddToContainer::getStaticMetaObject(void) - ??_EGlxCommandHandlerRotate@@UAE@I@Z @ 44 NONAME ; GlxCommandHandlerRotate::~GlxCommandHandlerRotate(unsigned int) - ?ProgressTextL@GlxCommandHandlerAddToContainer@@EBE?AVQString@@XZ @ 45 NONAME ; class QString GlxCommandHandlerAddToContainer::ProgressTextL(void) const - ??1GlxCommandHandlerSend@@UAE@XZ @ 46 NONAME ; GlxCommandHandlerSend::~GlxCommandHandlerSend(void) - ?tr@GlxCommandHandlerAddToContainer@@SA?AVQString@@PBD0H@Z @ 47 NONAME ; class QString GlxCommandHandlerAddToContainer::tr(char const *, char const *, int) - ?GetSelectionList@GlxCommandHandlerAddToContainer@@QBE?AV?$QList@VQModelIndex@@@@PAVGlxAlbumModel@@PA_N@Z @ 48 NONAME ; class QList GlxCommandHandlerAddToContainer::GetSelectionList(class GlxAlbumModel *, bool *) const - ?CompletionTextL@GlxCommandHandlerAddToContainer@@EBE?AVQString@@XZ @ 49 NONAME ; class QString GlxCommandHandlerAddToContainer::CompletionTextL(void) const - ??0GlxCommandHandlerNewMedia@@QAE@XZ @ 50 NONAME ; GlxCommandHandlerNewMedia::GlxCommandHandlerNewMedia(void) - ?trUtf8@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0H@Z @ 51 NONAME ; class QString GlxCommandHandlerNewMedia::trUtf8(char const *, char const *, int) - ?doHandleUserAction@GlxCommandHandlerSend@@UBEXPAVGlxMediaModel@@V?$QList@VQModelIndex@@@@@Z @ 52 NONAME ; void GlxCommandHandlerSend::doHandleUserAction(class GlxMediaModel *, class QList) const - ??_EGlxCommandHandlerAddToContainer@@UAE@I@Z @ 53 NONAME ; GlxCommandHandlerAddToContainer::~GlxCommandHandlerAddToContainer(unsigned int) - ?ProgressTextL@GlxCommandHandlerNewMedia@@EBE?AVQString@@XZ @ 54 NONAME ; class QString GlxCommandHandlerNewMedia::ProgressTextL(void) const - ?staticMetaObject@GlxCommandHandlerAddToContainer@@2UQMetaObject@@B @ 55 NONAME ; struct QMetaObject const GlxCommandHandlerAddToContainer::staticMetaObject + ??0GlxCommandHandlerDelete@@QAE@XZ @ 40 NONAME ; GlxCommandHandlerDelete::GlxCommandHandlerDelete(void) + ??1GlxCommandHandlerRename@@UAE@XZ @ 41 NONAME ; GlxCommandHandlerRename::~GlxCommandHandlerRename(void) + ??0GlxCommandHandlerSend@@QAE@XZ @ 42 NONAME ; GlxCommandHandlerSend::GlxCommandHandlerSend(void) + ?HandleError@GlxCommandHandlerNewMedia@@MAEXH@Z @ 43 NONAME ; void GlxCommandHandlerNewMedia::HandleError(int) + ??0GlxCommandHandlerAddToContainer@@QAE@XZ @ 44 NONAME ; GlxCommandHandlerAddToContainer::GlxCommandHandlerAddToContainer(void) + ??_EGlxCommandHandlerRename@@UAE@I@Z @ 45 NONAME ; GlxCommandHandlerRename::~GlxCommandHandlerRename(unsigned int) + ?HandleErrorL@GlxCommandHandlerRename@@EAEXH@Z @ 46 NONAME ; void GlxCommandHandlerRename::HandleErrorL(int) + ??_EGlxCommandHandlerRotate@@UAE@I@Z @ 47 NONAME ; GlxCommandHandlerRotate::~GlxCommandHandlerRotate(unsigned int) + ?ProgressTextL@GlxCommandHandlerAddToContainer@@EBE?AVQString@@XZ @ 48 NONAME ; class QString GlxCommandHandlerAddToContainer::ProgressTextL(void) const + ??1GlxCommandHandlerSend@@UAE@XZ @ 49 NONAME ; GlxCommandHandlerSend::~GlxCommandHandlerSend(void) + ?CompletionTextL@GlxCommandHandlerAddToContainer@@EBE?AVQString@@XZ @ 50 NONAME ; class QString GlxCommandHandlerAddToContainer::CompletionTextL(void) const + ??0GlxCommandHandlerNewMedia@@QAE@XZ @ 51 NONAME ; GlxCommandHandlerNewMedia::GlxCommandHandlerNewMedia(void) + ?trUtf8@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0H@Z @ 52 NONAME ; class QString GlxCommandHandlerNewMedia::trUtf8(char const *, char const *, int) + ?doHandleUserAction@GlxCommandHandlerSend@@UBEXPAVGlxMediaModel@@V?$QList@VQModelIndex@@@@@Z @ 53 NONAME ; void GlxCommandHandlerSend::doHandleUserAction(class GlxMediaModel *, class QList) const + ??_EGlxCommandHandlerAddToContainer@@UAE@I@Z @ 54 NONAME ; GlxCommandHandlerAddToContainer::~GlxCommandHandlerAddToContainer(unsigned int) + ?ProgressTextL@GlxCommandHandlerNewMedia@@EBE?AVQString@@XZ @ 55 NONAME ; class QString GlxCommandHandlerNewMedia::ProgressTextL(void) const ?ExecuteLD@GlxCommandHandlerNewMedia@@QAEHAAVTGlxMediaId@@@Z @ 56 NONAME ; int GlxCommandHandlerNewMedia::ExecuteLD(class TGlxMediaId &) - ?createNewMedia@GlxCommandHandlerAddToContainer@@AAEXXZ @ 57 NONAME ; void GlxCommandHandlerAddToContainer::createNewMedia(void) - ?CreateCommandL@GlxCommandHandlerRotate@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 58 NONAME ; class CMPXMedia * GlxCommandHandlerRotate::CreateCommandL(int, class MGlxMediaList &, int &) const - ?trUtf8@GlxCommandHandlerAddToContainer@@SA?AVQString@@PBD0H@Z @ 59 NONAME ; class QString GlxCommandHandlerAddToContainer::trUtf8(char const *, char const *, int) - ?CompletionTextL@GlxCommandHandlerNewMedia@@EBE?AVQString@@XZ @ 60 NONAME ; class QString GlxCommandHandlerNewMedia::CompletionTextL(void) const - ?CreateCommandL@GlxCommandHandlerRemoveFrom@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 61 NONAME ; class CMPXMedia * GlxCommandHandlerRemoveFrom::CreateCommandL(int, class MGlxMediaList &, int &) const - ?CalculateFinalOrientationL@GlxCommandHandlerRotate@@AAEGG@Z @ 62 NONAME ; unsigned short GlxCommandHandlerRotate::CalculateFinalOrientationL(unsigned short) - ?InitializeExifWriterL@GlxCommandHandlerRotate@@AAEXV?$TBuf@$0BAA@@@@Z @ 63 NONAME ; void GlxCommandHandlerRotate::InitializeExifWriterL(class TBuf<256>) - ?CreateCommandL@GlxCommandHandlerNewMedia@@MBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 64 NONAME ; class CMPXMedia * GlxCommandHandlerNewMedia::CreateCommandL(int, class MGlxMediaList &, int &) const - ??1GlxCommandHandlerDelete@@UAE@XZ @ 65 NONAME ; GlxCommandHandlerDelete::~GlxCommandHandlerDelete(void) - ??0GlxCommandHandlerRotate@@QAE@XZ @ 66 NONAME ; GlxCommandHandlerRotate::GlxCommandHandlerRotate(void) - ?qt_metacast@GlxCommandHandlerAddToContainer@@UAEPAXPBD@Z @ 67 NONAME ; void * GlxCommandHandlerAddToContainer::qt_metacast(char const *) - ??0GlxCommandHandlerRename@@QAE@XZ @ 68 NONAME ; GlxCommandHandlerRename::GlxCommandHandlerRename(void) - ?GetName@GlxCommandHandlerRename@@ABE?AVQString@@AAVMGlxMediaList@@@Z @ 69 NONAME ; class QString GlxCommandHandlerRename::GetName(class MGlxMediaList &) const - ?CreateCommandL@GlxCommandHandlerRename@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 70 NONAME ; class CMPXMedia * GlxCommandHandlerRename::CreateCommandL(int, class MGlxMediaList &, int &) const - ?CompletionTextL@GlxCommandHandlerRename@@EBE?AVQString@@XZ @ 71 NONAME ; class QString GlxCommandHandlerRename::CompletionTextL(void) const - ??1GlxCommandHandlerRename@@UAE@XZ @ 72 NONAME ; GlxCommandHandlerRename::~GlxCommandHandlerRename(void) - ??_EGlxCommandHandlerRename@@UAE@I@Z @ 73 NONAME ; GlxCommandHandlerRename::~GlxCommandHandlerRename(unsigned int) - ?HandleErrorL@GlxCommandHandlerRename@@EAEXH@Z @ 74 NONAME ; void GlxCommandHandlerRename::HandleErrorL(int) + ?CreateCommandL@GlxCommandHandlerRotate@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 57 NONAME ; class CMPXMedia * GlxCommandHandlerRotate::CreateCommandL(int, class MGlxMediaList &, int &) const + ?CompletionTextL@GlxCommandHandlerNewMedia@@EBE?AVQString@@XZ @ 58 NONAME ; class QString GlxCommandHandlerNewMedia::CompletionTextL(void) const + ?CreateCommandL@GlxCommandHandlerRemoveFrom@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 59 NONAME ; class CMPXMedia * GlxCommandHandlerRemoveFrom::CreateCommandL(int, class MGlxMediaList &, int &) const + ?CalculateFinalOrientationL@GlxCommandHandlerRotate@@AAEGG@Z @ 60 NONAME ; unsigned short GlxCommandHandlerRotate::CalculateFinalOrientationL(unsigned short) + ?InitializeExifWriterL@GlxCommandHandlerRotate@@AAEXV?$TBuf@$0BAA@@@@Z @ 61 NONAME ; void GlxCommandHandlerRotate::InitializeExifWriterL(class TBuf<256>) + ?CreateCommandL@GlxCommandHandlerNewMedia@@MBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 62 NONAME ; class CMPXMedia * GlxCommandHandlerNewMedia::CreateCommandL(int, class MGlxMediaList &, int &) const + ??1GlxCommandHandlerDelete@@UAE@XZ @ 63 NONAME ; GlxCommandHandlerDelete::~GlxCommandHandlerDelete(void) + ??0GlxCommandHandlerRotate@@QAE@XZ @ 64 NONAME ; GlxCommandHandlerRotate::GlxCommandHandlerRotate(void) diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/commandhandlers/commandhandlerbase/commandhandlerbase.pro --- a/ui/commandhandlers/commandhandlerbase/commandhandlerbase.pro Mon May 03 12:31:32 2010 +0300 +++ b/ui/commandhandlers/commandhandlerbase/commandhandlerbase.pro Mon May 03 00:53:50 2010 +0530 @@ -48,7 +48,12 @@ } # Input -HEADERS += inc/glxcommandhandler.h inc/glxmpxcommandhandler.h inc/glxmodelcommandhandler.h -SOURCES += src/glxcommandhandler.cpp src/glxmpxcommandhandler.cpp src/glxmodelcommandhandler.cpp +HEADERS += inc/glxcommandhandler.h +HEADERS += inc/glxmpxcommandhandler.h +HEADERS += inc/glxmodelcommandhandler.h + +SOURCES += src/glxcommandhandler.cpp +SOURCES += src/glxmpxcommandhandler.cpp +SOURCES += src/glxmodelcommandhandler.cpp DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/commandhandlers/commandhandlerbase/inc/glxcommandhandler.h --- a/ui/commandhandlers/commandhandlerbase/inc/glxcommandhandler.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/commandhandlers/commandhandlerbase/inc/glxcommandhandler.h Mon May 03 00:53:50 2010 +0530 @@ -35,4 +35,4 @@ virtual void executeCommand(int commandId,int collectionId ,QList indexList = QList() ) = 0; }; -#endif //GLXCOMMANDHANDLER_H \ No newline at end of file +#endif //GLXCOMMANDHANDLER_H diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/commandhandlers/commandhandlerbase/inc/glxmpxcommandhandler.h --- a/ui/commandhandlers/commandhandlerbase/inc/glxmpxcommandhandler.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/commandhandlers/commandhandlerbase/inc/glxmpxcommandhandler.h Mon May 03 00:53:50 2010 +0530 @@ -30,14 +30,19 @@ #endif class MGlxMediaList; class HbProgressDialog; +class HbAction; class GLX_COMMANDHANDLERBASE_EXPORT GlxMpxCommandHandler : public GlxCommandHandler, public MGlxMediaListObserver { +Q_OBJECT public: GlxMpxCommandHandler(); virtual ~GlxMpxCommandHandler(); virtual void executeCommand(int commandId,int collectionId,QList indexList = QList() ); +public slots: + void messageDialogClose(HbAction* action); + protected: // From MGlxMediaListObserver /// See @ref MGlxMediaListObserver::HandleItemAddedL void HandleItemAddedL(TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList); @@ -81,19 +86,21 @@ virtual QString ProgressTextL() const; virtual QString ConfirmationTextL(bool multiSelection = false) const; private: - bool ConfirmationNoteL(MGlxMediaList& aMediaList) const; - bool ConfirmationNoteSingleL(MGlxMediaList& aMediaList) const; - bool ConfirmationNoteMultipleL(MGlxMediaList& aMediaList) const; + void ConfirmationNoteL(MGlxMediaList& aMediaList); + void ConfirmationNoteSingleL(MGlxMediaList& aMediaList) ; + void ConfirmationNoteMultipleL(MGlxMediaList& aMediaList) ; void ProgressNoteL(TInt aCommandId); void DismissProgressNoteL(); void CompletionNoteL() const; void TryExitL(TInt aErrorCode); void CreateMediaListL(int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType) ; void CreateMediaListAlbumItemL(int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType); + void executeMpxCommand(bool execute); private: // Instance of Media List MGlxMediaList* iMediaList; TBool iProgressComplete; HbProgressDialog* mProgressDialog; + int mCommandId; }; -#endif //GLXMPXCOMMANDHANDLER_H \ No newline at end of file +#endif //GLXMPXCOMMANDHANDLER_H diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/commandhandlers/commandhandlerbase/src/glxmpxcommandhandler.cpp --- a/ui/commandhandlers/commandhandlerbase/src/glxmpxcommandhandler.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/commandhandlers/commandhandlerbase/src/glxmpxcommandhandler.cpp Mon May 03 00:53:50 2010 +0530 @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include @@ -40,6 +39,8 @@ #include "glxmpxcommandhandlerTraces.h" #endif +#include + GlxMpxCommandHandler::GlxMpxCommandHandler() : iProgressComplete(EFalse) { @@ -66,7 +67,6 @@ int aHierarchyId = 0; TGlxFilterItemType aFilterType = EGlxFilterImage; - //CreateMediaListL(aCollectionId, aHierarchyId,aFilterType); if (collectionId != KGlxAlbumsMediaId) { OstTrace0( TRACE_NORMAL, DUP2_GLXMPXCOMMANDHANDLER_EXECUTECOMMAND, "GlxMpxCommandHandler::executeCommand::CreateMediaListL" ); @@ -81,27 +81,38 @@ TBool consume = ETrue; iProgressComplete = EFalse; + mProgressDialog = NULL; //Execute Command DoExecuteCommandL(commandId, *iMediaList, consume); - //Create MPX command if any - consume = ConfirmationNoteL(*iMediaList); - if(consume) + mCommandId = commandId; + ConfirmationNoteL(*iMediaList); + OstTraceFunctionExit0( GLXMPXCOMMANDHANDLER_EXECUTECOMMAND_EXIT ); + } + +void GlxMpxCommandHandler::executeMpxCommand(bool execute) + { + if(execute && !iMediaList->IsCommandActive()) { - CMPXCommand* command = CreateCommandL(commandId, *iMediaList, consume); + TBool consume = ETrue; + CMPXCommand* command = CreateCommandL(mCommandId, *iMediaList, consume); if (command) { command->SetTObjectValueL (KMPXCommandGeneralSessionId, static_cast (this)); iMediaList->AddMediaListObserverL(this); iMediaList->CommandL(*command); - ProgressNoteL(commandId); + + if(iMediaList->SelectionCount() > 1) + { + ProgressNoteL(mCommandId); + } } } else //command cancelled,so unmark all items { MGlxMediaList::UnmarkAllL(*iMediaList); } - OstTraceFunctionExit0( GLXMPXCOMMANDHANDLER_EXECUTECOMMAND_EXIT ); + } // --------------------------------------------------------------------------- @@ -347,6 +358,7 @@ DismissProgressNoteL(); iMediaList->RemoveMediaListObserver(this); CompletionNoteL(); + iProgressComplete = EFalse; } OstTraceFunctionExit0( GLXMPXCOMMANDHANDLER_TRYEXITL_EXIT ); } @@ -394,18 +406,20 @@ { mProgressDialog = new HbProgressDialog(HbProgressDialog::WaitDialog); mProgressDialog->setText(ProgressTextL()); - mProgressDialog->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter); mProgressDialog->show(); } void GlxMpxCommandHandler::DismissProgressNoteL() { - mProgressDialog->close(); - delete mProgressDialog; - mProgressDialog = NULL; + if(mProgressDialog) + { + mProgressDialog->close(); + delete mProgressDialog; + mProgressDialog = NULL; + } } -bool GlxMpxCommandHandler::ConfirmationNoteL(MGlxMediaList& aMediaList) const +void GlxMpxCommandHandler::ConfirmationNoteL(MGlxMediaList& aMediaList) { TInt selectionCount = aMediaList.SelectionCount(); @@ -418,23 +432,18 @@ } // Show confirmation note - bool confirmed = true; if ( selectionCount == 1 ) { - confirmed = ConfirmationNoteSingleL(aMediaList); + ConfirmationNoteSingleL(aMediaList); } else { - confirmed = ConfirmationNoteMultipleL(aMediaList); + ConfirmationNoteMultipleL(aMediaList); } - - return confirmed; } -bool GlxMpxCommandHandler::ConfirmationNoteSingleL(MGlxMediaList& aMediaList) const +void GlxMpxCommandHandler::ConfirmationNoteSingleL(MGlxMediaList& aMediaList) { - bool confirmAction = true; - QString qtText = ConfirmationTextL(); if(!qtText.isEmpty ()) @@ -472,46 +481,41 @@ qtText.append(QString("%1").arg(qtItemName)); } // (else) If error, assume confirmed anyway - - CleanupStack::PopAndDestroy(attributeContext); - - HbMessageBox box(HbMessageBox::MessageTypeQuestion); - box.setDismissPolicy(HbDialog::NoDismiss); + CleanupStack::PopAndDestroy(attributeContext); + HbMessageBox::question(qtText, this, SLOT(messageDialogClose(HbAction*))); + } + else{ + executeMpxCommand(true); + } + } - // Set timeout to zero to wait user to either click Ok or Cancel - box.setTimeout(HbDialog::NoTimeout); - - box.setText(qtText); - HbAction *action = box.exec(); - if(action != box.primaryAction()) - { - confirmAction = false; - } - } - return confirmAction; - } - -bool GlxMpxCommandHandler::ConfirmationNoteMultipleL(MGlxMediaList& /*aMediaList*/) const +void GlxMpxCommandHandler::ConfirmationNoteMultipleL(MGlxMediaList& /*aMediaList*/) { - bool confirmAction = true; - QString qtText = ConfirmationTextL(true); if(!qtText.isEmpty ()) { - HbMessageBox box(HbMessageBox::MessageTypeQuestion); - box.setDismissPolicy(HbDialog::NoDismiss); - // Set timeout to zero to wait user to either click Ok or Cancel - box.setTimeout(HbDialog::NoTimeout); - box.setText(qtText); - HbAction *action = box.exec(); - if(action != box.primaryAction()) - { - confirmAction = false; - } + HbMessageBox::question(qtText, this, SLOT(messageDialogClose(HbAction*))); } - return confirmAction; + else{ + executeMpxCommand(true); + } } - + +void GlxMpxCommandHandler::messageDialogClose(HbAction* action) + { + HbMessageBox *dlg = static_cast(sender()); + if(action == dlg->actions().at(0)) + { + executeMpxCommand(true); + } + else + { + // Cancellation is done. + executeMpxCommand(false); + } + } + + QString GlxMpxCommandHandler::ConfirmationTextL(bool /*multiSelection */) const { return QString(); diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraddtocontainer.h --- a/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraddtocontainer.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraddtocontainer.h Mon May 03 00:53:50 2010 +0530 @@ -33,38 +33,47 @@ class QGraphicsGridLayout; class GlxAlbumModel; class QGraphicsItem; +class HbDialog; +class QItemSelectionModel; +class QEventLoop; class GLX_COMMONCOMMANDHANDLERS_EXPORT GlxCommandHandlerAddToContainer : public GlxMpxCommandHandler - { - Q_OBJECT +{ + public: GlxCommandHandlerAddToContainer(); ~GlxCommandHandlerAddToContainer(); CMPXCommand* CreateCommandL(TInt aCommandId, MGlxMediaList& aMediaList, TBool& aConsume) const ; - QModelIndexList GetSelectionList(GlxAlbumModel *model,bool *ok = 0) const; private: QString CompletionTextL() const; QString ProgressTextL() const; + void createNewMedia() const; + private: static TInt iSelectionCount; mutable bool mNewMediaAdded ; mutable CMPXCollectionPath* mTargetContainers ; +}; -private slots: - void createNewMedia(); - }; - -class GlxQueryContentWidget :public QGraphicsWidget +class GlxAlbumSelectionPopup: public QObject { - Q_OBJECT + Q_OBJECT + public: - HbPushButton* mButton; - HbListView* mListView; - QGraphicsGridLayout *mGrid; - GlxQueryContentWidget(QGraphicsItem* parent = 0); - ~GlxQueryContentWidget(); + GlxAlbumSelectionPopup(); + ~GlxAlbumSelectionPopup(); + QModelIndexList GetSelectionList(GlxAlbumModel *model,bool *ok = 0) ; + +private slots: + void changeButtonText(); + void dialogClosed( HbAction *action ) ; + +private : + HbDialog* mPopupDlg; + QItemSelectionModel * mSelectionModel; //no owner ship + QEventLoop *mEventLoop; + bool mResult; }; - #endif // GLXCOMMANDHANDLERADDTOCONTAINER_H diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/commandhandlers/commoncommandhandlers/inc/glxcommondialogs.h --- a/ui/commandhandlers/commoncommandhandlers/inc/glxcommondialogs.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/commandhandlers/commoncommandhandlers/inc/glxcommondialogs.h Mon May 03 00:53:50 2010 +0530 @@ -19,8 +19,9 @@ #define GLXCOMMONDIALOGS_H #include +#include -#include +class QEventLoop; class GlxTextInputDialog : public QObject { @@ -32,9 +33,12 @@ public slots: void textChanged(const QString &text); + void dialogClosed(HbAction *action); private: HbInputDialog* mDialog; + QEventLoop *mEventLoop; + bool mResult; }; #endif // GLXCOMMONDIALOGS_H diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/commandhandlers/commoncommandhandlers/src/glxcommandhandleraddtocontainer.cpp --- a/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandleraddtocontainer.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandleraddtocontainer.cpp Mon May 03 00:53:50 2010 +0530 @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -37,6 +38,7 @@ #include #include +#include #include "glxlocalisationstrings.h" #include "OstTraceDefinitions.h" @@ -50,32 +52,88 @@ const TInt KSelectionPopupListHierarchy = 5; const TInt KListPrefferedHeight = 400; -GlxQueryContentWidget::GlxQueryContentWidget(QGraphicsItem* parent) : - QGraphicsWidget(parent), mButton(0), mListView(0), mGrid(0) - { - OstTraceFunctionEntry0( DUP1_GLXQUERYCONTENTWIDGET_GLXQUERYCONTENTWIDGET_ENTRY ); - mGrid = new QGraphicsGridLayout; - mGrid->setContentsMargins(0, 0, 0, 0); +GlxAlbumSelectionPopup::GlxAlbumSelectionPopup() + : mPopupDlg( 0 ), + mSelectionModel( 0 ), + mEventLoop( 0 ), + mResult( false ) +{ +} + +GlxAlbumSelectionPopup::~GlxAlbumSelectionPopup() +{ +} - mButton = new HbPushButton("New Item"); - mListView = new HbListView(this); - mListView->setSelectionMode(HbAbstractItemView::MultiSelection); - mListView->setPreferredHeight(KListPrefferedHeight); +QModelIndexList GlxAlbumSelectionPopup::GetSelectionList(GlxAlbumModel *model, bool *ok) +{ + // Create a popup + HbDialog popup; + QEventLoop eventLoop; + mEventLoop = &eventLoop; + + popup.setPreferredHeight( KListPrefferedHeight ); + // Set dismiss policy that determines what tap events will cause the popup + // to be dismissed + popup.setDismissPolicy(HbDialog::NoDismiss); + + // Set timeout to zero to wait user to either click Ok or Cancel + popup.setTimeout(HbDialog::NoTimeout); + popup.setHeadingWidget( new HbLabel("Select Album") ); + + mPopupDlg = &popup; + HbListView *listview = new HbListView(); + listview->setSelectionMode(HbAbstractItemView::MultiSelection); + listview->setModel(model); + mSelectionModel = listview->selectionModel() ; + connect( mSelectionModel, SIGNAL( selectionChanged( const QItemSelection &, const QItemSelection& ) ), this, SLOT( changeButtonText() ) ); + + HbAction *primary = new HbAction( "New" ); + popup.addAction( primary ) ; - mGrid->addItem(mButton, 0, 0); - mGrid->addItem(mListView, 1, 0); - setLayout(mGrid); //ownership transfered + HbAction *secondary = new HbAction( GLX_BUTTON_CANCEL ); + popup.addAction( secondary ); + + popup.setContentWidget( listview ); //ownership transfer + listview->show(); + + popup.open( this, SLOT( dialogClosed( HbAction* ) ) ); + eventLoop.exec( ); + mEventLoop = 0 ; + if ( ok ) { + *ok = mResult ; + } + QModelIndexList selectedIndexes = mSelectionModel->selectedIndexes(); + disconnect( mSelectionModel, SIGNAL( selectionChanged( const QItemSelection &, const QItemSelection& ) ), this, SLOT( changeButtonText() ) ); + delete primary; + delete secondary; - OstTraceFunctionExit0( DUP1_GLXQUERYCONTENTWIDGET_GLXQUERYCONTENTWIDGET_EXIT ); - } + return selectedIndexes; +} -GlxQueryContentWidget::~GlxQueryContentWidget() - { - OstTraceFunctionEntry0( GLXQUERYCONTENTWIDGET_GLXQUERYCONTENTWIDGET_ENTRY ); - delete mListView; - delete mButton; - OstTraceFunctionExit0( GLXQUERYCONTENTWIDGET_GLXQUERYCONTENTWIDGET_EXIT ); +void GlxAlbumSelectionPopup::changeButtonText() +{ + if ( mSelectionModel->selectedIndexes().count() ) { + mPopupDlg->actions().first()->setText( GLX_BUTTON_OK ); } + else { + mPopupDlg->actions().first()->setText("New"); + } +} + + +void GlxAlbumSelectionPopup::dialogClosed(HbAction *action) +{ + HbDialog *dlg = static_cast(sender()); + if( action == dlg->actions().first() ) { + mResult = true ; + } + else { + mResult = false ; + } + if ( mEventLoop && mEventLoop->isRunning( ) ) { + mEventLoop->exit( 0 ); + } +} GlxCommandHandlerAddToContainer::GlxCommandHandlerAddToContainer() : mNewMediaAdded(false) @@ -92,147 +150,111 @@ OstTraceFunctionExit0( DUP1_GLXCOMMANDHANDLERADDTOCONTAINER_GLXCOMMANDHANDLERADDTOCONTAINER_EXIT ); } -CMPXCommand* GlxCommandHandlerAddToContainer::CreateCommandL(TInt /*aCommandId*/, +CMPXCommand* GlxCommandHandlerAddToContainer::CreateCommandL(TInt aCommandId, MGlxMediaList& aMediaList, TBool& /*aConsume*/) const { OstTraceFunctionEntry0( GLXCOMMANDHANDLERADDTOCONTAINER_CREATECOMMANDL_ENTRY ); iSelectionCount = 0; - - CMPXCollectionPath* sourceItems = aMediaList.PathLC( - NGlxListDefs::EPathFocusOrSelection); - bool ok = false; - - //create target medialist - CMPXCollectionPath* path = CMPXCollectionPath::NewL(); - CleanupStack::PushL(path); - path->AppendL(KGlxCollectionPluginAlbumsImplementationUid); - - CMPXFilter* filter = - TGlxFilterFactory::CreateCameraAlbumExclusionFilterL(); - CleanupStack::PushL(filter); - - // Create the media list - MGlxMediaList* targetMediaList = MGlxMediaList::InstanceL(*path, - TGlxHierarchyId(KSelectionPopupListHierarchy), filter); //todo take actual hierarchy - CleanupStack::PopAndDestroy(filter); - CleanupStack::PopAndDestroy(path); - - //create target model - GlxModelParm modelParm(KGlxCollectionPluginAlbumsImplementationUid, - KSelectionPopupListHierarchy, EGlxFilterExcludeCamera); - GlxAlbumModel *albumMediaModel = new GlxAlbumModel(modelParm); - albumMediaModel->setData(QModelIndex(), (int) GlxContextSelectionList, - GlxContextRole); + CMPXCommand* command = NULL; - QModelIndexList modelList = GetSelectionList(albumMediaModel, &ok); - - CMPXCommand* command = NULL; - OstTraceExt2( TRACE_NORMAL, GLXCOMMANDHANDLERADDTOCONTAINER_CREATECOMMANDL, "GlxCommandHandlerAddToContainer::CreateCommandL;ok=%d;newMedia=%d", ok, mNewMediaAdded ); - - if (ok || mNewMediaAdded) + if(aCommandId == EGlxCmdAddToFav) { - int count = modelList.count(); - - for (int i = 0; i < count; i++) - { - albumMediaModel->setData(modelList[i], modelList[i].row(), - GlxSelectedIndexRole); - } - - if (!mNewMediaAdded) - { - CMPXCollectionPath* targetContainers = targetMediaList->PathLC( - NGlxListDefs::EPathFocusOrSelection); - CleanupStack::Pop(targetContainers); - delete mTargetContainers; - mTargetContainers = NULL; - mTargetContainers = targetContainers; - } - - command = TGlxCommandFactory::AddToContainerCommandLC(*sourceItems, - *mTargetContainers); - CleanupStack::Pop(command); - mNewMediaAdded = false; + CMPXCollectionPath* targetCollection = CMPXCollectionPath::NewL(); + CleanupStack::PushL(targetCollection); + // The target collection has to be appeneded with the albums plugin id + targetCollection->AppendL(KGlxCollectionPluginAlbumsImplementationUid); + // The target collection has also to be appeneded with the the relation id. + // appending another level into the albums to get favourites and 1 is the relation id of albums + targetCollection->AppendL( TMPXItemId(KGlxCollectionFavoritesId) ); + targetCollection->Set( 0 ); + + CMPXCollectionPath* sourceItems = aMediaList.PathLC( NGlxListDefs::EPathFocusOrSelection ); + + command = TGlxCommandFactory::AddToContainerCommandLC( + *sourceItems, *targetCollection); + CleanupStack::Pop(command); + + CleanupStack::PopAndDestroy(sourceItems); + CleanupStack::PopAndDestroy(targetCollection); } else { - MGlxMediaList::UnmarkAllL(aMediaList); + + CMPXCollectionPath* sourceItems = aMediaList.PathLC( + NGlxListDefs::EPathFocusOrSelection); + bool ok = false; + + //create target medialist + CMPXCollectionPath* path = CMPXCollectionPath::NewL(); + CleanupStack::PushL(path); + path->AppendL(KGlxCollectionPluginAlbumsImplementationUid); + + CMPXFilter* filter = + TGlxFilterFactory::CreateCameraAlbumExclusionFilterL(); + CleanupStack::PushL(filter); + + // Create the media list + MGlxMediaList* targetMediaList = MGlxMediaList::InstanceL(*path, + TGlxHierarchyId(KSelectionPopupListHierarchy), filter); //todo take actual hierarchy + CleanupStack::PopAndDestroy(filter); + CleanupStack::PopAndDestroy(path); + + //create target model + GlxModelParm modelParm(KGlxCollectionPluginAlbumsImplementationUid, + KSelectionPopupListHierarchy, EGlxFilterExcludeCamera); + GlxAlbumModel *albumMediaModel = new GlxAlbumModel(modelParm); + albumMediaModel->setData(QModelIndex(), (int) GlxContextSelectionList, + GlxContextRole); + + GlxAlbumSelectionPopup popupWidget; + QModelIndexList modelList = popupWidget.GetSelectionList(albumMediaModel, &ok); + if(ok && modelList.count() == 0) + { + createNewMedia(); + ok = false; + } + OstTraceExt2( TRACE_NORMAL, GLXCOMMANDHANDLERADDTOCONTAINER_CREATECOMMANDL, "GlxCommandHandlerAddToContainer::CreateCommandL;ok=%d;newMedia=%d", ok, mNewMediaAdded ); + + if (ok || mNewMediaAdded) + { + int count = modelList.count(); + + for (int i = 0; i < count; i++) + { + albumMediaModel->setData(modelList[i], modelList[i].row(), + GlxSelectedIndexRole); + } + + if (!mNewMediaAdded) + { + CMPXCollectionPath* targetContainers = targetMediaList->PathLC( + NGlxListDefs::EPathFocusOrSelection); + CleanupStack::Pop(targetContainers); + delete mTargetContainers; + mTargetContainers = NULL; + mTargetContainers = targetContainers; + } + + command = TGlxCommandFactory::AddToContainerCommandLC(*sourceItems, + *mTargetContainers); + CleanupStack::Pop(command); + mNewMediaAdded = false; + } + else + { + MGlxMediaList::UnmarkAllL(aMediaList); + } + + MGlxMediaList::UnmarkAllL(*targetMediaList); + targetMediaList->Close(); + CleanupStack::PopAndDestroy(sourceItems); + delete albumMediaModel; } - - MGlxMediaList::UnmarkAllL(*targetMediaList); - targetMediaList->Close(); - CleanupStack::PopAndDestroy(sourceItems); - delete albumMediaModel; OstTraceFunctionExit0( GLXCOMMANDHANDLERADDTOCONTAINER_CREATECOMMANDL_EXIT ); return command; } - -QModelIndexList GlxCommandHandlerAddToContainer::GetSelectionList( - GlxAlbumModel *model, bool *ok) const - { - OstTraceFunctionEntry0( GLXCOMMANDHANDLERADDTOCONTAINER_GETSELECTIONLIST_ENTRY ); - // Create a popup - HbDialog popup; - popup.setPreferredHeight(400); - // Set dismiss policy that determines what tap events will cause the popup - // to be dismissed - popup.setDismissPolicy(HbDialog::NoDismiss); - - // Set timeout to zero to wait user to either click Ok or Cancel - popup.setTimeout(HbDialog::NoTimeout); - popup.setHeadingWidget(new HbLabel("Selection List")); - - GlxQueryContentWidget* view = new GlxQueryContentWidget(); - view->mListView->setModel(model); - - connect(view->mButton, SIGNAL(released ()), &popup, SLOT(close())); - connect(view->mButton, SIGNAL(released ()), this, SLOT(createNewMedia())); - - - HbAction *primary = new HbAction(GLX_BUTTON_OK); - popup.setPrimaryAction(primary); - - HbAction *secondary = new HbAction(GLX_BUTTON_CANCEL); - popup.setSecondaryAction(secondary); - - popup.setContentWidget(view); //ownership transfer - view->mListView->show(); - - QModelIndexList selectedIndexes; - - do - { - HbAction* action = popup.exec(); - if (action == popup.primaryAction()) - { - *ok = true; - } - else - { - *ok = false; - } - OstTrace1( TRACE_NORMAL, GLXCOMMANDHANDLERADDTOCONTAINER_GETSELECTIONLIST, "GlxCommandHandlerAddToContainer::GetSelectionList;ok=%d", *ok ); - - - if (*ok) - { - GlxQueryContentWidget* cWidget = qobject_cast< - GlxQueryContentWidget*> (popup.contentWidget()); - QItemSelectionModel* selModel = - cWidget->mListView->selectionModel(); - selectedIndexes = selModel->selectedIndexes(); - } - } - while (*ok && selectedIndexes.count() == 0); //continue until user select one album list or new item - - delete primary; - delete secondary; - - OstTraceFunctionExit0( GLXCOMMANDHANDLERADDTOCONTAINER_GETSELECTIONLIST_EXIT ); - return selectedIndexes; - } - -void GlxCommandHandlerAddToContainer::createNewMedia() + +void GlxCommandHandlerAddToContainer::createNewMedia() const { OstTraceFunctionEntry0( GLXCOMMANDHANDLERADDTOCONTAINER_CREATENEWMEDIA_ENTRY ); GlxCommandHandlerNewMedia* commandHandlerNewMedia = diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlernewmedia.cpp --- a/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlernewmedia.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlernewmedia.cpp Mon May 03 00:53:50 2010 +0530 @@ -61,17 +61,6 @@ CMPXCollectionPath* path = aMediaList.PathLC(NGlxListDefs::EPathParent); CMPXCommand* command = NULL; - - _LIT(KName, "TEST"); - HBufC* newMediaItemTitle = HBufC::NewL(40); - TPtr newMediaItemTitleDes = newMediaItemTitle->Des(); - newMediaItemTitleDes.Append(KName); - - - delete iNewMediaItemTitle; - iNewMediaItemTitle = NULL; - iNewMediaItemTitle = newMediaItemTitle; - QString title("NEW MEDIA"); QString mainPane = GenerateNewMediaItemTitleL("Album",aMediaList); bool ok = false; diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlerremovefrom.cpp --- a/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlerremovefrom.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlerremovefrom.cpp Mon May 03 00:53:50 2010 +0530 @@ -19,6 +19,8 @@ #include #include #include +#include +#include #include "OstTraceDefinitions.h" #ifdef OST_TRACE_COMPILER_IN_USE #include "glxcommandhandlerremovefromTraces.h" @@ -43,11 +45,22 @@ OstTraceFunctionEntry0( GLXCOMMANDHANDLERREMOVEFROM_CREATECOMMANDL_ENTRY ); Q_UNUSED(aCommandId); Q_UNUSED(aConsume); - CMPXCollectionPath* path = aMediaList.PathLC( - NGlxListDefs::EPathFocusOrSelection); - CMPXCommand* command = TGlxCommandFactory::RemoveFromContainerCommandLC( - *path); + CMPXCommand* command = NULL; + CMPXCollectionPath* path = aMediaList.PathLC( + NGlxListDefs::EPathFocusOrSelection); + + if(aCommandId == EGlxCmdRemoveFromFav) + { + // adding to the favourites + TGlxMediaId favId(KGlxCollectionFavoritesId); + command = TGlxCommandFactory::RemoveFromContainerCommandLC(favId, *path); + } + else + { + command = TGlxCommandFactory::RemoveFromContainerCommandLC(*path); + } + CleanupStack::Pop(command); CleanupStack::PopAndDestroy(path); OstTraceFunctionExit0( GLXCOMMANDHANDLERREMOVEFROM_CREATECOMMANDL_EXIT ); diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlersend.cpp --- a/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlersend.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlersend.cpp Mon May 03 00:53:50 2010 +0530 @@ -17,7 +17,7 @@ #include "glxcommandhandlersend.h" #include -#include +#include #include #include #include diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/commandhandlers/commoncommandhandlers/src/glxcommondialogs.cpp --- a/ui/commandhandlers/commoncommandhandlers/src/glxcommondialogs.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommondialogs.cpp Mon May 03 00:53:50 2010 +0530 @@ -18,56 +18,71 @@ #include #include +#include -GlxTextInputDialog::GlxTextInputDialog() - { - } +GlxTextInputDialog::GlxTextInputDialog() + : mDialog ( NULL ), + mEventLoop ( 0 ), + mResult ( false ) +{ +} GlxTextInputDialog::~GlxTextInputDialog() - { - } +{ +} QString GlxTextInputDialog::getText(const QString &label, const QString &text, bool *ok) - { +{ + QEventLoop eventLoop; + mEventLoop = &eventLoop; + mDialog = new HbInputDialog(); mDialog->setPromptText(label); mDialog->setInputMode(HbInputDialog::TextInput); mDialog->setValue(text); connect(mDialog->lineEdit(0), SIGNAL( textChanged (const QString &) ), this, SLOT( textChanged (const QString &))); - HbAction* action = mDialog->exec(); + + mDialog->open( this, SLOT( dialogClosed( HbAction* ) ) ); + eventLoop.exec( ); + mEventLoop = 0 ; + + if ( ok ) { + *ok = mResult ; + } QString retText = NULL; - if (action == mDialog->secondaryAction()) - { //Cancel was pressed - if (ok) - { - *ok = false; - } - } - else - { //OK was pressed - if (ok) - { - *ok = true; - } + if ( mResult ) { retText = mDialog->value().toString().trimmed(); - } + } + disconnect(mDialog->lineEdit(0), SIGNAL( textChanged (const QString &) ), - this, SLOT( textChanged (const QString &))); + this, SLOT( textChanged (const QString &))); delete mDialog; mDialog = NULL; return retText; - } +} void GlxTextInputDialog::textChanged(const QString &text) - { - if (text.trimmed().isEmpty()) - { - mDialog->primaryAction()->setEnabled(false); - } - else - { - mDialog->primaryAction()->setEnabled(true); - } +{ + if (text.trimmed().isEmpty()) { + mDialog->actions().first()->setEnabled(false); + } + else { + mDialog->actions().first()->setEnabled(true); } +} + +void GlxTextInputDialog::dialogClosed(HbAction *action) +{ + HbInputDialog *dlg = static_cast(sender()); + if( action == dlg->actions().first() ) { + mResult = true ; + } + else { + mResult = false ; + } + if ( mEventLoop && mEventLoop->isRunning( ) ) { + mEventLoop->exit( 0 ); + } +} diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/commandhandlers/eabi/glxcommandhandlerbaseu.def --- a/ui/commandhandlers/eabi/glxcommandhandlerbaseu.def Mon May 03 12:31:32 2010 +0300 +++ b/ui/commandhandlers/eabi/glxcommandhandlerbaseu.def Mon May 03 00:53:50 2010 +0530 @@ -4,54 +4,61 @@ _ZN17GlxCommandHandlerD1Ev @ 3 NONAME _ZN17GlxCommandHandlerD2Ev @ 4 NONAME _ZN20GlxMpxCommandHandler11HandleErrorEi @ 5 NONAME - _ZN20GlxMpxCommandHandler12HandleErrorLEi @ 6 NONAME - _ZN20GlxMpxCommandHandler12HandleMediaLEiP13MGlxMediaList @ 7 NONAME - _ZN20GlxMpxCommandHandler13ProgressNoteLEi @ 8 NONAME - _ZN20GlxMpxCommandHandler14HandleMessageLERK9CMPXMediaP13MGlxMediaList @ 9 NONAME - _ZN20GlxMpxCommandHandler14executeCommandEii5QListI11QModelIndexE @ 10 NONAME - _ZN20GlxMpxCommandHandler16CreateMediaListLEii18TGlxFilterItemType @ 11 NONAME - _ZN20GlxMpxCommandHandler16HandleItemAddedLEiiP13MGlxMediaList @ 12 NONAME - _ZN20GlxMpxCommandHandler17DoExecuteCommandLEiR13MGlxMediaListRi @ 13 NONAME - _ZN20GlxMpxCommandHandler18HandleItemRemovedLEiiP13MGlxMediaList @ 14 NONAME - _ZN20GlxMpxCommandHandler19HandleFocusChangedLEN12NGlxListDefs16TFocusChangeTypeEiiP13MGlxMediaList @ 15 NONAME - _ZN20GlxMpxCommandHandler19HandleItemModifiedLERK6RArrayIiEP13MGlxMediaList @ 16 NONAME - _ZN20GlxMpxCommandHandler19HandleItemSelectedLEiiP13MGlxMediaList @ 17 NONAME - _ZN20GlxMpxCommandHandler20DismissProgressNoteLEv @ 18 NONAME - _ZN20GlxMpxCommandHandler22HandleCommandCompleteLEPvP9CMPXMediaiP13MGlxMediaList @ 19 NONAME - _ZN20GlxMpxCommandHandler24DoHandleCommandCompleteLEPvP9CMPXMediaiP13MGlxMediaList @ 20 NONAME - _ZN20GlxMpxCommandHandler25CreateMediaListAlbumItemLEii18TGlxFilterItemType @ 21 NONAME - _ZN20GlxMpxCommandHandler26HandleAttributesAvailableLEiRK6RArrayI13TMPXAttributeEP13MGlxMediaList @ 22 NONAME - _ZN20GlxMpxCommandHandler8TryExitLEi @ 23 NONAME - _ZN20GlxMpxCommandHandlerC2Ev @ 24 NONAME - _ZN20GlxMpxCommandHandlerD0Ev @ 25 NONAME - _ZN20GlxMpxCommandHandlerD1Ev @ 26 NONAME - _ZN20GlxMpxCommandHandlerD2Ev @ 27 NONAME - _ZN22GlxModelCommandHandler14executeCommandEii5QListI11QModelIndexE @ 28 NONAME - _ZN22GlxModelCommandHandlerC2Ev @ 29 NONAME - _ZN22GlxModelCommandHandlerD0Ev @ 30 NONAME - _ZN22GlxModelCommandHandlerD1Ev @ 31 NONAME - _ZN22GlxModelCommandHandlerD2Ev @ 32 NONAME - _ZNK20GlxMpxCommandHandler13ProgressTextLEv @ 33 NONAME - _ZNK20GlxMpxCommandHandler15CompletionNoteLEv @ 34 NONAME - _ZNK20GlxMpxCommandHandler15CompletionTextLEv @ 35 NONAME - _ZNK20GlxMpxCommandHandler17ConfirmationNoteLER13MGlxMediaList @ 36 NONAME - _ZNK20GlxMpxCommandHandler17ConfirmationTextLEb @ 37 NONAME - _ZNK20GlxMpxCommandHandler23ConfirmationNoteSingleLER13MGlxMediaList @ 38 NONAME - _ZNK20GlxMpxCommandHandler25ConfirmationNoteMultipleLER13MGlxMediaList @ 39 NONAME - _ZTI17GlxCommandHandler @ 40 NONAME - _ZTI20GlxMpxCommandHandler @ 41 NONAME - _ZTI22GlxModelCommandHandler @ 42 NONAME - _ZTV17GlxCommandHandler @ 43 NONAME - _ZTV20GlxMpxCommandHandler @ 44 NONAME - _ZTV22GlxModelCommandHandler @ 45 NONAME - _ZThn8_N20GlxMpxCommandHandler11HandleErrorEi @ 46 NONAME - _ZThn8_N20GlxMpxCommandHandler12HandleMediaLEiP13MGlxMediaList @ 47 NONAME - _ZThn8_N20GlxMpxCommandHandler14HandleMessageLERK9CMPXMediaP13MGlxMediaList @ 48 NONAME - _ZThn8_N20GlxMpxCommandHandler16HandleItemAddedLEiiP13MGlxMediaList @ 49 NONAME - _ZThn8_N20GlxMpxCommandHandler18HandleItemRemovedLEiiP13MGlxMediaList @ 50 NONAME - _ZThn8_N20GlxMpxCommandHandler19HandleFocusChangedLEN12NGlxListDefs16TFocusChangeTypeEiiP13MGlxMediaList @ 51 NONAME - _ZThn8_N20GlxMpxCommandHandler19HandleItemModifiedLERK6RArrayIiEP13MGlxMediaList @ 52 NONAME - _ZThn8_N20GlxMpxCommandHandler19HandleItemSelectedLEiiP13MGlxMediaList @ 53 NONAME - _ZThn8_N20GlxMpxCommandHandler22HandleCommandCompleteLEPvP9CMPXMediaiP13MGlxMediaList @ 54 NONAME - _ZThn8_N20GlxMpxCommandHandler26HandleAttributesAvailableLEiRK6RArrayI13TMPXAttributeEP13MGlxMediaList @ 55 NONAME + _ZN20GlxMpxCommandHandler11qt_metacallEN11QMetaObject4CallEiPPv @ 6 NONAME + _ZN20GlxMpxCommandHandler11qt_metacastEPKc @ 7 NONAME + _ZN20GlxMpxCommandHandler12HandleErrorLEi @ 8 NONAME + _ZN20GlxMpxCommandHandler12HandleMediaLEiP13MGlxMediaList @ 9 NONAME + _ZN20GlxMpxCommandHandler13ProgressNoteLEi @ 10 NONAME + _ZN20GlxMpxCommandHandler14HandleMessageLERK9CMPXMediaP13MGlxMediaList @ 11 NONAME + _ZN20GlxMpxCommandHandler14executeCommandEii5QListI11QModelIndexE @ 12 NONAME + _ZN20GlxMpxCommandHandler16CreateMediaListLEii18TGlxFilterItemType @ 13 NONAME + _ZN20GlxMpxCommandHandler16HandleItemAddedLEiiP13MGlxMediaList @ 14 NONAME + _ZN20GlxMpxCommandHandler16staticMetaObjectE @ 15 NONAME DATA 16 + _ZN20GlxMpxCommandHandler17ConfirmationNoteLER13MGlxMediaList @ 16 NONAME + _ZN20GlxMpxCommandHandler17DoExecuteCommandLEiR13MGlxMediaListRi @ 17 NONAME + _ZN20GlxMpxCommandHandler17executeMpxCommandEb @ 18 NONAME + _ZN20GlxMpxCommandHandler18HandleItemRemovedLEiiP13MGlxMediaList @ 19 NONAME + _ZN20GlxMpxCommandHandler18messageDialogCloseEP8HbAction @ 20 NONAME + _ZN20GlxMpxCommandHandler19HandleFocusChangedLEN12NGlxListDefs16TFocusChangeTypeEiiP13MGlxMediaList @ 21 NONAME + _ZN20GlxMpxCommandHandler19HandleItemModifiedLERK6RArrayIiEP13MGlxMediaList @ 22 NONAME + _ZN20GlxMpxCommandHandler19HandleItemSelectedLEiiP13MGlxMediaList @ 23 NONAME + _ZN20GlxMpxCommandHandler19getStaticMetaObjectEv @ 24 NONAME + _ZN20GlxMpxCommandHandler20DismissProgressNoteLEv @ 25 NONAME + _ZN20GlxMpxCommandHandler22HandleCommandCompleteLEPvP9CMPXMediaiP13MGlxMediaList @ 26 NONAME + _ZN20GlxMpxCommandHandler23ConfirmationNoteSingleLER13MGlxMediaList @ 27 NONAME + _ZN20GlxMpxCommandHandler24DoHandleCommandCompleteLEPvP9CMPXMediaiP13MGlxMediaList @ 28 NONAME + _ZN20GlxMpxCommandHandler25ConfirmationNoteMultipleLER13MGlxMediaList @ 29 NONAME + _ZN20GlxMpxCommandHandler25CreateMediaListAlbumItemLEii18TGlxFilterItemType @ 30 NONAME + _ZN20GlxMpxCommandHandler26HandleAttributesAvailableLEiRK6RArrayI13TMPXAttributeEP13MGlxMediaList @ 31 NONAME + _ZN20GlxMpxCommandHandler8TryExitLEi @ 32 NONAME + _ZN20GlxMpxCommandHandlerC2Ev @ 33 NONAME + _ZN20GlxMpxCommandHandlerD0Ev @ 34 NONAME + _ZN20GlxMpxCommandHandlerD1Ev @ 35 NONAME + _ZN20GlxMpxCommandHandlerD2Ev @ 36 NONAME + _ZN22GlxModelCommandHandler14executeCommandEii5QListI11QModelIndexE @ 37 NONAME + _ZN22GlxModelCommandHandlerC2Ev @ 38 NONAME + _ZN22GlxModelCommandHandlerD0Ev @ 39 NONAME + _ZN22GlxModelCommandHandlerD1Ev @ 40 NONAME + _ZN22GlxModelCommandHandlerD2Ev @ 41 NONAME + _ZNK20GlxMpxCommandHandler10metaObjectEv @ 42 NONAME + _ZNK20GlxMpxCommandHandler13ProgressTextLEv @ 43 NONAME + _ZNK20GlxMpxCommandHandler15CompletionNoteLEv @ 44 NONAME + _ZNK20GlxMpxCommandHandler15CompletionTextLEv @ 45 NONAME + _ZNK20GlxMpxCommandHandler17ConfirmationTextLEb @ 46 NONAME + _ZTI17GlxCommandHandler @ 47 NONAME + _ZTI20GlxMpxCommandHandler @ 48 NONAME + _ZTI22GlxModelCommandHandler @ 49 NONAME + _ZTV17GlxCommandHandler @ 50 NONAME + _ZTV20GlxMpxCommandHandler @ 51 NONAME + _ZTV22GlxModelCommandHandler @ 52 NONAME + _ZThn8_N20GlxMpxCommandHandler11HandleErrorEi @ 53 NONAME + _ZThn8_N20GlxMpxCommandHandler12HandleMediaLEiP13MGlxMediaList @ 54 NONAME + _ZThn8_N20GlxMpxCommandHandler14HandleMessageLERK9CMPXMediaP13MGlxMediaList @ 55 NONAME + _ZThn8_N20GlxMpxCommandHandler16HandleItemAddedLEiiP13MGlxMediaList @ 56 NONAME + _ZThn8_N20GlxMpxCommandHandler18HandleItemRemovedLEiiP13MGlxMediaList @ 57 NONAME + _ZThn8_N20GlxMpxCommandHandler19HandleFocusChangedLEN12NGlxListDefs16TFocusChangeTypeEiiP13MGlxMediaList @ 58 NONAME + _ZThn8_N20GlxMpxCommandHandler19HandleItemModifiedLERK6RArrayIiEP13MGlxMediaList @ 59 NONAME + _ZThn8_N20GlxMpxCommandHandler19HandleItemSelectedLEiiP13MGlxMediaList @ 60 NONAME + _ZThn8_N20GlxMpxCommandHandler22HandleCommandCompleteLEPvP9CMPXMediaiP13MGlxMediaList @ 61 NONAME + _ZThn8_N20GlxMpxCommandHandler26HandleAttributesAvailableLEiRK6RArrayI13TMPXAttributeEP13MGlxMediaList @ 62 NONAME diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/commandhandlers/eabi/glxcommoncommandhandlersu.def --- a/ui/commandhandlers/eabi/glxcommoncommandhandlersu.def Mon May 03 12:31:32 2010 +0300 +++ b/ui/commandhandlers/eabi/glxcommoncommandhandlersu.def Mon May 03 00:53:50 2010 +0530 @@ -9,90 +9,84 @@ _ZN23GlxCommandHandlerDeleteD0Ev @ 8 NONAME _ZN23GlxCommandHandlerDeleteD1Ev @ 9 NONAME _ZN23GlxCommandHandlerDeleteD2Ev @ 10 NONAME - _ZN23GlxCommandHandlerRotate12RotateImageLE4TBufILi256EE @ 11 NONAME - _ZN23GlxCommandHandlerRotate17DestroyExifWriterEv @ 12 NONAME - _ZN23GlxCommandHandlerRotate17DoExecuteCommandLEiR13MGlxMediaListRi @ 13 NONAME - _ZN23GlxCommandHandlerRotate20SetImageOrientationLEt @ 14 NONAME - _ZN23GlxCommandHandlerRotate21InitializeExifWriterLE4TBufILi256EE @ 15 NONAME - _ZN23GlxCommandHandlerRotate21ReadImageOrientationLEv @ 16 NONAME - _ZN23GlxCommandHandlerRotate26CalculateFinalOrientationLEt @ 17 NONAME - _ZN23GlxCommandHandlerRotateC1Ev @ 18 NONAME - _ZN23GlxCommandHandlerRotateC2Ev @ 19 NONAME - _ZN23GlxCommandHandlerRotateD0Ev @ 20 NONAME - _ZN23GlxCommandHandlerRotateD1Ev @ 21 NONAME - _ZN23GlxCommandHandlerRotateD2Ev @ 22 NONAME - _ZN25GlxCommandHandlerNewMedia11HandleErrorEi @ 23 NONAME - _ZN25GlxCommandHandlerNewMedia11qt_metacallEN11QMetaObject4CallEiPPv @ 24 NONAME - _ZN25GlxCommandHandlerNewMedia11qt_metacastEPKc @ 25 NONAME - _ZN25GlxCommandHandlerNewMedia12HandleErrorLEi @ 26 NONAME - _ZN25GlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 27 NONAME - _ZN25GlxCommandHandlerNewMedia16staticMetaObjectE @ 28 NONAME DATA 16 - _ZN25GlxCommandHandlerNewMedia19getStaticMetaObjectEv @ 29 NONAME - _ZN25GlxCommandHandlerNewMedia24DoHandleCommandCompleteLEPvP9CMPXMediaiP13MGlxMediaList @ 30 NONAME - _ZN25GlxCommandHandlerNewMedia9ExecuteLDER11TGlxMediaId @ 31 NONAME - _ZN25GlxCommandHandlerNewMediaC1Ev @ 32 NONAME - _ZN25GlxCommandHandlerNewMediaC2Ev @ 33 NONAME - _ZN25GlxCommandHandlerNewMediaD0Ev @ 34 NONAME - _ZN25GlxCommandHandlerNewMediaD1Ev @ 35 NONAME - _ZN25GlxCommandHandlerNewMediaD2Ev @ 36 NONAME - _ZN27GlxCommandHandlerRemoveFromC1Ev @ 37 NONAME - _ZN27GlxCommandHandlerRemoveFromC2Ev @ 38 NONAME - _ZN27GlxCommandHandlerRemoveFromD0Ev @ 39 NONAME - _ZN27GlxCommandHandlerRemoveFromD1Ev @ 40 NONAME - _ZN27GlxCommandHandlerRemoveFromD2Ev @ 41 NONAME - _ZN31GlxCommandHandlerAddToContainer11qt_metacallEN11QMetaObject4CallEiPPv @ 42 NONAME - _ZN31GlxCommandHandlerAddToContainer11qt_metacastEPKc @ 43 NONAME - _ZN31GlxCommandHandlerAddToContainer14createNewMediaEv @ 44 NONAME - _ZN31GlxCommandHandlerAddToContainer15iSelectionCountE @ 45 NONAME DATA 4 - _ZN31GlxCommandHandlerAddToContainer16staticMetaObjectE @ 46 NONAME DATA 16 - _ZN31GlxCommandHandlerAddToContainer19getStaticMetaObjectEv @ 47 NONAME - _ZN31GlxCommandHandlerAddToContainerC1Ev @ 48 NONAME - _ZN31GlxCommandHandlerAddToContainerC2Ev @ 49 NONAME - _ZN31GlxCommandHandlerAddToContainerD0Ev @ 50 NONAME - _ZN31GlxCommandHandlerAddToContainerD1Ev @ 51 NONAME - _ZN31GlxCommandHandlerAddToContainerD2Ev @ 52 NONAME - _ZNK21GlxCommandHandlerSend18doHandleUserActionEP13GlxMediaModel5QListI11QModelIndexE @ 53 NONAME - _ZNK23GlxCommandHandlerDelete13ProgressTextLEv @ 54 NONAME - _ZNK23GlxCommandHandlerDelete14CreateCommandLEiR13MGlxMediaListRi @ 55 NONAME - _ZNK23GlxCommandHandlerDelete15CompletionTextLEv @ 56 NONAME - _ZNK23GlxCommandHandlerDelete17ConfirmationTextLEb @ 57 NONAME - _ZNK23GlxCommandHandlerRotate14CreateCommandLEiR13MGlxMediaListRi @ 58 NONAME - _ZNK25GlxCommandHandlerNewMedia10metaObjectEv @ 59 NONAME - _ZNK25GlxCommandHandlerNewMedia13ProgressTextLEv @ 60 NONAME - _ZNK25GlxCommandHandlerNewMedia14CreateCommandLEiR13MGlxMediaListRi @ 61 NONAME - _ZNK25GlxCommandHandlerNewMedia15CompletionTextLEv @ 62 NONAME - _ZNK25GlxCommandHandlerNewMedia26GenerateNewMediaItemTitleLE7QStringR13MGlxMediaList @ 63 NONAME - _ZNK27GlxCommandHandlerRemoveFrom13ProgressTextLEv @ 64 NONAME - _ZNK27GlxCommandHandlerRemoveFrom14CreateCommandLEiR13MGlxMediaListRi @ 65 NONAME - _ZNK27GlxCommandHandlerRemoveFrom15CompletionTextLEv @ 66 NONAME - _ZNK31GlxCommandHandlerAddToContainer10metaObjectEv @ 67 NONAME - _ZNK31GlxCommandHandlerAddToContainer13ProgressTextLEv @ 68 NONAME - _ZNK31GlxCommandHandlerAddToContainer14CreateCommandLEiR13MGlxMediaListRi @ 69 NONAME - _ZNK31GlxCommandHandlerAddToContainer15CompletionTextLEv @ 70 NONAME - _ZNK31GlxCommandHandlerAddToContainer16GetSelectionListEP13GlxAlbumModelPb @ 71 NONAME - _ZTI21GlxCommandHandlerSend @ 72 NONAME - _ZTI23GlxCommandHandlerDelete @ 73 NONAME - _ZTI23GlxCommandHandlerRotate @ 74 NONAME - _ZTI25GlxCommandHandlerNewMedia @ 75 NONAME - _ZTI27GlxCommandHandlerRemoveFrom @ 76 NONAME - _ZTI31GlxCommandHandlerAddToContainer @ 77 NONAME - _ZTV21GlxCommandHandlerSend @ 78 NONAME - _ZTV23GlxCommandHandlerDelete @ 79 NONAME - _ZTV23GlxCommandHandlerRotate @ 80 NONAME - _ZTV25GlxCommandHandlerNewMedia @ 81 NONAME - _ZTV27GlxCommandHandlerRemoveFrom @ 82 NONAME - _ZTV31GlxCommandHandlerAddToContainer @ 83 NONAME - _ZThn8_N25GlxCommandHandlerNewMedia11HandleErrorEi @ 84 NONAME - _ZThn8_N25GlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 85 NONAME - _ZN23GlxCommandHandlerRenameC1Ev @ 86 NONAME - _ZN23GlxCommandHandlerRenameC2Ev @ 87 NONAME - _ZN23GlxCommandHandlerRenameD0Ev @ 88 NONAME - _ZN23GlxCommandHandlerRenameD1Ev @ 89 NONAME - _ZN23GlxCommandHandlerRenameD2Ev @ 90 NONAME - _ZNK23GlxCommandHandlerRename14CreateCommandLEiR13MGlxMediaListRi @ 91 NONAME - _ZNK23GlxCommandHandlerRename15CompletionTextLEv @ 92 NONAME - _ZNK23GlxCommandHandlerRename7GetNameER13MGlxMediaList @ 93 NONAME - _ZTI23GlxCommandHandlerRename @ 94 NONAME - _ZTV23GlxCommandHandlerRename @ 95 NONAME - _ZN23GlxCommandHandlerRename12HandleErrorLEi @ 96 NONAME + _ZN23GlxCommandHandlerRename12HandleErrorLEi @ 11 NONAME + _ZN23GlxCommandHandlerRenameC1Ev @ 12 NONAME + _ZN23GlxCommandHandlerRenameC2Ev @ 13 NONAME + _ZN23GlxCommandHandlerRenameD0Ev @ 14 NONAME + _ZN23GlxCommandHandlerRenameD1Ev @ 15 NONAME + _ZN23GlxCommandHandlerRenameD2Ev @ 16 NONAME + _ZN23GlxCommandHandlerRotate12RotateImageLE4TBufILi256EE @ 17 NONAME + _ZN23GlxCommandHandlerRotate17DestroyExifWriterEv @ 18 NONAME + _ZN23GlxCommandHandlerRotate17DoExecuteCommandLEiR13MGlxMediaListRi @ 19 NONAME + _ZN23GlxCommandHandlerRotate20SetImageOrientationLEt @ 20 NONAME + _ZN23GlxCommandHandlerRotate21InitializeExifWriterLE4TBufILi256EE @ 21 NONAME + _ZN23GlxCommandHandlerRotate21ReadImageOrientationLEv @ 22 NONAME + _ZN23GlxCommandHandlerRotate26CalculateFinalOrientationLEt @ 23 NONAME + _ZN23GlxCommandHandlerRotateC1Ev @ 24 NONAME + _ZN23GlxCommandHandlerRotateC2Ev @ 25 NONAME + _ZN23GlxCommandHandlerRotateD0Ev @ 26 NONAME + _ZN23GlxCommandHandlerRotateD1Ev @ 27 NONAME + _ZN23GlxCommandHandlerRotateD2Ev @ 28 NONAME + _ZN25GlxCommandHandlerNewMedia11HandleErrorEi @ 29 NONAME + _ZN25GlxCommandHandlerNewMedia11qt_metacallEN11QMetaObject4CallEiPPv @ 30 NONAME + _ZN25GlxCommandHandlerNewMedia11qt_metacastEPKc @ 31 NONAME + _ZN25GlxCommandHandlerNewMedia12HandleErrorLEi @ 32 NONAME + _ZN25GlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 33 NONAME + _ZN25GlxCommandHandlerNewMedia16staticMetaObjectE @ 34 NONAME DATA 16 + _ZN25GlxCommandHandlerNewMedia19getStaticMetaObjectEv @ 35 NONAME + _ZN25GlxCommandHandlerNewMedia24DoHandleCommandCompleteLEPvP9CMPXMediaiP13MGlxMediaList @ 36 NONAME + _ZN25GlxCommandHandlerNewMedia9ExecuteLDER11TGlxMediaId @ 37 NONAME + _ZN25GlxCommandHandlerNewMediaC1Ev @ 38 NONAME + _ZN25GlxCommandHandlerNewMediaC2Ev @ 39 NONAME + _ZN25GlxCommandHandlerNewMediaD0Ev @ 40 NONAME + _ZN25GlxCommandHandlerNewMediaD1Ev @ 41 NONAME + _ZN25GlxCommandHandlerNewMediaD2Ev @ 42 NONAME + _ZN27GlxCommandHandlerRemoveFromC1Ev @ 43 NONAME + _ZN27GlxCommandHandlerRemoveFromC2Ev @ 44 NONAME + _ZN27GlxCommandHandlerRemoveFromD0Ev @ 45 NONAME + _ZN27GlxCommandHandlerRemoveFromD1Ev @ 46 NONAME + _ZN27GlxCommandHandlerRemoveFromD2Ev @ 47 NONAME + _ZN31GlxCommandHandlerAddToContainer15iSelectionCountE @ 48 NONAME DATA 4 + _ZN31GlxCommandHandlerAddToContainerC1Ev @ 49 NONAME + _ZN31GlxCommandHandlerAddToContainerC2Ev @ 50 NONAME + _ZN31GlxCommandHandlerAddToContainerD0Ev @ 51 NONAME + _ZN31GlxCommandHandlerAddToContainerD1Ev @ 52 NONAME + _ZN31GlxCommandHandlerAddToContainerD2Ev @ 53 NONAME + _ZNK21GlxCommandHandlerSend18doHandleUserActionEP13GlxMediaModel5QListI11QModelIndexE @ 54 NONAME + _ZNK23GlxCommandHandlerDelete13ProgressTextLEv @ 55 NONAME + _ZNK23GlxCommandHandlerDelete14CreateCommandLEiR13MGlxMediaListRi @ 56 NONAME + _ZNK23GlxCommandHandlerDelete15CompletionTextLEv @ 57 NONAME + _ZNK23GlxCommandHandlerDelete17ConfirmationTextLEb @ 58 NONAME + _ZNK23GlxCommandHandlerRename14CreateCommandLEiR13MGlxMediaListRi @ 59 NONAME + _ZNK23GlxCommandHandlerRename15CompletionTextLEv @ 60 NONAME + _ZNK23GlxCommandHandlerRename7GetNameER13MGlxMediaList @ 61 NONAME + _ZNK23GlxCommandHandlerRotate14CreateCommandLEiR13MGlxMediaListRi @ 62 NONAME + _ZNK25GlxCommandHandlerNewMedia10metaObjectEv @ 63 NONAME + _ZNK25GlxCommandHandlerNewMedia13ProgressTextLEv @ 64 NONAME + _ZNK25GlxCommandHandlerNewMedia14CreateCommandLEiR13MGlxMediaListRi @ 65 NONAME + _ZNK25GlxCommandHandlerNewMedia15CompletionTextLEv @ 66 NONAME + _ZNK25GlxCommandHandlerNewMedia26GenerateNewMediaItemTitleLE7QStringR13MGlxMediaList @ 67 NONAME + _ZNK27GlxCommandHandlerRemoveFrom13ProgressTextLEv @ 68 NONAME + _ZNK27GlxCommandHandlerRemoveFrom14CreateCommandLEiR13MGlxMediaListRi @ 69 NONAME + _ZNK27GlxCommandHandlerRemoveFrom15CompletionTextLEv @ 70 NONAME + _ZNK31GlxCommandHandlerAddToContainer13ProgressTextLEv @ 71 NONAME + _ZNK31GlxCommandHandlerAddToContainer14CreateCommandLEiR13MGlxMediaListRi @ 72 NONAME + _ZNK31GlxCommandHandlerAddToContainer14createNewMediaEv @ 73 NONAME + _ZNK31GlxCommandHandlerAddToContainer15CompletionTextLEv @ 74 NONAME + _ZTI21GlxCommandHandlerSend @ 75 NONAME + _ZTI23GlxCommandHandlerDelete @ 76 NONAME + _ZTI23GlxCommandHandlerRename @ 77 NONAME + _ZTI23GlxCommandHandlerRotate @ 78 NONAME + _ZTI25GlxCommandHandlerNewMedia @ 79 NONAME + _ZTI27GlxCommandHandlerRemoveFrom @ 80 NONAME + _ZTI31GlxCommandHandlerAddToContainer @ 81 NONAME + _ZTV21GlxCommandHandlerSend @ 82 NONAME + _ZTV23GlxCommandHandlerDelete @ 83 NONAME + _ZTV23GlxCommandHandlerRename @ 84 NONAME + _ZTV23GlxCommandHandlerRotate @ 85 NONAME + _ZTV25GlxCommandHandlerNewMedia @ 86 NONAME + _ZTV27GlxCommandHandlerRemoveFrom @ 87 NONAME + _ZTV31GlxCommandHandlerAddToContainer @ 88 NONAME + _ZThn8_N25GlxCommandHandlerNewMedia11HandleErrorEi @ 89 NONAME + _ZThn8_N25GlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 90 NONAME diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/inc/glxcommandhandlers.hrh --- a/ui/inc/glxcommandhandlers.hrh Mon May 03 12:31:32 2010 +0300 +++ b/ui/inc/glxcommandhandlers.hrh Mon May 03 00:53:50 2010 +0530 @@ -59,6 +59,8 @@ EGlxCmdSelectSlideshow, //play the slide show with selected item EGlxCmdAlbumSlideShow, //play the slide show for a album EGlxCmdRename, + EGlxCmdAddToFav, + EGlxCmdRemoveFromFav, EGlxCmdPlay, EGlxCmdDRMOpen, EGlxCmdShowOnlineInfo, @@ -106,6 +108,7 @@ EGlxCmdCancel, EGlxCmdMarkAll, EGlxCmdUnMarkAll, + EGlxCmdContextRemoveFrom, EGlxCmdContextAddToAlbum, EGlxCmdContextDelete, EGlxCmdContextAlbumDelete, diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/inc/glxdocloaderdefs.h --- a/ui/inc/glxdocloaderdefs.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/inc/glxdocloaderdefs.h Mon May 03 00:53:50 2010 +0530 @@ -31,7 +31,7 @@ //SLIDE SHOW #define GLXSLIDESHOW_VIEW "mglxslideshow" -#define GLXSLIDESHOW_WIDGET "mscrollArea" +#define GLXSLIDESHOW_WIDGET "mslideshowwidget" #define GLXSLIDESHOW_PATH ":/data/slideshow.docml" #define GLXSLIDESHOW_PB "mContinueButton" diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/inc/glxicondefs.h --- a/ui/inc/glxicondefs.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/inc/glxicondefs.h Mon May 03 00:53:50 2010 +0530 @@ -42,4 +42,7 @@ //DEFAULT ICON #define GLXICON_DEFAULT "qtg_mono_camera" +#define GLXICON_ADD_TO_FAV "qtg_graf_ratingslider_rated" +#define GLXICON_REMOVE_FAV "qtg_graf_ratingslider_unrated" + #endif /* GLXICONDEFS_H */ diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/inc/glxmodelparm.h --- a/ui/inc/glxmodelparm.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/inc/glxmodelparm.h Mon May 03 00:53:50 2010 +0530 @@ -25,7 +25,8 @@ enum { - GlxFsImageRole = Qt::UserRole + 1, //to get the fullscreen image + GlxHgVisibilityRole = Qt::UserRole + 1, // VisibilityRole For MediaWall , Dont Change This Value - Depedency To HgWidget + GlxFsImageRole, //to get the fullscreen image GlxContextRole, //to get and set the context GlxFocusIndexRole, //to get and set the selected item index GlxVisualWindowIndex, //to set the visual window index in media list @@ -36,17 +37,24 @@ GlxFrameCount, //to get the number of frame in an image GlxSubStateRole, //to publish the sub state of a SM states GlxHdmiBitmap, //to get the pre decoded thumbnail for HDMI + GlxListItemCount, //to get the number of item in the album list + GlxSystemItemRole, //to get the item is system item or not + GlxFavorites, //to get the image is in favorites folder or not + GlxQImageSmall, //To Get Grid Thumbnail as QImage + GlxQImageLarge, //To Get FullScreen Thumbnail as QImage + GlxDefaultImage //To Get Default Thumbnail }; class GlxModelParm { public: - GlxModelParm (qint32 collectionId = 0, qint32 depth = 0 , TGlxFilterItemType filterType = EGlxFilterItemAll , GlxContextMode contextMode = GlxContextPtGrid ) + GlxModelParm (qint32 collectionId = 0, qint32 depth = 0 , TGlxFilterItemType filterType = EGlxFilterItemAll , GlxContextMode contextMode = GlxContextPtGrid ,QString uri = NULL) : mCollectionId(collectionId) , mDepth(depth) , mFilterType( filterType ), - mContextMode( contextMode ) + mContextMode( contextMode ), + mUri(uri) { } @@ -55,6 +63,8 @@ qint32 collection() { return mCollectionId; } void setDepth (qint32 depth = 0) { mDepth = depth ; } qint32 depth() { return mDepth; } + QString path() { return mUri; } + void setPath(QString uri = NULL) { mUri=uri; } TGlxFilterItemType filterType() { return mFilterType; } void setContextMode( GlxContextMode contextMode ) { mContextMode = contextMode ; } GlxContextMode contextMode() { return mContextMode ; } @@ -64,6 +74,7 @@ qint32 mDepth; TGlxFilterItemType mFilterType; GlxContextMode mContextMode; + QString mUri; }; diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/inc/glxuistd.h --- a/ui/inc/glxuistd.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/inc/glxuistd.h Mon May 03 00:53:50 2010 +0530 @@ -40,7 +40,8 @@ GlxContextPtFs, //TB context check would be applied here . Please do not add any context between GlxContextLsFs and GlxContextPtFs GlxContextLsList, GlxContextPtList, - GlxContextSelectionList + GlxContextSelectionList, + GlxContextFavorite }; enum GlxTBContextType @@ -55,6 +56,9 @@ typedef enum { NO_EFFECT, + WAVE_EFFECT, + SMOOTH_FADE, + ZOOM_TO_FACE, TRANSITION_EFFECT, FADE_EFFECT, GRID_TO_FULLSCREEN, @@ -67,6 +71,12 @@ typedef enum { + SLOW, + MEDIUM, + FAST +}GlxSlideShowDelay; +typedef enum +{ NO_VIEW, CURRENT_VIEW, LAUNCH_VIEW, diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/bwins/glxmedialistwrapperu.def --- a/ui/uiengine/bwins/glxmedialistwrapperu.def Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/bwins/glxmedialistwrapperu.def Mon May 03 00:53:50 2010 +0530 @@ -12,29 +12,32 @@ ?qt_metacall@GlxMLWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11 NONAME ; int GlxMLWrapper::qt_metacall(enum QMetaObject::Call, int, void * *) ?retrieveItemFrameCount@GlxMLWrapper@@QAEHH@Z @ 12 NONAME ; int GlxMLWrapper::retrieveItemFrameCount(int) ?retrieveListTitle@GlxMLWrapper@@QAE?AVQString@@H@Z @ 13 NONAME ; class QString GlxMLWrapper::retrieveListTitle(int) - ?tr@GlxMLWrapper@@SA?AVQString@@PBD0@Z @ 14 NONAME ; class QString GlxMLWrapper::tr(char const *, char const *) - ?setVisibleWindowIndex@GlxMLWrapper@@QAEXH@Z @ 15 NONAME ; void GlxMLWrapper::setVisibleWindowIndex(int) - ?getStaticMetaObject@GlxMLWrapper@@SAABUQMetaObject@@XZ @ 16 NONAME ; struct QMetaObject const & GlxMLWrapper::getStaticMetaObject(void) - ?retrieveListSubTitle@GlxMLWrapper@@QAE?AVQString@@H@Z @ 17 NONAME ; class QString GlxMLWrapper::retrieveListSubTitle(int) - ?staticMetaObject@GlxMLWrapper@@2UQMetaObject@@B @ 18 NONAME ; struct QMetaObject const GlxMLWrapper::staticMetaObject - ?handleListItemAvailable@GlxMLWrapper@@QAEXH@Z @ 19 NONAME ; void GlxMLWrapper::handleListItemAvailable(int) - ?trUtf8@GlxMLWrapper@@SA?AVQString@@PBD0@Z @ 20 NONAME ; class QString GlxMLWrapper::trUtf8(char const *, char const *) - ?itemsRemoved@GlxMLWrapper@@QAEXHH@Z @ 21 NONAME ; void GlxMLWrapper::itemsRemoved(int, int) - ?metaObject@GlxMLWrapper@@UBEPBUQMetaObject@@XZ @ 22 NONAME ; struct QMetaObject const * GlxMLWrapper::metaObject(void) const - ?insertItems@GlxMLWrapper@@IAEXHH@Z @ 23 NONAME ; void GlxMLWrapper::insertItems(int, int) - ?getFocusIndex@GlxMLWrapper@@QBEHXZ @ 24 NONAME ; int GlxMLWrapper::getFocusIndex(void) const - ?handleIconCorrupt@GlxMLWrapper@@QAEXH@Z @ 25 NONAME ; void GlxMLWrapper::handleIconCorrupt(int) - ?retrieveItemDimension@GlxMLWrapper@@QAE?AVQSize@@H@Z @ 26 NONAME ; class QSize GlxMLWrapper::retrieveItemDimension(int) - ?RetrieveL@GlxAttributeRetriever@@SAHABVMGlxFetchContext@@AAVMGlxMediaList@@H@Z @ 27 NONAME ; int GlxAttributeRetriever::RetrieveL(class MGlxFetchContext const &, class MGlxMediaList &, int) - ?handleReceivedIcon@GlxMLWrapper@@QAEXHW4GlxTBContextType@@@Z @ 28 NONAME ; void GlxMLWrapper::handleReceivedIcon(int, enum GlxTBContextType) - ?tr@GlxMLWrapper@@SA?AVQString@@PBD0H@Z @ 29 NONAME ; class QString GlxMLWrapper::tr(char const *, char const *, int) - ??_EGlxMLWrapper@@UAE@I@Z @ 30 NONAME ; GlxMLWrapper::~GlxMLWrapper(unsigned int) - ??0GlxMLWrapper@@QAE@HHW4TGlxFilterItemType@@@Z @ 31 NONAME ; GlxMLWrapper::GlxMLWrapper(int, int, enum TGlxFilterItemType) - ?setContextMode@GlxMLWrapper@@QAEXW4GlxContextMode@@@Z @ 32 NONAME ; void GlxMLWrapper::setContextMode(enum GlxContextMode) - ??1GlxMLWrapper@@UAE@XZ @ 33 NONAME ; GlxMLWrapper::~GlxMLWrapper(void) - ?RetrieveBitmap@GlxMLWrapper@@QAE?AVQVariant@@H@Z @ 34 NONAME ; class QVariant GlxMLWrapper::RetrieveBitmap(int) - ?qt_metacast@GlxMLWrapper@@UAEPAXPBD@Z @ 35 NONAME ; void * GlxMLWrapper::qt_metacast(char const *) - ?setSelectedIndex@GlxMLWrapper@@QAEXH@Z @ 36 NONAME ; void GlxMLWrapper::setSelectedIndex(int) - ?itemsAdded@GlxMLWrapper@@QAEXHH@Z @ 37 NONAME ; void GlxMLWrapper::itemsAdded(int, int) - ?retrieveItemIcon@GlxMLWrapper@@QAEPAVHbIcon@@HW4GlxTBContextType@@@Z @ 38 NONAME ; class HbIcon * GlxMLWrapper::retrieveItemIcon(int, enum GlxTBContextType) + ?retrieveListItemCount@GlxMLWrapper@@QAEHH@Z @ 14 NONAME ; int GlxMLWrapper::retrieveListItemCount(int) + ?tr@GlxMLWrapper@@SA?AVQString@@PBD0@Z @ 15 NONAME ; class QString GlxMLWrapper::tr(char const *, char const *) + ?setVisibleWindowIndex@GlxMLWrapper@@QAEXH@Z @ 16 NONAME ; void GlxMLWrapper::setVisibleWindowIndex(int) + ?getStaticMetaObject@GlxMLWrapper@@SAABUQMetaObject@@XZ @ 17 NONAME ; struct QMetaObject const & GlxMLWrapper::getStaticMetaObject(void) + ?retrieveListSubTitle@GlxMLWrapper@@QAE?AVQString@@H@Z @ 18 NONAME ; class QString GlxMLWrapper::retrieveListSubTitle(int) + ?staticMetaObject@GlxMLWrapper@@2UQMetaObject@@B @ 19 NONAME ; struct QMetaObject const GlxMLWrapper::staticMetaObject + ?handleListItemAvailable@GlxMLWrapper@@QAEXH@Z @ 20 NONAME ; void GlxMLWrapper::handleListItemAvailable(int) + ?trUtf8@GlxMLWrapper@@SA?AVQString@@PBD0@Z @ 21 NONAME ; class QString GlxMLWrapper::trUtf8(char const *, char const *) + ?itemsRemoved@GlxMLWrapper@@QAEXHH@Z @ 22 NONAME ; void GlxMLWrapper::itemsRemoved(int, int) + ?metaObject@GlxMLWrapper@@UBEPBUQMetaObject@@XZ @ 23 NONAME ; struct QMetaObject const * GlxMLWrapper::metaObject(void) const + ?insertItems@GlxMLWrapper@@IAEXHH@Z @ 24 NONAME ; void GlxMLWrapper::insertItems(int, int) + ?isSystemItem@GlxMLWrapper@@QAE_NH@Z @ 25 NONAME ; bool GlxMLWrapper::isSystemItem(int) + ?getFocusIndex@GlxMLWrapper@@QBEHXZ @ 26 NONAME ; int GlxMLWrapper::getFocusIndex(void) const + ?handleIconCorrupt@GlxMLWrapper@@QAEXH@Z @ 27 NONAME ; void GlxMLWrapper::handleIconCorrupt(int) + ?retrieveItemDimension@GlxMLWrapper@@QAE?AVQSize@@H@Z @ 28 NONAME ; class QSize GlxMLWrapper::retrieveItemDimension(int) + ?RetrieveL@GlxAttributeRetriever@@SAHABVMGlxFetchContext@@AAVMGlxMediaList@@H@Z @ 29 NONAME ; int GlxAttributeRetriever::RetrieveL(class MGlxFetchContext const &, class MGlxMediaList &, int) + ?handleReceivedIcon@GlxMLWrapper@@QAEXHW4GlxTBContextType@@@Z @ 30 NONAME ; void GlxMLWrapper::handleReceivedIcon(int, enum GlxTBContextType) + ?tr@GlxMLWrapper@@SA?AVQString@@PBD0H@Z @ 31 NONAME ; class QString GlxMLWrapper::tr(char const *, char const *, int) + ??_EGlxMLWrapper@@UAE@I@Z @ 32 NONAME ; GlxMLWrapper::~GlxMLWrapper(unsigned int) + ?setContextMode@GlxMLWrapper@@QAEXW4GlxContextMode@@@Z @ 33 NONAME ; void GlxMLWrapper::setContextMode(enum GlxContextMode) + ??1GlxMLWrapper@@UAE@XZ @ 34 NONAME ; GlxMLWrapper::~GlxMLWrapper(void) + ?RetrieveBitmap@GlxMLWrapper@@QAE?AVQVariant@@H@Z @ 35 NONAME ; class QVariant GlxMLWrapper::RetrieveBitmap(int) + ?qt_metacast@GlxMLWrapper@@UAEPAXPBD@Z @ 36 NONAME ; void * GlxMLWrapper::qt_metacast(char const *) + ?retrieveItemImage@GlxMLWrapper@@QAE?AVQImage@@HW4GlxTBContextType@@@Z @ 37 NONAME ; class QImage GlxMLWrapper::retrieveItemImage(int, enum GlxTBContextType) + ??0GlxMLWrapper@@QAE@HHW4TGlxFilterItemType@@VQString@@@Z @ 38 NONAME ; GlxMLWrapper::GlxMLWrapper(int, int, enum TGlxFilterItemType, class QString) + ?setSelectedIndex@GlxMLWrapper@@QAEXH@Z @ 39 NONAME ; void GlxMLWrapper::setSelectedIndex(int) + ?itemsAdded@GlxMLWrapper@@QAEXHH@Z @ 40 NONAME ; void GlxMLWrapper::itemsAdded(int, int) + ?retrieveItemIcon@GlxMLWrapper@@QAEPAVHbIcon@@HW4GlxTBContextType@@@Z @ 41 NONAME ; class HbIcon * GlxMLWrapper::retrieveItemIcon(int, enum GlxTBContextType) diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/eabi/glxmedialistwrapperu.def --- a/ui/uiengine/eabi/glxmedialistwrapperu.def Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/eabi/glxmedialistwrapperu.def Mon May 03 00:53:50 2010 +0530 @@ -6,34 +6,37 @@ _ZN12GlxMLWrapper11qt_metacastEPKc @ 5 NONAME _ZN12GlxMLWrapper11removeItemsEii @ 6 NONAME _ZN12GlxMLWrapper12getItemCountEv @ 7 NONAME - _ZN12GlxMLWrapper12itemsRemovedEii @ 8 NONAME - _ZN12GlxMLWrapper13itemCorruptedEi @ 9 NONAME - _ZN12GlxMLWrapper13setFocusIndexEi @ 10 NONAME - _ZN12GlxMLWrapper14RetrieveBitmapEi @ 11 NONAME - _ZN12GlxMLWrapper14setContextModeE14GlxContextMode @ 12 NONAME - _ZN12GlxMLWrapper15retrieveItemUriEi @ 13 NONAME - _ZN12GlxMLWrapper16retrieveItemDateEi @ 14 NONAME - _ZN12GlxMLWrapper16retrieveItemIconEi16GlxTBContextType @ 15 NONAME - _ZN12GlxMLWrapper16setSelectedIndexEi @ 16 NONAME - _ZN12GlxMLWrapper16staticMetaObjectE @ 17 NONAME DATA 16 - _ZN12GlxMLWrapper17handleIconCorruptEi @ 18 NONAME - _ZN12GlxMLWrapper17retrieveListTitleEi @ 19 NONAME - _ZN12GlxMLWrapper18handleGeneralErrorEi @ 20 NONAME - _ZN12GlxMLWrapper18handleReceivedIconEi16GlxTBContextType @ 21 NONAME - _ZN12GlxMLWrapper19getStaticMetaObjectEv @ 22 NONAME - _ZN12GlxMLWrapper20retrieveListSubTitleEi @ 23 NONAME - _ZN12GlxMLWrapper21getVisibleWindowIndexEv @ 24 NONAME - _ZN12GlxMLWrapper21retrieveItemDimensionEi @ 25 NONAME - _ZN12GlxMLWrapper21setVisibleWindowIndexEi @ 26 NONAME - _ZN12GlxMLWrapper22retrieveItemFrameCountEi @ 27 NONAME - _ZN12GlxMLWrapper23handleListItemAvailableEi @ 28 NONAME - _ZN12GlxMLWrapperC1Eii18TGlxFilterItemType @ 29 NONAME - _ZN12GlxMLWrapperC2Eii18TGlxFilterItemType @ 30 NONAME - _ZN12GlxMLWrapperD0Ev @ 31 NONAME - _ZN12GlxMLWrapperD1Ev @ 32 NONAME - _ZN12GlxMLWrapperD2Ev @ 33 NONAME - _ZNK12GlxMLWrapper10metaObjectEv @ 34 NONAME - _ZNK12GlxMLWrapper13getFocusIndexEv @ 35 NONAME - _ZTI12GlxMLWrapper @ 36 NONAME - _ZTV12GlxMLWrapper @ 37 NONAME + _ZN12GlxMLWrapper12isSystemItemEi @ 8 NONAME + _ZN12GlxMLWrapper12itemsRemovedEii @ 9 NONAME + _ZN12GlxMLWrapper13itemCorruptedEi @ 10 NONAME + _ZN12GlxMLWrapper13setFocusIndexEi @ 11 NONAME + _ZN12GlxMLWrapper14RetrieveBitmapEi @ 12 NONAME + _ZN12GlxMLWrapper14setContextModeE14GlxContextMode @ 13 NONAME + _ZN12GlxMLWrapper15retrieveItemUriEi @ 14 NONAME + _ZN12GlxMLWrapper16retrieveItemDateEi @ 15 NONAME + _ZN12GlxMLWrapper16retrieveItemIconEi16GlxTBContextType @ 16 NONAME + _ZN12GlxMLWrapper16setSelectedIndexEi @ 17 NONAME + _ZN12GlxMLWrapper16staticMetaObjectE @ 18 NONAME DATA 16 + _ZN12GlxMLWrapper17handleIconCorruptEi @ 19 NONAME + _ZN12GlxMLWrapper17retrieveItemImageEi16GlxTBContextType @ 20 NONAME + _ZN12GlxMLWrapper17retrieveListTitleEi @ 21 NONAME + _ZN12GlxMLWrapper18handleGeneralErrorEi @ 22 NONAME + _ZN12GlxMLWrapper18handleReceivedIconEi16GlxTBContextType @ 23 NONAME + _ZN12GlxMLWrapper19getStaticMetaObjectEv @ 24 NONAME + _ZN12GlxMLWrapper20retrieveListSubTitleEi @ 25 NONAME + _ZN12GlxMLWrapper21getVisibleWindowIndexEv @ 26 NONAME + _ZN12GlxMLWrapper21retrieveItemDimensionEi @ 27 NONAME + _ZN12GlxMLWrapper21retrieveListItemCountEi @ 28 NONAME + _ZN12GlxMLWrapper21setVisibleWindowIndexEi @ 29 NONAME + _ZN12GlxMLWrapper22retrieveItemFrameCountEi @ 30 NONAME + _ZN12GlxMLWrapper23handleListItemAvailableEi @ 31 NONAME + _ZN12GlxMLWrapperC1Eii18TGlxFilterItemType7QString @ 32 NONAME + _ZN12GlxMLWrapperC2Eii18TGlxFilterItemType7QString @ 33 NONAME + _ZN12GlxMLWrapperD0Ev @ 34 NONAME + _ZN12GlxMLWrapperD1Ev @ 35 NONAME + _ZN12GlxMLWrapperD2Ev @ 36 NONAME + _ZNK12GlxMLWrapper10metaObjectEv @ 37 NONAME + _ZNK12GlxMLWrapper13getFocusIndexEv @ 38 NONAME + _ZTI12GlxMLWrapper @ 39 NONAME + _ZTV12GlxMLWrapper @ 40 NONAME diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialists/bwins/glxmedialistsu.def --- a/ui/uiengine/medialists/bwins/glxmedialistsu.def Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialists/bwins/glxmedialistsu.def Mon May 03 00:53:50 2010 +0530 @@ -40,88 +40,91 @@ ?SetRange@TGlxSequentialIterator@@QAEXH@Z @ 39 NONAME ; void TGlxSequentialIterator::SetRange(int) ??1TGlxFromVisibleIndexOutwardListIterator@@QAE@XZ @ 40 NONAME ; TGlxFromVisibleIndexOutwardListIterator::~TGlxFromVisibleIndexOutwardListIterator(void) ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 41 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const - ?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 42 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int) - ?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 43 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int) - ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 44 NONAME ; void CGlxMedia::HandleModified(class RArray const &) - ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 45 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const - ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 46 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const - ?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 47 NONAME ; void TGlxSelectionIterator::SetRange(int) - ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 48 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const - ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 49 NONAME ; int TGlxMedia::GetDate(class TTime &) const - ?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 50 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const - ?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 51 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &) - ?SetDefaultSpec@CGlxAttributeContext@@QAEXHH@Z @ 52 NONAME ; void CGlxAttributeContext::SetDefaultSpec(int, int) - ?IsStatic@TGlxMedia@@QBEHXZ @ 53 NONAME ; int TGlxMedia::IsStatic(void) const - ??0CGlxListWindow@@QAE@AAVMGlxWindowObjectFactory@@@Z @ 54 NONAME ; CGlxListWindow::CGlxListWindow(class MGlxWindowObjectFactory &) - ?AddSpecForItemL@CGlxThumbnailContext@@QAEXHHH@Z @ 55 NONAME ; void CGlxThumbnailContext::AddSpecForItemL(int, int, int) - ??1CGlxDefaultAttributeContext@@UAE@XZ @ 56 NONAME ; CGlxDefaultAttributeContext::~CGlxDefaultAttributeContext(void) - ?ThumbnailAttribute@TGlxMedia@@QBEPBVCGlxThumbnailAttribute@@AAVTMPXAttribute@@@Z @ 57 NONAME ; class CGlxThumbnailAttribute const * TGlxMedia::ThumbnailAttribute(class TMPXAttribute &) const - ??1TGlxFirstThenLastIterator@@QAE@XZ @ 58 NONAME ; TGlxFirstThenLastIterator::~TGlxFirstThenLastIterator(void) - ?Title@TGlxMedia@@QBEABVTDesC16@@XZ @ 59 NONAME ; class TDesC16 const & TGlxMedia::Title(void) const - ??ETGlxSelectionIterator@@UAEHH@Z @ 60 NONAME ; int TGlxSelectionIterator::operator++(int) - ?AddAttributeL@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 61 NONAME ; void CGlxAttributeContext::AddAttributeL(class TMPXAttribute const &) - ?SetRangeOffsets@CGlxDefaultThumbnailContext@@QAEXHH@Z @ 62 NONAME ; void CGlxDefaultThumbnailContext::SetRangeOffsets(int, int) - ?__DbgTestInvariant@CGlxStaticItemList@@QBEXXZ @ 63 NONAME ; void CGlxStaticItemList::__DbgTestInvariant(void) const - ?GetDuration@TGlxMedia@@QBEHAAM@Z @ 64 NONAME ; int TGlxMedia::GetDuration(float &) const - ?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 65 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &) - ?InstanceL@MGlxMediaList@@SAPAV1@ABVCMPXCollectionPath@@ABV?$TGlxId@VTGlxIdHierarchyBase@@@@PAVCMPXMedia@@@Z @ 66 NONAME ; class MGlxMediaList * MGlxMediaList::InstanceL(class CMPXCollectionPath const &, class TGlxId const &, class CMPXMedia *) - ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 67 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) - ?RemoveObjects@CGlxListWindow@@QAEXHHHH@Z @ 68 NONAME ; void CGlxListWindow::RemoveObjects(int, int, int, int) - ?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 69 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const - ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 70 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const - ??0CGlxAttributeContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 71 NONAME ; CGlxAttributeContext::CGlxAttributeContext(class MGlxMediaListIterator *) - ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 72 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const - ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 73 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const - ?AddObjects@CGlxListWindow@@QAEXHH@Z @ 74 NONAME ; void CGlxListWindow::AddObjects(int, int) - ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 75 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const - ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 76 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &) - ??0TGlxSequentialIterator@@QAE@XZ @ 77 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void) - ?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 78 NONAME ; int CGlxAttributeContext::AttributeCount(void) - ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 79 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const - ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 80 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const - ?SetFocusIndex@CGlxListWindow@@QAEXHH@Z @ 81 NONAME ; void CGlxListWindow::SetFocusIndex(int, int) - ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 82 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) - ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 83 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const - ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 84 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) - ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 85 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) - ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 86 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const - ??1CGlxMedia@@UAE@XZ @ 87 NONAME ; CGlxMedia::~CGlxMedia(void) - ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 88 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const - ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 89 NONAME ; int TGlxMedia::IsDrmProtected(void) const - ??1CGlxThumbnailContext@@UAE@XZ @ 90 NONAME ; CGlxThumbnailContext::~CGlxThumbnailContext(void) - ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 91 NONAME ; int TGlxMedia::GetDrmProtected(int &) const - ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 92 NONAME ; int TGlxMedia::GetSystemItem(int &) const - ?RemoveObjects@CGlxListWindow@@QAEXHH@Z @ 93 NONAME ; void CGlxListWindow::RemoveObjects(int, int) - ?Close@TGlxFetchContextRemover@@QAEXXZ @ 94 NONAME ; void TGlxFetchContextRemover::Close(void) - ?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 95 NONAME ; class CBase const * CGlxListWindow::At(int) const - ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 96 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int) - ?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 97 NONAME ; class CBase * CGlxListWindow::At(int) - ??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 98 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void) - ?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 99 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &) - ??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 100 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void) - ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 101 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int) - ??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 102 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void) - ?Cleanup@CGlxListWindow@@QAEXXZ @ 103 NONAME ; void CGlxListWindow::Cleanup(void) - ??1TGlxExclusionIterator@@QAE@XZ @ 104 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void) - ??1CGlxDefaultListAttributeContext@@UAE@XZ @ 105 NONAME ; CGlxDefaultListAttributeContext::~CGlxDefaultListAttributeContext(void) - ??1TGlxFetchContextRemover@@QAE@XZ @ 106 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void) - ?SetRangeOffsets@TGlxFromVisibleIndexOutwardListIterator@@QAEXHH@Z @ 107 NONAME ; void TGlxFromVisibleIndexOutwardListIterator::SetRangeOffsets(int, int) - ?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 108 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int) - ??0TGlxFromVisibleIndexOutwardListIterator@@QAE@XZ @ 109 NONAME ; TGlxFromVisibleIndexOutwardListIterator::TGlxFromVisibleIndexOutwardListIterator(void) - ??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 110 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId const &, class TGlxMediaId) - ?GetSlideshowPlayableContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 111 NONAME ; int TGlxMedia::GetSlideshowPlayableContainedItemCount(int &) const - ?MatchById@TGlxMedia@@SAHABV1@0@Z @ 112 NONAME ; int TGlxMedia::MatchById(class TGlxMedia const &, class TGlxMedia const &) - ?SetRangeOffsetsL@CGlxListWindow@@QAEXHH@Z @ 113 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int) - ?SetRangeOffsets@CGlxDefaultListAttributeContext@@QAEXHH@Z @ 114 NONAME ; void CGlxDefaultListAttributeContext::SetRangeOffsets(int, int) - ?MimeType@TGlxMedia@@QBEABVTDesC16@@XZ @ 115 NONAME ; class TDesC16 const & TGlxMedia::MimeType(void) const - ?Uri@TGlxMedia@@QBEABVTDesC16@@XZ @ 116 NONAME ; class TDesC16 const & TGlxMedia::Uri(void) const - ??0TGlxFirstThenLastIterator@@QAE@XZ @ 117 NONAME ; TGlxFirstThenLastIterator::TGlxFirstThenLastIterator(void) - ??1CGlxAttributeContext@@UAE@XZ @ 118 NONAME ; CGlxAttributeContext::~CGlxAttributeContext(void) - ?SetRangeOffsets@CGlxDefaultAttributeContext@@QAEXHH@Z @ 119 NONAME ; void CGlxDefaultAttributeContext::SetRangeOffsets(int, int) - ?ValueCObject@CGlxMedia@@QBEPBVCBase@@ABVTMPXAttribute@@@Z @ 120 NONAME ; class CBase const * CGlxMedia::ValueCObject(class TMPXAttribute const &) const - ?GetCoordinate@TGlxMedia@@QBEHAAVTCoordinate@@@Z @ 121 NONAME ; int TGlxMedia::GetCoordinate(class TCoordinate &) const - ?NewL@CGlxDefaultThumbnailContext@@SAPAV1@XZ @ 122 NONAME ; class CGlxDefaultThumbnailContext * CGlxDefaultThumbnailContext::NewL(void) - ?IsSlideShowPlayableContent@TGlxMedia@@QBEHXZ @ 123 NONAME ; int TGlxMedia::IsSlideShowPlayableContent(void) const - ??1TGlxFromFocusOutwardIterator@@QAE@XZ @ 124 NONAME ; TGlxFromFocusOutwardIterator::~TGlxFromFocusOutwardIterator(void) - ?InRange@TGlxSelectionIterator@@UBEHH@Z @ 125 NONAME ; int TGlxSelectionIterator::InRange(int) const + ??0TGlxScrollingDirectionIterator@@QAE@XZ @ 42 NONAME ; TGlxScrollingDirectionIterator::TGlxScrollingDirectionIterator(void) + ?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 43 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int) + ?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 44 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int) + ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 45 NONAME ; void CGlxMedia::HandleModified(class RArray const &) + ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 46 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const + ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 47 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const + ?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 48 NONAME ; void TGlxSelectionIterator::SetRange(int) + ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 49 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const + ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 50 NONAME ; int TGlxMedia::GetDate(class TTime &) const + ?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 51 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const + ?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 52 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &) + ?SetDefaultSpec@CGlxAttributeContext@@QAEXHH@Z @ 53 NONAME ; void CGlxAttributeContext::SetDefaultSpec(int, int) + ?IsStatic@TGlxMedia@@QBEHXZ @ 54 NONAME ; int TGlxMedia::IsStatic(void) const + ??0CGlxListWindow@@QAE@AAVMGlxWindowObjectFactory@@@Z @ 55 NONAME ; CGlxListWindow::CGlxListWindow(class MGlxWindowObjectFactory &) + ?AddSpecForItemL@CGlxThumbnailContext@@QAEXHHH@Z @ 56 NONAME ; void CGlxThumbnailContext::AddSpecForItemL(int, int, int) + ??1CGlxDefaultAttributeContext@@UAE@XZ @ 57 NONAME ; CGlxDefaultAttributeContext::~CGlxDefaultAttributeContext(void) + ?ThumbnailAttribute@TGlxMedia@@QBEPBVCGlxThumbnailAttribute@@AAVTMPXAttribute@@@Z @ 58 NONAME ; class CGlxThumbnailAttribute const * TGlxMedia::ThumbnailAttribute(class TMPXAttribute &) const + ??1TGlxFirstThenLastIterator@@QAE@XZ @ 59 NONAME ; TGlxFirstThenLastIterator::~TGlxFirstThenLastIterator(void) + ?Title@TGlxMedia@@QBEABVTDesC16@@XZ @ 60 NONAME ; class TDesC16 const & TGlxMedia::Title(void) const + ??ETGlxSelectionIterator@@UAEHH@Z @ 61 NONAME ; int TGlxSelectionIterator::operator++(int) + ?AddAttributeL@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 62 NONAME ; void CGlxAttributeContext::AddAttributeL(class TMPXAttribute const &) + ?SetRangeOffsets@CGlxDefaultThumbnailContext@@QAEXHH@Z @ 63 NONAME ; void CGlxDefaultThumbnailContext::SetRangeOffsets(int, int) + ?__DbgTestInvariant@CGlxStaticItemList@@QBEXXZ @ 64 NONAME ; void CGlxStaticItemList::__DbgTestInvariant(void) const + ?GetDuration@TGlxMedia@@QBEHAAM@Z @ 65 NONAME ; int TGlxMedia::GetDuration(float &) const + ?SetRangeOffsets@TGlxScrollingDirectionIterator@@QAEXHH@Z @ 66 NONAME ; void TGlxScrollingDirectionIterator::SetRangeOffsets(int, int) + ?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 67 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &) + ?InstanceL@MGlxMediaList@@SAPAV1@ABVCMPXCollectionPath@@ABV?$TGlxId@VTGlxIdHierarchyBase@@@@PAVCMPXMedia@@@Z @ 68 NONAME ; class MGlxMediaList * MGlxMediaList::InstanceL(class CMPXCollectionPath const &, class TGlxId const &, class CMPXMedia *) + ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 69 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *) + ?RemoveObjects@CGlxListWindow@@QAEXHHHH@Z @ 70 NONAME ; void CGlxListWindow::RemoveObjects(int, int, int, int) + ?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 71 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const + ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 72 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const + ??0CGlxAttributeContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 73 NONAME ; CGlxAttributeContext::CGlxAttributeContext(class MGlxMediaListIterator *) + ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 74 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const + ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 75 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const + ?AddObjects@CGlxListWindow@@QAEXHH@Z @ 76 NONAME ; void CGlxListWindow::AddObjects(int, int) + ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 77 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const + ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 78 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &) + ??0TGlxSequentialIterator@@QAE@XZ @ 79 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void) + ?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 80 NONAME ; int CGlxAttributeContext::AttributeCount(void) + ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 81 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const + ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 82 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const + ?SetFocusIndex@CGlxListWindow@@QAEXHH@Z @ 83 NONAME ; void CGlxListWindow::SetFocusIndex(int, int) + ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 84 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType) + ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 85 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const + ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 86 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &) + ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 87 NONAME ; void TGlxMedia::DeleteLocationAttribute(void) + ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 88 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const + ??1CGlxMedia@@UAE@XZ @ 89 NONAME ; CGlxMedia::~CGlxMedia(void) + ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 90 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const + ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 91 NONAME ; int TGlxMedia::IsDrmProtected(void) const + ??1CGlxThumbnailContext@@UAE@XZ @ 92 NONAME ; CGlxThumbnailContext::~CGlxThumbnailContext(void) + ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 93 NONAME ; int TGlxMedia::GetDrmProtected(int &) const + ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 94 NONAME ; int TGlxMedia::GetSystemItem(int &) const + ?RemoveObjects@CGlxListWindow@@QAEXHH@Z @ 95 NONAME ; void CGlxListWindow::RemoveObjects(int, int) + ?Close@TGlxFetchContextRemover@@QAEXXZ @ 96 NONAME ; void TGlxFetchContextRemover::Close(void) + ?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 97 NONAME ; class CBase const * CGlxListWindow::At(int) const + ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 98 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int) + ?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 99 NONAME ; class CBase * CGlxListWindow::At(int) + ??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 100 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void) + ?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 101 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &) + ??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 102 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void) + ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 103 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int) + ??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 104 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void) + ?Cleanup@CGlxListWindow@@QAEXXZ @ 105 NONAME ; void CGlxListWindow::Cleanup(void) + ??1TGlxScrollingDirectionIterator@@QAE@XZ @ 106 NONAME ; TGlxScrollingDirectionIterator::~TGlxScrollingDirectionIterator(void) + ??1TGlxExclusionIterator@@QAE@XZ @ 107 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void) + ??1CGlxDefaultListAttributeContext@@UAE@XZ @ 108 NONAME ; CGlxDefaultListAttributeContext::~CGlxDefaultListAttributeContext(void) + ??1TGlxFetchContextRemover@@QAE@XZ @ 109 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void) + ?SetRangeOffsets@TGlxFromVisibleIndexOutwardListIterator@@QAEXHH@Z @ 110 NONAME ; void TGlxFromVisibleIndexOutwardListIterator::SetRangeOffsets(int, int) + ?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 111 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int) + ??0TGlxFromVisibleIndexOutwardListIterator@@QAE@XZ @ 112 NONAME ; TGlxFromVisibleIndexOutwardListIterator::TGlxFromVisibleIndexOutwardListIterator(void) + ??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 113 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId const &, class TGlxMediaId) + ?GetSlideshowPlayableContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 114 NONAME ; int TGlxMedia::GetSlideshowPlayableContainedItemCount(int &) const + ?MatchById@TGlxMedia@@SAHABV1@0@Z @ 115 NONAME ; int TGlxMedia::MatchById(class TGlxMedia const &, class TGlxMedia const &) + ?SetRangeOffsetsL@CGlxListWindow@@QAEXHH@Z @ 116 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int) + ?SetRangeOffsets@CGlxDefaultListAttributeContext@@QAEXHH@Z @ 117 NONAME ; void CGlxDefaultListAttributeContext::SetRangeOffsets(int, int) + ?MimeType@TGlxMedia@@QBEABVTDesC16@@XZ @ 118 NONAME ; class TDesC16 const & TGlxMedia::MimeType(void) const + ?Uri@TGlxMedia@@QBEABVTDesC16@@XZ @ 119 NONAME ; class TDesC16 const & TGlxMedia::Uri(void) const + ??0TGlxFirstThenLastIterator@@QAE@XZ @ 120 NONAME ; TGlxFirstThenLastIterator::TGlxFirstThenLastIterator(void) + ??1CGlxAttributeContext@@UAE@XZ @ 121 NONAME ; CGlxAttributeContext::~CGlxAttributeContext(void) + ?SetRangeOffsets@CGlxDefaultAttributeContext@@QAEXHH@Z @ 122 NONAME ; void CGlxDefaultAttributeContext::SetRangeOffsets(int, int) + ?ValueCObject@CGlxMedia@@QBEPBVCBase@@ABVTMPXAttribute@@@Z @ 123 NONAME ; class CBase const * CGlxMedia::ValueCObject(class TMPXAttribute const &) const + ?GetCoordinate@TGlxMedia@@QBEHAAVTCoordinate@@@Z @ 124 NONAME ; int TGlxMedia::GetCoordinate(class TCoordinate &) const + ?NewL@CGlxDefaultThumbnailContext@@SAPAV1@XZ @ 125 NONAME ; class CGlxDefaultThumbnailContext * CGlxDefaultThumbnailContext::NewL(void) + ?IsSlideShowPlayableContent@TGlxMedia@@QBEHXZ @ 126 NONAME ; int TGlxMedia::IsSlideShowPlayableContent(void) const + ??1TGlxFromFocusOutwardIterator@@QAE@XZ @ 127 NONAME ; TGlxFromFocusOutwardIterator::~TGlxFromFocusOutwardIterator(void) + ?InRange@TGlxSelectionIterator@@UBEHH@Z @ 128 NONAME ; int TGlxSelectionIterator::InRange(int) const diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialists/eabi/glxmedialistsu.def --- a/ui/uiengine/medialists/eabi/glxmedialistsu.def Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialists/eabi/glxmedialistsu.def Mon May 03 00:53:50 2010 +0530 @@ -85,121 +85,128 @@ _ZN28TGlxFromFocusOutwardIteratorC2Ev @ 84 NONAME _ZN28TGlxFromFocusOutwardIteratorD1Ev @ 85 NONAME _ZN28TGlxFromFocusOutwardIteratorD2Ev @ 86 NONAME - _ZN31CGlxDefaultListAttributeContext15SetRangeOffsetsEii @ 87 NONAME - _ZN31CGlxDefaultListAttributeContext4NewLEv @ 88 NONAME - _ZN31CGlxDefaultListAttributeContextD0Ev @ 89 NONAME - _ZN31CGlxDefaultListAttributeContextD1Ev @ 90 NONAME - _ZN31CGlxDefaultListAttributeContextD2Ev @ 91 NONAME - _ZN33TGlxFromManualIndexBlockyIterator15SetRangeOffsetsEii @ 92 NONAME - _ZN33TGlxFromManualIndexBlockyIteratorC1Ev @ 93 NONAME - _ZN33TGlxFromManualIndexBlockyIteratorC2Ev @ 94 NONAME - _ZN33TGlxFromManualIndexBlockyIteratorD1Ev @ 95 NONAME - _ZN33TGlxFromManualIndexBlockyIteratorD2Ev @ 96 NONAME - _ZN34TGlxFromFocusOutwardBlockyIteratorC1Ev @ 97 NONAME - _ZN34TGlxFromFocusOutwardBlockyIteratorC2Ev @ 98 NONAME - _ZN34TGlxFromFocusOutwardBlockyIteratorD1Ev @ 99 NONAME - _ZN34TGlxFromFocusOutwardBlockyIteratorD2Ev @ 100 NONAME - _ZN34TGlxFromIndexOutwardBlockyIterator15SetRangeOffsetsEii @ 101 NONAME - _ZN34TGlxFromIndexOutwardBlockyIteratorC1ERKNS_9MGlxIndexE @ 102 NONAME - _ZN34TGlxFromIndexOutwardBlockyIteratorC2ERKNS_9MGlxIndexE @ 103 NONAME - _ZN34TGlxFromIndexOutwardBlockyIteratorD1Ev @ 104 NONAME - _ZN34TGlxFromIndexOutwardBlockyIteratorD2Ev @ 105 NONAME - _ZN39TGlxFromVisibleIndexOutwardListIterator15SetRangeOffsetsEii @ 106 NONAME - _ZN39TGlxFromVisibleIndexOutwardListIteratorC1Ev @ 107 NONAME - _ZN39TGlxFromVisibleIndexOutwardListIteratorC2Ev @ 108 NONAME - _ZN39TGlxFromVisibleIndexOutwardListIteratorD1Ev @ 109 NONAME - _ZN39TGlxFromVisibleIndexOutwardListIteratorD2Ev @ 110 NONAME - _ZN40TGlxFromManualIndexOutwardBlockyIterator8SetIndexEi @ 111 NONAME - _ZN40TGlxFromManualIndexOutwardBlockyIteratorC1Ev @ 112 NONAME - _ZN40TGlxFromManualIndexOutwardBlockyIteratorC2Ev @ 113 NONAME - _ZN40TGlxFromManualIndexOutwardBlockyIteratorD1Ev @ 114 NONAME - _ZN40TGlxFromManualIndexOutwardBlockyIteratorD2Ev @ 115 NONAME - _ZN9CGlxMedia13SetTextValueLERK13TMPXAttributeRK7TDesC16 @ 116 NONAME - _ZN9CGlxMedia14HandleModifiedERK6RArrayI13TMPXAttributeE @ 117 NONAME - _ZN9CGlxMedia15DeleteAttributeERK13TMPXAttribute @ 118 NONAME - _ZN9CGlxMedia16SetCObjectValueLERK13TMPXAttributeP5CBase @ 119 NONAME - _ZN9CGlxMedia5ResetEv @ 120 NONAME - _ZN9CGlxMedia9SetValueLERK13TMPXAttributePv17TMPXAttributeType @ 121 NONAME - _ZN9CGlxMediaC1ERK11TGlxMediaId @ 122 NONAME - _ZN9CGlxMediaC2ERK11TGlxMediaId @ 123 NONAME - _ZN9CGlxMediaD0Ev @ 124 NONAME - _ZN9CGlxMediaD1Ev @ 125 NONAME - _ZN9CGlxMediaD2Ev @ 126 NONAME - _ZN9MGlxCache9InstanceLEv @ 127 NONAME - _ZN9TGlxMedia23DeleteLocationAttributeEv @ 128 NONAME - _ZN9TGlxMedia9MatchByIdERKS_S1_ @ 129 NONAME - _ZNK14CGlxListWindow2AtEi @ 130 NONAME - _ZNK14CGlxListWindow8IteratorEv @ 131 NONAME - _ZNK21TGlxSelectionIterator7InRangeEi @ 132 NONAME - _ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 133 NONAME - _ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 134 NONAME - _ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 135 NONAME - _ZNK9TGlxMedia11GetDurationERf @ 136 NONAME - _ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 137 NONAME - _ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 138 NONAME - _ZNK9TGlxMedia13GetDimensionsER5TSize @ 139 NONAME - _ZNK9TGlxMedia13GetFrameCountERi @ 140 NONAME - _ZNK9TGlxMedia13GetSystemItemERi @ 141 NONAME - _ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 142 NONAME - _ZNK9TGlxMedia14IsDrmProtectedEv @ 143 NONAME - _ZNK9TGlxMedia15GetDrmProtectedERi @ 144 NONAME - _ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 145 NONAME - _ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 146 NONAME - _ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 147 NONAME - _ZNK9TGlxMedia20GetStaticItemCommandERi @ 148 NONAME - _ZNK9TGlxMedia21GetContainedItemCountERi @ 149 NONAME - _ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 150 NONAME - _ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 151 NONAME - _ZNK9TGlxMedia3UriEv @ 152 NONAME - _ZNK9TGlxMedia5TitleEv @ 153 NONAME - _ZNK9TGlxMedia7CommentEv @ 154 NONAME - _ZNK9TGlxMedia7GetDateER5TTime @ 155 NONAME - _ZNK9TGlxMedia7GetSizeERi @ 156 NONAME - _ZNK9TGlxMedia8CategoryEv @ 157 NONAME - _ZNK9TGlxMedia8IsStaticEv @ 158 NONAME - _ZNK9TGlxMedia8MimeTypeEv @ 159 NONAME - _ZNK9TGlxMedia8SubTitleEv @ 160 NONAME - _ZNK9TGlxMedia9IdSpaceIdEv @ 161 NONAME - _ZTI13CGlxMediaList @ 162 NONAME - _ZTI14CGlxListWindow @ 163 NONAME - _ZTI15CGlxImageReader @ 164 NONAME - _ZTI16CGlxCacheManager @ 165 NONAME - _ZTI20CGlxAttributeContext @ 166 NONAME - _ZTI20CGlxGarbageCollector @ 167 NONAME - _ZTI20CGlxThumbnailContext @ 168 NONAME - _ZTI21TGlxExclusionIterator @ 169 NONAME - _ZTI21TGlxSelectionIterator @ 170 NONAME - _ZTI22TGlxSequentialIterator @ 171 NONAME - _ZTI22TGlxSpecificIdIterator @ 172 NONAME - _ZTI25TGlxFirstThenLastIterator @ 173 NONAME - _ZTI27CGlxDefaultAttributeContext @ 174 NONAME - _ZTI27CGlxDefaultThumbnailContext @ 175 NONAME - _ZTI28TGlxFromFocusOutwardIterator @ 176 NONAME - _ZTI31CGlxDefaultListAttributeContext @ 177 NONAME - _ZTI33TGlxFromManualIndexBlockyIterator @ 178 NONAME - _ZTI34TGlxFromFocusOutwardBlockyIterator @ 179 NONAME - _ZTI34TGlxFromIndexOutwardBlockyIterator @ 180 NONAME - _ZTI39TGlxFromVisibleIndexOutwardListIterator @ 181 NONAME - _ZTI40TGlxFromManualIndexOutwardBlockyIterator @ 182 NONAME - _ZTV13CGlxMediaList @ 183 NONAME - _ZTV14CGlxListWindow @ 184 NONAME - _ZTV15CGlxImageReader @ 185 NONAME - _ZTV16CGlxCacheManager @ 186 NONAME - _ZTV20CGlxAttributeContext @ 187 NONAME - _ZTV20CGlxGarbageCollector @ 188 NONAME - _ZTV20CGlxThumbnailContext @ 189 NONAME - _ZTV21TGlxExclusionIterator @ 190 NONAME - _ZTV21TGlxSelectionIterator @ 191 NONAME - _ZTV22TGlxSequentialIterator @ 192 NONAME - _ZTV22TGlxSpecificIdIterator @ 193 NONAME - _ZTV25TGlxFirstThenLastIterator @ 194 NONAME - _ZTV27CGlxDefaultAttributeContext @ 195 NONAME - _ZTV27CGlxDefaultThumbnailContext @ 196 NONAME - _ZTV28TGlxFromFocusOutwardIterator @ 197 NONAME - _ZTV31CGlxDefaultListAttributeContext @ 198 NONAME - _ZTV33TGlxFromManualIndexBlockyIterator @ 199 NONAME - _ZTV34TGlxFromFocusOutwardBlockyIterator @ 200 NONAME - _ZTV34TGlxFromIndexOutwardBlockyIterator @ 201 NONAME - _ZTV39TGlxFromVisibleIndexOutwardListIterator @ 202 NONAME - _ZTV40TGlxFromManualIndexOutwardBlockyIterator @ 203 NONAME + _ZN30TGlxScrollingDirectionIterator15SetRangeOffsetsEii @ 87 NONAME + _ZN30TGlxScrollingDirectionIteratorC1Ev @ 88 NONAME + _ZN30TGlxScrollingDirectionIteratorC2Ev @ 89 NONAME + _ZN30TGlxScrollingDirectionIteratorD1Ev @ 90 NONAME + _ZN30TGlxScrollingDirectionIteratorD2Ev @ 91 NONAME + _ZN31CGlxDefaultListAttributeContext15SetRangeOffsetsEii @ 92 NONAME + _ZN31CGlxDefaultListAttributeContext4NewLEv @ 93 NONAME + _ZN31CGlxDefaultListAttributeContextD0Ev @ 94 NONAME + _ZN31CGlxDefaultListAttributeContextD1Ev @ 95 NONAME + _ZN31CGlxDefaultListAttributeContextD2Ev @ 96 NONAME + _ZN33TGlxFromManualIndexBlockyIterator15SetRangeOffsetsEii @ 97 NONAME + _ZN33TGlxFromManualIndexBlockyIteratorC1Ev @ 98 NONAME + _ZN33TGlxFromManualIndexBlockyIteratorC2Ev @ 99 NONAME + _ZN33TGlxFromManualIndexBlockyIteratorD1Ev @ 100 NONAME + _ZN33TGlxFromManualIndexBlockyIteratorD2Ev @ 101 NONAME + _ZN34TGlxFromFocusOutwardBlockyIteratorC1Ev @ 102 NONAME + _ZN34TGlxFromFocusOutwardBlockyIteratorC2Ev @ 103 NONAME + _ZN34TGlxFromFocusOutwardBlockyIteratorD1Ev @ 104 NONAME + _ZN34TGlxFromFocusOutwardBlockyIteratorD2Ev @ 105 NONAME + _ZN34TGlxFromIndexOutwardBlockyIterator15SetRangeOffsetsEii @ 106 NONAME + _ZN34TGlxFromIndexOutwardBlockyIteratorC1ERKNS_9MGlxIndexE @ 107 NONAME + _ZN34TGlxFromIndexOutwardBlockyIteratorC2ERKNS_9MGlxIndexE @ 108 NONAME + _ZN34TGlxFromIndexOutwardBlockyIteratorD1Ev @ 109 NONAME + _ZN34TGlxFromIndexOutwardBlockyIteratorD2Ev @ 110 NONAME + _ZN39TGlxFromVisibleIndexOutwardListIterator15SetRangeOffsetsEii @ 111 NONAME + _ZN39TGlxFromVisibleIndexOutwardListIteratorC1Ev @ 112 NONAME + _ZN39TGlxFromVisibleIndexOutwardListIteratorC2Ev @ 113 NONAME + _ZN39TGlxFromVisibleIndexOutwardListIteratorD1Ev @ 114 NONAME + _ZN39TGlxFromVisibleIndexOutwardListIteratorD2Ev @ 115 NONAME + _ZN40TGlxFromManualIndexOutwardBlockyIterator8SetIndexEi @ 116 NONAME + _ZN40TGlxFromManualIndexOutwardBlockyIteratorC1Ev @ 117 NONAME + _ZN40TGlxFromManualIndexOutwardBlockyIteratorC2Ev @ 118 NONAME + _ZN40TGlxFromManualIndexOutwardBlockyIteratorD1Ev @ 119 NONAME + _ZN40TGlxFromManualIndexOutwardBlockyIteratorD2Ev @ 120 NONAME + _ZN9CGlxMedia13SetTextValueLERK13TMPXAttributeRK7TDesC16 @ 121 NONAME + _ZN9CGlxMedia14HandleModifiedERK6RArrayI13TMPXAttributeE @ 122 NONAME + _ZN9CGlxMedia15DeleteAttributeERK13TMPXAttribute @ 123 NONAME + _ZN9CGlxMedia16SetCObjectValueLERK13TMPXAttributeP5CBase @ 124 NONAME + _ZN9CGlxMedia5ResetEv @ 125 NONAME + _ZN9CGlxMedia9SetValueLERK13TMPXAttributePv17TMPXAttributeType @ 126 NONAME + _ZN9CGlxMediaC1ERK11TGlxMediaId @ 127 NONAME + _ZN9CGlxMediaC2ERK11TGlxMediaId @ 128 NONAME + _ZN9CGlxMediaD0Ev @ 129 NONAME + _ZN9CGlxMediaD1Ev @ 130 NONAME + _ZN9CGlxMediaD2Ev @ 131 NONAME + _ZN9MGlxCache9InstanceLEv @ 132 NONAME + _ZN9TGlxMedia23DeleteLocationAttributeEv @ 133 NONAME + _ZN9TGlxMedia9MatchByIdERKS_S1_ @ 134 NONAME + _ZNK14CGlxListWindow2AtEi @ 135 NONAME + _ZNK14CGlxListWindow8IteratorEv @ 136 NONAME + _ZNK21TGlxSelectionIterator7InRangeEi @ 137 NONAME + _ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 138 NONAME + _ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 139 NONAME + _ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 140 NONAME + _ZNK9TGlxMedia11GetDurationERf @ 141 NONAME + _ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 142 NONAME + _ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 143 NONAME + _ZNK9TGlxMedia13GetDimensionsER5TSize @ 144 NONAME + _ZNK9TGlxMedia13GetFrameCountERi @ 145 NONAME + _ZNK9TGlxMedia13GetSystemItemERi @ 146 NONAME + _ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 147 NONAME + _ZNK9TGlxMedia14IsDrmProtectedEv @ 148 NONAME + _ZNK9TGlxMedia15GetDrmProtectedERi @ 149 NONAME + _ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 150 NONAME + _ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 151 NONAME + _ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 152 NONAME + _ZNK9TGlxMedia20GetStaticItemCommandERi @ 153 NONAME + _ZNK9TGlxMedia21GetContainedItemCountERi @ 154 NONAME + _ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 155 NONAME + _ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 156 NONAME + _ZNK9TGlxMedia3UriEv @ 157 NONAME + _ZNK9TGlxMedia5TitleEv @ 158 NONAME + _ZNK9TGlxMedia7CommentEv @ 159 NONAME + _ZNK9TGlxMedia7GetDateER5TTime @ 160 NONAME + _ZNK9TGlxMedia7GetSizeERi @ 161 NONAME + _ZNK9TGlxMedia8CategoryEv @ 162 NONAME + _ZNK9TGlxMedia8IsStaticEv @ 163 NONAME + _ZNK9TGlxMedia8MimeTypeEv @ 164 NONAME + _ZNK9TGlxMedia8SubTitleEv @ 165 NONAME + _ZNK9TGlxMedia9IdSpaceIdEv @ 166 NONAME + _ZTI13CGlxMediaList @ 167 NONAME + _ZTI14CGlxListWindow @ 168 NONAME + _ZTI15CGlxImageReader @ 169 NONAME + _ZTI16CGlxCacheManager @ 170 NONAME + _ZTI20CGlxAttributeContext @ 171 NONAME + _ZTI20CGlxGarbageCollector @ 172 NONAME + _ZTI20CGlxThumbnailContext @ 173 NONAME + _ZTI21TGlxExclusionIterator @ 174 NONAME + _ZTI21TGlxSelectionIterator @ 175 NONAME + _ZTI22TGlxSequentialIterator @ 176 NONAME + _ZTI22TGlxSpecificIdIterator @ 177 NONAME + _ZTI25TGlxFirstThenLastIterator @ 178 NONAME + _ZTI27CGlxDefaultAttributeContext @ 179 NONAME + _ZTI27CGlxDefaultThumbnailContext @ 180 NONAME + _ZTI28TGlxFromFocusOutwardIterator @ 181 NONAME + _ZTI30TGlxScrollingDirectionIterator @ 182 NONAME + _ZTI31CGlxDefaultListAttributeContext @ 183 NONAME + _ZTI33TGlxFromManualIndexBlockyIterator @ 184 NONAME + _ZTI34TGlxFromFocusOutwardBlockyIterator @ 185 NONAME + _ZTI34TGlxFromIndexOutwardBlockyIterator @ 186 NONAME + _ZTI39TGlxFromVisibleIndexOutwardListIterator @ 187 NONAME + _ZTI40TGlxFromManualIndexOutwardBlockyIterator @ 188 NONAME + _ZTV13CGlxMediaList @ 189 NONAME + _ZTV14CGlxListWindow @ 190 NONAME + _ZTV15CGlxImageReader @ 191 NONAME + _ZTV16CGlxCacheManager @ 192 NONAME + _ZTV20CGlxAttributeContext @ 193 NONAME + _ZTV20CGlxGarbageCollector @ 194 NONAME + _ZTV20CGlxThumbnailContext @ 195 NONAME + _ZTV21TGlxExclusionIterator @ 196 NONAME + _ZTV21TGlxSelectionIterator @ 197 NONAME + _ZTV22TGlxSequentialIterator @ 198 NONAME + _ZTV22TGlxSpecificIdIterator @ 199 NONAME + _ZTV25TGlxFirstThenLastIterator @ 200 NONAME + _ZTV27CGlxDefaultAttributeContext @ 201 NONAME + _ZTV27CGlxDefaultThumbnailContext @ 202 NONAME + _ZTV28TGlxFromFocusOutwardIterator @ 203 NONAME + _ZTV30TGlxScrollingDirectionIterator @ 204 NONAME + _ZTV31CGlxDefaultListAttributeContext @ 205 NONAME + _ZTV33TGlxFromManualIndexBlockyIterator @ 206 NONAME + _ZTV34TGlxFromFocusOutwardBlockyIterator @ 207 NONAME + _ZTV34TGlxFromIndexOutwardBlockyIterator @ 208 NONAME + _ZTV39TGlxFromVisibleIndexOutwardListIterator @ 209 NONAME + _ZTV40TGlxFromManualIndexOutwardBlockyIterator @ 210 NONAME diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialists/group/glxmedialists.mmp --- a/ui/uiengine/medialists/group/glxmedialists.mmp Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialists/group/glxmedialists.mmp Mon May 03 00:53:50 2010 +0530 @@ -70,7 +70,7 @@ // if you comment the lines below out, Photos dB will be used for thumbnail fetching MACRO USE_S60_TNM -MACRO MEDIA_ID_BASED_TN_FETCH_ENABLED +// MACRO MEDIA_ID_BASED_TN_FETCH_ENABLED #define USE_S60_TNM LIBRARY avkon.lib // CAknView diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialists/inc/glxmedialist.h --- a/ui/uiengine/medialists/inc/glxmedialist.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialists/inc/glxmedialist.h Mon May 03 00:53:50 2010 +0530 @@ -180,6 +180,9 @@ /// See @ref MGlxMediaList::CancelCommand void CancelCommand(); + + /// See @ref MGlxMediaList::IsCommandActive + TBool IsCommandActive(); /// See @ref MGlxMediaList::SetFilterL void SetFilterL(CMPXFilter* aFilter); diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialists/inc/glxmedialistiterator.h --- a/ui/uiengine/medialists/inc/glxmedialistiterator.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialists/inc/glxmedialistiterator.h Mon May 03 00:53:50 2010 +0530 @@ -554,5 +554,64 @@ const MGlxMediaList* iList; }; +/** + * TGlxScrollingDirectionIterator + * + * Ordered that returns the index of the visible window item based on ScrollDirection + */ +class TGlxScrollingDirectionIterator : public MGlxMediaListIterator + { + +public: + + IMPORT_C ~TGlxScrollingDirectionIterator( ); + IMPORT_C TGlxScrollingDirectionIterator( ); + + /** + * Set the range offsets + */ + IMPORT_C void SetRangeOffsets(TInt aRearOffset, TInt aFrontOffset); + + // From MGlxMediaListIterator + virtual void SetToFirst(const MGlxMediaList* aList); + virtual TInt operator++(TInt); + virtual TBool InRange(TInt aIndex) const; + +private: + + enum TMovingDirection + { + EForward, + EBackward, + EIdle + }; + + /** + * The count or ordinal of the item that is currently "selected" + * This translates to how many times ++ has been called + */ + TInt iCurrentItem; + + /** + * Number of items within range after visible index + */ + TInt iFrontOffset; + + /** + * Number of items within range before visible index + */ + TInt iRearOffset; + + TInt iDefaultVisItems; + TMovingDirection iMovingDirection; + TInt iExVisindex; + +protected: + /** + * List being traversed + */ + const MGlxMediaList* iList; + }; + #endif // __C_GLXMEDIALISTITERATOR_H__ diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialists/inc/glxthumbnailcontext.h --- a/ui/uiengine/medialists/inc/glxthumbnailcontext.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialists/inc/glxthumbnailcontext.h Mon May 03 00:53:50 2010 +0530 @@ -31,7 +31,7 @@ class CGlxAttributeContext; class CGlxDRMUtility; class CGlxResolutionUtility; -class MGlxCache; +//class MGlxCache; class MGlxMediaList; class TGlxMedia; @@ -207,7 +207,7 @@ MGlxMediaListIterator* iIterator; /** Cache manager interface (owned) */ - MGlxCache* iCache; + //MGlxCache* iCache; /** Utility to translate between pixels and poss units */ CGlxResolutionUtility* iResolutionUtility; diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialists/inc/mglxmedialist.h --- a/ui/uiengine/medialists/inc/mglxmedialist.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialists/inc/mglxmedialist.h Mon May 03 00:53:50 2010 +0530 @@ -223,6 +223,11 @@ * Cancels a command on the collection */ virtual void CancelCommand() = 0; + + /** + * Checks if a command is active or not + */ + virtual TBool IsCommandActive()= 0; /** * Sets a filter on the collection. The filter will replace any existing diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialists/src/glxcachemanager.cpp --- a/ui/uiengine/medialists/src/glxcachemanager.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialists/src/glxcachemanager.cpp Mon May 03 00:53:50 2010 +0530 @@ -620,7 +620,8 @@ } else { - iTnEngine->SetQualityPreferenceL(CThumbnailManager::EOptimizeForQualityWithPreview); + //iTnEngine->SetQualityPreferenceL(CThumbnailManager::EOptimizeForQualityWithPreview); + iTnEngine->SetQualityPreferenceL(CThumbnailManager::EOptimizeForPerformance); GLX_DEBUG1("MaintainCacheL() - Fetch TN attrib - EOptimizeForQualityWithPreview"); } @@ -707,7 +708,9 @@ { CGlxImageViewerManager *imageVwrMgr = CGlxImageViewerManager::InstanceL(); CleanupClosePushL(*imageVwrMgr); +#ifdef _DEBUG TInt mediaCnt = list->Count(); +#endif TInt errInImage = KErrNone; diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialists/src/glxlistutils.cpp --- a/ui/uiengine/medialists/src/glxlistutils.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialists/src/glxlistutils.cpp Mon May 03 00:53:50 2010 +0530 @@ -61,7 +61,8 @@ //Need to replace with KGlxDefaultVisibleItemsGranularity after //getting the feature flag. TInt ret = KGlxVGAVisibleItemsGranularity; - FeatureManager::InitializeLibL(); +// for 10.1 we need it to be 21, + /*FeatureManager::InitializeLibL(); if (FeatureManager::FeatureSupported( KFeatureIdLayout640_360_Touch ) || FeatureManager::FeatureSupported( KFeatureIdLayout360_640_Touch )) @@ -75,6 +76,6 @@ { ret = KGlxVGAVisibleItemsGranularity; } - FeatureManager::UnInitializeLib(); + FeatureManager::UnInitializeLib(); */ return ret; } diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialists/src/glxmedialist.cpp --- a/ui/uiengine/medialists/src/glxmedialist.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialists/src/glxmedialist.cpp Mon May 03 00:53:50 2010 +0530 @@ -866,6 +866,24 @@ } // ----------------------------------------------------------------------------- +// Checks if a command is active or not +// ----------------------------------------------------------------------------- +TBool CGlxMediaList::IsCommandActive() + { + TRACER("CGlxMediaList::IsCommandActive"); + + if(iCommandPending) + { + return ETrue; + } + else + { + return EFalse; + } + } + + +// ----------------------------------------------------------------------------- // Cancels a command on the collection // ----------------------------------------------------------------------------- void CGlxMediaList::CancelCommand() diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialists/src/glxmedialistiterator.cpp --- a/ui/uiengine/medialists/src/glxmedialistiterator.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialists/src/glxmedialistiterator.cpp Mon May 03 00:53:50 2010 +0530 @@ -1212,3 +1212,152 @@ return aIndex <= lastInRange || aIndex >= firstInRange; } } + +// ----------------------------------------------------------------------------- +// Constructor +// ----------------------------------------------------------------------------- +// +EXPORT_C TGlxScrollingDirectionIterator::TGlxScrollingDirectionIterator( ) + { + TRACER("TGlxScrollingDirectionIterator::TGlxScrollingDirectionIterator"); + iMovingDirection = EForward; + iExVisindex = 0; + iDefaultVisItems = GlxListUtils::VisibleItemsGranularityL(); + iCurrentItem = 0; + iFrontOffset = 4 * iDefaultVisItems; + iRearOffset = 2 * iDefaultVisItems; // Rear Is Not Handled Yet, We Need To ? + iList = NULL; + } + +// ----------------------------------------------------------------------------- +// Destructor +// ----------------------------------------------------------------------------- +// +EXPORT_C TGlxScrollingDirectionIterator::~TGlxScrollingDirectionIterator() + { + TRACER("TGlxScrollingDirectionIterator::~TGlxScrollingDirectionIterator"); + + } + +// ---------------------------------------------------------------------------- +// Set range offsets +// ---------------------------------------------------------------------------- +// +EXPORT_C void TGlxScrollingDirectionIterator::SetRangeOffsets(TInt aRearOffset, + TInt aFrontOffset) + { + TRACER("TGlxScrollingDirectionIterator::SetRangeOffsets"); + + __ASSERT_DEBUG(aRearOffset >= 0 && aFrontOffset >= 0, Panic(EGlxPanicIllegalArgument)); + iFrontOffset = Max(aFrontOffset, iDefaultVisItems ); + iRearOffset = Max(aRearOffset, iDefaultVisItems ); + } + +// ----------------------------------------------------------------------------- +// Set to first item +// ----------------------------------------------------------------------------- +// +void TGlxScrollingDirectionIterator::SetToFirst(const MGlxMediaList* aList) + { + TRACER("TGlxScrollingDirectionIterator::SetToFirst"); + __ASSERT_DEBUG(aList != NULL, Panic(EGlxPanicNullPointer)); + + iList = aList; + iCurrentItem = 0; + } + +// ----------------------------------------------------------------------------- +// Return the item index or KErrNotFound, and goes to next +// ----------------------------------------------------------------------------- +// +TInt TGlxScrollingDirectionIterator::operator++(TInt) + { + TRACER("TGlxScrollingDirectionIterator::operator++"); + __ASSERT_DEBUG(iList != NULL, Panic(EGlxPanicNullPointer)); + + TInt listCount = iList->Count(); + TInt index = iList->VisibleWindowIndex(); + __ASSERT_ALWAYS( index >= 0 && index <= listCount, Panic( EGlxPanicIllegalState ) ); + + if (listCount <= 0 || iFrontOffset + iRearOffset < iCurrentItem || listCount <= iCurrentItem) + { + return KErrNotFound; + } + + if(iExVisindex < index) + { + iMovingDirection = EForward; + iExVisindex = index; + } + else if(iExVisindex > index) + { + iMovingDirection = EBackward; + iExVisindex = index; + } + + if(EForward == iMovingDirection) + { + if ((index + iCurrentItem < index + iFrontOffset) && (index + iCurrentItem < listCount)) + { + index += iCurrentItem; + } + else + { + return KErrNotFound; + } + } + else + { + if((index + iDefaultVisItems - iCurrentItem > index + iDefaultVisItems - iFrontOffset) && (index + iDefaultVisItems - iCurrentItem < listCount)) + { + index += iDefaultVisItems - iCurrentItem; + } + else + { + return KErrNotFound; + } + } + + iCurrentItem++; + + // The index may be below 0 or above count. Normalise back to list indexes. + return GlxListUtils::NormalizedIndex(index, listCount); + } + +// ----------------------------------------------------------------------------- +// Return ETrue if index is within range, EFalse otherwise, +// ----------------------------------------------------------------------------- +// +TBool TGlxScrollingDirectionIterator::InRange(TInt aIndex) const + { + TRACER("TGlxScrollingDirectionIterator::InRange"); + + // Rear Window is Not Handled yet , Still We include Rear window in Consideration for Garbage Collection + // Need to Re-Visit + TInt count = iList->Count(); + + // Handle the case where range is longer than count separately, because looping will + // confuse otherwise + if (count <= iRearOffset + iFrontOffset) + { + // Range is longer than count, must be in range + return ETrue; + } + + TInt index = iList->VisibleWindowIndex(); + __ASSERT_ALWAYS( index >= 0 && index < iList->Count(), Panic( EGlxPanicIllegalState ) ); + + TInt firstInRange = GlxListUtils::NormalizedIndex(index - iRearOffset, count); + TInt lastInRange = GlxListUtils::NormalizedIndex(index + iFrontOffset, count); + + if (firstInRange <= lastInRange) + { + // Normal case: | F-------L | + return aIndex >= firstInRange && aIndex <= lastInRange; + } + else + { + // Looping case: |----L F----| + return aIndex <= lastInRange || aIndex >= firstInRange; + } + } diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialists/src/glxthumbnailcontext.cpp --- a/ui/uiengine/medialists/src/glxthumbnailcontext.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialists/src/glxthumbnailcontext.cpp Mon May 03 00:53:50 2010 +0530 @@ -32,7 +32,7 @@ #include "glxmedialist.h" #include "glxerrormanager.h" #include "glxthumbnailutility.h" -#include "mglxcache.h" +//#include "mglxcache.h" #include "glxlistutils.h" /** @@ -81,7 +81,7 @@ { TRACER( "CGlxThumbnailContext::ConstructL"); - iCache = MGlxCache::InstanceL(); + //iCache = MGlxCache::InstanceL(); iResolutionUtility = CGlxResolutionUtility::InstanceL(); // iResolutionUtility->AddObserverL( *this ); @@ -136,10 +136,10 @@ iResolutionUtility->Close(); } - if ( iCache ) + /*if ( iCache ) { iCache->Close(); - } + }*/ } // ----------------------------------------------------------------------------- @@ -224,10 +224,11 @@ TBool drmValid = EFalse; TSize size = iDefaultSpecSize; const TGlxMedia& item( aList->Item( aListIndex ) ); - if( item.GetDrmProtected(drmValid) && drmValid) + // DRM is Not Valid yet, can use it if its valid + /*if( item.GetDrmProtected(drmValid) && drmValid) { drmValid = CheckDRMStatusL( aListIndex, aList, size ); - } + }*/ TLinearOrder orderer (&CGlxMediaList::AttributeOrder); // Always want high quality thumbnail @@ -286,12 +287,12 @@ GLX_DEBUG2("CGlxThumbnailContext::AttributeRequestL() listIndex=%d", listIndex); const TGlxMedia& item = aList->Item( listIndex ); TSize size = iDefaultSpecSize; - - TBool drmValid = EFalse; + // DRM is Not Valid yet, can use it if its valid + /*TBool drmValid = EFalse; if( item.GetDrmProtected(drmValid) && drmValid) { CheckDRMStatusL( listIndex, aList, size ); - } + }*/ // Request high quality thumbnail if already have any thumbnail TBool quality = iHighQualityOnly @@ -440,12 +441,12 @@ if ( properties ) { TSize size = iDefaultSpecSize; - - TBool drmValid = EFalse; + // DRM is Not Valid yet, can use it if its valid + /*TBool drmValid = EFalse; if( item.GetDrmProtected(drmValid) && drmValid) { CheckDRMStatusL( aListIndex, aList, size ); - } + }*/ // Want high quality thumbnail if already have any thumbnail TBool quality = iHighQualityOnly || thumbnail; diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialistwrapper/inc/glxmlwrapper.h --- a/ui/uiengine/medialistwrapper/inc/glxmlwrapper.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialistwrapper/inc/glxmlwrapper.h Mon May 03 00:53:50 2010 +0530 @@ -33,6 +33,7 @@ class GlxMLWrapperPrivate; class HbIcon; class CFbsBitmap; +class QImage; //constant declarations @@ -42,7 +43,7 @@ #define GLX_MLWRAPPER_EXPORT Q_DECL_IMPORT #endif -Q_DECLARE_METATYPE(CFbsBitmap*); +Q_DECLARE_METATYPE(CFbsBitmap*) class GLX_MLWRAPPER_EXPORT GlxMLWrapper : public QObject { @@ -51,7 +52,7 @@ /** *constructor */ - GlxMLWrapper(int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType); + GlxMLWrapper(int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType,QString uri = NULL); /** *destructor **/ @@ -68,6 +69,7 @@ * retrieveItemIcon() */ HbIcon* retrieveItemIcon(int index, GlxTBContextType aTBContextType); + QImage retrieveItemImage(int index, GlxTBContextType aTBContextType); void itemsAdded(int startIndex,int endIndex); void itemsRemoved(int startIndex,int endIndex); void handleReceivedIcon(int itemIndex, GlxTBContextType tbContextType); @@ -93,6 +95,16 @@ * @param1 index */ QVariant RetrieveBitmap(int index); + /* + * retrieveListItemCount helps to retrive the number of images in the album + * @param1 index + */ + int retrieveListItemCount(int index); + /* + * isSystemItem helps to get the system item information + * @param1 index + */ + bool isSystemItem( int aItemIndex ); signals: void updateItem(int index, GlxTBContextType tbContextType); diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialistwrapper/inc/glxmlwrapper_p.h --- a/ui/uiengine/medialistwrapper/inc/glxmlwrapper_p.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialistwrapper/inc/glxmlwrapper_p.h Mon May 03 00:53:50 2010 +0530 @@ -31,6 +31,7 @@ class CGlxMLGenericObserver; class CGlxThumbnailContext; class HbIcon; +class QImage; class CGlxDefaultAttributeContext; class CGlxDefaultThumbnailContext; class CGlxDefaultListAttributeContext; @@ -46,7 +47,7 @@ * * @return Pointer to newly created object. NULL if creation fails. Avoiding Leave as would be called by a QT wrapper Class */ - static GlxMLWrapperPrivate* Instance(GlxMLWrapper* aMLWrapper, int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType); + static GlxMLWrapperPrivate* Instance(GlxMLWrapper* aMLWrapper, int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType,QString uri); /** * Destructor. */ @@ -100,6 +101,7 @@ * RetrieveItemIcon() */ HbIcon* RetrieveItemIcon(int index, GlxTBContextType aTBContextType); + QImage RetrieveItemImage(int index, GlxTBContextType aTBContextType); QString RetrieveListTitle(int index); QString RetrieveListSubTitle(int index); QString RetrieveItemUri(int index); @@ -107,6 +109,8 @@ QDate RetrieveItemDate(int index); int RetrieveItemFrameCount(int aItemIndex); CFbsBitmap* RetrieveBitmap(int aItemIndex); + int RetrieveListItemCount( int aItemIndex ); + bool isSystemItem( int aItemIndex ); private: @@ -118,7 +122,7 @@ /** * By default Symbian 2nd phase constructor is private. */ - void ConstructL(int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType); + void ConstructL(int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType,QString uri=NULL); /** * Create an instance of Media List. * @@ -126,8 +130,10 @@ */ void CreateMediaListL(int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType); void CreateMediaListAlbumItemL(int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType); + void CreateMediaListFavoritesItemL(int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType,QString uri); void SetThumbnailContextL(GlxContextMode aContextMode); void SetListContextL(GlxContextMode aContextMode); + void SetFavouriteContextL(); void CreateGridContextL(); void CreateLsFsContextL(); void CreatePtFsContextL(); @@ -135,6 +141,7 @@ void RemoveLsFsContext(); void RemovePtFsContext(); void RemoveListContext(); + void RemoveFavouriteContext(); //for the attribute filtering TInt CheckTBAttributesPresenceandSanity(TInt aItemIndex, const RArray& aAttributes, TMPXAttribute aThumbnailAttribute ); @@ -167,7 +174,8 @@ CGlxDefaultThumbnailContext* iPtFsThumbnailContext; CGlxDefaultThumbnailContext* iLsFsThumbnailContext; CGlxDefaultThumbnailContext* iFocusFsThumbnailContext; - CGlxThumbnailContext* iFocusGridThumbnailContext; + CGlxDefaultThumbnailContext* iFocusGridThumbnailContext; + CGlxThumbnailContext* iFilmStripThumbnailContext; //List related contexts // Fetch context for retrieving title attribute @@ -175,14 +183,17 @@ // Fetch context for retrieving subtitle CGlxDefaultListAttributeContext* iSubtitleAttributeContext; + + //to find if the image is in favorites or not + CGlxDefaultAttributeContext *iFavouriteContext; CGlxThumbnailContext* iListThumbnailContext; // for thumbnail context TGlxFromVisibleIndexOutwardListIterator iThumbnailIterator; // Iterators for Grid and FS - TGlxFromManualIndexBlockyIterator iBlockyIterator; - TGlxFromManualIndexBlockyIterator iBlockyIteratorForFocus; + TGlxScrollingDirectionIterator iBlockyIterator; + TGlxFromManualIndexBlockyIterator iBlockyIteratorForFilmStrip; //Variables for checking the active contexts //todo merge all these variables into 1 and have bitwise operation on them @@ -192,5 +203,6 @@ TBool iLsListContextActivated; //currently not used as we have not implemented the logic for 3 thumbnails TBool iPtListContextActivated; TBool iSelectionListContextActivated; + }; #endif //GLXMLWRAPPER_P_H diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialistwrapper/src/glxmlwrapper.cpp --- a/ui/uiengine/medialistwrapper/src/glxmlwrapper.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialistwrapper/src/glxmlwrapper.cpp Mon May 03 00:53:50 2010 +0530 @@ -20,6 +20,7 @@ //internal includes #include "glxmlwrapper.h" #include "glxmlwrapper_p.h" +#include // ======== MEMBER FUNCTIONS ======== @@ -27,9 +28,9 @@ // constructor. // --------------------------------------------------------------------------- // -GlxMLWrapper::GlxMLWrapper(int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType) +GlxMLWrapper::GlxMLWrapper(int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType,QString uri) { - mMLWrapperPrivate = GlxMLWrapperPrivate::Instance(this, aCollectionId, aHierarchyId, aFilterType); + mMLWrapperPrivate = GlxMLWrapperPrivate::Instance(this, aCollectionId, aHierarchyId, aFilterType,uri); } // --------------------------------------------------------------------------- @@ -69,6 +70,11 @@ } +QImage GlxMLWrapper::retrieveItemImage(int index, GlxTBContextType aTBContextType) +{ + return (mMLWrapperPrivate->RetrieveItemImage(index,aTBContextType)); +} + // --------------------------------------------------------------------------- // retrieveItemIcon. // --------------------------------------------------------------------------- @@ -120,6 +126,16 @@ return var; } +int GlxMLWrapper::retrieveListItemCount(int index) +{ + return mMLWrapperPrivate->RetrieveListItemCount( index ) ; +} + +bool GlxMLWrapper::isSystemItem( int aItemIndex ) +{ + return mMLWrapperPrivate->isSystemItem( aItemIndex ); +} + // --------------------------------------------------------------------------- // getFocusIndex. // --------------------------------------------------------------------------- diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp --- a/ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp Mon May 03 00:53:50 2010 +0530 @@ -68,13 +68,13 @@ // --------------------------------------------------------------------------- // GlxMLWrapperPrivate* GlxMLWrapperPrivate::Instance(GlxMLWrapper* aMLWrapper, - int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType) + int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType,QString uri) { TRACER("GlxMLWrapperPrivate::NewLC()"); GlxMLWrapperPrivate* self = new GlxMLWrapperPrivate(aMLWrapper); if(self){ - TRAPD(err,self->ConstructL(aCollectionId, aHierarchyId, aFilterType)); + TRAPD(err,self->ConstructL(aCollectionId, aHierarchyId, aFilterType,uri)); if(err != KErrNone){ delete self; self = NULL; @@ -102,16 +102,22 @@ iListThumbnailContext = NULL; iFocusGridThumbnailContext = NULL; iFocusFsThumbnailContext = NULL; + iFilmStripThumbnailContext = NULL; + iFavouriteContext = NULL; } // --------------------------------------------------------------------------- // Symbian 2nd phase constructor can leave. // --------------------------------------------------------------------------- // -void GlxMLWrapperPrivate::ConstructL(int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType) +void GlxMLWrapperPrivate::ConstructL(int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType,QString uri) { TRACER("GlxMLWrapperPrivate::ConstructL"); - if(aCollectionId != KGlxAlbumsMediaId) + if(aCollectionId == KGlxCollectionPluginFavoritesAlbumId) + { + CreateMediaListFavoritesItemL(aCollectionId, aHierarchyId,aFilterType,uri); + } + else if(aCollectionId != KGlxAlbumsMediaId) { CreateMediaListL(aCollectionId, aHierarchyId,aFilterType); } @@ -121,7 +127,7 @@ CreateMediaListAlbumItemL(aCollectionId, aHierarchyId,aFilterType); } iMLGenericObserver = CGlxMLGenericObserver::NewL(*iMediaList,this); - iBlockyIteratorForFocus.SetRangeOffsets(0,0); + iBlockyIteratorForFilmStrip.SetRangeOffsets(0,0); } // --------------------------------------------------------------------------- @@ -135,6 +141,7 @@ RemovePtFsContext(); RemoveLsFsContext(); RemoveListContext(); + RemoveFavouriteContext(); delete iMLGenericObserver; iMLGenericObserver = NULL; if (iMediaList) @@ -154,15 +161,45 @@ { TRAP(err, SetThumbnailContextL(aContextMode) ); //todo add a trap here } - else + else if(aContextMode == GlxContextFavorite) + { + TRAP(err,SetFavouriteContextL()); + } + else { TRAP(err, SetListContextL(aContextMode) ); } + GLX_LOG_INFO1("GlxMLWrapperPrivate::SetContextMode error %d", err); iContextMode = aContextMode; } // --------------------------------------------------------------------------- +// SetFavouriteContextL +// --------------------------------------------------------------------------- +// +void GlxMLWrapperPrivate::SetFavouriteContextL() + { + iFavouriteContext = CGlxDefaultAttributeContext::NewL(); + iFavouriteContext->AddAttributeL( KMPXMediaGeneralCount ); + iMediaList->AddContextL( iFavouriteContext, KGlxFetchContextPriorityLow ); + } + +// --------------------------------------------------------------------------- +// RemoveFavouriteContext +// --------------------------------------------------------------------------- +// +void GlxMLWrapperPrivate::RemoveFavouriteContext() + { + if(iFavouriteContext ) + { + iMediaList->RemoveContext(iFavouriteContext); + delete iFavouriteContext; + iFavouriteContext = NULL; + } + } + +// --------------------------------------------------------------------------- // SetListContextL // --------------------------------------------------------------------------- // @@ -178,7 +215,9 @@ iTitleAttributeContext->SetRangeOffsets( KListDataWindowSize, KListDataWindowSize ); iTitleAttributeContext->AddAttributeL( KMPXMediaGeneralTitle ); - iMediaList->AddContextL( iTitleAttributeContext, KMaxTInt ); + iTitleAttributeContext->AddAttributeL( KGlxMediaGeneralSlideshowableContent ); + iTitleAttributeContext->AddAttributeL( KGlxMediaGeneralSystemItem ); + iMediaList->AddContextL( iTitleAttributeContext, KGlxFetchContextPriorityNormal ); } if(NULL == iSubtitleAttributeContext) { @@ -187,7 +226,7 @@ KListDataWindowSize ); iSubtitleAttributeContext->AddAttributeL( KGlxMediaCollectionPluginSpecificSubTitle ); - iMediaList->AddContextL( iSubtitleAttributeContext, KMaxTInt ); + iMediaList->AddContextL( iSubtitleAttributeContext, KGlxFetchContextPriorityNormal ); } if(NULL == iListThumbnailContext) @@ -207,7 +246,9 @@ iTitleAttributeContext = CGlxDefaultListAttributeContext::NewL(); iTitleAttributeContext->SetRangeOffsets( KListDataWindowSize, KListDataWindowSize ); iTitleAttributeContext->AddAttributeL( KMPXMediaGeneralTitle ); - iMediaList->AddContextL( iTitleAttributeContext, KMaxTInt ); + iTitleAttributeContext->AddAttributeL( KGlxMediaGeneralSlideshowableContent ); + iTitleAttributeContext->AddAttributeL( KGlxMediaGeneralSystemItem ); + iMediaList->AddContextL( iTitleAttributeContext, KGlxFetchContextPriorityNormal ); } iSelectionListContextActivated = ETrue; } @@ -236,8 +277,8 @@ } if(aContextMode == GlxContextLsFs && !iLsFsContextActivated) { - if(!iGridContextActivated) { - CreateGridContextL(); + if(iGridContextActivated) { + RemoveGridContext(); } if(iPtFsContextActivated) { RemovePtFsContext(); @@ -246,8 +287,8 @@ } if(aContextMode == GlxContextPtFs && !iPtFsContextActivated) { - if(!iGridContextActivated) { - CreateGridContextL(); + if(iGridContextActivated) { + RemoveGridContext(); } if(iLsFsContextActivated) { RemoveLsFsContext(); @@ -306,14 +347,22 @@ } if(!iFocusGridThumbnailContext) { - iFocusGridThumbnailContext = CGlxThumbnailContext::NewL( &iBlockyIteratorForFocus ); // set the thumbnail context for Focus Grid + iFocusGridThumbnailContext = CGlxDefaultThumbnailContext::NewL(); // set the thumbnail context for Focus Grid + iFocusGridThumbnailContext->SetRangeOffsets(0,0); iFocusGridThumbnailContext->SetDefaultSpec( KGridTNWIdth, KGridTNHeight ); //todo get these image sizes from the layout. } + if(!iFilmStripThumbnailContext) + { + iFilmStripThumbnailContext = CGlxThumbnailContext::NewL( &iBlockyIteratorForFilmStrip ); // set the thumbnail context for Focus Grid + iFilmStripThumbnailContext->SetDefaultSpec( KGridTNWIdth, KGridTNHeight ); //todo get these image sizes from the layout. + } + // show static items if required iMediaList->SetStaticItemsEnabled(EFalse); - iMediaList->AddContextL(iFocusFsThumbnailContext, 7 ); // Temp will change this number - iMediaList->AddContextL(iFocusGridThumbnailContext, 8 ); // Temp will change this number + iMediaList->AddContextL(iFocusFsThumbnailContext, 8 ); // Temp will change this number + iMediaList->AddContextL(iFocusGridThumbnailContext, 9 ); // Temp will change this number + iMediaList->AddContextL(iFilmStripThumbnailContext, 7 ); // Temp will change this number iMediaList->AddContextL(iLsFsThumbnailContext, KGlxFetchContextPriorityGridViewFullscreenVisibleThumbnail ); iLsFsContextActivated = ETrue; } @@ -341,18 +390,26 @@ { iFocusFsThumbnailContext = CGlxDefaultThumbnailContext::NewL(); iFocusFsThumbnailContext->SetRangeOffsets(0,0); - iFocusFsThumbnailContext->SetDefaultSpec( KFullScreenTNLSWidth, KFullScreenTNLSHeight ); //todo get these image sizes from the layout. + iFocusFsThumbnailContext->SetDefaultSpec( KFullScreenTNPTWidth, KFullScreenTNPTHeight ); //todo get these image sizes from the layout. } if(!iFocusGridThumbnailContext) { - iFocusGridThumbnailContext = CGlxThumbnailContext::NewL( &iBlockyIteratorForFocus ); // set the thumbnail context for Focus Grid + iFocusGridThumbnailContext = CGlxDefaultThumbnailContext::NewL(); // set the thumbnail context for Focus Grid + iFocusGridThumbnailContext->SetRangeOffsets(0,0); iFocusGridThumbnailContext->SetDefaultSpec( KGridTNWIdth, KGridTNHeight ); //todo get these image sizes from the layout. } + if(!iFilmStripThumbnailContext) + { + iFilmStripThumbnailContext = CGlxThumbnailContext::NewL( &iBlockyIteratorForFilmStrip ); // set the thumbnail context for Focus Grid + iFilmStripThumbnailContext->SetDefaultSpec( KGridTNPTWIdth, KGridTNPTHeight ); //todo get these image sizes from the layout. + } + // show static items if required iMediaList->SetStaticItemsEnabled(EFalse); - iMediaList->AddContextL(iFocusFsThumbnailContext, 7 ); // Temp will change this number - iMediaList->AddContextL(iFocusGridThumbnailContext, 8 ); // Temp will change this number + iMediaList->AddContextL(iFocusFsThumbnailContext, 8 ); // Temp will change this number + iMediaList->AddContextL(iFocusGridThumbnailContext, 9 ); // Temp will change this number + iMediaList->AddContextL(iFilmStripThumbnailContext, 7 ); // Temp will change this number iMediaList->AddContextL(iPtFsThumbnailContext, KGlxFetchContextPriorityGridViewFullscreenVisibleThumbnail ); iPtFsContextActivated = ETrue; } @@ -398,6 +455,12 @@ delete iFocusGridThumbnailContext; iFocusGridThumbnailContext = NULL; } + if(iFilmStripThumbnailContext) + { + iMediaList->RemoveContext(iFilmStripThumbnailContext); + delete iFilmStripThumbnailContext; + iFilmStripThumbnailContext = NULL; + } iLsFsContextActivated = EFalse; } @@ -428,6 +491,12 @@ delete iFocusGridThumbnailContext; iFocusGridThumbnailContext = NULL; } + if(iFilmStripThumbnailContext) + { + iMediaList->RemoveContext(iFilmStripThumbnailContext); + delete iFilmStripThumbnailContext; + iFilmStripThumbnailContext = NULL; + } iPtFsContextActivated = EFalse; } @@ -535,10 +604,35 @@ GLX_LOG_INFO1("GlxMLWrapperPrivate::MediaListL - Path level = %d", path->Levels()); - - CleanupStack::PopAndDestroy(path); + CleanupStack::PopAndDestroy(path); } +// --------------------------------------------------------------------------- +// CreateMediaListL() for Favorites Album +// Creates a collection path +// Create a filter as requested filtertype +// Creates the medialist +// --------------------------------------------------------------------------- +void GlxMLWrapperPrivate::CreateMediaListFavoritesItemL(int aCollectionId, int aHierarchyId, TGlxFilterItemType aFilterType,QString uri) + { + TRACER("GlxMLWrapperPrivate::CreateMediaListFavoritesItemL"); + Q_UNUSED(aHierarchyId); + // Create path to the list of images and videos + CMPXCollectionPath* path = CMPXCollectionPath::NewL(); + CleanupStack::PushL( path ); + path->AppendL(KGlxCollectionPluginAlbumsImplementationUid); + path->AppendL( TMPXItemId(KGlxCollectionFavoritesId) ); + path->Set( 0 ); + TPtrC16 str(reinterpret_cast(uri.utf16())); + HBufC *ptr = str.Alloc(); + CMPXFilter* filter = TGlxFilterFactory::CreateURIFilterL(*ptr); + CleanupStack::PushL(filter); + iMediaList = MGlxMediaList::InstanceL( *path, + TGlxHierarchyId(KGlxCollectionPluginAlbumsDllUid), filter ); + CleanupStack::PopAndDestroy( filter ); + CleanupStack::PopAndDestroy( path ); + } + /* * retrieveItemIcon */ @@ -604,6 +698,62 @@ GLX_LOG_INFO1("### GlxMLWrapperPrivate::RetrieveItemIcon value-Index is %d and have returned empty icon",aItemIndex); return NULL; } + +QImage GlxMLWrapperPrivate::RetrieveItemImage(int aItemIndex, GlxTBContextType aTBContextType) + { + TInt itemHeight = 0; + TInt itemWidth = 0; + switch (aTBContextType) + { + case GlxTBContextGrid: + { + itemHeight = KGridTNHeight; + itemWidth = KGridTNWIdth; + } + break; + case GlxTBContextPtFs: + { + itemHeight = KFullScreenTNPTHeight; + itemWidth = KFullScreenTNPTWidth; + } + break; + case GlxTBContextLsFs: + { + itemHeight = KFullScreenTNLSHeight; + itemWidth = KFullScreenTNLSWidth; + } + break; + } + const TGlxMedia& item = iMediaList->Item( aItemIndex ); + TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail, + GlxFullThumbnailAttributeId( ETrue,itemWidth,itemHeight ) ); + const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( + thumbnailAttribute ); + TInt tnError = GlxErrorManager::HasAttributeErrorL( + item.Properties(), KGlxMediaIdThumbnail ); + TSize iconSize(itemWidth, itemHeight); + + if (value && value->iBitmap != NULL) + { + value->iBitmap->LockHeap(); + TUint32 *tempData = value->iBitmap->DataAddress(); + uchar *data = (uchar *)(tempData); + int bytesPerLine = value->iBitmap->ScanLineLength(value->iBitmap->SizeInPixels().iWidth , value->iBitmap->DisplayMode()); + QImage image = QImage(data, value->iBitmap->SizeInPixels().iWidth, value->iBitmap->SizeInPixels().iHeight, bytesPerLine, QImage::Format_RGB16).convertToFormat(QImage::Format_ARGB32_Premultiplied); + value->iBitmap->UnlockHeap(); + return image; + } + else if( tnError == KErrCANoRights) + { + //handle DRM case + } + else if( tnError ) + { + return QImage(GLXICON_CORRUPT); + } + + return QImage(); + } // --------------------------------------------------------------------------- // RetrieveListTitle // --------------------------------------------------------------------------- @@ -629,6 +779,33 @@ } // --------------------------------------------------------------------------- +// Retrieve number of image contained by album list +// --------------------------------------------------------------------------- +// +int GlxMLWrapperPrivate::RetrieveListItemCount(int aItemIndex) +{ + const TGlxMedia& item = iMediaList->Item( aItemIndex ); + int count = 0; + TBool ret = item.GetSlideshowPlayableContainedItemCount(count); + if(ret) + return count; + else + return 0; +} + +// --------------------------------------------------------------------------- +// Retrieve the item is system item or not +// --------------------------------------------------------------------------- +// +bool GlxMLWrapperPrivate::isSystemItem( int aItemIndex ) +{ + const TGlxMedia& item = iMediaList->Item( aItemIndex ); + TBool systemItem = false; + item.GetSystemItem( systemItem ); + return systemItem ; +} + +// --------------------------------------------------------------------------- // RetrieveItemUri // --------------------------------------------------------------------------- // @@ -1015,7 +1192,7 @@ QImage image(data, aBitmap->SizeInPixels().iWidth, aBitmap->SizeInPixels().iHeight, bytesPerLine, QImage::Format_RGB16); QPixmap pixmap = QPixmap::fromImage(image); - if ( aBitmap->SizeInPixels().iWidth > itemWidth || aBitmap->SizeInPixels().iHeight ) { + if ( aBitmap->SizeInPixels().iWidth > itemWidth || aBitmap->SizeInPixels().iHeight > itemHeight ) { pixmap = pixmap.scaled( itemWidth, itemHeight, Qt::KeepAspectRatio ); } diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/model/bwins/glxfavmediamodelu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/uiengine/model/bwins/glxfavmediamodelu.def Mon May 03 00:53:50 2010 +0530 @@ -0,0 +1,21 @@ +EXPORTS + ?staticMetaObject@GlxFavMediaModel@@2UQMetaObject@@B @ 1 NONAME ; struct QMetaObject const GlxFavMediaModel::staticMetaObject + ?parent@GlxFavMediaModel@@UBE?AVQModelIndex@@ABV2@@Z @ 2 NONAME ; class QModelIndex GlxFavMediaModel::parent(class QModelIndex const &) const + ?trUtf8@GlxFavMediaModel@@SA?AVQString@@PBD0H@Z @ 3 NONAME ; class QString GlxFavMediaModel::trUtf8(char const *, char const *, int) + ?data@GlxFavMediaModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 4 NONAME ; class QVariant GlxFavMediaModel::data(class QModelIndex const &, int) const + ?metaObject@GlxFavMediaModel@@UBEPBUQMetaObject@@XZ @ 5 NONAME ; struct QMetaObject const * GlxFavMediaModel::metaObject(void) const + ?tr@GlxFavMediaModel@@SA?AVQString@@PBD0@Z @ 6 NONAME ; class QString GlxFavMediaModel::tr(char const *, char const *) + ?getStaticMetaObject@GlxFavMediaModel@@SAABUQMetaObject@@XZ @ 7 NONAME ; struct QMetaObject const & GlxFavMediaModel::getStaticMetaObject(void) + ?trUtf8@GlxFavMediaModel@@SA?AVQString@@PBD0@Z @ 8 NONAME ; class QString GlxFavMediaModel::trUtf8(char const *, char const *) + ??0GlxFavMediaModel@@QAE@AAVGlxModelParm@@@Z @ 9 NONAME ; GlxFavMediaModel::GlxFavMediaModel(class GlxModelParm &) + ?qt_metacall@GlxFavMediaModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10 NONAME ; int GlxFavMediaModel::qt_metacall(enum QMetaObject::Call, int, void * *) + ??_EGlxFavMediaModel@@UAE@I@Z @ 11 NONAME ; GlxFavMediaModel::~GlxFavMediaModel(unsigned int) + ?itemsAdded@GlxFavMediaModel@@QAEXHH@Z @ 12 NONAME ; void GlxFavMediaModel::itemsAdded(int, int) + ?qt_metacast@GlxFavMediaModel@@UAEPAXPBD@Z @ 13 NONAME ; void * GlxFavMediaModel::qt_metacast(char const *) + ??1GlxFavMediaModel@@UAE@XZ @ 14 NONAME ; GlxFavMediaModel::~GlxFavMediaModel(void) + ?rowCount@GlxFavMediaModel@@UBEHABVQModelIndex@@@Z @ 15 NONAME ; int GlxFavMediaModel::rowCount(class QModelIndex const &) const + ?tr@GlxFavMediaModel@@SA?AVQString@@PBD0H@Z @ 16 NONAME ; class QString GlxFavMediaModel::tr(char const *, char const *, int) + ?itemsRemoved@GlxFavMediaModel@@QAEXHH@Z @ 17 NONAME ; void GlxFavMediaModel::itemsRemoved(int, int) + ?columnCount@GlxFavMediaModel@@UBEHABVQModelIndex@@@Z @ 18 NONAME ; int GlxFavMediaModel::columnCount(class QModelIndex const &) const + ?index@GlxFavMediaModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 19 NONAME ; class QModelIndex GlxFavMediaModel::index(int, int, class QModelIndex const &) const + diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/model/bwins/glxmodelwrapperu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/uiengine/model/bwins/glxmodelwrapperu.def Mon May 03 00:53:50 2010 +0530 @@ -0,0 +1,34 @@ +EXPORTS + ??_EGlxModelWrapper@@UAE@I@Z @ 1 NONAME ; GlxModelWrapper::~GlxModelWrapper(unsigned int) + ?setData@GlxModelWrapper@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 2 NONAME ; bool GlxModelWrapper::setData(class QModelIndex const &, class QVariant const &, int) + ?rowsAboutToBeRemoved@GlxModelWrapper@@IAEXABVQModelIndex@@HH@Z @ 3 NONAME ; void GlxModelWrapper::rowsAboutToBeRemoved(class QModelIndex const &, int, int) + ?rowCount@GlxModelWrapper@@UBEHABVQModelIndex@@@Z @ 4 NONAME ; int GlxModelWrapper::rowCount(class QModelIndex const &) const + ??0GlxModelWrapper@@QAE@XZ @ 5 NONAME ; GlxModelWrapper::GlxModelWrapper(void) + ?trUtf8@GlxModelWrapper@@SA?AVQString@@PBD0@Z @ 6 NONAME ; class QString GlxModelWrapper::trUtf8(char const *, char const *) + ?modelDestroyed@GlxModelWrapper@@IAEXXZ @ 7 NONAME ; void GlxModelWrapper::modelDestroyed(void) + ?dataChangedinModel@GlxModelWrapper@@IAEXVQModelIndex@@0@Z @ 8 NONAME ; void GlxModelWrapper::dataChangedinModel(class QModelIndex, class QModelIndex) + ?tr@GlxModelWrapper@@SA?AVQString@@PBD0@Z @ 9 NONAME ; class QString GlxModelWrapper::tr(char const *, char const *) + ?getStaticMetaObject@GlxModelWrapper@@SAABUQMetaObject@@XZ @ 10 NONAME ; struct QMetaObject const & GlxModelWrapper::getStaticMetaObject(void) + ?index@GlxModelWrapper@@UBE?AVQModelIndex@@HHABV2@@Z @ 11 NONAME ; class QModelIndex GlxModelWrapper::index(int, int, class QModelIndex const &) const + ?rowsAboutToBeInserted@GlxModelWrapper@@IAEXABVQModelIndex@@HH@Z @ 12 NONAME ; void GlxModelWrapper::rowsAboutToBeInserted(class QModelIndex const &, int, int) + ?data@GlxModelWrapper@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 13 NONAME ; class QVariant GlxModelWrapper::data(class QModelIndex const &, int) const + ?staticMetaObject@GlxModelWrapper@@2UQMetaObject@@B @ 14 NONAME ; struct QMetaObject const GlxModelWrapper::staticMetaObject + ?scrollingEnded@GlxModelWrapper@@QAEXXZ @ 15 NONAME ; void GlxModelWrapper::scrollingEnded(void) + ?rowsRemoved@GlxModelWrapper@@IAEXABVQModelIndex@@HH@Z @ 16 NONAME ; void GlxModelWrapper::rowsRemoved(class QModelIndex const &, int, int) + ?basemodelindex@GlxModelWrapper@@QBE?AVQModelIndex@@HHABV2@@Z @ 17 NONAME ; class QModelIndex GlxModelWrapper::basemodelindex(int, int, class QModelIndex const &) const + ?columnCount@GlxModelWrapper@@UBEHABVQModelIndex@@@Z @ 18 NONAME ; int GlxModelWrapper::columnCount(class QModelIndex const &) const + ?parent@GlxModelWrapper@@UBE?AVQModelIndex@@ABV2@@Z @ 19 NONAME ; class QModelIndex GlxModelWrapper::parent(class QModelIndex const &) const + ?rowsInserted@GlxModelWrapper@@IAEXABVQModelIndex@@HH@Z @ 20 NONAME ; void GlxModelWrapper::rowsInserted(class QModelIndex const &, int, int) + ?disConnectFromModel@GlxModelWrapper@@AAEXXZ @ 21 NONAME ; void GlxModelWrapper::disConnectFromModel(void) + ?metaObject@GlxModelWrapper@@UBEPBUQMetaObject@@XZ @ 22 NONAME ; struct QMetaObject const * GlxModelWrapper::metaObject(void) const + ??1GlxModelWrapper@@UAE@XZ @ 23 NONAME ; GlxModelWrapper::~GlxModelWrapper(void) + ?connectToModel@GlxModelWrapper@@AAEXXZ @ 24 NONAME ; void GlxModelWrapper::connectToModel(void) + ?setModel@GlxModelWrapper@@QAEXPAVQAbstractItemModel@@@Z @ 25 NONAME ; void GlxModelWrapper::setModel(class QAbstractItemModel *) + ?tr@GlxModelWrapper@@SA?AVQString@@PBD0H@Z @ 26 NONAME ; class QString GlxModelWrapper::tr(char const *, char const *, int) + ?qt_metacall@GlxModelWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 27 NONAME ; int GlxModelWrapper::qt_metacall(enum QMetaObject::Call, int, void * *) + ?setRoles@GlxModelWrapper@@QAEXHH@Z @ 28 NONAME ; void GlxModelWrapper::setRoles(int, int) + ?scrollingStarted@GlxModelWrapper@@QAEXXZ @ 29 NONAME ; void GlxModelWrapper::scrollingStarted(void) + ?trUtf8@GlxModelWrapper@@SA?AVQString@@PBD0H@Z @ 30 NONAME ; class QString GlxModelWrapper::trUtf8(char const *, char const *, int) + ?qt_metacast@GlxModelWrapper@@UAEPAXPBD@Z @ 31 NONAME ; void * GlxModelWrapper::qt_metacast(char const *) + ?resetTheModel@GlxModelWrapper@@AAEXXZ @ 32 NONAME ; void GlxModelWrapper::resetTheModel(void) + diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/model/eabi/glxfavmediamodelu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/uiengine/model/eabi/glxfavmediamodelu.def Mon May 03 00:53:50 2010 +0530 @@ -0,0 +1,21 @@ +EXPORTS + _ZN16GlxFavMediaModel10itemsAddedEii @ 1 NONAME + _ZN16GlxFavMediaModel11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME + _ZN16GlxFavMediaModel11qt_metacastEPKc @ 3 NONAME + _ZN16GlxFavMediaModel12itemsRemovedEii @ 4 NONAME + _ZN16GlxFavMediaModel16staticMetaObjectE @ 5 NONAME DATA 16 + _ZN16GlxFavMediaModel19getStaticMetaObjectEv @ 6 NONAME + _ZN16GlxFavMediaModelC1ER12GlxModelParm @ 7 NONAME + _ZN16GlxFavMediaModelC2ER12GlxModelParm @ 8 NONAME + _ZN16GlxFavMediaModelD0Ev @ 9 NONAME + _ZN16GlxFavMediaModelD1Ev @ 10 NONAME + _ZN16GlxFavMediaModelD2Ev @ 11 NONAME + _ZNK16GlxFavMediaModel10metaObjectEv @ 12 NONAME + _ZNK16GlxFavMediaModel11columnCountERK11QModelIndex @ 13 NONAME + _ZNK16GlxFavMediaModel4dataERK11QModelIndexi @ 14 NONAME + _ZNK16GlxFavMediaModel5indexEiiRK11QModelIndex @ 15 NONAME + _ZNK16GlxFavMediaModel6parentERK11QModelIndex @ 16 NONAME + _ZNK16GlxFavMediaModel8rowCountERK11QModelIndex @ 17 NONAME + _ZTI16GlxFavMediaModel @ 18 NONAME + _ZTV16GlxFavMediaModel @ 19 NONAME + diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/model/eabi/glxmodelwrapperu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/uiengine/model/eabi/glxmodelwrapperu.def Mon May 03 00:53:50 2010 +0530 @@ -0,0 +1,34 @@ +EXPORTS + _ZN15GlxModelWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME + _ZN15GlxModelWrapper11qt_metacastEPKc @ 2 NONAME + _ZN15GlxModelWrapper11rowsRemovedERK11QModelIndexii @ 3 NONAME + _ZN15GlxModelWrapper12rowsInsertedERK11QModelIndexii @ 4 NONAME + _ZN15GlxModelWrapper14connectToModelEv @ 5 NONAME + _ZN15GlxModelWrapper14modelDestroyedEv @ 6 NONAME + _ZN15GlxModelWrapper14scrollingEndedEv @ 7 NONAME + _ZN15GlxModelWrapper16scrollingStartedEv @ 8 NONAME + _ZN15GlxModelWrapper16staticMetaObjectE @ 9 NONAME DATA 16 + _ZN15GlxModelWrapper18dataChangedinModelE11QModelIndexS0_ @ 10 NONAME + _ZN15GlxModelWrapper19disConnectFromModelEv @ 11 NONAME + _ZN15GlxModelWrapper19getStaticMetaObjectEv @ 12 NONAME + _ZN15GlxModelWrapper20rowsAboutToBeRemovedERK11QModelIndexii @ 13 NONAME + _ZN15GlxModelWrapper21rowsAboutToBeInsertedERK11QModelIndexii @ 14 NONAME + _ZN15GlxModelWrapper7setDataERK11QModelIndexRK8QVarianti @ 15 NONAME + _ZN15GlxModelWrapper8setModelEP18QAbstractItemModel @ 16 NONAME + _ZN15GlxModelWrapper8setRolesEii @ 17 NONAME + _ZN15GlxModelWrapperC1Ev @ 18 NONAME + _ZN15GlxModelWrapperC2Ev @ 19 NONAME + _ZN15GlxModelWrapperD0Ev @ 20 NONAME + _ZN15GlxModelWrapperD1Ev @ 21 NONAME + _ZN15GlxModelWrapperD2Ev @ 22 NONAME + _ZNK15GlxModelWrapper10metaObjectEv @ 23 NONAME + _ZNK15GlxModelWrapper11columnCountERK11QModelIndex @ 24 NONAME + _ZNK15GlxModelWrapper14basemodelindexEiiRK11QModelIndex @ 25 NONAME + _ZNK15GlxModelWrapper4dataERK11QModelIndexi @ 26 NONAME + _ZNK15GlxModelWrapper5indexEiiRK11QModelIndex @ 27 NONAME + _ZNK15GlxModelWrapper6parentERK11QModelIndex @ 28 NONAME + _ZNK15GlxModelWrapper8rowCountERK11QModelIndex @ 29 NONAME + _ZTI15GlxModelWrapper @ 30 NONAME + _ZTV15GlxModelWrapper @ 31 NONAME + _ZN15GlxModelWrapper13resetTheModelEv @ 32 NONAME + diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/model/favmediamodel/favmediamodel.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/uiengine/model/favmediamodel/favmediamodel.pro Mon May 03 00:53:50 2010 +0530 @@ -0,0 +1,45 @@ +#/* +#* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +#* All rights reserved. +#* This component and the accompanying materials are made available +#* under the terms of "Eclipse Public License v1.0" +#* which accompanies this distribution, and is available +#* at the URL "http://www.eclipse.org/legal/epl-v10.html". +#* +#* Initial Contributors: +#* Nokia Corporation - initial contribution. +#* +#* Contributors: +#* +#* Description: +#* +#*/ +TEMPLATE = lib +TARGET = glxfavmediamodel +DEPENDPATH += . inc src +INCLUDEPATH += . ../../../inc \ + ../../../../inc \ + ../../../../loggers\loggerqt\inc \ + ../../medialistwrapper/inc + +CONFIG += hb + +LIBS += -lglxmedialistwrapper.dll \ + -lglxloggerqt.dll + + +DEFINES += BUILD_FAVMEDIAMODEL + +symbian: { +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE +TARGET.UID3 = 0x20000A06 +TARGET.CAPABILITY = ALL -TCB +TARGET.EPOCALLOWDLLDATA = 1 +} +# Input +HEADERS += inc/glxfavmediamodel.h + + +SOURCES += src/glxfavmediamodel.cpp + +DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/model/favmediamodel/inc/glxfavmediamodel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/uiengine/model/favmediamodel/inc/glxfavmediamodel.h Mon May 03 00:53:50 2010 +0530 @@ -0,0 +1,63 @@ +/* +* 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: ?Description +* +*/ + + + +#ifndef GLXFAVMEDIAMODEL_H +#define GLXFAVMEDIAMODEL_H + +#include +#include +#include + + + +#ifdef BUILD_FAVMEDIAMODEL +#define GLX_MEDIAMODEL_EXPORT Q_DECL_EXPORT +#else +#define GLX_MEDIAMODEL_EXPORT Q_DECL_IMPORT +#endif + +//forward declarations +class GlxModelParm; + + +class GLX_MEDIAMODEL_EXPORT GlxFavMediaModel : public QAbstractItemModel +{ +Q_OBJECT +public : + + GlxFavMediaModel(GlxModelParm & modelParm); + ~GlxFavMediaModel(); + int rowCount(const QModelIndex &parent = QModelIndex()) const; + int columnCount(const QModelIndex &parent = QModelIndex()) const; + QModelIndex parent(const QModelIndex &child) const; + QVariant data(const QModelIndex &index, int role) const; + QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; + +public slots: + + void itemsAdded(int startIndex, int endIndex); + void itemsRemoved(int startIndex, int endIndex); + +private: + GlxMLWrapper* mMLWrapper; + GlxContextMode mContextMode; +}; + + +#endif /* GLXFAVMEDIAMODEL_H */ diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/model/favmediamodel/src/glxfavmediamodel.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/uiengine/model/favmediamodel/src/glxfavmediamodel.cpp Mon May 03 00:53:50 2010 +0530 @@ -0,0 +1,113 @@ +/* +* 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: ?Description +* +*/ + + + +#include +#include +#include +#include + + +GlxFavMediaModel::GlxFavMediaModel(GlxModelParm & modelParm) +{ + TRACER("GlxFavMediaModel::GlxFavMediaModel"); + mMLWrapper = new GlxMLWrapper(modelParm.collection(),0,EGlxFilterImage,modelParm.path()); + mMLWrapper->setContextMode( modelParm.contextMode() ); + int err = connect(mMLWrapper, SIGNAL(insertItems(int, int)), this, SLOT(itemsAdded(int, int))); + err = connect(mMLWrapper, SIGNAL(removeItems(int, int)), this, SLOT(itemsRemoved(int, int))); +} + +GlxFavMediaModel::~GlxFavMediaModel() +{ + TRACER("GlxFavMediaModel::~GlxFavMediaModel"); + int err = disconnect(mMLWrapper, SIGNAL(insertItems(int, int)), this, SLOT(itemsAdded(int, int))); + err = disconnect(mMLWrapper, SIGNAL(removeItems(int, int)), this, SLOT(itemsRemoved(int, int))); + delete mMLWrapper; +} + + +int GlxFavMediaModel::rowCount(const QModelIndex &parent ) const +{ + TRACER("GlxFavMediaModel::rowCount"); + Q_UNUSED(parent); + return (mMLWrapper->getItemCount()); +} + +int GlxFavMediaModel::columnCount(const QModelIndex &parent ) const +{ + TRACER("GlxFavMediaModel::columnCount"); + Q_UNUSED(parent); + return 1; +} + +QModelIndex GlxFavMediaModel::parent(const QModelIndex &child) const +{ + TRACER("GlxFavMediaModel::parent"); + Q_UNUSED(child); + //returns always invalid model index + return QModelIndex(); +} + + +QVariant GlxFavMediaModel::data(const QModelIndex &index, int role) const +{ + TRACER("GlxFavMediaModel::data"); + + if ((!index.isValid()) ) { + return QVariant(); + } + + if (role == GlxFavorites){ + return rowCount(); + } + + return QVariant(); +} + + +void GlxFavMediaModel::itemsAdded(int startIndex, int endIndex) +{ + TRACER("GlxFavMediaModel::itemsAdded"); + beginInsertRows(QModelIndex(), startIndex, endIndex); + emit dataChanged(index(startIndex,0),index(startIndex,0)); + endInsertRows(); +} + +void GlxFavMediaModel::itemsRemoved(int startIndex, int endIndex) +{ + TRACER("GlxFavMediaModel::itemsRemoved"); + beginRemoveRows(QModelIndex(), startIndex, endIndex); + emit dataChanged(index(startIndex,0),index(startIndex,0)); + endRemoveRows(); +} + + +QModelIndex GlxFavMediaModel::index(int row, int column, const QModelIndex &parent) const +{ + TRACER("GlxFavMediaModel::index"); + Q_UNUSED(parent) + if ( ( row < 0 ) + || ( row > rowCount() ) + || ( column < 0 ) + || ( column >= columnCount() ) ) { + return QModelIndex(); + } + + return QAbstractItemModel::createIndex(row, column); +} + diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/model/listmodel/inc/glxalbummodel.h --- a/ui/uiengine/model/listmodel/inc/glxalbummodel.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/model/listmodel/inc/glxalbummodel.h Mon May 03 00:53:50 2010 +0530 @@ -20,7 +20,6 @@ #include #include -#include #include #ifdef BUILD_LISTMODEL @@ -40,6 +39,7 @@ class HbIcon; class GlxModelParm; +class GlxMLWrapper; class GLX_LISTMODEL_EXPORT GlxAlbumModel : public QAbstractItemModel { @@ -76,7 +76,7 @@ private slots: void updateItemIcon(int itemIndex, HbIcon* itemIcon, GlxTBContextType tbContextType); private: - Q_DECL_IMPORT GlxMLWrapper* mMLWrapper; + GlxMLWrapper* mMLWrapper; GlxContextMode mContextMode; HbIcon* mDefaultIcon; QCache itemIconCache; diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/model/listmodel/src/glxalbummodel.cpp --- a/ui/uiengine/model/listmodel/src/glxalbummodel.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/model/listmodel/src/glxalbummodel.cpp Mon May 03 00:53:50 2010 +0530 @@ -21,6 +21,7 @@ #include #include #include +#include #include "glxicondefs.h" //Contains the icon names/Ids @@ -142,6 +143,12 @@ case GlxFocusIndexRole : idx = getFocusIndex(); return idx.row(); + + case GlxListItemCount : + return mMLWrapper->retrieveListItemCount( getFocusIndex().row() ); + + case GlxSystemItemRole : + return mMLWrapper->isSystemItem( getFocusIndex().row() ); default : return QVariant(); diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/model/mediamodel/inc/glxmediamodel.h --- a/ui/uiengine/model/mediamodel/inc/glxmediamodel.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/model/mediamodel/inc/glxmediamodel.h Mon May 03 00:53:50 2010 +0530 @@ -21,7 +21,6 @@ #define GLXMEDIAMODEL_H #include -#include #include #include #include @@ -35,6 +34,7 @@ class HbIcon; class GlxModelParm; +class GlxMLWrapper; #include #include @@ -90,7 +90,7 @@ private slots: void updateItemIcon(int itemIndex, HbIcon* itemIcon, GlxTBContextType tbContextType); private: - Q_DECL_IMPORT GlxMLWrapper* mMLWrapper; + GlxMLWrapper* mMLWrapper; QCache itemIconCache; QCache itemFsIconCache; HbIcon* m_DefaultIcon; diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/model/mediamodel/src/glxmediamodel.cpp --- a/ui/uiengine/model/mediamodel/src/glxmediamodel.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/model/mediamodel/src/glxmediamodel.cpp Mon May 03 00:53:50 2010 +0530 @@ -19,11 +19,13 @@ #include #include +#include #include #include #include #include #include +#include #include @@ -52,7 +54,7 @@ qDebug("iconAvailable() connection status %d", err); //itemadded.resize(mMLWrapper->getItemCount()); - itemIconCache.setMaxCost(50); + itemIconCache.setMaxCost(20); //Changed While Doing Media Wall itemFsIconCache.setMaxCost(5); itemExternalIconCache.setMaxCost(0); @@ -95,7 +97,7 @@ mContextMode = contextMode; if ( mContextMode == GlxContextLsGrid || mContextMode == GlxContextPtGrid ) { itemIconCache.clear(); - emit dataChanged( index( 0, 0), index( rowCount() - 1, 0) ); + //emit dataChanged( index( 0, 0), index( rowCount() - 1, 0) ); // Not Needed for HgWidget } } } @@ -117,14 +119,17 @@ */ void GlxMediaModel::clearExternalItems() { - beginRemoveRows(QModelIndex(), 0, externalDataCount); - if(mExternalItems) { + if(externalDataCount) { + beginRemoveRows(QModelIndex(), 0, externalDataCount); + if(mExternalItems) { delete mExternalItems; mExternalItems = NULL; externalDataCount = 0; - } - itemExternalIconCache.clear(); - endRemoveRows(); + } + itemExternalIconCache.clear(); + endRemoveRows(); + } + } int GlxMediaModel::rowCount(const QModelIndex &parent ) const @@ -156,7 +161,20 @@ return mSubState; } + if ( role == GlxHgVisibilityRole ) { + return TRUE; + } + + if ( role == Qt::DisplayRole ) { + return QVariant(); + } + + if ( role == GlxDefaultImage ) { + return m_DefaultIcon->pixmap().toImage().convertToFormat(QImage::Format_ARGB32_Premultiplied); + } + HbIcon* itemIcon = NULL; + QImage itemImage; int itemIndex = index.row(); qDebug("GlxMediaModel::data buffer concept index %d role %d", index.row(), role); if ((!index.isValid()) || (index.row() > rowCount()-1)) { @@ -180,11 +198,15 @@ itemIcon = GetGridIconItem(itemIndex,GlxTBContextGrid); if(itemIcon == NULL || itemIcon->isNull() ){ itemIcon = m_DefaultIcon; - // } } return *itemIcon; } + if (role == GlxQImageSmall) + { + return mMLWrapper->retrieveItemImage(itemIndex, GlxTBContextGrid); + } + if (role == GlxFsImageRole){ if(mContextMode == GlxContextLsFs){ itemIcon = GetFsIconItem(itemIndex,GlxTBContextLsFs); @@ -214,6 +236,37 @@ return *itemIcon; } + if (role == GlxQImageLarge) + { + if(mContextMode == GlxContextLsFs) + { + itemImage = mMLWrapper->retrieveItemImage(itemIndex, GlxTBContextLsFs); + } + else + { + itemImage = mMLWrapper->retrieveItemImage(itemIndex, GlxTBContextPtFs); + } + if(!itemImage.isNull()) + { + return itemImage; + } + else + { + itemImage = mMLWrapper->retrieveItemImage(itemIndex, GlxTBContextGrid); + if (!itemImage.isNull()) + { + QSize sz = ( mContextMode == GlxContextLsFs ) ? QSize ( 640, 360) : QSize ( 360, 640 ); + itemImage = itemImage.scaled(sz,Qt::KeepAspectRatio); + } + return itemImage; + } + } + + if (role == GlxVisualWindowIndex) + { + return mMLWrapper->getVisibleWindowIndex(); + } + QModelIndex idx; if ( GlxFocusIndexRole == role ) { idx = getFocusIndex(); @@ -268,9 +321,6 @@ emit iconAvailable(itemIndex,itemIcon, tbContextType); } itemIcon = itemFsIconCache[itemIndex]; - /*if(!itemIcon){ - itemIcon = GetGridIconItem(itemIndex, GlxTBContextGrid); - }*/ } return itemIcon; diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/model/model.pro --- a/ui/uiengine/model/model.pro Mon May 03 12:31:32 2010 +0300 +++ b/ui/uiengine/model/model.pro Mon May 03 00:53:50 2010 +0530 @@ -17,4 +17,6 @@ TEMPLATE = subdirs CONFIG += ordered SUBDIRS = mediamodel \ - listmodel + listmodel \ + modelwrapper \ + favmediamodel diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/model/modelwrapper/inc/glxmodelwrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/uiengine/model/modelwrapper/inc/glxmodelwrapper.h Mon May 03 00:53:50 2010 +0530 @@ -0,0 +1,82 @@ +/* +* 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: ?Description +* +*/ + +#ifndef GLXMODELWRAPPER_H +#define GLXMODELWRAPPER_H + +#include + +#ifdef BUILD_MODELWRAPPER +#define GLX_MODELWRAPPER_EXPORT Q_DECL_EXPORT +#else +#define GLX_MODELWRAPPER_EXPORT Q_DECL_IMPORT +#endif + + +class GLX_MODELWRAPPER_EXPORT GlxModelWrapper : public QAbstractItemModel +{ +Q_OBJECT +public : + + GlxModelWrapper(); + ~GlxModelWrapper(); + void setModel(QAbstractItemModel *model); + void setRoles(int convertrole, int originalrole = Qt::DecorationRole); + + int rowCount(const QModelIndex &parent = QModelIndex()) const; + int columnCount(const QModelIndex &parent = QModelIndex()) const; + QModelIndex parent(const QModelIndex &child) const; + QVariant data(const QModelIndex &idx, int role) const; + bool setData ( const QModelIndex & index, const QVariant & value, int role = Qt::EditRole); + QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; + QModelIndex basemodelindex(int row, int column, const QModelIndex &parent = QModelIndex()) const; + void scrollingStarted(); + void scrollingEnded(); + + +private: + void connectToModel(); + void disConnectFromModel(); + +protected slots: + void modelDestroyed(); + void dataChangedinModel(QModelIndex startIndex, QModelIndex endIndex); + void rowsAboutToBeInserted(const QModelIndex &parent,int start,int end); + void rowsInserted(const QModelIndex &parent, int start, int end); + void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end); + void rowsRemoved(const QModelIndex &parent, int start, int end); + //These might be needed later. Commenting now + /*void columnsAboutToBeInserted(QModelIndex,int,int); + void columnsInserted(QModelIndex,int,int); + void columnsAboutToBeRemoved(QModelIndex,int,int); + void columnsRemoved(QModelIndex,int,int); + void rowsMoved(QModelIndex, int, int, QModelIndex, int); + void layoutAboutToBeChanged(); + void layoutChanged(); + void modelReset(); + void destroyed();*/ + +private: + + void resetTheModel(); + + QAbstractItemModel *mModel; + int mOriginalRole; + int mConvertRole; +}; + +#endif /* GLXMODELWRAPPER_H */ diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/model/modelwrapper/modelwrapper.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/uiengine/model/modelwrapper/modelwrapper.pro Mon May 03 00:53:50 2010 +0530 @@ -0,0 +1,38 @@ +#/* +#* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +#* All rights reserved. +#* This component and the accompanying materials are made available +#* under the terms of "Eclipse Public License v1.0" +#* which accompanies this distribution, and is available +#* at the URL "http://www.eclipse.org/legal/epl-v10.html". +#* +#* Initial Contributors: +#* Nokia Corporation - initial contribution. +#* +#* Contributors: +#* +#* Description: +#* +#*/ +TEMPLATE = lib +TARGET = glxmodelwrapper +DEPENDPATH += . inc src +INCLUDEPATH += . ../../../../inc \ + ../../../inc + +CONFIG += hb + + +DEFINES += BUILD_MODELWRAPPER + +symbian: { +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE +TARGET.UID3 = 0x2000718C +TARGET.CAPABILITY = ALL -TCB +TARGET.EPOCALLOWDLLDATA = 1 +} +# Input +HEADERS += inc/glxmodelwrapper.h +SOURCES += src/glxmodelwrapper.cpp + +DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT \ No newline at end of file diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/uiengine/model/modelwrapper/src/glxmodelwrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/uiengine/model/modelwrapper/src/glxmodelwrapper.cpp Mon May 03 00:53:50 2010 +0530 @@ -0,0 +1,208 @@ +/* +* 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: ?Description +* +*/ + +#include +#include +#include + +GlxModelWrapper::GlxModelWrapper(): mModel ( NULL), + mOriginalRole(Qt::DecorationRole), + mConvertRole(Qt::DecorationRole) + { + + } + +void GlxModelWrapper::setModel(QAbstractItemModel *model) + { + if(model && mModel != model) + { + disConnectFromModel(); + mModel = model; + connectToModel(); + resetTheModel(); + } + } + + +void GlxModelWrapper::setRoles(int convertrole, int originalrole) + { + mConvertRole = convertrole; + mOriginalRole = originalrole; + } + +void GlxModelWrapper::scrollingStarted() + { + + } + +void GlxModelWrapper::scrollingEnded() + { + + } + +void GlxModelWrapper::connectToModel() + { + connect(mModel, SIGNAL(destroyed()),this, SLOT(modelDestroyed())); + connect(mModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)),this,SLOT(dataChangedinModel(QModelIndex,QModelIndex))); + connect(mModel, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)),this,SLOT(rowsAboutToBeInserted(QModelIndex,int,int))); + connect(mModel, SIGNAL(rowsInserted(QModelIndex,int,int)),this, SLOT(rowsInserted(QModelIndex,int,int))); + connect(mModel, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)),this,SLOT(rowsAboutToBeRemoved(QModelIndex,int,int))); + connect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)),this,SLOT(rowsRemoved(QModelIndex,int,int))); + } + +void GlxModelWrapper::disConnectFromModel() + { + if(mModel) + { + disconnect(mModel, SIGNAL(destroyed()),this, SLOT(modelDestroyed())); + disconnect(mModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)),this,SLOT(dataChangedinModel(QModelIndex,QModelIndex))); + disconnect(mModel, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)),this,SLOT(rowsAboutToBeInserted(QModelIndex,int,int))); + disconnect(mModel, SIGNAL(rowsInserted(QModelIndex,int,int)),this, SLOT(rowsInserted(QModelIndex,int,int))); + disconnect(mModel, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)),this,SLOT(rowsAboutToBeRemoved(QModelIndex,int,int))); + disconnect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)),this,SLOT(rowsRemoved(QModelIndex,int,int))); + } + } + + +GlxModelWrapper::~GlxModelWrapper() + { + disConnectFromModel(); + } + +int GlxModelWrapper::rowCount(const QModelIndex &parent ) const + { + Q_UNUSED(parent); + if(mModel) + return (mModel->rowCount()); + else + return 0; + } + +int GlxModelWrapper::columnCount(const QModelIndex &parent ) const + { + Q_UNUSED(parent); + return 1; + } + +QModelIndex GlxModelWrapper::parent(const QModelIndex &child) const + { + Q_UNUSED(child); + return QModelIndex(); // No need to Check mModel ,Should i Set mModel As parent + } + +QVariant GlxModelWrapper::data(const QModelIndex &idx, int role) const + { + if(mModel) + { + if(mOriginalRole == role) + { + return (mModel->data(idx,mConvertRole)); + } + else + { + return (mModel->data(idx,role)); + } + } + else + { + return QVariant(); + } + } + +bool GlxModelWrapper::setData ( const QModelIndex & idx, const QVariant & value, int role ) + { + if(mModel) + { + return (mModel->setData(mModel->index(idx.row(),0),value,role)); + } + else + { + return FALSE; + } + } + +QModelIndex GlxModelWrapper::index(int row, int column, const QModelIndex &parent) const + { + Q_UNUSED(parent); + if ( ( row < 0 ) || ( row >= rowCount() ) || ( column < 0 ) || ( column >= columnCount() ) ) + { + return QModelIndex(); + } + return QAbstractItemModel::createIndex(row, column); + } + +QModelIndex GlxModelWrapper::basemodelindex(int row, int column, const QModelIndex &parent) const + { + Q_UNUSED(parent); + if(mModel) + { + return (mModel->index(row,column)); + } + else + { + return QModelIndex(); + } + } + +void GlxModelWrapper::modelDestroyed() + { + disConnectFromModel(); + mModel = NULL; + resetTheModel(); + } + +void GlxModelWrapper::resetTheModel() + { + beginResetModel(); + endResetModel(); + } + +void GlxModelWrapper::dataChangedinModel(QModelIndex startIndex, QModelIndex endIndex) + { + emit dataChanged(index(startIndex.row(),startIndex.column()),index(endIndex.row(),endIndex.column())); + } + +void GlxModelWrapper::rowsAboutToBeInserted(const QModelIndex &parent,int start,int end) + { + Q_UNUSED(parent); + Q_UNUSED(start); + Q_UNUSED(end); + } + +void GlxModelWrapper::rowsInserted(const QModelIndex &parent, int start, int end) + { + Q_UNUSED(parent); + beginInsertRows(QModelIndex(), start, end); + endInsertRows(); + } + +void GlxModelWrapper::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) + { + Q_UNUSED(parent); + Q_UNUSED(start); + Q_UNUSED(end); + } + +void GlxModelWrapper::rowsRemoved(const QModelIndex &parent, int start, int end) + { + Q_UNUSED(parent); + beginRemoveRows(QModelIndex(), start, end); + endRemoveRows(); + } + + + diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/viewmanagement/statehandler/src/glxactionhandler.cpp --- a/ui/viewmanagement/statehandler/src/glxactionhandler.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/viewmanagement/statehandler/src/glxactionhandler.cpp Mon May 03 00:53:50 2010 +0530 @@ -56,7 +56,9 @@ case EGlxCmdContextRename: commandId = EGlxCmdRename; break; - + case EGlxCmdContextRemoveFrom: + commandId = EGlxCmdRemoveFrom; + break; default : break; } diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/viewmanagement/statehandler/src/glxcommandhandlerfactory.cpp --- a/ui/viewmanagement/statehandler/src/glxcommandhandlerfactory.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/viewmanagement/statehandler/src/glxcommandhandlerfactory.cpp Mon May 03 00:53:50 2010 +0530 @@ -26,6 +26,7 @@ #include #include + GlxCommandHandler* GlxCommandHandlerFactory::CreateCommandHandler(int commandId) { GlxCommandHandler* cmdHandler = NULL; @@ -33,11 +34,15 @@ { case EGlxCmdDelete: cmdHandler = new GlxCommandHandlerDelete(); break; - case EGlxCmdAddToAlbum: cmdHandler = new GlxCommandHandlerAddToContainer(); + case EGlxCmdAddToAlbum: + case EGlxCmdAddToFav: + cmdHandler = new GlxCommandHandlerAddToContainer(); break; case EGlxCmdRotate: cmdHandler = new GlxCommandHandlerRotate(); break; - case EGlxCmdRemoveFrom: cmdHandler = new GlxCommandHandlerRemoveFrom(); + case EGlxCmdRemoveFrom: + case EGlxCmdRemoveFromFav: + cmdHandler = new GlxCommandHandlerRemoveFrom(); break; case EGlxCmdAddMedia: cmdHandler = new GlxCommandHandlerNewMedia(); break; diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/viewmanagement/statehandler/src/glxstatemanager.cpp --- a/ui/viewmanagement/statehandler/src/glxstatemanager.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/viewmanagement/statehandler/src/glxstatemanager.cpp Mon May 03 00:53:50 2010 +0530 @@ -386,7 +386,7 @@ void GlxStateManager::setFullScreenContext() { - if ( mViewManager->orientation() == Qt::Horizontal ) { + if ( mViewManager->orientation() == Qt::Horizontal || mCurrentState->id() == GLX_SLIDESHOWVIEW_ID ) { mCurrentModel->setData(QModelIndex(), (int)GlxContextLsFs, GlxContextRole ); } else { @@ -492,13 +492,6 @@ mViewManager->handleUserAction(mCurrentState->id(), id); id = EGlxCmdHandled; break; - case EGlxCmdRotate: - mViewManager->handleUserAction(mCurrentState->id(), id); - //Disable Rotate CH mActionHandler->handleAction(id,mCollectionId); - id = EGlxCmdHandled; - break; - - case EGlxCmdSetupItem : emit setupItemsSignal(); diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/viewmanagement/viewmanager/src/glxmenumanager.cpp --- a/ui/viewmanagement/viewmanager/src/glxmenumanager.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/viewmanagement/viewmanager/src/glxmenumanager.cpp Mon May 03 00:53:50 2010 +0530 @@ -31,8 +31,9 @@ GlxMenuManager::GlxMenuManager(HbMainWindow* mainWindow) - : mMainWindow( mainWindow ), - mContextMenu( 0 ) + : mModel( 0), + mMainWindow( mainWindow ), + mContextMenu( 0 ) { } @@ -163,10 +164,6 @@ action = menu->addAction(GLX_OPTION_ADD_TO_ALBUM); action->setData(EGlxCmdAddToAlbum); connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected())); - - action = menu->addAction("Rotate"); - action->setData(EGlxCmdRotate); - connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected())); } void GlxMenuManager::setAllActionVisibility( QList actionList, bool visible ) @@ -263,7 +260,13 @@ action = mContextMenu->addAction(GLX_MENU_SLIDESHOW); action->setData(EGlxCmdSelectSlideshow); connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected())); - + + if ( viewSubState() == ALBUM_ITEM_S ) { + action = mContextMenu->addAction(GLX_OPTION_REMOVE_FROM_ALBUM); + action->setData(EGlxCmdContextRemoveFrom); + connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected())); + } + action = mContextMenu->addAction(GLX_MENU_ADD_TO_ALBUM); action->setData(EGlxCmdContextAddToAlbum); connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected())); @@ -273,29 +276,46 @@ connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected())); break; - case GLX_LISTVIEW_ID : - action = mContextMenu->addAction(GLX_MENU_SLIDESHOW); - action->setData(EGlxCmdAlbumSlideShow); - connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected())); - - action = mContextMenu->addAction(GLX_MENU_RENAME); - action->setData(EGlxCmdContextRename); - connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected())); - - action = mContextMenu->addAction(GLX_MENU_DELETE); - action->setData(EGlxCmdContextAlbumDelete); - connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected())); + case GLX_LISTVIEW_ID : { + int count = 0; + QVariant variant = mModel->data( mModel->index(0,0), GlxListItemCount ); + if ( variant.isValid() && variant.canConvert () ) { + count = variant.value(); + } + + if ( count ) { + action = mContextMenu->addAction(GLX_MENU_SLIDESHOW); + action->setData(EGlxCmdAlbumSlideShow); + connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected())); + } + + variant = mModel->data( mModel->index(0,0), GlxSystemItemRole ); + if ( variant.isValid() && variant.canConvert () && ( variant.value() == false ) ) { + action = mContextMenu->addAction(GLX_MENU_RENAME); + action->setData(EGlxCmdContextRename); + connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected())); + + action = mContextMenu->addAction(GLX_MENU_DELETE); + action->setData(EGlxCmdContextAlbumDelete); + connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected())); + } + } break; default: break; } - connect( mMainWindow, SIGNAL( aboutToChangeOrientation () ), mContextMenu, SLOT( close() ) ); - connect( mContextMenu, SIGNAL( aboutToClose () ), this, SLOT( closeContextMenu() ) ); - mContextMenu->setPreferredPos( pos ); - mContextMenu->show(); - + if ( mContextMenu->isEmpty() ) { + delete mContextMenu ; + mContextMenu = NULL ; + } + else { + connect( mMainWindow, SIGNAL( aboutToChangeOrientation () ), mContextMenu, SLOT( close() ) ); + connect( mContextMenu, SIGNAL( aboutToClose () ), this, SLOT( closeContextMenu() ) ); + mContextMenu->setPreferredPos( pos ); + mContextMenu->show(); + } } void GlxMenuManager::closeContextMenu() diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/detailsview/inc/glxdetailscustomicon.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/views/detailsview/inc/glxdetailscustomicon.h Mon May 03 00:53:50 2010 +0530 @@ -0,0 +1,63 @@ +/* +* 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: ?Description +* +*/ + +#ifndef GLXDETAILSCUSTOMICON_H +#define GLXDETAILSCUSTOMICON_H + +#include +class HbIconItem; +class HbIcon; + +class GlxDetailsCustomIcon : public HbWidget +{ + Q_OBJECT + +public: + GlxDetailsCustomIcon(QGraphicsItem *parent); + ~GlxDetailsCustomIcon(); + /* + * Sets the Geometry of the Custom Widget + */ + void setItemGeometry(QRect screenRect); + + /* + * Sets the Size of the Favourite Icon + */ + void setItemSize(const QSizeF &size); + + /* + * Sets the Position of the Favourite Icon + */ + void setItemPos(qreal ax, qreal ay); + + /* + * Sets the Icon of Favourite IconItem. + */ + void setItemIcon(const HbIcon &icon); + +protected: + void mousePressEvent(QGraphicsSceneMouseEvent *event); + void mouseReleaseEvent (QGraphicsSceneMouseEvent *event); + +signals : + void updateFavourites(); + +private: + HbIconItem *mFavIcon; +}; + +#endif // GLXDETAILSCUSTOMICON_H diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/detailsview/inc/glxdetailsview.h --- a/ui/views/detailsview/inc/glxdetailsview.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/detailsview/inc/glxdetailsview.h Mon May 03 00:53:50 2010 +0530 @@ -27,6 +27,9 @@ class QAbstractItemModel; class HbIconItem; class GlxDetailsCustomWidgets; +class GlxDetailsCustomIcon; +class GlxFavMediaModel; + class GlxDetailsView : public GlxView { @@ -76,7 +79,9 @@ public slots: void updateLayout(Qt::Orientation); void rowsRemoved(const QModelIndex &parent, int start, int end); - + void dataChanged(QModelIndex startIndex, QModelIndex endIndex); + void updateFavourites(); + private: //Adds the Widget required to show the details @@ -108,13 +113,34 @@ * clear all the model releted connection and data */ void clearCurrentModel(); + + /* + * cleans up the resources used. + */ + void cleanUp(); + + /* + * create the favourite model + */ + void setFavModel(); private: + + //Contains the thumbnail shown in teh details view. HbIconItem *mDetailsIcon; - - //The media Model to acess the attributes not owned + + //Contains the favourite icon which adds or removes the image to favourite folder + GlxDetailsCustomIcon *mFavIcon; + + //The media Model to acess the attributes; not owned,dont delete. QAbstractItemModel *mModel; + + //The media Model to acess the attributes whether image is in favourite folder or not;owned by this view + GlxFavMediaModel *mFavModel; + + //The Model for the Form + HbDataFormModel *mDetailModel; //The reference to the Main Window HbMainWindow *mWindow; @@ -122,13 +148,18 @@ //The data form for the detail HbDataForm * mDataForm; - //The Model for the Form - HbDataFormModel *mDetailModel; - - //Custom widgets + //Custom widgets which will contain the widgets not created/supported by data form GlxDetailsCustomWidgets *mCustomPrototype; int mSelIndex; - + + //Contains the Datelabel item + HbDataFormModelItem *mDateLabelItem; + + //Contains the ImageLabel item + HbDataFormModelItem *mImageLabelitem; + + //Contains the Comments item + HbDataFormModelItem *mCommentsLabelitem; }; #endif //GLXDETAILSVIEW_H diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/detailsview/src/glxdetailscustomicon.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/views/detailsview/src/glxdetailscustomicon.cpp Mon May 03 00:53:50 2010 +0530 @@ -0,0 +1,95 @@ +/* +* 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: ?Description +* +*/ + + +#include +#include +#include +#include + +//-------------------------------------------------------------------------------------------------------------------------------------------- +//mousePressEvent +//-------------------------------------------------------------------------------------------------------------------------------------------- +void GlxDetailsCustomIcon::mousePressEvent(QGraphicsSceneMouseEvent *event) +{ + Q_UNUSED(event) +} + +//-------------------------------------------------------------------------------------------------------------------------------------------- +//clearCurrentModel +//-------------------------------------------------------------------------------------------------------------------------------------------- +void GlxDetailsCustomIcon::mouseReleaseEvent (QGraphicsSceneMouseEvent *event) +{ + Q_UNUSED(event) + emit updateFavourites(); +} + +//-------------------------------------------------------------------------------------------------------------------------------------------- +//GlxDetailsCustomIcon +//-------------------------------------------------------------------------------------------------------------------------------------------- +GlxDetailsCustomIcon::GlxDetailsCustomIcon(QGraphicsItem *parent) : HbWidget(parent) +{ + mFavIcon = new HbIconItem(this); + HbFrameItem* frame = new HbFrameItem(this); + frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces); + frame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans"); + frame->graphicsItem()->setOpacity(0.2); + setBackgroundItem(frame->graphicsItem(),-1); + +} + +//-------------------------------------------------------------------------------------------------------------------------------------------- +//~GlxDetailsCustomIcon +//-------------------------------------------------------------------------------------------------------------------------------------------- +GlxDetailsCustomIcon::~GlxDetailsCustomIcon() +{ + delete mFavIcon; + mFavIcon = NULL; +} + +//-------------------------------------------------------------------------------------------------------------------------------------------- +//setItemGeometry +//-------------------------------------------------------------------------------------------------------------------------------------------- +void GlxDetailsCustomIcon::setItemGeometry(QRect screenRect) +{ + setGeometry(screenRect); +} + +//-------------------------------------------------------------------------------------------------------------------------------------------- +//setItemSize +//-------------------------------------------------------------------------------------------------------------------------------------------- +void GlxDetailsCustomIcon::setItemSize(const QSizeF &size) +{ + mFavIcon->setSize(size); +} + +//-------------------------------------------------------------------------------------------------------------------------------------------- +//setItemPos +//-------------------------------------------------------------------------------------------------------------------------------------------- +void GlxDetailsCustomIcon::setItemPos(const qreal ax,const qreal ay) +{ + //place the FavIcon with respect to the parent i.e HbWidget + mFavIcon->setPos(ax ,ay); +} + +//-------------------------------------------------------------------------------------------------------------------------------------------- +//setItemIcon +//-------------------------------------------------------------------------------------------------------------------------------------------- +void GlxDetailsCustomIcon::setItemIcon(const HbIcon &icon) +{ + mFavIcon->setIcon(icon); +} diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/detailsview/src/glxdetailscustomwidgets.cpp --- a/ui/views/detailsview/src/glxdetailscustomwidgets.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/detailsview/src/glxdetailscustomwidgets.cpp Mon May 03 00:53:50 2010 +0530 @@ -58,13 +58,7 @@ return dateLabel; } - case CommentsItem: - { - qDebug("GlxDetailsCustomWidgets::createCustomWidget:CommentsItem"); - HbLineEdit *lineEdit = new HbLineEdit(); - lineEdit->setGeometry(25,25,280,120); - return lineEdit; - } + default: return 0; diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/detailsview/src/glxdetailsview.cpp --- a/ui/views/detailsview/src/glxdetailsview.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/detailsview/src/glxdetailsview.cpp Mon May 03 00:53:50 2010 +0530 @@ -1,29 +1,27 @@ /* -* 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: ?Description -* -*/ + * 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: ?Description + * + */ //-------------------------------------------------------------------------------------------------------------------------------------------- - #include #include //-------------------------------------------------------------------------------------------------------------------------------------------- - +#include #include -#include #include #include #include @@ -32,13 +30,17 @@ #include //-------------------------------------------------------------------------------------------------------------------------------------------- - -#include -#include "glxdetailsview.h" +#include "glxviewids.h" +#include "glxicondefs.h" //Contains the icon names/Ids #include "glxmodelparm.h" +#include "glxmediamodel.h" +#include "glxdetailsview.h" +#include "glxfavmediamodel.h" +#include +#include "glxdetailscustomicon.h" #include "glxdetailscustomwidgets.h" -#include "glxviewids.h" -#include +#include + #include "OstTraceDefinitions.h" #ifdef OST_TRACE_COMPILER_IN_USE @@ -46,51 +48,31 @@ #endif +//SIZE OF THE IMAGE , LAYOUTS TEAM NEED TO GIVER THE SIZE IN UNITS +#define GLX_IMAGE_SIZE 215 + //-------------------------------------------------------------------------------------------------------------------------------------------- //GlxDetailsView //-------------------------------------------------------------------------------------------------------------------------------------------- -GlxDetailsView::GlxDetailsView(HbMainWindow *window) : GlxView ( GLX_DETAILSVIEW_ID), - mDetailsIcon(NULL), - mModel(NULL), - mWindow(window), - mDataForm(NULL), +GlxDetailsView::GlxDetailsView(HbMainWindow *window) : + GlxView ( GLX_DETAILSVIEW_ID), + mDetailsIcon(NULL), + mFavIcon(NULL), + mModel(NULL), + mFavModel(NULL), mDetailModel(NULL), + mWindow(window), + mDataForm(NULL), mCustomPrototype(NULL), - mSelIndex (0) - { - OstTraceFunctionEntry0( GLXDETAILSVIEW_GLXDETAILSVIEW_ENTRY ); - + mSelIndex(0), + mDateLabelItem(NULL), + mImageLabelitem(NULL), + mCommentsLabelitem(NULL) + { + OstTraceFunctionEntry0( GLXDETAILSVIEW_GLXDETAILSVIEW_ENTRY ); setContentFullScreen( true );//for smooth transtion between grid to full screen and vice versa OstTraceFunctionExit0( GLXDETAILSVIEW_GLXDETAILSVIEW_EXIT ); - } - -//-------------------------------------------------------------------------------------------------------------------------------------------- -//~GlxDetailsView -//-------------------------------------------------------------------------------------------------------------------------------------------- -GlxDetailsView::~GlxDetailsView() - { - OstTrace0( TRACE_IMPORTANT, GLXDETAILSVIEW_GLXDETAILSVIEW, "GlxDetailsView::~GlxDetailsView" ); - - if(mDetailsIcon) { - delete mDetailsIcon; - mDetailsIcon = NULL; - } - - if(mDataForm && mDataForm->model()) { - delete mDataForm->model(); - mDataForm->setModel(0); - } - - if(mDataForm) { - delete mDataForm; - mDataForm = NULL; - } - - - - clearCurrentModel(); - disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(updateLayout(Qt::Orientation))); - } + } //-------------------------------------------------------------------------------------------------------------------------------------------- //activate @@ -98,9 +80,9 @@ void GlxDetailsView::activate() { OstTraceFunctionEntry0( GLXDETAILSVIEW_ACTIVATE_ENTRY ); - - setFormData(); + setFormData(); connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(updateLayout(Qt::Orientation))); + connect(mFavIcon,SIGNAL(updateFavourites()),this ,SLOT(updateFavourites())); OstTraceFunctionExit0( GLXDETAILSVIEW_ACTIVATE_EXIT ); } @@ -108,27 +90,29 @@ //initializeView //-------------------------------------------------------------------------------------------------------------------------------------------- void GlxDetailsView::initializeView(QAbstractItemModel *model) -{ + { OstTraceFunctionEntry0( GLXDETAILSVIEW_INITIALIZEVIEW_ENTRY ); //To show the thumbnail if ( mDataForm == NULL) { - mDetailsIcon = new HbIconItem(this); + mDataForm = new HbDataForm(this); + mDetailModel = new HbDataFormModel(); - //Create the form and the model for the data form - mDataForm = new HbDataForm(this); - mDetailModel = new HbDataFormModel(); + //custom prototype + mCustomPrototype = new GlxDetailsCustomWidgets(mDataForm); + QList protos = mDataForm->itemPrototypes(); + protos.append(mCustomPrototype); + mDataForm->setItemPrototypes(protos); - //custom prototype - mCustomPrototype = new GlxDetailsCustomWidgets(mDataForm); - QList protos = mDataForm->itemPrototypes(); - protos.append(mCustomPrototype); - mDataForm->setItemPrototypes(protos); - - //Add the Widgets according to the mime type - addWidgets(); + //Add the Widgets according to the mime type + addWidgets(); } + if( mDetailsIcon == NULL) { + mDetailsIcon = new HbIconItem(this); + mFavIcon = new GlxDetailsCustomIcon(this); + } + //Set the Model mModel = model; initializeNewModel(); @@ -137,31 +121,77 @@ updateLayout(mWindow->orientation()); //Shows the Image - showImage(); - + showImage(); OstTraceFunctionExit0( GLXDETAILSVIEW_INITIALIZEVIEW_EXIT ); -} + } //-------------------------------------------------------------------------------------------------------------------------------------------- //resetView //-------------------------------------------------------------------------------------------------------------------------------------------- void GlxDetailsView::resetView() { - OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_RESETVIEW, "GlxDetailsView::resetView" ); - - //Do Nothing here + OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_RESETVIEW, "GlxDetailsView::resetView" ); } //-------------------------------------------------------------------------------------------------------------------------------------------- //deActivate //-------------------------------------------------------------------------------------------------------------------------------------------- void GlxDetailsView::deActivate() -{ + { OstTraceFunctionEntry0( GLXDETAILSVIEW_DEACTIVATE_ENTRY ); + cleanUp(); + OstTraceFunctionExit0( GLXDETAILSVIEW_DEACTIVATE_EXIT ); + } + +//-------------------------------------------------------------------------------------------------------------------------------------------- +//cleanUp +//-------------------------------------------------------------------------------------------------------------------------------------------- +void GlxDetailsView::cleanUp() + { clearCurrentModel(); + + //clear the connections + if(mWindow) { disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(updateLayout(Qt::Orientation))); - OstTraceFunctionExit0( GLXDETAILSVIEW_DEACTIVATE_EXIT ); -} + } + + if(mFavModel) { + disconnect( mFavModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ), this, SLOT( dataChanged(QModelIndex,QModelIndex) ) ); + } + + if(mFavIcon) { + disconnect(mFavIcon,SIGNAL(updateFavourites()),this ,SLOT(updateFavourites())); + } + + delete mFavModel; + mFavModel = NULL; + + delete mFavIcon; + mFavIcon = NULL; + + delete mDetailsIcon; + mDetailsIcon = NULL; + } + +//-------------------------------------------------------------------------------------------------------------------------------------------- +//~GlxDetailsView +//-------------------------------------------------------------------------------------------------------------------------------------------- +GlxDetailsView::~GlxDetailsView() + { + OstTrace0( TRACE_IMPORTANT, GLXDETAILSVIEW_GLXDETAILSVIEW, "GlxDetailsView::~GlxDetailsView" ); + + cleanUp(); + + if(mDetailModel) { + delete mDetailModel; + mDataForm->setModel(0); + } + + if(mDataForm) { + delete mDataForm; + mDataForm = NULL; + } + } //-------------------------------------------------------------------------------------------------------------------------------------------- //addWidgets @@ -169,34 +199,47 @@ void GlxDetailsView::addWidgets() { OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_ADDWIDGETS, "GlxDetailsView::addWidgets create Form" ); - + //----------------------------START OF CREATION OF WIDGETS---------------------------------// // To add new widgets in the details view, add it here. - - //---------------------------IMAGE NAME LABEL --------------------------------------------// - OstTrace0( TRACE_NORMAL, DUP1_GLXDETAILSVIEW_ADDWIDGETS, "GlxDetailsView::addWidgets create Image Label" ); - HbDataFormModelItem *imageLabelitem = - mDetailModel->appendDataFormItem(HbDataFormModelItem::TextItem, QString("Name"), mDetailModel->invisibleRootItem()); - imageLabelitem->setData(HbDataFormModelItem::KeyRole, QString("")); - imageLabelitem->setContentWidgetData(QString("text"),QString("")); - + //---------------------------IMAGE NAME LABEL --------------------------------------------// + OstTrace0( TRACE_NORMAL, DUP1_GLXDETAILSVIEW_ADDWIDGETS, "GlxDetailsView::addWidgets create Image Label" ); + mImageLabelitem = mDetailModel->appendDataFormItem(HbDataFormModelItem::TextItem, QString("Name"), NULL); + //---------------------------DATE LABEL --------------------------------------------// OstTrace0( TRACE_NORMAL, DUP2_GLXDETAILSVIEW_ADDWIDGETS, "GlxDetailsView::addWidgets date label" ); - HbDataFormModelItem *dateLabelItem = mDetailModel->appendDataFormItem((HbDataFormModelItem::DataItemType)(DateLabelItem), QString("Date"), mDetailModel->invisibleRootItem()); - dateLabelItem->setData(HbDataFormModelItem::KeyRole,QString("")); + mDateLabelItem = mDetailModel->appendDataFormItem((HbDataFormModelItem::DataItemType)(DateLabelItem), QString("Date"), NULL); + //----------------------------COMMENTS TEXT ITEM---------------------------------------------// OstTrace0( TRACE_NORMAL, DUP5_GLXDETAILSVIEW_ADDWIDGETS, "GlxDetailsView::addWidgets comment text" ); - HbDataFormModelItem *commentsLabelItem = mDetailModel->appendDataFormItem((HbDataFormModelItem::DataItemType)(CommentsItem), QString("Comments"), mDetailModel->invisibleRootItem()); - commentsLabelItem->setData(HbDataFormModelItem::KeyRole, QString("")); + mCommentsLabelitem = mDetailModel->appendDataFormItem(HbDataFormModelItem::TextItem, QString("Description"), NULL); //----------------------------END OF CREATION OF WIDGETS-------------------------------------// //Set the model to the Data Form - mDataForm->setModel(mDetailModel); + mDataForm->setModel(mDetailModel); } +//-------------------------------------------------------------------------------------------------------------------------------------------- +//setFavModel +//-------------------------------------------------------------------------------------------------------------------------------------------- +void GlxDetailsView::setFavModel() + { + GlxModelParm modelParm; + + QString imagePath = (mModel->data(mModel->index(mModel->data(mModel->index(0,0),GlxFocusIndexRole).value(),0),GlxUriRole)).value(); + + if(mFavModel == NULL) { + modelParm.setCollection( KGlxCollectionPluginFavoritesAlbumId ); + modelParm.setContextMode(GlxContextFavorite); + modelParm.setPath(imagePath); + mFavModel = new GlxFavMediaModel( modelParm ); + } + QString imageName = imagePath.section('\\',-1); + connect( mFavModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ), this, SLOT( dataChanged(QModelIndex,QModelIndex) ) ); + } //-------------------------------------------------------------------------------------------------------------------------------------------- //setModel @@ -212,14 +255,16 @@ initializeNewModel(); } +//-------------------------------------------------------------------------------------------------------------------------------------------- +//getAnimationItem +//-------------------------------------------------------------------------------------------------------------------------------------------- QGraphicsItem * GlxDetailsView::getAnimationItem(GlxEffect transtionEffect) { OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_GETANIMATIONITEM, "GlxDetailsView::getAnimationItem" ); if ( transtionEffect == FULLSCREEN_TO_DETAIL || transtionEffect == DETAIL_TO_FULLSCREEN ) { - return this; + return this; } - return NULL; } @@ -229,26 +274,82 @@ void GlxDetailsView::updateLayout(Qt::Orientation orient) { OstTrace1( TRACE_NORMAL, GLXDETAILSVIEW_UPDATELAYOUT, "GlxDetailsView::updateLayout;orient=%d", orient ); - - QRect screen_rect = mWindow->geometry(); - setGeometry(screen_rect); + + qreal IconPosX = 0.0; + qreal IconPosY = 0.0; + qreal FavIconPosX = 0.0; + qreal FavIconPosY = 0.0; + qreal DataFormX = 0.0; + qreal DataFormY = 0.0; + qreal DataFormWidth = 0.0; + qreal DataFormHeight = 0.0; + + + qreal screenWidth = 0.0; + qreal screenHeight = 0.0; + qreal leftMargin = 0.0; + qreal bottomMargin = 0.0; + qreal screenMargin = 0.0; + qreal favIconSize = 0.0; + qreal chromeHeight = 0.0; + qreal middleVerticalMargin = 0.0; + + style()->parameter("hb-param-screen-width", screenWidth); + style()->parameter("hb-param-screen-height", screenHeight); + + style()->parameter("hb-param-margin-gene-middle-vertical", middleVerticalMargin); + style()->parameter("hb-param-margin-gene-left", leftMargin); + style()->parameter("hb-param-margin-gene-bottom", bottomMargin); + style()->parameter("hb-param-margin-gene-screen", screenMargin); + + style()->parameter("hb-param-graphic-size-primary-small", favIconSize); + style()->parameter("hb-param-widget-chrome-height", chromeHeight); + if(orient == Qt::Horizontal) { - OstTrace0( TRACE_NORMAL, DUP1_GLXDETAILSVIEW_UPDATELAYOUT, "GlxDetailsView::updateLayout HORIZONTAL" ); - mDetailsIcon->setPos(15,75); - mDataForm->setGeometry(301,60,335,300); + OstTrace0( TRACE_NORMAL, DUP1_GLXDETAILSVIEW_UPDATELAYOUT, "GlxDetailsView::updateLayout HORIZONTAL" ); + setGeometry(0,0,640,360); + IconPosX = screenMargin; + IconPosY = (screenMargin + chromeHeight); + FavIconPosX = (IconPosX + GLX_IMAGE_SIZE - (favIconSize +10)); + FavIconPosY = (IconPosY + GLX_IMAGE_SIZE - (favIconSize + 10)); + DataFormX = screenMargin + GLX_IMAGE_SIZE + leftMargin ; + DataFormY = screenMargin + chromeHeight ; + + //This Commented code should be un commented , once the screen width and height size issue is solved and also + //the dataform issue of wrapping issue is solved + // DataFormWidth = screenWidth(640) - DataFormX - screenMargin ; + // DataFormHeight = screenHeight(360) - DataFormY - screenMargin ; + DataFormWidth = screenWidth - (screenMargin + screenMargin) ; + DataFormHeight = screenHeight - DataFormY; } else { - OstTrace0( TRACE_NORMAL, DUP2_GLXDETAILSVIEW_UPDATELAYOUT, "GlxDetailsView::updateLayout VERTICAL" ); - mDetailsIcon->setPos(25,75); - mDataForm->setGeometry(5,351,335,300); - mDataForm->setMaximumWidth(340); + OstTrace0( TRACE_NORMAL, DUP2_GLXDETAILSVIEW_UPDATELAYOUT, "GlxDetailsView::updateLayout VERTICAL" ); + setGeometry(0,0,screenWidth,screenHeight); + IconPosX = (screenWidth/2) - (GLX_IMAGE_SIZE/2); + IconPosY = (screenMargin + chromeHeight); + FavIconPosX = (IconPosX + GLX_IMAGE_SIZE - (favIconSize +10)); + FavIconPosY = (IconPosY + GLX_IMAGE_SIZE - (favIconSize +10)); + DataFormX = screenMargin; + DataFormY = IconPosY + GLX_IMAGE_SIZE + middleVerticalMargin + bottomMargin ; + DataFormWidth = screenWidth - (screenMargin + screenMargin) ; + DataFormHeight = screenHeight - DataFormY; } + + mDetailsIcon->setPos(IconPosX,IconPosY); + //The Numerical should be updated once we get the parameters size from the layouts. + mFavIcon->setItemGeometry(QRect(FavIconPosX-2 ,FavIconPosY-2 ,favIconSize+12,favIconSize + 12)) ; + //Place the FavIcon with respect to the Widget. + mFavIcon->setItemPos(2 ,2 ); + mDataForm->setGeometry(DataFormX,DataFormY,DataFormWidth,DataFormHeight); } +//-------------------------------------------------------------------------------------------------------------------------------------------- +//rowsRemoved +//-------------------------------------------------------------------------------------------------------------------------------------------- void GlxDetailsView::rowsRemoved(const QModelIndex &parent, int start, int end) { Q_UNUSED(parent); @@ -271,29 +372,30 @@ void GlxDetailsView::showImage() { OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_SHOWIMAGE, "GlxDetailsView::showImage" ); - + QVariant variant = mModel->data( mModel->index(0,0), GlxFocusIndexRole ); if ( variant.isValid() && variant.canConvert () ) { - mSelIndex = variant.value(); + mSelIndex = variant.value(); } variant = mModel->data( mModel->index( mSelIndex ,0), GlxFsImageRole); if ( variant.isValid() && variant.canConvert () ) { - if(mWindow->orientation() == Qt::Horizontal) - { - OstTrace0( TRACE_NORMAL, DUP1_GLXDETAILSVIEW_SHOWIMAGE, "GlxDetailsView::showImage HORIZONTAL" ); - - mDetailsIcon->resize(QSize(270, 270)); - mDetailsIcon->setIcon(variant.value()); - } - else - { - OstTrace0( TRACE_NORMAL, DUP2_GLXDETAILSVIEW_SHOWIMAGE, "GlxDetailsView::showImage VERTICAL" ); - mDetailsIcon->resize(QSize(310, 260)); - mDetailsIcon->setIcon(variant.value()); - } - } + QIcon itemIcon = variant.value().qicon(); + QPixmap itemPixmap = itemIcon.pixmap(GLX_IMAGE_SIZE,GLX_IMAGE_SIZE); + QSize sz(GLX_IMAGE_SIZE,GLX_IMAGE_SIZE); + itemPixmap = itemPixmap.scaled(sz, Qt::IgnoreAspectRatio ); + + + HbIcon tmp = HbIcon( QIcon(itemPixmap)) ; + mDetailsIcon->setSize(QSize(GLX_IMAGE_SIZE, GLX_IMAGE_SIZE)); + mDetailsIcon->setIcon(tmp); + mFavIcon->setItemIcon(HbIcon("qtg_graf_ratingslider_unrated")); + + qreal favIconSize = 0.0; + style()->parameter("hb-param-graphic-size-primary-small", favIconSize); + mFavIcon->setItemSize(QSize(favIconSize+10, favIconSize+10)); + } } //-------------------------------------------------------------------------------------------------------------------------------------------- @@ -302,9 +404,13 @@ void GlxDetailsView::setFormData() { OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_SETFORMDATA, "GlxDetailsView::setFormData" ); - + + //create and set the Favourite Model + setFavModel(); + //Call to set the Image Name setImageName(); + //Call to set the date in the from setDate(); } @@ -319,20 +425,7 @@ QString imagePath = (mModel->data(mModel->index(mModel->data(mModel->index(0,0),GlxFocusIndexRole).value(),0),GlxUriRole)).value(); QString imageName = imagePath.section('\\',-1); - //Fetch the text edit for displaying the Name from the Form Model - GlxDetailsCustomWidgets * imageLabel = (GlxDetailsCustomWidgets *)mDataForm->itemByIndex(mDetailModel->index(0,0)); - - if(imageLabel) - { - OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_SETIMAGENAME, "GlxDetailsView::setImageName ImageLabel !=NULL" ); - HbLineEdit* label = static_cast(imageLabel->dataItemContentWidget()); - - if(label) - { - OstTrace0( TRACE_NORMAL, DUP1_GLXDETAILSVIEW_SETIMAGENAME, "GlxDetailsView::setImageName SetText" ); - label->setText(imageName); - } - } + mImageLabelitem->setContentWidgetData("text",imageName); OstTraceFunctionExit0( GLXDETAILSVIEW_SETIMAGENAME_EXIT ); } @@ -342,50 +435,83 @@ void GlxDetailsView::setDate() { OstTraceFunctionEntry0( GLXDETAILSVIEW_SETDATE_ENTRY ); - + QString datestring; QString str("dd.MM.yyyy"); QDate date = (mModel->data(mModel->index(mModel->data(mModel->index(0,0),GlxFocusIndexRole).value(),0),GlxDateRole)).value(); if(date.isNull() == FALSE ) { - OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_SETDATE, "GlxDetailsView::setDate is not NULL" ); - datestring = date.toString(str); + OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_SETDATE, "GlxDetailsView::setDate is not NULL" ); + datestring = date.toString(str); } - //Fetch the Label from the Form Model - GlxDetailsCustomWidgets * dateLabel = (GlxDetailsCustomWidgets *)mDataForm->itemByIndex(mDetailModel->index(1,0)); + mDateLabelItem->setContentWidgetData("plainText",datestring); - if(dateLabel) - { - OstTrace0( TRACE_NORMAL, DUP1_GLXDETAILSVIEW_SETDATE, "GlxDetailsView::setDate Datelabel is not NULL" ); - - HbLabel* label = static_cast(dateLabel->dataItemContentWidget()); - - if(label) - { - OstTrace0( TRACE_NORMAL, DUP2_GLXDETAILSVIEW_SETDATE, "GlxDetailsView::setDate SetText" ); - label->setPlainText(datestring); - } - } OstTraceFunctionExit0( GLXDETAILSVIEW_SETDATE_EXIT ); } +//-------------------------------------------------------------------------------------------------------------------------------------------- +//initializeNewModel +//-------------------------------------------------------------------------------------------------------------------------------------------- void GlxDetailsView::initializeNewModel() { OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_INITIALIZENEWMODEL, "GlxDetailsView::initializeNewModel" ); - + if ( mModel ) { connect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(rowsRemoved(QModelIndex,int,int))); } } +//-------------------------------------------------------------------------------------------------------------------------------------------- +//clearCurrentModel +//-------------------------------------------------------------------------------------------------------------------------------------------- void GlxDetailsView::clearCurrentModel() { OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_CLEARCURRENTMODEL, "GlxDetailsView::clearCurrentModel" ); - + if ( mModel ) { disconnect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(rowsRemoved(QModelIndex,int,int))); mModel = NULL ; } } + +//-------------------------------------------------------------------------------------------------------------------------------------------- +//dataChanged +//-------------------------------------------------------------------------------------------------------------------------------------------- +void GlxDetailsView::dataChanged(QModelIndex startIndex, QModelIndex endIndex) + { + Q_UNUSED(endIndex); + + QVariant variant = mFavModel->data( startIndex, GlxFavorites ); + if ( variant.isValid() && variant.canConvert () ) + { + if(variant.value() ) + { + mFavIcon->setItemIcon(HbIcon(GLXICON_ADD_TO_FAV)); + } + else + { + mFavIcon->setItemIcon(HbIcon(GLXICON_REMOVE_FAV)); + } + } + } + +//-------------------------------------------------------------------------------------------------------------------------------------------- +//updateFavourites +//-------------------------------------------------------------------------------------------------------------------------------------------- +void GlxDetailsView::updateFavourites() + { + QVariant variant = mFavModel->data(mFavModel->index(0,0), GlxFavorites ); + if ( variant.isValid() && variant.canConvert ()) + { + if(variant.value() ) + { + emit actionTriggered( EGlxCmdRemoveFromFav); + } + else + { + emit actionTriggered(EGlxCmdAddToFav); + } + } + } diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/effectengine/inc/glxeffectengine.h --- a/ui/views/effectengine/inc/glxeffectengine.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/effectengine/inc/glxeffectengine.h Mon May 03 00:53:50 2010 +0530 @@ -32,6 +32,9 @@ #include #include "glxuistd.h" +class XQSettingsKey; +class XQSettingsManager; +class QStringList; typedef enum { NO_MOVE, @@ -47,10 +50,29 @@ { public : GlxSlideShowSetting(int slideDelayTime = 0, GlxEffect effect = NO_EFFECT, GlxSlideShowMoveDir moveDir = NO_MOVE); + ~GlxSlideShowSetting(); int slideDelayTime ( ) { return mSlideDelayTime; } GlxEffect effect() { return mEffect ; } void setEffect(GlxEffect effect) { mEffect = effect ;} GlxSlideShowMoveDir slideShowMoveDir() { return mMoveDir; } + /* Returns the index to the selected transition effect + This value is fetched from Central repository */ + int slideShowEffectIndex() ; + /*SlideShowSettingsView will call this API to set the index of the transition effect chosen. + This data will be written to the Central Repository*/ + void setslideShowEffectIndex( int index ); + + /* Returns the index to the selected transition delay / + This value is fetched from Central repository */ + int slideShowDelayIndex(); + + /*SlideShowSettingsView will call this API to set the index of the transition delay chosen. + This data will be written to the Central Repository*/ + void setSlideShowDelayIndex( int index ); + + /*This will return the list of effects as available in the central repository */ + QStringList slideShowEffectList(); + /* * This funtion read the user setting store in a file system. * @@ -60,7 +82,18 @@ private : int mSlideDelayTime; //user set time interval in between showing slide GlxEffect mEffect; //user defined effect, To:Do It is either some integer value or some enum + GlxSlideShowDelay mDelay; GlxSlideShowMoveDir mMoveDir; //user defined slide move direction + QStringList mEffectList; + XQSettingsManager *mSettingsManager; + XQSettingsKey *mTransitionEffectCenrepKey; + XQSettingsKey *mTransitionDelayCenrepKey; + XQSettingsKey *mWaveEffectCenRepKey; + XQSettingsKey *mFadeEffectCenRepKey; + XQSettingsKey *mZoomEffectCenRepKey; + XQSettingsKey *mSlowCenRepKey; + XQSettingsKey *mMediumCenRepKey; + XQSettingsKey *mFastCenRepKey; }; /* diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/effectengine/src/glxeffectengine.cpp --- a/ui/views/effectengine/src/glxeffectengine.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/effectengine/src/glxeffectengine.cpp Mon May 03 00:53:50 2010 +0530 @@ -23,18 +23,93 @@ #include "glxfadeplugin.h" #include +#include +#include +#include +const TUint32 KGlxTransitionEffect = 0x1; +const TUint32 KGlxTransitionDelay = 0x2; +const TUint32 KGlxSlow = 0x3; +const TUint32 KGlxMeduim = 0x4; +const TUint32 KGlxFast = 0x5; +const TUint32 KGlxWaveEffect = 0x6; +const TUint32 KGlxFadeEffect = 0x7; +const TUint32 KGlxZoomToFaceEffect = 0x8; +const TUint32 KCRUidGallery = 0x20007194; GlxSlideShowSetting::GlxSlideShowSetting( int slideDelayTime, GlxEffect effect, GlxSlideShowMoveDir moveDir ) : mSlideDelayTime(slideDelayTime), mEffect ( effect), mMoveDir ( moveDir) { + mSettingsManager = new XQSettingsManager(); + mTransitionEffectCenrepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery , KGlxTransitionEffect); + mTransitionDelayCenrepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery , KGlxTransitionDelay); + mSlowCenRepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxSlow); + mMediumCenRepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxMeduim); + mFastCenRepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxFast); + mWaveEffectCenRepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxWaveEffect ); + mFadeEffectCenRepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxFadeEffect); + mZoomEffectCenRepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery , KGlxZoomToFaceEffect ); } +GlxSlideShowSetting::~GlxSlideShowSetting( ) +{ + delete mFastCenRepKey; + delete mMediumCenRepKey; + delete mSlowCenRepKey; + delete mZoomEffectCenRepKey; + delete mFadeEffectCenRepKey; + delete mWaveEffectCenRepKey; + delete mTransitionDelayCenrepKey; + delete mTransitionEffectCenrepKey; + delete mSettingsManager; +} +int GlxSlideShowSetting::slideShowDelayIndex() +{ + QVariant effectvalue = mSettingsManager->readItemValue(*mTransitionDelayCenrepKey); + return effectvalue.toInt(); +} +void GlxSlideShowSetting::setSlideShowDelayIndex( int index ) +{ + mSettingsManager->writeItemValue(*mTransitionDelayCenrepKey, index); +} +QStringList GlxSlideShowSetting::slideShowEffectList() +{ + if(mSettingsManager->readItemValue(*mWaveEffectCenRepKey).toInt() == WAVE_EFFECT) + mEffectList<<"wave"; + if(mSettingsManager->readItemValue(*mFadeEffectCenRepKey).toInt() == SMOOTH_FADE) + mEffectList<<"Fade"; + if(mSettingsManager->readItemValue(*mZoomEffectCenRepKey).toInt() == ZOOM_TO_FACE) + mEffectList<<"Zoom to face"; + return mEffectList; +} +int GlxSlideShowSetting::slideShowEffectIndex() +{ + QVariant effectvalue = mSettingsManager->readItemValue(*mTransitionEffectCenrepKey); + return effectvalue.toInt(); +} +void GlxSlideShowSetting::setslideShowEffectIndex( int index ) +{ + mSettingsManager->writeItemValue(*mTransitionEffectCenrepKey, index); +} void GlxSlideShowSetting::readSlideShowSetting() { //To:Do read from the file system - mSlideDelayTime = 3000; + QVariant effectvalue = mSettingsManager->readItemValue(*mTransitionDelayCenrepKey); + switch (effectvalue.toInt()) { + case SLOW: + mSlideDelayTime = mSettingsManager->readItemValue(*mSlowCenRepKey).toInt(); + break; + case MEDIUM: + mSlideDelayTime = mSettingsManager->readItemValue(*mMediumCenRepKey).toInt(); + break; + case FAST: + mSlideDelayTime = mSettingsManager->readItemValue(*mFastCenRepKey).toInt(); + break; + default: + mSlideDelayTime = 3000; + break; + } mEffect = FADE_EFFECT; mMoveDir = MOVE_FORWARD; qDebug("GlxSlideShowSetting::readSlideShowSetting() slide delay time %d effect %d move direction %d", mSlideDelayTime, mEffect, mMoveDir); diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/fullscreenview/inc/glxcoverflow.h --- a/ui/views/fullscreenview/inc/glxcoverflow.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/fullscreenview/inc/glxcoverflow.h Mon May 03 00:53:50 2010 +0530 @@ -30,6 +30,7 @@ class HbMainWindow; class QAbstractItemModel; +class QGestureEvent; typedef enum { NO_MOVE, @@ -46,7 +47,7 @@ EMPTY_ROW_EVENT //send the signal when model have no data } GlxCoverFlowEvent; -class GlxCoverFlow : public HbScrollArea +class GlxCoverFlow : public HbWidget { Q_OBJECT @@ -59,12 +60,10 @@ void setUiOn(bool uiOn) { mUiOn = uiOn; } void partiallyClean(); void partiallyCreate(QAbstractItemModel *model, QSize itemSize); - void rotateImage(); - void setCoverFlow(); + void setCoverFlow(); void ClearCoverFlow(); public slots: - void rotationEffectFinished( const HbEffect::EffectStatus &status ); signals : void coverFlowEvent(GlxCoverFlowEvent e); @@ -84,8 +83,7 @@ void autoRightMove(); protected: - void mousePressEvent(QGraphicsSceneMouseEvent *event); - void mouseReleaseEvent (QGraphicsSceneMouseEvent *event) ; + void gestureEvent(QGestureEvent *event); void move(int value); @@ -103,7 +101,6 @@ //reset all the data of cover flow void resetCoverFlow(); int getSubState(); -private slots: private: HbIconItem *mIconItem[NBR_ICON_ITEM]; //at most contain only five item @@ -117,9 +114,8 @@ bool mUiOn; int mBounceBackDeltaX; QAbstractItemModel *mModel; - GlxUserMove mMoveDir; //arun_goel3 may be remove later or change later - int rotAngle; - + GlxUserMove mMoveDir; + int mSpeed; }; #endif /* GLXCOVERFLOW_H_ */ diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/fullscreenview/inc/glxfullscreenview.h --- a/ui/views/fullscreenview/inc/glxfullscreenview.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/fullscreenview/inc/glxfullscreenview.h Mon May 03 00:53:50 2010 +0530 @@ -66,7 +66,6 @@ void setModel(QAbstractItemModel *model); void setModelContext ( ); void cleanUp(); - void handleUserAction(qint32 commandId); QGraphicsItem * getAnimationItem(GlxEffect transitionEffect); @@ -85,7 +84,10 @@ void effectFinished( const HbEffect::EffectStatus ); void imageSelectionEffectFinished( const HbEffect::EffectStatus ); void handleToolBarAction(); - + +protected : + bool event(QEvent *event); + private: /* diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/fullscreenview/src/glxcoverflow.cpp --- a/ui/views/fullscreenview/src/glxcoverflow.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/fullscreenview/src/glxcoverflow.cpp Mon May 03 00:53:50 2010 +0530 @@ -21,24 +21,33 @@ #include #include #include +#include +#include //User Includes #include #include #include "glxviewids.h" -const int KMoveX = 60; //coverflow auto move speed +#define GLX_COVERFLOW_SPEED 60 +#define GLX_BOUNCEBACK_SPEED 15 -GlxCoverFlow::GlxCoverFlow(QGraphicsItem *parent ) : HbScrollArea(parent), mSelItemIndex (0), - mRows(0), mSelIndex (0), mStripLen (0), mCurrentPos(0), - mItemSize (QSize(0,0)), mModel ( NULL), mMoveDir(NO_MOVE), rotAngle(0) +GlxCoverFlow::GlxCoverFlow(QGraphicsItem *parent ) + : HbWidget(parent), + mSelItemIndex (0), + mRows(0), + mSelIndex (0), + mStripLen (0), + mCurrentPos(0), + mItemSize (QSize(0,0)), + mModel ( NULL), + mMoveDir(NO_MOVE), + mSpeed ( GLX_COVERFLOW_SPEED ) { //TO:DO through exception qDebug("GlxCoverFlow::GlxCoverFlow"); - HbEffect::add( QString("HbIconItem"), QString(":/data/transitionrotate0.fxml"), QString( "RotateImage0" )); - HbEffect::add( QString("HbIconItem"), QString(":/data/transitionrotate90.fxml"), QString( "RotateImage90" )); - HbEffect::add( QString("HbIconItem"), QString(":/data/transitionrotate180.fxml"), QString( "RotateImage180" )); - HbEffect::add( QString("HbIconItem"), QString(":/data/transitionrotate270.fxml"), QString( "RotateImage270" )); + grabGesture(Qt::PanGesture); + grabGesture(Qt::TapGesture); connect( this, SIGNAL( autoLeftMoveSignal() ), this, SLOT( autoLeftMove() ), Qt::QueuedConnection ); connect( this, SIGNAL( autoRightMoveSignal() ), this, SLOT( autoRightMove() ), Qt::QueuedConnection ); } @@ -83,66 +92,58 @@ qDebug("GlxCoverFlow::indexChanged index = %d mSelIndex = %d ",index, mSelIndex ); if ( index != mSelIndex && mModel) { loadIconItems(); - if(rotAngle) { - rotAngle = 0; - //HbEffect::start(mIconItem[mSelItemIndex], QString("HbIconItem"), QString("RotateImage270"), this, "rotationEffectFinished" ); - mIconItem[mSelItemIndex]->resetTransform(); - mIconItem[mSelItemIndex]->resize(mItemSize); - } } } -void GlxCoverFlow::rotateImage () -{ - qDebug("GlxCoverFlow::rotateImage "); - if(rotAngle == 0) - { - HbEffect::start(mIconItem[mSelItemIndex], QString("HbIconItem"), QString("RotateImage0"), this, "rotationEffectFinished" ); - } - if(rotAngle == 90) - { - HbEffect::start(mIconItem[mSelItemIndex], QString("HbIconItem"), QString("RotateImage90"), this, "rotationEffectFinished" ); - } - if(rotAngle == 180) - { - HbEffect::start(mIconItem[mSelItemIndex], QString("HbIconItem"), QString("RotateImage180"), this, "rotationEffectFinished" ); - } - if(rotAngle == 270) - { - HbEffect::start(mIconItem[mSelItemIndex], QString("HbIconItem"), QString("RotateImage270"), this, "rotationEffectFinished" ); - } - rotAngle += 90; - rotAngle %= 360; -} +void GlxCoverFlow::gestureEvent(QGestureEvent *event) +{ + if(QTapGesture *gesture = static_cast(event->gesture(Qt::TapGesture))) { + if (gesture->state() == Qt::GestureFinished) { + emit coverFlowEvent( TAP_EVENT ); + event->accept(gesture); + } + } + + if (QPanGesture *panningGesture = qobject_cast(event->gesture(Qt::PanGesture))) { + HbPanGesture *hbPanGesture = qobject_cast(panningGesture); + if (hbPanGesture) { + if(hbPanGesture->state() == Qt::GestureUpdated) { + QPointF delta(hbPanGesture->sceneDelta()); + panGesture(delta); + event->accept(panningGesture); -void GlxCoverFlow::rotationEffectFinished (const HbEffect::EffectStatus &status) -{ - Q_UNUSED(status) + } + if(hbPanGesture->state() == Qt::GestureFinished) { + switch( mMoveDir ) { - qDebug("GlxCoverFlow::rotationEffectFinished"); - QSize itemSize = mItemSize; - if((rotAngle == 90) || (rotAngle == 270)) { - itemSize.transpose(); - } - mIconItem[mSelItemIndex]->resetTransform(); - mIconItem[mSelItemIndex]->resize(itemSize); - mIconItem[mSelItemIndex]->setPos((mItemSize.width() - itemSize.width())/2, (mItemSize.height() - itemSize.height())/2 ); - QTransform rotateTransform = mIconItem[mSelItemIndex]->transform(); - rotateTransform.translate((mItemSize.width()/2)-((mItemSize.width() - itemSize.width())/2),(mItemSize.height()/2) - ((mItemSize.height() - itemSize.height())/2)); - rotateTransform.rotate(rotAngle); - rotateTransform.translate(-((mItemSize.width()/2)-((mItemSize.width() - itemSize.width())/2)),-((mItemSize.height()/2) - ((mItemSize.height() - itemSize.height())/2))); - mIconItem[mSelItemIndex]->setTransform(rotateTransform); + case LEFT_MOVE: + mMoveDir = NO_MOVE; + emit autoLeftMoveSignal(); + break ; + + case RIGHT_MOVE : + mMoveDir = NO_MOVE; + emit autoRightMoveSignal(); + break; + + default: + break; + } + event->accept(panningGesture); + } + } + } + } void GlxCoverFlow::panGesture ( const QPointF & delta ) { qDebug("GlxCoverFlow::panGesture deltaX= %d", (int)delta.x()); - if(getSubState() == IMAGEVIEWER_S || getSubState() == FETCHER_S ) - { + if(getSubState() == IMAGEVIEWER_S || getSubState() == FETCHER_S ) { return; - } - move((int) delta.x()); + } + move((int) delta.x()); if( delta.x() > 0 ) { mMoveDir = RIGHT_MOVE; } @@ -158,14 +159,13 @@ void GlxCoverFlow::leftGesture(int value) { - Q_UNUSED(value); + Q_UNUSED(value); qDebug("GlxCoverFlow::leftGesture CurrentPos= %d value %d", mCurrentPos, value); - if(getSubState() == IMAGEVIEWER_S || getSubState() == FETCHER_S ) - { + if(getSubState() == IMAGEVIEWER_S || getSubState() == FETCHER_S ) { return; - } + } mMoveDir = NO_MOVE; - mBounceBackDeltaX = mItemSize.width() >> 2; + mBounceBackDeltaX = ( mItemSize.width() >> 2 ) + ( mItemSize.width() >> 3 ); emit autoLeftMoveSignal(); if ( mUiOn == TRUE ) { mUiOn = FALSE; @@ -175,14 +175,13 @@ void GlxCoverFlow::rightGesture(int value) { - Q_UNUSED(value); + Q_UNUSED(value); qDebug("GlxCoverFlow::rightGesture CurrentPos= %d value %d ", mCurrentPos, value); - if(getSubState() == IMAGEVIEWER_S || getSubState() == FETCHER_S ) - { + if(getSubState() == IMAGEVIEWER_S || getSubState() == FETCHER_S ) { return; - } + } mMoveDir = NO_MOVE; - mBounceBackDeltaX = mItemSize.width() >> 2; + mBounceBackDeltaX = ( mItemSize.width() >> 2 ) + ( mItemSize.width() >> 3 ); emit autoRightMoveSignal(); if ( mUiOn == TRUE ) { mUiOn = FALSE; @@ -245,48 +244,17 @@ } } -void GlxCoverFlow::mousePressEvent(QGraphicsSceneMouseEvent *event) -{ - Q_UNUSED(event); - qDebug("GlxCoverFlow::mousePressEvent"); - mMoveDir = TAP_MOVE; -} -void GlxCoverFlow::mouseReleaseEvent (QGraphicsSceneMouseEvent *event) -{ - Q_UNUSED(event); - qDebug("GlxCoverFlow::mouseReleaseEvent move dir %d", mMoveDir); - - switch( mMoveDir ) { - case NO_MOVE : - break; - - case TAP_MOVE : - mMoveDir = NO_MOVE; - emit coverFlowEvent( TAP_EVENT ); - break; - - case LEFT_MOVE: - mMoveDir = NO_MOVE; - emit autoLeftMoveSignal(); - break ; - - case RIGHT_MOVE : - mMoveDir = NO_MOVE; - emit autoRightMoveSignal(); - break; - - default: - break; - } -} void GlxCoverFlow::autoLeftMove() { - qDebug("GlxCoverFlow::autoLeftMove "); int width = mItemSize.width() ; qDebug("GlxCoverFlow::autoLeftMove current pos = %d mBounceBackDeltaX x = %d", mCurrentPos, mBounceBackDeltaX); + + if ( mSelIndex == ( mRows -1 )) { + mSpeed = GLX_BOUNCEBACK_SPEED; + } //for bounce back effect for last image ( it will do the back) if ( ( mCurrentPos + width ) > ( mStripLen + mBounceBackDeltaX ) && mMoveDir == NO_MOVE ) { mMoveDir = LEFT_MOVE; @@ -296,7 +264,7 @@ } int deltaX = width - mCurrentPos % width ; - int moveX = deltaX > KMoveX ? KMoveX : deltaX; + int moveX = deltaX > mSpeed ? mSpeed : deltaX; qDebug("GlxCoverFlow::autoLeftMove delta x = %d current pos = %d move x = %d", deltaX, mCurrentPos, moveX); @@ -314,13 +282,6 @@ } int selIndex = mCurrentPos / width ; if ( mRows == 1 || selIndex != mSelIndex ) { - if(rotAngle) { - rotAngle = 0; - //HbEffect::start(mIconItem[mSelItemIndex], QString("HbIconItem"), QString("RotateImage270"), this, "rotationEffectFinished" ); - mIconItem[mSelItemIndex]->resetTransform(); - mIconItem[mSelItemIndex]->resize(mItemSize); - mIconItem[mSelItemIndex]->setPos(- mItemSize.width(), 0); - } mSelIndex = selIndex; mSelItemIndex = ( ++mSelItemIndex ) % NBR_ICON_ITEM; selIndex = ( mSelItemIndex + 2 ) % NBR_ICON_ITEM; @@ -328,8 +289,9 @@ emit changeSelectedIndex ( mModel->index ( mSelIndex, 0 ) ) ; } mMoveDir = NO_MOVE; - mBounceBackDeltaX = 10; - } + mBounceBackDeltaX = 10; + mSpeed = GLX_COVERFLOW_SPEED; + } } void GlxCoverFlow::autoRightMove() @@ -338,19 +300,23 @@ int width = mItemSize.width() ; int diffX = mStripLen - mCurrentPos ; + //slow the speed for bounce back effect + if ( mSelIndex == 0 ) { + mSpeed = GLX_BOUNCEBACK_SPEED; + } //for bounce back effect for back image ( it will do the back) qDebug("GlxCoverFlow::autoRightMove diffX x = %d current pos = %d mBounceBackDeltaX x = %d", diffX, mCurrentPos, mBounceBackDeltaX); if ( diffX > mBounceBackDeltaX && diffX < width && mMoveDir == NO_MOVE ){ mMoveDir = RIGHT_MOVE; mBounceBackDeltaX = 10; - autoLeftMoveSignal(); + autoLeftMoveSignal(); return ; } - int deltaX = mCurrentPos % width ; + int deltaX = mCurrentPos % width ; //in the case of deltaX == 0 ( right flick case ) complete image should move deltaX = deltaX ? deltaX : width ; - int moveX = deltaX > KMoveX ? KMoveX : deltaX; + int moveX = deltaX > mSpeed ? mSpeed : deltaX; qDebug("GlxCoverFlow::autoRightMove delta x = %d current pos = %d move x = %d", deltaX, mCurrentPos, moveX); @@ -368,14 +334,6 @@ } int selIndex = mCurrentPos / width ; if ( mRows == 1 || selIndex != mSelIndex ) { - if(rotAngle) { - rotAngle = 0; - //HbEffect::start(mIconItem[mSelItemIndex], QString("HbIconItem"), QString("RotateImage270"), this, "rotationEffectFinished" ); - mIconItem[mSelItemIndex]->resetTransform(); - mIconItem[mSelItemIndex]->resize(mItemSize); - mIconItem[mSelItemIndex]->setPos(mItemSize.width(), 0); - - } mSelIndex = selIndex; mSelItemIndex = ( mSelItemIndex == 0 ) ? NBR_ICON_ITEM -1 : --mSelItemIndex; selIndex = ( mSelItemIndex + 3 ) % NBR_ICON_ITEM; @@ -383,7 +341,8 @@ emit changeSelectedIndex ( mModel->index ( mSelIndex, 0 ) ) ; } mMoveDir = NO_MOVE; - mBounceBackDeltaX = 10; + mBounceBackDeltaX = 10; + mSpeed = GLX_COVERFLOW_SPEED; } } @@ -394,7 +353,7 @@ for ( qint8 i = 0; i < NBR_ICON_ITEM ; i++ ) { pos.setX( mIconItem[i]->pos().x() + value); - pos.setY(mIconItem[i]->pos().y()); + pos.setY(mIconItem[i]->pos().y()); mIconItem[i]->setPos(pos); } @@ -411,13 +370,13 @@ void GlxCoverFlow::setRows() { qDebug("GlxCoverFlow::setRows "); - if (mModel) { - mRows = mModel->rowCount(); - } - else { - mRows = 0; - } - qDebug("GlxCoverFlow::setRows number of rows = %d", mRows); + if (mModel) { + mRows = mModel->rowCount(); + } + else { + mRows = 0; + } + qDebug("GlxCoverFlow::setRows number of rows = %d", mRows); } void GlxCoverFlow::setStripLen() @@ -501,7 +460,7 @@ /* disconnect(mModel, SIGNAL(destroyed()), this, SLOT(_q_modelDestroyed())); disconnect(mModel, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(rowsAboutToBeRemoved(QModelIndex,int,int))); -*/ +*/ } void GlxCoverFlow::initializeNewModel() @@ -511,7 +470,7 @@ connect( mModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ), this, SLOT( dataChanged(QModelIndex,QModelIndex) ) ); connect(mModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(rowsInserted(QModelIndex,int,int))); connect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(rowsRemoved(QModelIndex,int,int))); - } + } } void GlxCoverFlow::resetCoverFlow() @@ -550,8 +509,7 @@ variant = model->data( model->index(mSelIndex, 0), GlxFsImageRole ); if ( variant.isValid() && variant.canConvert () ) { - mIconItem[2]->setIcon ( variant.value() ) ; - qDebug("#########################GlxCoverFlow::partiallyCreated,ICON PRES##################"); + mIconItem[2]->setIcon ( variant.value() ) ; } } @@ -560,10 +518,6 @@ qDebug("GlxCoverFlow::~GlxCoverFlow model " ); disconnect( this, SIGNAL( autoLeftMoveSignal() ), this, SLOT( autoLeftMove() ) ); disconnect( this, SIGNAL( autoRightMoveSignal() ), this, SLOT( autoRightMove() ) ); - HbEffect::remove( QString("HbIconItem"), QString(":/data/transitionrotate0.fxml"), QString( "RotateImage0" )); - HbEffect::remove( QString("HbIconItem"), QString(":/data/transitionrotate90.fxml"), QString( "RotateImage90" )); - HbEffect::remove( QString("HbIconItem"), QString(":/data/transitionrotate180.fxml"), QString( "RotateImage180" )); - HbEffect::remove( QString("HbIconItem"), QString(":/data/transitionrotate270.fxml"), QString( "RotateImage270" )); } @@ -576,7 +530,7 @@ delete mIconItem[i] ; mIconItem[i] = NULL; } - } + } } int GlxCoverFlow::getSubState() diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/fullscreenview/src/glxfullscreenview.cpp --- a/ui/views/fullscreenview/src/glxfullscreenview.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/fullscreenview/src/glxfullscreenview.cpp Mon May 03 00:53:50 2010 +0530 @@ -263,7 +263,6 @@ if(mFullScreenToolBar) { mFullScreenToolBar->clearActions(); - delete mFullScreenToolBar; mFullScreenToolBar = NULL; } @@ -291,6 +290,7 @@ OstTraceExt2( TRACE_NORMAL, GLXFULLSCREENVIEW_SETMODEL, "GlxFullScreenView::setModel; model=%x; mModel=%u", ( TUint )( model ), ( TUint ) mModel ); mModel = model; + setModelContext(); setHdmiModel(mModel); mCoverFlow->setModel(mModel); @@ -712,25 +712,6 @@ OstTraceFunctionExit0( DUP1_GLXFULLSCREENVIEW_GLXFULLSCREENVIEW_EXIT ); } -void GlxFullScreenView::handleUserAction(qint32 commandId) -{ - OstTraceFunctionEntry0( GLXFULLSCREENVIEW_HANDLEUSERACTION_ENTRY ); - - switch( commandId ) { - case EGlxCmdRotate : - //trigger the rotate Effect in CoverFlow - mCoverFlow->rotateImage(); - break; - - - - default : - break; - } - - OstTraceFunctionExit0( GLXFULLSCREENVIEW_HANDLEUSERACTION_EXIT ); -} - void GlxFullScreenView::imageSelectionAnimation(const QModelIndex &index) { OstTraceFunctionEntry0( GLXFULLSCREENVIEW_IMAGESELECTIONANIMATION_ENTRY ); @@ -778,3 +759,20 @@ } return substate; } + +bool GlxFullScreenView::event(QEvent *event) +{ + GLX_LOG_INFO1("GlxFullScreenView::event() %d event type", event->type()); + if ( event->type() == QEvent::WindowActivate && mCoverFlow) { + if (mTvOutWrapper){ + mTvOutWrapper->setToNativeMode(); + } + } + if ( event->type() == QEvent::WindowDeactivate && mCoverFlow) { + if (mTvOutWrapper){ + mTvOutWrapper->setToCloningMode(); + } + } + return HbView::event(event); +} + diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/gridview/inc/glxgridview.h --- a/ui/views/gridview/inc/glxgridview.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/gridview/inc/glxgridview.h Mon May 03 00:53:50 2010 +0530 @@ -24,15 +24,12 @@ #include "glxview.h" //Qt/Orbit forward declarations -class HbGridView; class HbMainWindow; -class HbDocumentLoader; class QAbstractItemModel; -class HbAbstractViewItem; - -#define NBR_ROW 5 -#define NBR_COL 3 -#define NBR_PAGE NBR_ROW * NBR_COL +class HgWidget; +class GlxModelWrapper; +class HbPushButton; +class HbIconItem; class GlxGridView : public GlxView { @@ -54,34 +51,33 @@ public slots: void itemSelected(const QModelIndex & index); - void setVisvalWindowIndex(); - /* - * This loads the docml and retrives the widgets from the - * docml corresponding to the present orentation - */ - void loadGridView(Qt::Orientation orient); - void itemDestroyed(); - + void scrollingEnded(); + void scrollingStarted(); + void orientationchanged(Qt::Orientation orient); + void visibleIndexChanged(const QModelIndex& current, const QModelIndex& previous); + protected : QVariant itemChange (GraphicsItemChange change, const QVariant &value) ; private slots: - void indicateLongPress( HbAbstractViewItem *item, QPointF coords ); + void indicateLongPress(const QModelIndex& index, QPointF coords); + void uiButtonClicked(bool checked); private: void addViewConnection(); void removeViewConnection(); - void resetItemTransform(); + void hideorshowitems(Qt::Orientation orient); + void scrolltofocus(); + void loadGridView(); -private: - HbGridView *mGridView; - HbView *mView; - HbMainWindow *mWindow; //no ownership + HbMainWindow *mWindow; // no ownership QAbstractItemModel *mModel ; - int mVisualIndex; //first item index of the page //To:Do remove later - HbAbstractViewItem *mItem; - HbDocumentLoader *mDocLoader; //Docml loader to load the widgets from docml - bool mIsLongPress; //to check the long press has happend or not + HgWidget *mWidget; // HG Grid Widget + QItemSelectionModel *mSelectionModel; // Selected items model + GlxModelWrapper *mModelWrapper; // Temp Model Wrapper, so That Role Change not a problem + HbPushButton *mUiOnButton; + bool mScrolling; + HbIconItem *mIconItem; }; #endif /* GLXGRIDVIEW_H_ */ diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/gridview/src/glxgridview.cpp --- a/ui/views/gridview/src/glxgridview.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/gridview/src/glxgridview.cpp Mon May 03 00:53:50 2010 +0530 @@ -18,26 +18,22 @@ //Includes -#include -#include -#include -#include -#include #include -#include -#include -#include -#include +#include +#include +#include +#include // Temp +#include +#include #include //User Includes -#include "glxuistd.h" #include "glxviewids.h" #include "glxgridview.h" #include "glxmodelparm.h" -#include "glxloggerenabler.h" -#include "glxdocloaderdefs.h" #include "glxcommandhandlers.hrh" + + #include "OstTraceDefinitions.h" #ifdef OST_TRACE_COMPILER_IN_USE #include "glxgridviewTraces.h" @@ -45,95 +41,126 @@ GlxGridView::GlxGridView(HbMainWindow *window) : GlxView ( GLX_GRIDVIEW_ID ), - mGridView(NULL), - mView(NULL), mWindow(window), mModel ( NULL), - mVisualIndex(0), - mItem(NULL), - mIsLongPress (false) + mWidget(NULL), + mSelectionModel(NULL), + mModelWrapper(NULL), + mUiOnButton(NULL), + mScrolling(FALSE), + mIconItem(NULL) { OstTraceFunctionEntry0( GLXGRIDVIEW_GLXGRIDVIEW_ENTRY ); - mDocLoader = new HbDocumentLoader(); + mModelWrapper = new GlxModelWrapper(); + mModelWrapper->setRoles(GlxQImageSmall); + mIconItem = new HbIconItem(this); OstTraceFunctionExit0( GLXGRIDVIEW_GLXGRIDVIEW_EXIT ); - setContentFullScreen( true ); } void GlxGridView::activate() { OstTraceFunctionEntry0( GLXGRIDVIEW_ACTIVATE_ENTRY ); - loadGridView(mWindow->orientation()); - addViewConnection(); - mGridView->resetTransform(); //to reset the transition effect (reset transform matrix) - mGridView->setOpacity( 1); - resetItemTransform(); + if(mUiOnButton == NULL) { + mUiOnButton = new HbPushButton("UI",this); + connect(mUiOnButton, SIGNAL(clicked(bool)), this, SLOT(uiButtonClicked(bool))); + mUiOnButton->setGeometry(QRectF(610,0,15,15)); + mUiOnButton->setZValue(1); + mUiOnButton->hide(); + } + loadGridView(); OstTraceFunctionExit0( GLXGRIDVIEW_ACTIVATE_EXIT ); } void GlxGridView::deActivate() { OstTraceFunctionEntry0( GLXGRIDVIEW_DEACTIVATE_ENTRY ); - removeViewConnection(); - mModel = NULL; + if (mUiOnButton && mUiOnButton->isVisible()) + { + mUiOnButton->hide(); + } + if(mIconItem) + { + mIconItem->hide(); + mIconItem->resetTransform(); + mIconItem->setOpacity(0); + mIconItem->setZValue(mIconItem->zValue()-20); + } OstTraceFunctionExit0( GLXGRIDVIEW_DEACTIVATE_EXIT ); } void GlxGridView::initializeView(QAbstractItemModel *model) { - resetItemTransform(); - mGridView->setModel(model); - mModel = model; - loadGridView(mWindow->orientation()); - QVariant variant = model->data( model->index(0,0), GlxFocusIndexRole ); - if ( variant.isValid() && variant.canConvert () ) { - mGridView->scrollTo( model->index( variant.value(),0), HbGridView::EnsureVisible ); - } + activate(); + setModel(model); } void GlxGridView::setModel(QAbstractItemModel *model) { OstTraceFunctionEntry0( GLXGRIDVIEW_SETMODEL_ENTRY ); - mModel = model ; - mGridView->setModel(mModel); - QVariant variant = mModel->data( mModel->index(0,0), GlxFocusIndexRole ); - if ( variant.isValid() && variant.canConvert () ) { - mGridView->scrollTo( mModel->index( variant.value(),0), HbGridView::EnsureVisible ); - } + if(model) + { + mModel = model; + QVariant variantimage = mModel->data(mModel->index(0,0),GlxDefaultImage); + if (mWidget && variantimage.isValid() && variantimage.canConvert () ) + { + mWidget->setDefaultImage(variantimage.value()); + } + mModelWrapper->setModel(mModel); + mWidget->setModel(mModelWrapper); + if(!mSelectionModel) + { + mSelectionModel = new QItemSelectionModel(mModelWrapper, this); + connect(mSelectionModel, SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(visibleIndexChanged(const QModelIndex &, const QModelIndex &))); + mWidget->setSelectionModel(mSelectionModel); + } + scrolltofocus(); // Need to do it here ? + } OstTraceFunctionExit0( GLXGRIDVIEW_SETMODEL_EXIT ); } +void GlxGridView::visibleIndexChanged(const QModelIndex& current, const QModelIndex& previous) +{ + if(mScrolling) + { + Q_UNUSED(previous); + if(current.row() >= 0 || current.row() < mModel->rowCount()) + { + mModel->setData(mModel->index(0,0),current.row(),GlxVisualWindowIndex); + } + } +} + void GlxGridView::addToolBar( HbToolBar *toolBar ) { - OstTraceFunctionEntry0( GLXGRIDVIEW_ADDTOOLBAR_ENTRY ); - setToolBar(toolBar) ; + OstTraceFunctionEntry0( GLXGRIDVIEW_ADDTOOLBAR_ENTRY ); + setToolBar(toolBar); + hideorshowitems(mWindow->orientation()); OstTraceFunctionExit0( GLXGRIDVIEW_ADDTOOLBAR_EXIT ); } void GlxGridView::enableMarking() { OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ENABLEMARKING, "GlxGridView::enableMarking" ); - mGridView->setSelectionMode(HbGridView::MultiSelection); + mWidget->setSelectionMode(HgWidget::MultiSelection); } void GlxGridView::disableMarking() { OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_DISABLEMARKING, "GlxGridView::disableMarking" ); - mGridView->setSelectionMode(HbGridView::NoSelection); + mWidget->setSelectionMode(HgWidget::NoSelection); } void GlxGridView::handleUserAction(qint32 commandId) { OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_HANDLEUSERACTION, "GlxGridView::handleUserAction" ); - switch( commandId ){ + switch( commandId ) { case EGlxCmdMarkAll : - mGridView->selectAll(); + mWidget->selectAll(); break; case EGlxCmdUnMarkAll : - mGridView->clearSelection(); - break; - - + mWidget->clearSelection(); + break; default : break; @@ -143,7 +170,7 @@ QItemSelectionModel * GlxGridView::getSelectionModel() { OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_GETSELECTIONMODEL, "GlxGridView::getSelectionModel" ); - return mGridView->selectionModel(); + return mWidget->selectionModel(); } QGraphicsItem * GlxGridView::getAnimationItem(GlxEffect transitionEffect) @@ -152,77 +179,115 @@ int selIndex = -1; if ( transitionEffect == FULLSCREEN_TO_GRID ) { - return mGridView; + return mWidget; } - if ( transitionEffect == GRID_TO_FULLSCREEN ) { + if ( transitionEffect == GRID_TO_FULLSCREEN ) + { QVariant variant = mModel->data( mModel->index(0,0), GlxFocusIndexRole ); - if ( variant.isValid() && variant.canConvert () ) { + if ( variant.isValid() && variant.canConvert () ) + { selIndex = variant.value(); - } - - mItem = mGridView->itemByIndex( mModel->index(selIndex,0) ); - connect(mItem, SIGNAL(destroyed()), this, SLOT( itemDestroyed())); - mItem->setZValue( mItem->zValue() + 20); - return mItem; - } + } + else + { + return mWidget; + } + QVariant variantimage = mModel->data(mModel->index(selIndex,0),Qt::DecorationRole); + if ( variantimage.isValid() && variantimage.canConvert () ) + { + QPolygonF poly; + if (mModelWrapper && !mWidget->getItemOutline(mModelWrapper->index(selIndex,0), poly)) + { + return mWidget; + } + QRectF itemRect = poly.boundingRect(); + + mIconItem->setSize(QSize(120,120)); + HbIcon tempIcon = variantimage.value(); + QPixmap tempPixmap = tempIcon.qicon().pixmap(120, 120); + QSize sz = QSize ( 120, 120); + tempPixmap = tempPixmap.scaled(sz, Qt::IgnoreAspectRatio ); + HbIcon tmp = HbIcon( QIcon(tempPixmap)) ; + mIconItem->setIcon(tmp); + mIconItem->setPos(itemRect.topLeft()); + mIconItem->setZValue(mIconItem->zValue() + 20); + mIconItem->show(); + return mIconItem; + } + else + { + return mWidget; + } + } if ( transitionEffect == GRID_TO_ALBUMLIST || transitionEffect == ALBUMLIST_TO_GRID ){ - return mGridView; + return mWidget; } OstTraceFunctionExit0( GLXGRIDVIEW_GETANIMATIONITEM_EXIT ); return NULL; } -void GlxGridView::loadGridView(Qt::Orientation orient) +void GlxGridView::loadGridView() { OstTraceFunctionEntry0( GLXGRIDVIEW_LOADGRIDVIEW_ENTRY ); - bool loaded = false; - QString section; - GlxContextMode mode ; - - //Load the widgets accroding to the current Orientation - if(orient == Qt::Horizontal) { - section = GLX_GRIDVIEW_LSSECTION ; - mode = GlxContextLsGrid ; - } - else { - section = GLX_GRIDVIEW_PTSECTION ; - mode = GlxContextPtGrid ; - } - - if (mGridView == NULL ) { - mDocLoader->load(GLX_GRIDVIEW_DOCMLPATH,&loaded); - if(loaded) { - //retrieve the widgets - mView = static_cast(mDocLoader->findWidget(QString(GLX_GRIDVIEW_VIEW))); - mGridView = static_cast(mDocLoader->findWidget(GLX_GRIDVIEW_GRID)); - setWidget( mView ); - mGridView->setLayoutName( QString( "GridView" ) ); - } - } - //Load the Sections - mDocLoader->load(GLX_GRIDVIEW_DOCMLPATH,section,&loaded); - - if ( mModel ) { - mModel->setData(QModelIndex(), (int)mode, GlxContextRole ); + if(mWidget == NULL) { + Qt::Orientation orient = mWindow->orientation(); + mWindow->viewport()->grabGesture(Qt::PanGesture); + mWindow->viewport()->grabGesture(Qt::TapGesture); + mWindow->viewport()->grabGesture(Qt::TapAndHoldGesture); + mWidget = new HgGrid(orient); + mWidget->setLongPressEnabled(true); + mWidget->setScrollBarPolicy(HgWidget::ScrollBarAutoHide); + //mWidget->setItemSize(QSizeF(120,120)); + setWidget( mWidget ); + addViewConnection(); + //hideorshowitems(orient); } OstTraceFunctionExit0( GLXGRIDVIEW_LOADGRIDVIEW_EXIT ); } -void GlxGridView::itemDestroyed() +void GlxGridView::orientationchanged(Qt::Orientation orient) +{ + hideorshowitems(orient); +} +void GlxGridView::hideorshowitems(Qt::Orientation orient) { - OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ITEMDESTROYED, "GlxGridView::itemDestroyed" ); - disconnect( mItem, SIGNAL( destroyed() ), this, SLOT( itemDestroyed() ) ); - mItem = NULL; + if(orient == Qt::Horizontal) + { + if (mUiOnButton) + { + mUiOnButton->show(); + } + setItemVisible(Hb::AllItems, FALSE) ; + } + else + { + if (mUiOnButton) + { + mUiOnButton->hide(); + } + setItemVisible(Hb::AllItems, TRUE) ; + } +} + +void GlxGridView::scrolltofocus() +{ + if(mModelWrapper && mWidget) + { + QVariant variant = mModelWrapper->data( mModelWrapper->index(0,0), GlxFocusIndexRole ); + if ( variant.isValid() && variant.canConvert () ) + { + mWidget->scrollTo( mModelWrapper->index( variant.value(),0) ); + mModel->setData(mModel->index(0,0),variant.value(),GlxVisualWindowIndex); + } + } } QVariant GlxGridView::itemChange (GraphicsItemChange change, const QVariant &value) { - OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ITEMCHANGE, "GlxGridView::itemChange" ); - + OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ITEMCHANGE, "GlxGridView::itemChange" ); static bool isEmit = true; - if ( isEmit && change == QGraphicsItem::ItemVisibleHasChanged && value.toBool() ) { emit actionTriggered( EGlxCmdSetupItem ); isEmit = false; @@ -230,111 +295,126 @@ return HbWidget::itemChange(change, value); } -void GlxGridView::addViewConnection () +void GlxGridView::addViewConnection() { OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ADDVIEWCONNECTION, "GlxGridView::addViewConnection" ); - connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(loadGridView(Qt::Orientation))); - connect(mGridView, SIGNAL(activated(const QModelIndex &)), this, SLOT( itemSelected(const QModelIndex &))); - connect( mGridView, SIGNAL( scrollingEnded() ), this, SLOT( setVisvalWindowIndex() ) ); - connect(mGridView, SIGNAL(longPressed( HbAbstractViewItem*, QPointF )),this, SLOT( indicateLongPress( HbAbstractViewItem*, QPointF ) ) ); + connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationchanged(Qt::Orientation))); + //connect(mWindow, SIGNAL(aboutToChangeOrientation()), mWidget, SLOT(aboutToChangeOrientation())); + connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), mWidget, SLOT(orientationChanged(Qt::Orientation))); + connect(mWidget, SIGNAL(activated(const QModelIndex &)), SLOT( itemSelected(const QModelIndex &))); + connect(mWidget, SIGNAL( scrollingStarted() ), this, SLOT( scrollingStarted() ) ); + connect(mWidget, SIGNAL( scrollingEnded() ), this, SLOT( scrollingEnded() ) ); + connect(mWidget, SIGNAL(longPressed(const QModelIndex &, QPointF)), SLOT( indicateLongPress(const QModelIndex &, QPointF) ) ); } void GlxGridView::removeViewConnection () { OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_REMOVEVIEWCONNECTION, "GlxGridView::removeViewConnection" ); - disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(loadGridView(Qt::Orientation))); - disconnect(mGridView, SIGNAL(activated(const QModelIndex &)), this, SLOT( itemSelected(const QModelIndex &))); - disconnect( mGridView, SIGNAL( scrollingEnded() ), this, SLOT( setVisvalWindowIndex() ) ); - disconnect(mGridView, SIGNAL(longPressed( HbAbstractViewItem*, QPointF )),this, SLOT( indicateLongPress( HbAbstractViewItem*, QPointF ) ) ); + if(mWidget) + { + disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationchanged(Qt::Orientation))); + //disconnect(mWindow, SIGNAL(aboutToChangeOrientation()), mWidget, SLOT(aboutToChangeOrientation())); + disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), mWidget, SLOT(orientationChanged(Qt::Orientation))); + disconnect(mWidget, SIGNAL(activated(const QModelIndex &)),this, SLOT( itemSelected(const QModelIndex &))); + disconnect(mWidget, SIGNAL( scrollingStarted() ), this, SLOT( scrollingStarted() ) ); + disconnect(mWidget, SIGNAL( scrollingEnded() ), this, SLOT( scrollingEnded() ) ); + disconnect(mWidget, SIGNAL(longPressed(const QModelIndex &, QPointF)),this, SLOT( indicateLongPress(const QModelIndex &, QPointF) ) ); + } } -void GlxGridView::resetItemTransform() -{ - if ( mItem ) { - mItem->resetTransform(); //to reset the transition effect (reset transform matrix) - mItem->setOpacity( 1); - mItem->setZValue( mItem->zValue() - 20); - disconnect( mItem, SIGNAL( destroyed() ), this, SLOT( itemDestroyed() ) ); - mItem = NULL; - } -} void GlxGridView::itemSelected(const QModelIndex & index) { OstTrace1( TRACE_NORMAL, GLXGRIDVIEW_ITEMSELECTED, "GlxGridView::itemSelected;index=%d", index.row() ); - - if ( mGridView->selectionMode() == HbGridView::MultiSelection ) { //in multi selection mode no need to open the full screen + if ( mWidget->selectionMode() == HgWidget::MultiSelection ) + { return ; - } - if ( mIsLongPress ) { - mIsLongPress = false; - return ; - } - if(XQServiceUtil::isService()){ + } + if(XQServiceUtil::isService()){ emit gridItemSelected(index); return; - } - - OstTraceEventStart0( EVENT_DUP1_GLXGRIDVIEW_ITEMSELECTED_START, "Fullscreen Launch Time" ); - - if ( mModel ) { + } + OstTraceEventStart0( EVENT_DUP1_GLXGRIDVIEW_ITEMSELECTED_START, "Fullscreen Launch Time" ); + if ( mModel ) + { mModel->setData( index, index.row(), GlxFocusIndexRole ); - } - emit actionTriggered( EGlxCmdFullScreenOpen ); + } + setItemVisible(Hb::AllItems, FALSE); + emit actionTriggered( EGlxCmdFullScreenOpen ); OstTraceEventStop( EVENT_DUP1_GLXGRIDVIEW_ITEMSELECTED_STOP, "Fullscreen Launch Time", EVENT_DUP1_GLXGRIDVIEW_ITEMSELECTED_START ); } -void GlxGridView::setVisvalWindowIndex() +void GlxGridView::scrollingStarted() { - OstTrace0( TRACE_IMPORTANT, GLXGRIDVIEW_SETVISVALWINDOWINDEX, "GlxGridView::setVisvalWindowIndex" ); - QList< HbAbstractViewItem * > visibleItemList = mGridView->visibleItems(); - qDebug("GlxGridView::setVisvalWindowIndex() %d", visibleItemList.count()); - OstTrace1( TRACE_IMPORTANT, DUP1_GLXGRIDVIEW_SETVISVALWINDOWINDEX, "GlxGridView::setVisvalWindowIndex;visibleitemindex=%d", - visibleItemList.count() ); - - if ( visibleItemList.count() <= 0 ) - return ; + if ((mWindow->orientation() == Qt::Horizontal)) + { + setItemVisible(Hb::AllItems, FALSE) ; + } + mScrolling = TRUE; +} - HbAbstractViewItem *item = visibleItemList.at(0); - if ( item == NULL ) - return ; - - OstTrace1( TRACE_IMPORTANT, DUP2_GLXGRIDVIEW_SETVISVALWINDOWINDEX, "GlxGridView::setVisvalWindowIndex item=%d", item ); - OstTrace1( TRACE_IMPORTANT, DUP3_GLXGRIDVIEW_SETVISVALWINDOWINDEX, "GlxGridView::setVisvalWindowIndex;visual index=%d", - item->modelIndex().row() ); - - if ( item->modelIndex().row() < 0 || item->modelIndex().row() >= mModel->rowCount() ) - return ; - - mModel->setData( item->modelIndex (), item->modelIndex().row(), GlxVisualWindowIndex); +void GlxGridView::scrollingEnded() +{ + mScrolling = FALSE; + QList visibleIndex = mWidget->getVisibleItemIndices(); + if (visibleIndex.count() <= 0) + { + return; + } + QModelIndex index = visibleIndex.at(0); + if ( index.row() < 0 || index.row() >= mModel->rowCount() ) + { + return; + } + if(mModel) + { + mModel->setData( index, index.row(), GlxVisualWindowIndex); + } } GlxGridView::~GlxGridView() { OstTraceFunctionEntry0( DUP1_GLXGRIDVIEW_GLXGRIDVIEW_ENTRY ); removeViewConnection(); - delete mGridView; - mGridView = NULL; - - delete mDocLoader; - mDocLoader = NULL; - + if(mSelectionModel) + { + disconnect(mSelectionModel, SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(visibleIndexChanged(const QModelIndex &, const QModelIndex &))); + delete mSelectionModel; + } + delete mWidget; + delete mModelWrapper; + if(mUiOnButton) { + disconnect(mUiOnButton, SIGNAL(clicked(bool)), this, SLOT(uiButtonClicked(bool))); + delete mUiOnButton; + } + delete mIconItem; OstTraceFunctionExit0( DUP1_GLXGRIDVIEW_GLXGRIDVIEW_EXIT ); } -void GlxGridView::indicateLongPress(HbAbstractViewItem *item, QPointF coords) +void GlxGridView::indicateLongPress(const QModelIndex& index, QPointF coords) { OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_INDICATELONGPRESS, "GlxGridView::indicateLongPress" ); - qDebug() << "GlxGridView:indicateLongPress Item " << item->modelIndex() << "long pressed at " - << coords; - - if ( mGridView->selectionMode() == HbGridView::MultiSelection ){ //in multi selection mode no need to open the context menu - return ; - } + + if ( mWidget->selectionMode() == HgWidget::MultiSelection ) + { + return; + } + if ( mModel ) + { + mModel->setData( index, index.row(), GlxFocusIndexRole ); + } + emit itemSpecificMenuTriggered(viewId(),coords); +} - if ( mModel ) { - mModel->setData( item->modelIndex(), item->modelIndex().row(), GlxFocusIndexRole ); - } - mIsLongPress = true; - emit itemSpecificMenuTriggered(viewId(),coords); +void GlxGridView::uiButtonClicked(bool /*checked*/) +{ + if (isItemVisible(Hb::TitleBarItem)) // W16 All item is Not Working , So Temp Fix + { + setItemVisible(Hb::AllItems, FALSE) ; + } + else + { + setItemVisible(Hb::AllItems, TRUE) ; + } } + diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/slideshowsettingsview/inc/glxslideshowsettingsview.h --- a/ui/views/slideshowsettingsview/inc/glxslideshowsettingsview.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/slideshowsettingsview/inc/glxslideshowsettingsview.h Mon May 03 00:53:50 2010 +0530 @@ -30,6 +30,7 @@ class HbMainWindow; class HbComboBox; class QAbstractItemModel; +class GlxSlideShowSetting; class GlxSlideShowSettingsView : public GlxView { @@ -55,8 +56,7 @@ HbLabel *mContextlabel; //Display SlideShow label HbLabel *mEffectlabel; //Display "Transition Effect: " HbLabel *mDelaylabel; //Display "Transition delay: " - int mTempEffect; //To store the index of effect.Temporary usage, Will be removed. - int mTempDelay; //To store the index of effect.Temporary usage, Will be removed. + GlxSlideShowSetting *mSettings; }; #endif /* GLXGRIDVIEW_H_ */ diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/slideshowsettingsview/src/glxslideshowsettingsview.cpp --- a/ui/views/slideshowsettingsview/src/glxslideshowsettingsview.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/slideshowsettingsview/src/glxslideshowsettingsview.cpp Mon May 03 00:53:50 2010 +0530 @@ -27,47 +27,33 @@ #include "glxuistd.h" #include "glxviewids.h" #include "glxslideshowsettingsview.h" -#include "glxmodelparm.h" +#include "glxeffectengine.h" GlxSlideShowSettingsView::GlxSlideShowSettingsView(HbMainWindow *window) : GlxView ( GLX_SLIDESHOWSETTINGSVIEW_ID ), + mEffect(NULL), mDelay(NULL), - mEffect(NULL), + mWindow(window), mContextlabel (NULL), mEffectlabel (NULL), mDelaylabel (NULL), - mWindow(window) + mSettings( NULL ) { - mTempEffect = 0; - mTempDelay =0 ; + mSettings = new GlxSlideShowSetting(); setContentFullScreen( true ); } GlxSlideShowSettingsView::~GlxSlideShowSettingsView() { - if(mContextlabel) { delete mContextlabel; - mContextlabel = NULL; - } - if(mEffectlabel) { delete mEffectlabel; - mEffectlabel = NULL; - } - if(mDelaylabel) { delete mDelaylabel; - mDelaylabel = NULL; - } - if(mEffect) { delete mEffect; - mEffect = NULL; - } - if(mDelay) { delete mDelay; - mDelay = NULL; - } + delete mSettings; } void GlxSlideShowSettingsView::setModel(QAbstractItemModel *model) @@ -94,8 +80,7 @@ if ( mEffect == NULL ) { mEffect = new HbComboBox(this); - QStringList effectList; - effectList<<"wave"<<"smooth fade"<<"zoom to face"; + QStringList effectList = mSettings->slideShowEffectList(); mEffect->addItems( effectList ); } @@ -111,9 +96,10 @@ mDelay->addItems( delayList ); } - mEffect->setCurrentIndex( mTempEffect); - mDelay->setCurrentIndex ( mTempDelay ); + // Read the values from the cenrep + mEffect->setCurrentIndex( mSettings->slideShowEffectIndex()); + mDelay->setCurrentIndex( mSettings->slideShowDelayIndex()); setLayout(); } @@ -131,8 +117,8 @@ void GlxSlideShowSettingsView::deActivate() { //Store the current effect and delay before going back to the previous view - mTempEffect = mEffect->currentIndex(); - mTempDelay = mDelay->currentIndex(); + mSettings->setslideShowEffectIndex(mEffect->currentIndex()); + mSettings->setSlideShowDelayIndex(mDelay->currentIndex()); disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationChanged(Qt::Orientation))); } diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/slideshowview/inc/glxslideshowview.h --- a/ui/views/slideshowview/inc/glxslideshowview.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/slideshowview/inc/glxslideshowview.h Mon May 03 00:53:50 2010 +0530 @@ -49,6 +49,7 @@ void orientationChanged(Qt::Orientation); void slideShowEventHandler( GlxSlideShowEvent e); void indexchanged(); + void modelDestroyed(); protected : bool event(QEvent *event); diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/slideshowview/inc/glxslideshowwidget.h --- a/ui/views/slideshowview/inc/glxslideshowwidget.h Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/slideshowview/inc/glxslideshowwidget.h Mon May 03 00:53:50 2010 +0530 @@ -21,11 +21,12 @@ #define GLXSLIDESHOWWIDGET_H //Includes -#include +#include #include //Qt/Orbit forward declarations class QTimer; +class QGestureEvent; class HbIconItem; class HbMainWindow; class HbPushButton; @@ -46,7 +47,7 @@ EMPTY_DATA_EVENT //send the signal when model have no data } GlxSlideShowEvent; -class GlxSlideShowWidget : public HbScrollArea +class GlxSlideShowWidget : public HbWidget { Q_OBJECT @@ -92,8 +93,7 @@ void rightGesture (int value); protected : - void mouseReleaseEvent( QGraphicsSceneMouseEvent *event); - void mousePressEvent ( QGraphicsSceneMouseEvent * event ) ; + void gestureEvent(QGestureEvent *event); private : //clear all the model connection diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/slideshowview/src/glxslideshowview.cpp --- a/ui/views/slideshowview/src/glxslideshowview.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/slideshowview/src/glxslideshowview.cpp Mon May 03 00:53:50 2010 +0530 @@ -62,9 +62,8 @@ void GlxSlideShowView::activate() { - //To:Do error handling TRACER("GlxSlideShowView::activate()"); - mWindow->setOrientation(Qt::Horizontal, false); + mWindow->setOrientation(Qt::Horizontal, true); // Actually it is animation false, Hack for Bug in Media wall -todo- need to Address this ASAP //finds the widgets from the docml loadObjects(); @@ -72,21 +71,22 @@ connect( mSlideShowWidget, SIGNAL( slideShowEvent( GlxSlideShowEvent ) ), this, SLOT( slideShowEventHandler( GlxSlideShowEvent ) ) ); connect( mSlideShowWidget, SIGNAL( indexchanged() ), this, SLOT( indexchanged() ) ); - if (!mTvOutWrapper){ + if (!mTvOutWrapper) { mTvOutWrapper = new GlxTvOutWrapper(); - } + } } void GlxSlideShowView::deActivate() { TRACER("GlxSlideShowView::deActivate()"); - mWindow->unsetOrientation(false); - setItemVisible(Hb::AllItems , TRUE); + mWindow->unsetOrientation(true); // Actually it is animation false, Hack for Bug in Media wall -todo- need to Address this ASAP + + setItemVisible( Hb::AllItems , TRUE ); disconnect( mSlideShowWidget, SIGNAL( slideShowEvent( GlxSlideShowEvent ) ), this, SLOT( slideShowEventHandler( GlxSlideShowEvent ) ) ); disconnect( mSlideShowWidget, SIGNAL( indexchanged() ), this, SLOT( indexchanged() ) ); //Delete the Items in the slide show widget mSlideShowWidget->cleanUp(); - mModel = NULL; + if (mTvOutWrapper){ delete mTvOutWrapper; mTvOutWrapper = NULL; @@ -97,15 +97,19 @@ { TRACER("GlxSlideShowView::setModel()"); GLX_LOG_INFO2("GlxSlideShowView::setModel() model %u mModel %u", model, mModel); - if ( mModel == model ) { - return ; - } + if ( mModel != model ) { + + modelDestroyed(); mModel = model; + connect( mModel, SIGNAL( destroyed() ), this, SLOT( modelDestroyed() ) ); + } + setModelContext(); mSlideShowWidget->setModel(mModel); + if (mTvOutWrapper){ mTvOutWrapper->setModel(mModel); mTvOutWrapper->setImagetoHDMI(); - } + } } void GlxSlideShowView::setModelContext() @@ -114,12 +118,13 @@ if ( mModel && mWindow ) { GLX_LOG_INFO1("GlxSlideShowView::setModelContext %d", mWindow->orientation() ); - if ( mWindow->orientation() == Qt::Horizontal ) { + mModel->setData(QModelIndex(), (int)GlxContextLsFs, GlxContextRole ); + /* if ( mWindow->orientation() == Qt::Horizontal ) { mModel->setData(QModelIndex(), (int)GlxContextLsFs, GlxContextRole ); } else { mModel->setData(QModelIndex(), (int)GlxContextPtFs, GlxContextRole ); - } + } */ } } @@ -158,7 +163,14 @@ if (mTvOutWrapper){ mTvOutWrapper->setImagetoHDMI(); } +} +void GlxSlideShowView::modelDestroyed() +{ + if ( mModel ) { + disconnect( mModel, SIGNAL( destroyed() ), this, SLOT( modelDestroyed() ) ); + mModel = NULL; + } } bool GlxSlideShowView::event(QEvent *event) @@ -166,10 +178,16 @@ TRACER("GlxSlideShowView::event()"); GLX_LOG_INFO1("GlxSlideShowView::event() %d event type", event->type()); if ( event->type() == QEvent::WindowActivate && mSlideShowWidget) { + if (mTvOutWrapper){ + mTvOutWrapper->setToNativeMode(); + } mSlideShowWidget->startSlideShow(); } if ( event->type() == QEvent::WindowDeactivate && mSlideShowWidget) { + if (mTvOutWrapper){ + mTvOutWrapper->setToCloningMode(); + } mSlideShowWidget->stopSlideShow(); } return HbView::event(event); diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/slideshowview/src/glxslideshowwidget.cpp --- a/ui/views/slideshowview/src/glxslideshowwidget.cpp Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/slideshowview/src/glxslideshowwidget.cpp Mon May 03 00:53:50 2010 +0530 @@ -26,6 +26,8 @@ #include #include #include +#include +#include //User Includes @@ -38,12 +40,19 @@ #include -GlxSlideShowWidget::GlxSlideShowWidget( QGraphicsItem *parent ) : HbScrollArea(parent), - mEffectEngine(NULL), mContinueButton(NULL), mItemIndex(1), - mSelIndex(0), mSlideTimer(NULL), mModel(NULL) - { +GlxSlideShowWidget::GlxSlideShowWidget( QGraphicsItem *parent ) + : HbWidget(parent), + mEffectEngine(NULL), + mContinueButton(NULL), + mItemIndex(1), + mSelIndex(0), + mSlideTimer(NULL), + mModel(NULL) +{ TRACER("GlxSlideShowWidget::GlxSlideShowWidget()"); - } + grabGesture( Qt::PanGesture ); + grabGesture( Qt::TapGesture ); +} void GlxSlideShowWidget::setSlideShowWidget(HbDocumentLoader *DocLoader) { @@ -286,31 +295,31 @@ void GlxSlideShowWidget::orientationChanged(QRect screenRect) - { +{ TRACER("GlxSlideShowWidget::orientationChanged()"); cancelEffect(); setItemGeometry( screenRect); resetSlideShow(); - } +} void GlxSlideShowWidget::leftGesture(int value) - { +{ Q_UNUSED(value) TRACER("GlxSlideShowWidget::leftGesture()"); int index = ( mItemIndex + 1 ) % NBR_ITEM; moveImage( index, mScreenRect.width(), QString("LeftMove"), "leftMoveEffectFinished"); - } +} void GlxSlideShowWidget::rightGesture(int value) - { +{ Q_UNUSED(value) TRACER ("GlxSlideShowWidget::rightGesture()"); int index = mItemIndex ? mItemIndex - 1 : NBR_ITEM - 1; moveImage( index, -mScreenRect.width(), QString("RightMove"), "rightMoveEffectFinished"); - } +} void GlxSlideShowWidget::leftMoveEffectFinished( const HbEffect::EffectStatus &status ) { @@ -344,22 +353,34 @@ emit indexchanged(); // on right swipe } -void GlxSlideShowWidget::mouseReleaseEvent( QGraphicsSceneMouseEvent *event) - { - Q_UNUSED( event ) - TRACER ( "GlxSlideShowWidget::mouseReleaseEvent( ) "); - GLX_LOG_INFO1 ( "GlxSlideShowWidget::mouseReleaseEvent( ) is pause %d", mIsPause); - if ( mIsPause == false ) { - pauseSlideShow(); + +void GlxSlideShowWidget::gestureEvent(QGestureEvent *event) +{ + if( QTapGesture *gesture = static_cast( event->gesture( Qt::TapGesture ) ) ) { + if ( gesture->state() == Qt::GestureFinished ) { + if ( mIsPause == false ) { + pauseSlideShow(); + } + event->accept(gesture); + } } + + if (QPanGesture *panningGesture = qobject_cast(event->gesture(Qt::PanGesture))) { + HbPanGesture *hbPanGesture = qobject_cast(panningGesture); + if ( hbPanGesture ) { + if( hbPanGesture->state() == Qt::GestureFinished ) { + QPointF delta( hbPanGesture->sceneDelta() ); + if ( delta.x() > 0 ) { + rightGesture( delta.x() ); + } + else { + leftGesture( delta.x() ); + } + } + event->accept(panningGesture); + } } - -void GlxSlideShowWidget::mousePressEvent ( QGraphicsSceneMouseEvent * event ) - { - Q_UNUSED( event ) - TRACER ( "GlxSlideShowWidget::mousePressEvent( ) "); - GLX_LOG_INFO1 ( "GlxSlideShowWidget::mousePressEvent( ) is pause %d", mIsPause); - } +} void GlxSlideShowWidget::startSlideShow ( ) { diff -r c499df2dbb33 -r 112f0ac2d1f0 ui/views/views.pro --- a/ui/views/views.pro Mon May 03 12:31:32 2010 +0300 +++ b/ui/views/views.pro Mon May 03 00:53:50 2010 +0530 @@ -22,13 +22,17 @@ LIBS += -lglxmediamodel.dll \ -lglxlistmodel.dll \ + -lglxfavmediamodel.dll \ -lglximagedecoderwrapper.dll \ -lglxloggerqt.dll \ -lshareui.dll \ -lglxtvout.dll \ -lglxtvoutwrapper.dll \ -lxqserviceutil.dll \ - -lglxlogging.dll + -lglxlogging.dll \ + -lganeswidgets.dll \ + -lglxmodelwrapper.dll \ + -lxqsettingsmanager DEFINES += BUILD_GLXVIEWS @@ -36,12 +40,15 @@ ../../inc \ ../uiengine/model/mediamodel/inc \ ../uiengine/model/listmodel/inc \ + ../uiengine/model/favmediamodel/inc \ ../uiengine/medialistwrapper/inc \ ../viewbase/inc \ ../../commonutilities/imagedecoderwrapper/inc \ ../../loggers/loggerqt/inc \ ../../traces \ - ../../tvout/tvoutwrapper/inc + ../../tvout/tvoutwrapper/inc \ + ../uiengine/model/modelwrapper/inc \ + /epoc32/include/mw/hgwidgets symbian: { TARGET.UID3 = 0x200009EF @@ -58,6 +65,7 @@ fullscreenview/inc/glxzoomcontrol.h \ detailsview/inc/glxdetailsview.h \ detailsview/inc/glxdetailscustomwidgets.h \ + detailsview/inc/glxdetailscustomicon.h \ gridview/inc/glxgridview.h \ slideshowsettingsview/inc/glxslideshowsettingsview.h \ listview/inc/glxlistview.h \ @@ -78,6 +86,7 @@ fullscreenview/src/glxzoomcontrol.cpp \ detailsview/src/glxdetailsview.cpp \ detailsview/src/glxdetailscustomwidgets.cpp \ + detailsview/src/glxdetailscustomicon.cpp \ gridview/src/glxgridview.cpp \ slideshowsettingsview/src/glxslideshowsettingsview.cpp \ listview/src/glxlistview.cpp \