# HG changeset patch # User hgs # Date 1274083526 -19800 # Node ID 5e1df1b52eb39dd7545b94e54f491db6ab2ef1b2 # Parent ae07d189b490d0a0f9e28f92c630f8dcde6f47fb 201019_01 diff -r ae07d189b490 -r 5e1df1b52eb3 commonutilities/bwins/glximagedecoderwrapperu.def --- a/commonutilities/bwins/glximagedecoderwrapperu.def Mon May 03 16:56:16 2010 +0530 +++ b/commonutilities/bwins/glximagedecoderwrapperu.def Mon May 17 13:35:26 2010 +0530 @@ -6,9 +6,9 @@ ??_EGlxImageDecoderWrapper@@UAE@I@Z @ 5 NONAME ; GlxImageDecoderWrapper::~GlxImageDecoderWrapper(unsigned int) ?tr@GlxImageDecoderWrapper@@SA?AVQString@@PBD0@Z @ 6 NONAME ; class QString GlxImageDecoderWrapper::tr(char const *, char const *) ?qt_metacast@GlxImageDecoderWrapper@@UAEPAXPBD@Z @ 7 NONAME ; void * GlxImageDecoderWrapper::qt_metacast(char const *) - ?decodeImage@GlxImageDecoderWrapper@@QAEXVQString@@@Z @ 8 NONAME ; void GlxImageDecoderWrapper::decodeImage(class QString) - ?getStaticMetaObject@GlxImageDecoderWrapper@@SAABUQMetaObject@@XZ @ 9 NONAME ; struct QMetaObject const & GlxImageDecoderWrapper::getStaticMetaObject(void) - ??1GlxImageDecoderWrapper@@UAE@XZ @ 10 NONAME ; GlxImageDecoderWrapper::~GlxImageDecoderWrapper(void) + ?getStaticMetaObject@GlxImageDecoderWrapper@@SAABUQMetaObject@@XZ @ 8 NONAME ; struct QMetaObject const & GlxImageDecoderWrapper::getStaticMetaObject(void) + ??1GlxImageDecoderWrapper@@UAE@XZ @ 9 NONAME ; GlxImageDecoderWrapper::~GlxImageDecoderWrapper(void) + ?decodeImage@GlxImageDecoderWrapper@@QAE?AVQSizeF@@VQString@@@Z @ 10 NONAME ; class QSizeF GlxImageDecoderWrapper::decodeImage(class QString) ?pixmapDecoded@GlxImageDecoderWrapper@@IAEXXZ @ 11 NONAME ; void GlxImageDecoderWrapper::pixmapDecoded(void) ?staticMetaObject@GlxImageDecoderWrapper@@2UQMetaObject@@B @ 12 NONAME ; struct QMetaObject const GlxImageDecoderWrapper::staticMetaObject ?getPixmap@GlxImageDecoderWrapper@@QAE?AVQPixmap@@XZ @ 13 NONAME ; class QPixmap GlxImageDecoderWrapper::getPixmap(void) diff -r ae07d189b490 -r 5e1df1b52eb3 commonutilities/common/bwins/glxcommonu.def --- a/commonutilities/common/bwins/glxcommonu.def Mon May 03 16:56:16 2010 +0530 +++ b/commonutilities/common/bwins/glxcommonu.def Mon May 17 13:35:26 2010 +0530 @@ -44,4 +44,5 @@ ?ThumbnailCleanupCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@XZ @ 43 NONAME ; class CMPXMedia * TGlxCommandFactory::ThumbnailCleanupCommandLC(void) ?CreatePreviewFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 44 NONAME ; class CMPXMedia * TGlxFilterFactory::CreatePreviewFilterL(void) ?CreateCameraAlbumExclusionFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 45 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateCameraAlbumExclusionFilterL(void) + ?NewL@CGlxTNMonitor@@SAPAV1@PAVMGlxTNObserver@@@Z @ 46 NONAME ; class CGlxTNMonitor * CGlxTNMonitor::NewL(class MGlxTNObserver *) diff -r ae07d189b490 -r 5e1df1b52eb3 commonutilities/common/eabi/glxcommonu.def --- a/commonutilities/common/eabi/glxcommonu.def Mon May 03 16:56:16 2010 +0530 +++ b/commonutilities/common/eabi/glxcommonu.def Mon May 17 13:35:26 2010 +0530 @@ -45,4 +45,7 @@ _ZN18TGlxCommandFactory28RemoveFromContainerCommandLCERK18CMPXCollectionPath @ 44 NONAME _ZN21CGlxResourceUtilities20GetResourceFilenameLER4TBufILi256EE @ 45 NONAME _ZN21CGlxResourceUtilities20GetResourceFilenameLER4TBufILi256EER3RFs @ 46 NONAME + _ZN13CGlxTNMonitor4NewLEP14MGlxTNObserver @ 47 NONAME + _ZTI13CGlxTNMonitor @ 48 NONAME + _ZTV13CGlxTNMonitor @ 49 NONAME diff -r ae07d189b490 -r 5e1df1b52eb3 commonutilities/common/group/glxcommon.mmp --- a/commonutilities/common/group/glxcommon.mmp Mon May 03 16:56:16 2010 +0530 +++ b/commonutilities/common/group/glxcommon.mmp Mon May 17 13:35:26 2010 +0530 @@ -48,6 +48,7 @@ SOURCE glxresourceutilities.cpp SOURCE glxsettingsmodel.cpp SOURCE glxsingletonstore.cpp +SOURCE glxtnmonitor.cpp LIBRARY bafl.lib LIBRARY centralrepository.lib diff -r ae07d189b490 -r 5e1df1b52eb3 commonutilities/common/inc/glxtnmonitor.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commonutilities/common/inc/glxtnmonitor.h Mon May 17 13:35:26 2010 +0530 @@ -0,0 +1,99 @@ +/* +* ============================================================================ +* Name : glxscreensavermonitor.h +* Part of : GLX / Collection Data Source Framework +* Description : +* Version :%version: 1 % +* Copyright © 2006-2007 Nokia. All rights reserved. +* This material, including documentation and any related computer +* programs, is protected by copyright controlled by Nokia. All +* rights are reserved. Copying, including reproducing, storing, +* adapting or translating, any or all of this material requires the +* prior written consent of Nokia. This material also contains +* confidential information which may not be disclosed to others +* without the prior written consent of Nokia. +* ============================================================================ +*/ + +#ifndef PLUGINSCREENSAVERMONITORAO_H_ +#define PLUGINSCREENSAVERMONITORAO_H_ + +#include +#include + +class MGlxTNObserver +{ +public : + /* + * Constructor + */ + MGlxTNObserver() {} + /* + * Call back to get the number is left to create. + */ + virtual void updateTNCount(int & count) = 0; + /* + * Destructor + */ + virtual ~MGlxTNObserver() {} +}; + + +/** +* Class for monitoring harvester pause. +*/ +class CGlxTNMonitor: public CActive +{ + public: + /** Construction */ + IMPORT_C static CGlxTNMonitor* NewL( MGlxTNObserver *observer ); + + /** + * Destructor - virtual and class not intended + * for derivation, so not exported. + */ + virtual ~CGlxTNMonitor(); + + protected: + + /** + * RunL + * From CActive. + */ + virtual void RunL(); + + /** + * DoCancel + * From CActive. + */ + virtual void DoCancel(); + + /** + * RunError. Error handler in case RunL() leaves. + * From CActive. + * @param aError Leave code from RunL. + * @return Error code. KErrNone if error was handled. + */ + virtual TInt RunError( TInt aError ); + + private: + /** + * constructor + */ + CGlxTNMonitor( MGlxTNObserver *observer ); + + /** + * 2nd phase construction. + */ + void ConstructL(); + + private: + RProperty iScreenSaverProperty; +// TTime iStartTime; +// TTime iStopTime; + MGlxTNObserver *iObserver; +}; + + +#endif + diff -r ae07d189b490 -r 5e1df1b52eb3 commonutilities/common/src/glxtnmonitor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commonutilities/common/src/glxtnmonitor.cpp Mon May 17 13:35:26 2010 +0530 @@ -0,0 +1,105 @@ +/* +* ============================================================================ +* Name : glxscreensavermonitor.cpp +* Part of : GLX / Collection Data Source Framework +* Description : +* Version : %version: 1 % +* +* Copyright © 2006-2007 Nokia. All rights reserved. +* This material, including documentation and any related computer +* programs, is protected by copyright controlled by Nokia. All +* rights are reserved. Copying, including reproducing, storing, +* adapting or translating, any or all of this material requires the +* prior written consent of Nokia. This material also contains +* confidential information which may not be disclosed to others +* without the prior written consent of Nokia. +* ============================================================================ +*/ + +#include "glxtnmonitor.h" +#include + +//#include +#include + +const TUid KTAGDPSNotification = { 0x2001FD51 }; +//const TInt KForceBackgroundGeneration = 0x00000010; +const TInt KItemsleft = 0x00000008; + +CGlxTNMonitor::CGlxTNMonitor( MGlxTNObserver *observer ) +: CActive( CActive::EPriorityHigh ), + iObserver( observer ) +{ +} + +// --------------------------------------------------------------------------- +// ~CGlxPauseMonitor. +// Destructor. +// --------------------------------------------------------------------------- +// +CGlxTNMonitor::~CGlxTNMonitor() +{ + Cancel(); + iScreenSaverProperty.Close(); +} + +// --------------------------------------------------------------------------- +// NewL +// --------------------------------------------------------------------------- +// +EXPORT_C CGlxTNMonitor* CGlxTNMonitor::NewL( MGlxTNObserver *observer ) +{ + //GLX_LOG_ENTRY_EXIT("CGlxTNMonitor::NewL"); + CGlxTNMonitor* self = new (ELeave) CGlxTNMonitor( observer ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; +} + +// --------------------------------------------------------------------------- +// ConstructL. +// Second-phase constructor. +// --------------------------------------------------------------------------- +// +void CGlxTNMonitor::ConstructL() +{ + iScreenSaverProperty.Attach( KTAGDPSNotification, KItemsleft ); + CActiveScheduler::Add( this ); + RunL(); +} + +void CGlxTNMonitor::RunL() +{ + GLX_LOG_ENTRY_EXIT("CGlxTNMonitor::RunL"); + // resubscribe before processing new value to prevent missing updates + iScreenSaverProperty.Subscribe( iStatus ); + SetActive(); + //User::WaitForRequest(iStatus); + TInt intValue; + TInt err = iScreenSaverProperty.Get( intValue ) ; + if ( err != KErrNotFound ){ + iObserver->updateTNCount( intValue ); + } +} + +// --------------------------------------------------------------------------- +// DoCancel +// --------------------------------------------------------------------------- +// +void CGlxTNMonitor::DoCancel() +{ + iScreenSaverProperty.Cancel(); +} + +// --------------------------------------------------------------------------- +// RunError +// --------------------------------------------------------------------------- +// +TInt CGlxTNMonitor::RunError( TInt ) +{ + GLX_LOG_ENTRY_EXIT("CGlxTNMonitor::RunError"); + return KErrNone; +} + + diff -r ae07d189b490 -r 5e1df1b52eb3 commonutilities/imagedecoderwrapper/inc/glximagedecoder.h --- a/commonutilities/imagedecoderwrapper/inc/glximagedecoder.h Mon May 03 16:56:16 2010 +0530 +++ b/commonutilities/imagedecoderwrapper/inc/glximagedecoder.h Mon May 17 13:35:26 2010 +0530 @@ -25,13 +25,13 @@ class GlxImageDecoderWrapper; class CImageDecoder; class CFbsBitmap; - +const TReal KTargetSize = 1000000; class CGlxImageDecoder : public CActive { public: static CGlxImageDecoder* NewL(GlxImageDecoderWrapper* decoderWrapper); ~CGlxImageDecoder(); - void DecodeImageL(QString aSourceFileName); + QSizeF DecodeImageL(QString aSourceFileName); QPixmap GetPixmap(); void ResetDecoder(); public: diff -r ae07d189b490 -r 5e1df1b52eb3 commonutilities/imagedecoderwrapper/inc/glximagedecoderwrapper.h --- a/commonutilities/imagedecoderwrapper/inc/glximagedecoderwrapper.h Mon May 03 16:56:16 2010 +0530 +++ b/commonutilities/imagedecoderwrapper/inc/glximagedecoderwrapper.h Mon May 17 13:35:26 2010 +0530 @@ -35,7 +35,7 @@ */ GlxImageDecoderWrapper(); ~GlxImageDecoderWrapper(); - void decodeImage(QString sourcePath); + QSizeF decodeImage(QString sourcePath); QPixmap getPixmap(); void resetDecoder(); void decodedImageAvailable(); diff -r ae07d189b490 -r 5e1df1b52eb3 commonutilities/imagedecoderwrapper/src/glximagedecoder.cpp --- a/commonutilities/imagedecoderwrapper/src/glximagedecoder.cpp Mon May 03 16:56:16 2010 +0530 +++ b/commonutilities/imagedecoderwrapper/src/glximagedecoder.cpp Mon May 17 13:35:26 2010 +0530 @@ -21,6 +21,7 @@ #include #include #include // For CExtJpegDecoder +#include // --------------------------------------------------------------------------- @@ -78,7 +79,7 @@ // --------------------------------------------------------------------------- // DoDecodeImageL // --------------------------------------------------------------------------- -void CGlxImageDecoder::DecodeImageL(QString aSourceFileName) +QSizeF CGlxImageDecoder::DecodeImageL(QString aSourceFileName) { //convert the argument to Symbian Format TPtrC16 sourceFileName(reinterpret_cast(aSourceFileName.utf16())); @@ -88,20 +89,33 @@ delete iImageDecoder; iImageDecoder = NULL; } - /*TRAPD( err, iImageDecoder = CExtJpegDecoder::FileNewL( - CExtJpegDecoder::EHwImplementation, iFs, sourceFileName, CImageDecoder::EOptionNone ) ); + TRAPD( err, iImageDecoder = CExtJpegDecoder::FileNewL( + CExtJpegDecoder::EHwImplementation, iFs, sourceFileName, CImageDecoder::EOptionAutoRotate ) ); if ( KErrNone != err ) { TRAP(err,iImageDecoder = CExtJpegDecoder::FileNewL( - CExtJpegDecoder::ESwImplementation, iFs, sourceFileName, CImageDecoder::EOptionNone ) ); + CExtJpegDecoder::ESwImplementation, iFs, sourceFileName, CImageDecoder::EOptionAutoRotate ) ); if ( KErrNone != err ) { // Not a JPEG - use standard decoder - iImageDecoder = CImageDecoder::FileNewL( iFs, sourceFileName, CImageDecoder::EOptionNone ); + iImageDecoder = CImageDecoder::FileNewL( iFs, sourceFileName, CImageDecoder::EOptionAutoRotate ); } - }*/ - iImageDecoder = CImageDecoder::FileNewL( iFs, sourceFileName, CImageDecoder::EOptionNone ); + } TSize imageSize = iImageDecoder->FrameInfo().iOverallSizeInPixels; + //limit size to 1MP + TSize decodeSize = imageSize; + TReal pixelsInImage = imageSize.iWidth*imageSize.iHeight; + if(pixelsInImage > KTargetSize) + { + TReal compressionFactor = 1; + TInt err = Math::Sqrt(compressionFactor, (KTargetSize/pixelsInImage) ); + if(err != KErrNone) + { + compressionFactor = .1; + } + + decodeSize = TSize(imageSize.iWidth * compressionFactor, imageSize.iHeight * compressionFactor); + } //clear the existing Bitmap if(iBitmap) { @@ -112,10 +126,11 @@ if(!iBitmap) { iBitmap = new (ELeave) CFbsBitmap(); - iBitmap->Create( imageSize,EColor64K); + iBitmap->Create( decodeSize,EColor64K); iImageDecoder->Convert( &iStatus, *iBitmap ); SetActive(); } + return QSizeF(decodeSize.iWidth,decodeSize.iHeight) ; } // --------------------------------------------------------------------------- // RunL @@ -126,10 +141,10 @@ if( iStatus == KErrNone ) { iDecoderWrapper->decodedImageAvailable(); - delete iImageDecoder; - iImageDecoder = NULL; - iFs.Close(); } + delete iImageDecoder; + iImageDecoder = NULL; + iFs.Close(); } // --------------------------------------------------------------------------- diff -r ae07d189b490 -r 5e1df1b52eb3 commonutilities/imagedecoderwrapper/src/glximagedecoderwrapper.cpp --- a/commonutilities/imagedecoderwrapper/src/glximagedecoderwrapper.cpp Mon May 03 16:56:16 2010 +0530 +++ b/commonutilities/imagedecoderwrapper/src/glximagedecoderwrapper.cpp Mon May 17 13:35:26 2010 +0530 @@ -43,9 +43,9 @@ // decodeImage. // --------------------------------------------------------------------------- // -void GlxImageDecoderWrapper::decodeImage(QString sourcePath) +QSizeF GlxImageDecoderWrapper::decodeImage(QString sourcePath) { - imageDecoder->DecodeImageL(sourcePath); + return imageDecoder->DecodeImageL(sourcePath); } QPixmap GlxImageDecoderWrapper::getPixmap() diff -r ae07d189b490 -r 5e1df1b52eb3 data/Image1.jpg Binary file data/Image1.jpg has changed diff -r ae07d189b490 -r 5e1df1b52eb3 data/Image10.jpg Binary file data/Image10.jpg has changed diff -r ae07d189b490 -r 5e1df1b52eb3 data/Image2.jpg Binary file data/Image2.jpg has changed diff -r ae07d189b490 -r 5e1df1b52eb3 data/Image3.jpg Binary file data/Image3.jpg has changed diff -r ae07d189b490 -r 5e1df1b52eb3 data/Image4.jpg Binary file data/Image4.jpg has changed diff -r ae07d189b490 -r 5e1df1b52eb3 data/Image5.jpg Binary file data/Image5.jpg has changed diff -r ae07d189b490 -r 5e1df1b52eb3 data/Image6.jpg Binary file data/Image6.jpg has changed diff -r ae07d189b490 -r 5e1df1b52eb3 data/Image7.jpg Binary file data/Image7.jpg has changed diff -r ae07d189b490 -r 5e1df1b52eb3 data/Image8.jpg Binary file data/Image8.jpg has changed diff -r ae07d189b490 -r 5e1df1b52eb3 data/Image9.jpg Binary file data/Image9.jpg has changed diff -r ae07d189b490 -r 5e1df1b52eb3 data/fullscreen.docml --- a/data/fullscreen.docml Mon May 03 16:56:16 2010 +0530 +++ b/data/fullscreen.docml Mon May 17 13:35:26 2010 +0530 @@ -3,9 +3,9 @@ - - + + @@ -20,11 +20,18 @@ - + + + + + + + + @@ -38,12 +45,20 @@ - + + + + + +
+ + + @@ -60,17 +75,21 @@ + + + + - - -
+ + + @@ -89,13 +108,14 @@ + + + + - - -
- + diff -r ae07d189b490 -r 5e1df1b52eb3 data/opacity_activate.fxml --- a/data/opacity_activate.fxml Mon May 03 16:56:16 2010 +0530 +++ b/data/opacity_activate.fxml Mon May 17 13:35:26 2010 +0530 @@ -1,14 +1,12 @@ - - - - -2.0 - -0 -0.75 -1.0 - - - + + + + + + 1.0 + 0.0 + 1.0 + + diff -r ae07d189b490 -r 5e1df1b52eb3 data/opacity_deactivate.fxml --- a/data/opacity_deactivate.fxml Mon May 03 16:56:16 2010 +0530 +++ b/data/opacity_deactivate.fxml Mon May 17 13:35:26 2010 +0530 @@ -1,13 +1,12 @@ - - - -2.0 - -1.0 -0.25 -0 - - - + + + + + + 1.0 + 1.0 + 0.0 + + diff -r ae07d189b490 -r 5e1df1b52eb3 data/slideshow.docml --- a/data/slideshow.docml Mon May 03 16:56:16 2010 +0530 +++ b/data/slideshow.docml Mon May 17 13:35:26 2010 +0530 @@ -1,12 +1,12 @@ - + - - + + @@ -29,6 +29,7 @@ + diff -r ae07d189b490 -r 5e1df1b52eb3 engine/collectionframework/group/bld.inf --- a/engine/collectionframework/group/bld.inf Mon May 03 16:56:16 2010 +0530 +++ b/engine/collectionframework/group/bld.inf Mon May 17 13:35:26 2010 +0530 @@ -80,7 +80,7 @@ ../datasource/manager/group/glxdatasourcemanager.mmp ../plugins/glxcollectionpluginall/group/glxcollectionpluginall.mmp ../plugins/glxcollectionpluginalbums/group/glxcollectionpluginalbums.mmp -//../plugins/glxcollectionplugincamera/group/glxcollectionplugincamera.mmp +../plugins/glxcollectionplugincamera/group/glxcollectionplugincamera.mmp ../plugins/glxcollectionplugindownloads/group/glxcollectionplugindownloads.mmp ../plugins/glxcollectionpluginmonths/group/glxcollectionpluginmonths.mmp ../plugins/glxcollectionpluginimageviewer/group/glxcollectionpluginimageviewer.mmp @@ -88,12 +88,3 @@ #include "../plugins/group/bld.inf" #include "../datasource/plugins/group/bld.inf" -PRJ_TESTMMPFILES - -// Alex Birkett 16/01/2008 The following plugins will prevent gallery starting up because they don't return the -// KMPXMediaColDetailSpaceId attribute (the ID space ID). Build them at your own risk! -// ../plugins/Test/albumcollectionplugin/group/glxalbumcollectionplugin.mmp -// ../plugins/Test/glxtestcollectionplugin/group/glxtestcollectionplugin.mmp -// ../plugins/Test/glxmedialiststestcollectionplugin/group/glxmedialiststestcollectionplugin.mmp - - diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/gallery.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gallery/gallery.pro Mon May 17 13:35:26 2010 +0530 @@ -0,0 +1,19 @@ +#/* +#* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +#* All rights reserved. +#* This component and the accompanying materials are made available +#* under the terms of "Eclipse Public License v1.0" +#* which accompanies this distribution, and is available +#* at the URL "http://www.eclipse.org/legal/epl-v10.html". +#* +#* Initial Contributors: +#* Nokia Corporation - initial contribution. +#* +#* Contributors: +#* +#* Description: +#* +#*/ +TEMPLATE = subdirs +myextension = "$${LITERAL_HASH}include " +BLD_INF_RULES.prj_platforms += myextension diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/bld_stub.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gallery/sis/bld_stub.inf Mon May 17 13:35:26 2010 +0530 @@ -0,0 +1,26 @@ +/* +* Copyright (c) 2008-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: Build information for project mgallery. +* +*/ + +PRJ_EXTENSIONS +#ifdef MARM +START EXTENSION app-services/buildstubsis +OPTION SRCDIR ../sis +OPTION SISNAME photos_stub +END + +#endif + diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/createsis.bat --- a/gallery/sis/createsis.bat Mon May 03 16:56:16 2010 +0530 +++ b/gallery/sis/createsis.bat Mon May 17 13:35:26 2010 +0530 @@ -15,6 +15,7 @@ rem +call makesis photos_stub.pkg -call makesis glxgallery.pkg -call signsis -s glxgallery.sis glxgallery.sisx RDTest_02.der RDTest_02.key \ No newline at end of file +call makesis photos.pkg +call signsis -s photos.sis photos.sisx RDTest_02.der RDTest_02.key \ No newline at end of file diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/createsis_udeb.bat --- a/gallery/sis/createsis_udeb.bat Mon May 03 16:56:16 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -rem -rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -rem All rights reserved. -rem This component and the accompanying materials are made available -rem under the terms of "Eclipse Public License v1.0" -rem which accompanies this distribution, and is available -rem at the URL "http://www.eclipse.org/legal/epl-v10.html". -rem -rem Initial Contributors: -rem Nokia Corporation - initial contribution. -rem -rem Contributors: -rem -rem Description: -rem - - - -call makesis glxgallery_udeb.pkg -call signsis -s glxgallery_udeb.sis glxgallery_udeb.sisx RDTest_02.der RDTest_02.key \ No newline at end of file diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/glxgallery.pkg --- a/gallery/sis/glxgallery.pkg Mon May 03 16:56:16 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,103 +0,0 @@ -; -; Copyright (c) 2008 - 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: Package file for project Gallery -; - -; -------- general -------- - -; Languages -&EN - -; Package header -#{"photos"},(0x200009EE),1,0,0,TYPE=SA - -;Localised Vendor name -%{"Nokia"} - -;Unique Vendor name -:"Nokia" - -; Dependency for S60 3.0 -[0x101F7961],0,0,0,{"Series60v3.0"} - -; -------- files -------- - -; NOTE: This installation package does not include huitoolkit.dll, -; so you have to install it separately! - - -"\epoc32\release\armv5\urel\glxcollectionplugintags.dll" -"!:\sys\bin\glxcollectionplugintags.dll" -"\epoc32\data\Z\resource\plugins\glxcollectionplugintags.rsc" -"!:\resource\plugins\glxcollectionplugintags.rsc" -"\epoc32\data\Z\resource\plugins\glxplugintags.rsc" -"!:\resource\plugins\glxplugintags.rsc" -"\epoc32\release\armv5\urel\glxcommon.dll" -"!:\sys\bin\glxcommon.dll" -"\epoc32\release\armv5\urel\glxcommonui.dll" -"!:\sys\bin\glxcommonui.dll" -"\epoc32\release\armv5\urel\glxdatasourcemanager.dll" -"!:\sys\bin\glxdatasourcemanager.dll" -"\epoc32\release\armv5\urel\glxdatasourcemde.dll" -"!:\sys\bin\glxdatasourcemde.dll" -"\epoc32\data\Z\resource\plugins\glxdatasourcemde.rsc" -"!:\resource\plugins\glxdatasourcemde.rsc" -"\epoc32\release\armv5\urel\glxcollectionpluginalbums.dll" -"!:\sys\bin\glxcollectionpluginalbums.dll" -"\epoc32\data\Z\resource\plugins\glxcollectionpluginalbums.rsc" -"!:\resource\plugins\glxcollectionpluginalbums.rsc" -"\epoc32\data\Z\resource\plugins\glxpluginalbums.rsc" -"!:\resource\plugins\glxpluginalbums.rsc" -"\epoc32\release\armv5\urel\glxcollectionpluginall.dll" -"!:\sys\bin\glxcollectionpluginall.dll" -"\epoc32\data\Z\resource\plugins\glxcollectionpluginall.rsc" -"!:\resource\plugins\glxcollectionpluginall.rsc" -"\epoc32\data\Z\resource\plugins\glxpluginall.rsc" -"!:\resource\plugins\glxpluginall.rsc" -"\epoc32\release\armv5\urel\glxcollectionplugincamera.dll" -"!:\sys\bin\glxcollectionplugincamera.dll" -"\epoc32\data\Z\resource\plugins\glxcollectionplugincamera.rsc" -"!:\resource\plugins\glxcollectionplugincamera.rsc" -"\epoc32\data\Z\resource\plugins\glxplugincamera.rsc" -"!:\resource\plugins\glxplugincamera.rsc" -"\epoc32\release\armv5\urel\glxcollectionplugindownloads.dll" -"!:\sys\bin\glxcollectionplugindownloads.dll" -"\epoc32\data\Z\resource\plugins\glxcollectionplugindownloads.rsc" -"!:\resource\plugins\glxcollectionplugindownloads.rsc" -"\epoc32\data\Z\resource\plugins\glxplugindownloads.rsc" -"!:\resource\plugins\glxplugindownloads.rsc" -"\epoc32\release\armv5\urel\glxcollectionpluginmonths.dll" -"!:\sys\bin\glxcollectionpluginmonths.dll" -"\epoc32\data\Z\resource\plugins\glxcollectionpluginmonths.rsc" -"!:\resource\plugins\glxcollectionpluginmonths.rsc" -"\epoc32\data\Z\resource\plugins\glxpluginmonths.rsc" -"!:\resource\plugins\glxpluginmonths.rsc" - -;delete these -;"\epoc32\release\armv5\urel\glxthumbnailcomposerplugin.dll" -"!:\sys\bin\glxthumbnailcomposerplugin.dll" -;"\epoc32\data\Z\resource\plugins\glxthumbnailcomposerplugin.rsc" -"!:\resource\plugins\glxthumbnailcomposerplugin.rsc" - -"\epoc32\release\armv5\urel\glxmedialists.dll" -"!:\sys\bin\glxmedialists.dll" - -"\epoc32\release\armv5\urel\glxdrmutility.dll" -"!:\sys\bin\glxdrmutility.dll" - -; Glx logging client -"\epoc32\release\armv5\urel\glxlogging.dll"-"!:\sys\bin\glxlogging.dll" - -; Glx logging app -;"\epoc32\release\armv5\urel\glxloggingapp.exe"-"!:\sys\bin\glxloggingapp.exe" -;"\epoc32\data\z\private\10003a3f\import\apps\glxloggingapp_reg.rsc"-"!:\private\10003a3f\import\apps\glxloggingapp_reg.rsc" -;"\epoc32\data\z\resource\apps\glxloggingapp_loc.rsc"-"!:\resource\apps\glxloggingapp_loc.rsc" -;"\epoc32\data\z\resource\apps\glxloggingapp.rsc"-"!:\resource\apps\glxloggingapp.rsc" - - -"\epoc32\release\armv5\urel\photos.exe" -"!:\sys\bin\photos.exe" -"\epoc32\data\z\private\10003a3f\import\apps\photos_reg.rsc"-"!:\private\10003a3f\import\apps\photos_reg.rsc" -"\epoc32\data\z\resource\apps\photos.rsc"-"!:\resource\apps\photos.rsc" -"\epoc32\data\z\resource\apps\0xE2C223D9.mif" - "!:\resource\apps\0xE2C223D9.mif" - -;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" -"\epoc32\release\armv5\urel\glxstatehandler.dll" -"!:\sys\bin\glxstatehandler.dll" -"\epoc32\release\armv5\urel\glxviewmanager.dll" -"!:\sys\bin\glxviewmanager.dll" -;"\epoc32\release\armv5\urel\GlxExternalViewPlugin.dll" -"!:\sys\bin\GlxExternalViewPlugin.dll" -;"\epoc32\data\Z\resource\plugins\GlxExternalViewPlugin.rsc" -"!:\resource\plugins\GlxExternalViewPlugin.rsc" -"\epoc32\release\armv5\urel\glxviews.dll" -"!:\sys\bin\glxviews.dll" -"\epoc32\release\armv5\urel\glxloggerqt.dll" -"!:\sys\bin\glxloggerqt.dll" -"\epoc32\release\armv5\urel\glximagedecoderwrapper.dll" -"!:\sys\bin\glximagedecoderwrapper.dll" - -"\epoc32\release\armv5\urel\glxcommandhandlerbase.dll" -"!:\sys\bin\glxcommandhandlerbase.dll" -"\epoc32\release\armv5\urel\glxcommoncommandhandlers.dll" -"!:\sys\bin\glxcommoncommandhandlers.dll" diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/glxgallery.sis Binary file gallery/sis/glxgallery.sis has changed diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/glxgallery.sisx Binary file gallery/sis/glxgallery.sisx has changed diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/glxgallery_stub.mk --- a/gallery/sis/glxgallery_stub.mk Mon May 03 16:56:16 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -# -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "Eclipse Public License v1.0" -# which accompanies this distribution, and is available -# at the URL "http://www.eclipse.org/legal/epl-v10.html". -# -# Initial Contributors: -# Nokia Corporation - initial contribution. -# -# Contributors: -# -# Description: -# - -ifeq (WINS,$(findstring WINS, $(PLATFORM))) - ZDIR = $(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\Z -else - ZDIR = $(EPOCROOT)epoc32\data\z -endif - - - -do_nothing : - @rem do_nothing -MAKMAKE : do_nothing -BLD : do_nothing -CLEAN : do_nothing -LIB : do_nothing -CLEANLIB : do_nothing - -RESOURCE : do_nothing -FREEZE : do_nothing -SAVESPACE : do_nothing -RELEASABLES : do_nothing -FINAL : - echo ============================================================= - echo Starting to create stub file.. - makesis -v -s photos_stub.pkg photos_stub.sis - echo Copying stub sis.. - copy photos_stub.sis $(EPOCROOT)epoc32\data\Z\System\Install\photos_stub.sis - echo Stub created and copied. - echo ============================================================= diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/glxgallery_stub.pkg --- a/gallery/sis/glxgallery_stub.pkg Mon May 03 16:56:16 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,166 +0,0 @@ -; -; Copyright (c) 2008 - 2009 Nokia Corporation and/or its subsidiary(-ies). -; All rights reserved. -; This component and the accompanying materials are made available -; under the terms of "Eclipse Public License v1.0" -; which accompanies this distribution, and is available -; at the URL "http://www.eclipse.org/legal/epl-v10.html". -; -; Initial Contributors: -; Nokia Corporation - initial contribution. -; -; Contributors: -; -; Description: Stub package file for project Gallery -; - -; -------- general -------- - -; Languages -&EN - -; Package header -#{"mgallery"},(0x200009EE),1,0,0, TYPE=SA - -;Localised Vendor name -%{"Nokia"} - -;Unique Vendor name -:"Nokia" - -; -------- files -------- - -""-"z:\private\10003a3f\import\apps\glx_reg.rsc" - -""-"z:\sys\bin\glx.exe" -""-"z:\resource\apps\glx_loc.Rsc" -""-"z:\resource\apps\glx.Rsc" - -""-"z:\resource\apps\glxicons.mbm" -""-"z:\resource\apps\glxicons.mif" -""-"z:\resource\apps\glx_aif.mif" - - -;; language-dependent resource files - -;; engines - -""-"z:\sys\bin\glxsimplelistview.dll" -""-"z:\sys\bin\glxtagsmanagerviewplugin.dll" -""-"z:\resource\plugins\glxtagsmanagerviewplugin.rsc" -""-"z:\resource\apps\glxtagsmanagerview.RSC" -""-"z:\resource\plugins\glxlistviewplugin.rsc" -""-"z:\sys\bin\glxmetadatadialog.dll" -""-"z:\resource\apps\glxmetadatadialog.rsc" -""-"z:\sys\bin\glxcloudview.dll" -""-"z:\sys\bin\glxtagsbrowserviewplugin.dll" -""-"z:\resource\plugins\glxtagsbrowserviewplugin.rsc" -""-"z:\resource\apps\glxtagsbrowserview.RSC" -""-"z:\sys\bin\glxupnpcommandhandler.dll" -""-"z:\sys\bin\glxcollectionplugintags.dll" -""-"z:\resource\plugins\glxcollectionplugintags.rsc" -""-"z:\resource\plugins\glxplugintags.rsc" -""-"z:\sys\bin\glxtexturemanager.dll" -""-"z:\sys\bin\glxfetcher.dll" -""-"z:\resource\plugins\glxfetcher.rsc" -""-"z:\resource\apps\glxfetcherdialog.rsc" -""-"z:\sys\bin\glxcollectionmanager.dll" -;""-"z:\sys\bin\glxactivedataplugin.dll" -;""-"z:\resource\plugins\glxactivedataplugin.rsc" -""-"z:\sys\bin\glxviewbase.dll" -""-"z:\resource\apps\glxviewbase.rsc" -""-"z:\sys\bin\glxcommandhandlerbase.dll" -""-"z:\sys\bin\glxcommoncommandhandlers.dll" -""-"z:\resource\apps\glxcommoncommandhandlers.rsc" -""-"z:\sys\bin\glxcommandhandlermarking.dll" -""-"z:\sys\bin\glxcommandhandlerdrm.dll" -""-"z:\sys\bin\glxcommandhandlermoreinfo.dll" -""-"z:\resource\apps\glxcommandhandlermarking.rsc" -""-"z:\sys\bin\glxcommon.dll" -""-"z:\sys\bin\glxcommonui.dll" -""-"z:\sys\bin\shwslideshowengine.dll" -""-"z:\resource\apps\shwslideshowengine.rsc" -""-"z:\sys\bin\shwslideshowviewplugin.dll" -""-"z:\resource\plugins\shwslideshowviewplugin.rsc" -""-"z:\resource\apps\shwslideshowview.rsc" -""-"z:\sys\bin\shwsettingsplugin.dll" -""-"z:\resource\plugins\shwsettingsplugin.rsc" -""-"z:\resource\apps\shwsettingsdialog.rsc" -""-"z:\sys\bin\glxthumbnailcreator.dll" -""-"z:\sys\bin\glxdatasourcemanager.dll" -""-"z:\sys\bin\glxdatasourcemde.dll" -""-"z:\resource\plugins\glxdatasourcemde.rsc" -""-"z:\sys\bin\glxcollectionpluginalbums.dll" -""-"z:\resource\plugins\glxcollectionpluginalbums.rsc" -""-"z:\resource\plugins\glxpluginalbums.rsc" -""-"z:\sys\bin\glxcollectionpluginall.dll" -""-"z:\resource\plugins\glxcollectionpluginall.rsc" -""-"z:\resource\plugins\glxpluginall.rsc" -""-"z:\sys\bin\glxcollectionplugincamera.dll" -""-"z:\resource\plugins\glxcollectionplugincamera.rsc" -""-"z:\resource\plugins\glxplugincamera.rsc" -""-"z:\sys\bin\glxcollectionplugindownloads.dll" -""-"z:\resource\plugins\glxcollectionplugindownloads.rsc" -""-"z:\resource\plugins\glxplugindownloads.rsc" -""-"z:\sys\bin\glxcollectionpluginmonths.dll" -""-"z:\resource\plugins\glxcollectionpluginmonths.rsc" -""-"z:\resource\plugins\glxpluginmonths.rsc" -""-"z:\sys\bin\glxzoomview.dll" - -""-"z:\sys\bin\glxthumbnailcomposerplugin.dll" -""-"z:\resource\plugins\glxthumbnailcomposerplugin.rsc" - -;""-"z:\sys\bin\glxtvout.dll" - -""-"z:\sys\bin\glxlayouts.dll" -""-"z:\sys\bin\glxmedialists.dll" -""-"z:\sys\bin\glxvisuallistmanager.dll" -""-"z:\sys\bin\glxuiutilities.dll" -""-"z:\resource\apps\glxuiutilities.rsc" -""-"z:\sys\bin\glxdrmutility.dll" - -""-"z:\sys\bin\glxgridview.dll" -""-"z:\resource\apps\glxgridviewdata.rsc" -""-"z:\sys\bin\glxgridviewpluginbase.dll" -""-"z:\sys\bin\glxgridviewplugin.dll" -""-"z:\resource\plugins\glxgridviewplugin.rsc" -""-"z:\resource\apps\glxdownloadtext.rsc" - - -""-"z:\sys\bin\glxfullscreenview.dll" - -""-"z:\sys\bin\glxlistview.dll" -""-"z:\resource\apps\glxlistviewplugin.rsc" -""-"z:\sys\bin\glxlistviewpluginbase.dll" -""-"z:\sys\bin\glxlistviewplugin.dll" -""-"z:\resource\plugins\glxlistviewplugin.rsc" - -""-"z:\system\data\10202BE9\200071d3.txt" -""-"z:\system\data\10202BE9\200009EE.txt" - -;Files for the VIA Player component -;""-"z:\sys\bin\glxvideoplaybackviewplugin.dll" -;""-"z:\resource\plugins\glxvideoplaybackviewplugin.rsc" - -; Glx logging client -""-"z:\sys\bin\glxlogging.dll" - -; Glx logging app -""-"z:\sys\bin\glxloggingapp.exe" -""-"z:\private\10003a3f\import\apps\glxloggingapp_reg.rsc" -""-"z:\resource\apps\glxloggingapp_loc.rsc" -""-"z:\resource\apps\glxloggingapp.rsc" - - -""-"z:\sys\bin\glxtileview.dll" -""-"z:\sys\bin\glxtileviewpluginbase.dll" -""-"z:\sys\bin\glxtileviewplugin.dll" -""-"z:\sys\bin\glxtagcollectionplugin.dll" -""-"z:\sys\bin\glxalbumcollectionplugin.dll" -""-"z:\sys\bin\glxfullscreenviewpluginbase.dll" -""-"z:\sys\bin\glxfullscreenviewplugin.dll" -""-"z:\sys\bin\glxdataprovider.dll" -""-"z:\sys\bin\glxunifiedmetadataviewplugin.dll" -""-"z:\sys\bin\glxuitilities.dll" -""-"z:\sys\bin\glxunifiedmetadataview.dll" -""-"z:\sys\bin\glxaddtoalbumhandler.dll" diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/glxgallery_stub.sis Binary file gallery/sis/glxgallery_stub.sis has changed diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/glxgallery_udeb.pkg --- a/gallery/sis/glxgallery_udeb.pkg Mon May 03 16:56:16 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,237 +0,0 @@ -; -; Copyright (c) 2008 - 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: Package file for project Gallery -; - -; -------- general -------- - -; Languages -&EN - -; Package header -#{"mgallery"},(0x200009EE),1,0,0,TYPE=SA - -;Localised Vendor name -%{"Nokia"} - -;Unique Vendor name -:"Nokia" - -; Dependency for S60 3.0 -[0x101F7961],0,0,0,{"Series60v3.0"} - -; -------- files -------- - -; NOTE: This installation package does not include huitoolkit.dll, -; so you have to install it separately! - -;; ui files - -"..\data\abstract5.jpg"-"c:\abstract5.jpg" -"..\data\Battle.jpg"-"c:\Battle.jpg" -"..\data\text_element_left_cap.png"-"c:\text_element_left_cap.png" -"..\data\text_element_mid.png"-"c:\text_element_mid.png" -"..\data\text_element_right_cap.png"-"c:\text_element_right_cap.png" -"..\data\qgn_prop_image_notcreated.png"-"c:\qgn_prop_image_notcreated.png" -"..\data\Image1.jpg"-"c:\Image1.jpg" -"..\data\Image2.jpg"-"c:\Image2.jpg" -"..\data\Image3.jpg"-"c:\Image3.jpg" -"..\data\Image4.jpg"-"c:\Image4.jpg" -"..\data\Image5.jpg"-"c:\Image5.jpg" -"..\data\Image6.jpg"-"c:\Image6.jpg" -"..\data\Image7.jpg"-"c:\Image7.jpg" -"..\data\Image8.jpg"-"c:\Image8.jpg" -"..\data\Image9.jpg"-"c:\Image9.jpg" -"..\data\Image10.jpg"-"c:\Image10.jpg" -"..\data\Image11.jpg"-"c:\Image11.jpg" -"..\data\Image12.jpg"-"c:\Image12.jpg" -"..\data\Image13.jpg"-"c:\Image13.jpg" -"..\data\Image14.jpg"-"c:\Image14.jpg" -"..\data\Image15.jpg"-"c:\Image15.jpg" -"..\data\Image16.jpg"-"c:\Image16.jpg" -"..\data\Image17.jpg"-"c:\Image17.jpg" -"..\data\Image18.jpg"-"c:\Image18.jpg" -"..\data\Image19.jpg"-"c:\Image19.jpg" -"..\data\Image20.jpg"-"c:\Image20.jpg" -"..\data\Image21.jpg"-"c:\Image21.jpg" -"..\data\Image22.jpg"-"c:\Image22.jpg" -"..\data\newitem1.jpg"-"c:\newitem1.jpg" -"..\data\newitem2.jpg"-"c:\newitem2.jpg" -"..\data\newitem3.jpg"-"c:\newitem3.jpg" -"..\data\newitem4.jpg"-"c:\newitem4.jpg" -"..\data\newitem5.jpg"-"c:\newitem5.jpg" -"..\data\newitem6.jpg"-"c:\newitem6.jpg" -"..\data\newitem7.jpg"-"c:\newitem7.jpg" -"..\data\newitem8.jpg"-"c:\newitem8.jpg" -"..\data\newitem9.jpg"-"c:\newitem9.jpg" -"..\data\newitem10.jpg"-"c:\newitem10.jpg" -"..\data\newitem11.jpg"-"c:\newitem11.jpg" -"..\data\newitem12.jpg"-"c:\newitem12.jpg" -"..\data\newitem13.jpg"-"c:\newitem13.jpg" -"..\data\newitem14.jpg"-"c:\newitem14.jpg" - -"\epoc32\release\armv5\udeb\glx.exe"-"!:\sys\bin\glx.exe" -"\epoc32\data\z\private\10003a3f\import\apps\glx_reg.rsc"-"!:\private\10003a3f\import\apps\glx_reg.rsc" -"\epoc32\data\z\resource\apps\glx_loc.Rsc"-"!:\resource\apps\glx_loc.Rsc" -"\epoc32\data\z\resource\apps\glx.Rsc"-"!:\resource\apps\glx.Rsc" - -;"\epoc32\release\armv5\udeb\proto.exe"-"!:\sys\bin\proto.exe" -;"\epoc32\data\z\private\10003a3f\import\apps\proto_reg.rsc"-"!:\private\10003a3f\import\apps\proto_reg.rsc" -;"\epoc32\data\z\resource\apps\proto.Rsc"-"!:\resource\apps\proto.Rsc" - -;"\epoc32\release\armv5\udeb\albumpopuptest.exe"-"!:\sys\bin\albumpopuptest.exe" -;"\epoc32\data\z\private\10003a3f\import\apps\albumpopuptest_reg.rsc"-"!:\private\10003a3f\import\apps\albumpopuptest_reg.rsc" -;"\epoc32\data\z\resource\apps\albumpopuptest.Rsc"-"!:\resource\apps\albumpopuptest.Rsc" - -;"..\..\viewframework\uiutilities\data\icon4.png" -"!:\private\200009EE\icon4.png" -;"..\..\viewframework\uiutilities\data\listbox_bar.png" -"!:\private\200009EE\listbox_bar.png" -;"..\..\viewframework\uiutilities\data\listbox_thumb.png" -"!:\private\200009EE\listbox_thumb.png" -;"..\..\viewframework\uiutilities\data\selector.png" -"!:\private\200009EE\selector.png" -;"..\..\viewframework\uiutilities\data\capped_element.png" -"!:\private\200009EE\capped_element.png" - -"\epoc32\data\z\resource\apps\glxicons.mbm" -"!:\resource\apps\glxicons.mbm" -"\epoc32\data\z\resource\apps\glxicons.mif" -"!:\resource\apps\glxicons.mif" -"\epoc32\data\z\resource\apps\glx_aif.mif" -"!:\resource\apps\glx_aif.mif" - - -;; language-dependent resource files - -;; engines - - -"\epoc32\data\Z\resource\plugins\glxlistviewplugin.rsc" -"!:\resource\plugins\glxlistviewplugin.rsc" -;"\epoc32\release\armv5\udeb\glxunifiedmetadataview.dll" -"!:\sys\bin\glxunifiedmetadataview.dll" -"\epoc32\data\Z\resource\apps\glxmetadatadialog.rsc" -"!:\resource\apps\glxmetadatadialog.rsc" -"\epoc32\release\armv5\udeb\glxmetadatadialog.dll" -"!:\sys\bin\glxmetadatadialog.dll" -"\epoc32\data\Z\resource\apps\glxmetadatadialog.rsc" -"!:\resource\apps\glxmetadatadialog.rsc" -"\epoc32\release\armv5\udeb\glxcloudview.dll" -"!:\sys\bin\glxcloudview.dll" -"\epoc32\release\armv5\udeb\glxtagsbrowserviewplugin.dll" -"!:\sys\bin\glxtagsbrowserviewplugin.dll" -"\epoc32\data\Z\resource\plugins\glxtagsbrowserviewplugin.rsc" -"!:\resource\plugins\glxtagsbrowserviewplugin.rsc" -"\epoc32\data\Z\resource\apps\glxtagsbrowserview.RSC" -"!:\resource\apps\glxtagsbrowserview.RSC" -"\epoc32\release\armv5\udeb\glxupnpcommandhandler.dll" -"!:\sys\bin\glxupnpcommandhandler.dll" -"\epoc32\release\armv5\udeb\glxcollectionplugintags.dll" -"!:\sys\bin\glxcollectionplugintags.dll" -"\epoc32\data\Z\resource\plugins\glxcollectionplugintags.rsc" -"!:\resource\plugins\glxcollectionplugintags.rsc" -"\epoc32\data\Z\resource\plugins\glxplugintags.rsc" -"!:\resource\plugins\glxplugintags.rsc" -"\epoc32\release\armv5\udeb\glxtexturemanager.dll" -"!:\sys\bin\glxtexturemanager.dll" -"\epoc32\release\armv5\udeb\glxfetcher.dll" -"!:\sys\bin\glxfetcher.dll" -"\epoc32\data\Z\resource\plugins\glxfetcher.rsc" -"!:\resource\plugins\glxfetcher.rsc" -"\epoc32\data\Z\resource\apps\glxfetcherview.rsc" -"!:\resource\apps\glxfetcherview.rsc" -"\epoc32\release\armv5\udeb\glxcollectionmanager.dll" -"!:\sys\bin\glxcollectionmanager.dll" -"\epoc32\release\armv5\udeb\glxactivedataplugin.dll" -"!:\sys\bin\glxactivedataplugin.dll" -"\epoc32\data\Z\resource\plugins\glxactivedataplugin.rsc" -"!:\resource\plugins\glxactivedataplugin.rsc" -"\epoc32\release\armv5\udeb\glxviewbase.dll" -"!:\sys\bin\glxviewbase.dll" -"\epoc32\data\z\resource\apps\glxviewbase.rsc" -"!:\resource\apps\glxviewbase.rsc" -;"\epoc32\release\armv5\udeb\glxtesttileview.dll" -"!:\sys\bin\glxtesttileview.dll" -;"\epoc32\data\z\resource\apps\glxtesttileview.rsc" -"!:\resource\apps\glxtesttileview.rsc" -;"\epoc32\release\armv5\udeb\glxtesttileviewplugin.dll" -"!:\sys\bin\glxtesttileviewplugin.dll" -;"\epoc32\data\Z\resource\plugins\glxtesttileviewplugin.rsc" -"!:\resource\plugins\glxtesttileviewplugin.rsc" -;"\epoc32\release\armv5\udeb\glxtestremovehandler.dll" -"!:\sys\bin\glxtestremovehandler.dll" -;"\epoc32\release\armv5\udeb\glxaddtoalbumhandler.dll" -"!:\sys\bin\glxaddtoalbumhandler.dll" -"\epoc32\release\armv5\udeb\glxcommandhandlerbase.dll" -"!:\sys\bin\glxcommandhandlerbase.dll" -"\epoc32\release\armv5\udeb\glxcommoncommandhandlers.dll" -"!:\sys\bin\glxcommoncommandhandlers.dll" -"\epoc32\data\Z\resource\apps\glxcommoncommandhandlers.rsc" -"!:\resource\apps\glxcommoncommandhandlers.rsc" -"\epoc32\release\armv5\udeb\glxcommandhandlermarking.dll" -"!:\sys\bin\glxcommandhandlermarking.dll" -"\epoc32\release\armv5\udeb\glxcommandhandlerdrm.dll" -"!:\sys\bin\glxcommandhandlerdrm.dll" -"\epoc32\release\armv5\udeb\glxcommandhandlermoreinfo.dll" -"!:\sys\bin\glxcommandhandlermoreinfo.dll" -"\epoc32\data\z\resource\apps\glxcommandhandlermarking.rsc" -"!:\resource\apps\glxcommandhandlermarking.rsc" -"\epoc32\release\armv5\udeb\glxcommon.dll" -"!:\sys\bin\glxcommon.dll" -"\epoc32\release\armv5\udeb\glxcommonui.dll" -"!:\sys\bin\glxcommonui.dll" -;"\epoc32\data\z\resource\apps\glxaddtoalbumhandler.rsc" -"!:\resource\apps\glxaddtoalbumhandler.rsc" -"\epoc32\release\armv5\udeb\shwslideshowengine.dll" -"!:\sys\bin\shwslideshowengine.dll" -"\epoc32\data\Z\resource\apps\shwslideshowengine.rsc" -"!:\resource\apps\shwslideshowengine.rsc" -"\epoc32\release\armv5\udeb\shwslideshowviewplugin.dll" -"!:\sys\bin\shwslideshowviewplugin.dll" -"\epoc32\data\Z\resource\plugins\shwslideshowviewplugin.rsc" -"!:\resource\plugins\shwslideshowviewplugin.rsc" -"\epoc32\data\Z\resource\apps\shwslideshowview.rsc" -"!:\resource\apps\shwslideshowview.rsc" -"\epoc32\release\armv5\udeb\shwsettingsplugin.dll" -"!:\sys\bin\shwsettingsplugin.dll" -"\epoc32\data\Z\resource\plugins\shwsettingsplugin.rsc" -"!:\resource\plugins\shwsettingsplugin.rsc" -"\epoc32\data\Z\resource\apps\shwsettingsdialog.rsc" -"!:\resource\apps\shwsettingsdialog.rsc" -"\epoc32\release\armv5\udeb\glxthumbnailcreator.dll" -"!:\sys\bin\glxthumbnailcreator.dll" -"\epoc32\release\armv5\udeb\glxdatasourcemanager.dll" -"!:\sys\bin\glxdatasourcemanager.dll" -"\epoc32\release\armv5\udeb\glxdatasourcemde.dll" -"!:\sys\bin\glxdatasourcemde.dll" -"\epoc32\data\Z\resource\plugins\glxdatasourcemde.rsc" -"!:\resource\plugins\glxdatasourcemde.rsc" -;"\epoc32\release\armv5\udeb\glxdatasourcetest.dll" -"!:\sys\bin\glxdatasourcetest.dll" -;"\epoc32\data\Z\resource\plugins\glxdatasourcetest.rsc" -"!:\resource\plugins\glxdatasourcetest.rsc" -"\epoc32\release\armv5\udeb\glxcollectionpluginalbums.dll" -"!:\sys\bin\glxcollectionpluginalbums.dll" -"\epoc32\data\Z\resource\plugins\glxcollectionpluginalbums.rsc" -"!:\resource\plugins\glxcollectionpluginalbums.rsc" -"\epoc32\data\Z\resource\plugins\glxpluginalbums.rsc" -"!:\resource\plugins\glxpluginalbums.rsc" -;"\epoc32\release\armv5\udeb\glxalbumcollectionplugin.dll" -"!:\sys\bin\glxalbumcollectionplugin.dll" -;"\epoc32\release\armv5\udeb\glxtestcollectionplugin.dll" -"!:\sys\bin\glxtestcollectionplugin.dll" -;"\epoc32\data\Z\resource\plugins\glxtestcollectionplugin.rsc" -"!:\resource\plugins\glxtestcollectionplugin.rsc" -;"\epoc32\data\Z\resource\plugins\glxalbumcollectionplugin.rsc" -"!:\resource\plugins\glxalbumcollectionplugin.rsc" -"\epoc32\release\armv5\udeb\glxcollectionpluginall.dll" -"!:\sys\bin\glxcollectionpluginall.dll" -"\epoc32\data\Z\resource\plugins\glxcollectionpluginall.rsc" -"!:\resource\plugins\glxcollectionpluginall.rsc" -"\epoc32\data\Z\resource\plugins\glxpluginall.rsc" -"!:\resource\plugins\glxpluginall.rsc" -"\epoc32\release\armv5\udeb\glxcollectionplugincamera.dll" -"!:\sys\bin\glxcollectionplugincamera.dll" -"\epoc32\data\Z\resource\plugins\glxcollectionplugincamera.rsc" -"!:\resource\plugins\glxcollectionplugincamera.rsc" -"\epoc32\data\Z\resource\plugins\glxplugincamera.rsc" -"!:\resource\plugins\glxplugincamera.rsc" -"\epoc32\release\armv5\udeb\glxcollectionplugindownloads.dll" -"!:\sys\bin\glxcollectionplugindownloads.dll" -"\epoc32\data\Z\resource\plugins\glxcollectionplugindownloads.rsc" -"!:\resource\plugins\glxcollectionplugindownloads.rsc" -"\epoc32\data\Z\resource\plugins\glxplugindownloads.rsc" -"!:\resource\plugins\glxplugindownloads.rsc" -"\epoc32\release\armv5\udeb\glxcollectionpluginmonths.dll" -"!:\sys\bin\glxcollectionpluginmonths.dll" -"\epoc32\data\Z\resource\plugins\glxcollectionpluginmonths.rsc" -"!:\resource\plugins\glxcollectionpluginmonths.rsc" -"\epoc32\data\Z\resource\plugins\glxpluginmonths.rsc" -"!:\resource\plugins\glxpluginmonths.rsc" -"\epoc32\release\armv5\udeb\glxzoomview.dll" -"!:\sys\bin\glxzoomview.dll" - -"\epoc32\release\armv5\udeb\glxthumbnailcomposerplugin.dll" -"!:\sys\bin\glxthumbnailcomposerplugin.dll" -"\epoc32\data\Z\resource\plugins\glxthumbnailcomposerplugin.rsc" -"!:\resource\plugins\glxthumbnailcomposerplugin.rsc" - -"\epoc32\release\armv5\udeb\glxlayouts.dll" -"!:\sys\bin\glxlayouts.dll" -"\epoc32\release\armv5\udeb\glxmedialists.dll" -"!:\sys\bin\glxmedialists.dll" -"\epoc32\release\armv5\udeb\glxvisuallistmanager.dll" -"!:\sys\bin\glxvisuallistmanager.dll" -"\epoc32\release\armv5\udeb\glxuiutilities.dll" -"!:\sys\bin\glxuiutilities.dll" -"\epoc32\data\z\resource\apps\glxuiutilities.rsc" -"!:\resource\apps\glxuiutilities.rsc" -"\epoc32\release\armv5\udeb\glxdrmutility.dll" -"!:\sys\bin\glxdrmutility.dll" - -"\epoc32\release\armv5\udeb\glxtileview.dll" -"!:\sys\bin\glxtileview.dll" -"\epoc32\data\z\resource\apps\glxtileviewdata.rsc" -"!:\resource\apps\glxtileviewdata.rsc" -"\epoc32\data\z\resource\apps\glxdownloadtext.rsc" -"!:\resource\apps\glxdownloadtext.rsc" -"\epoc32\release\armv5\udeb\glxtileviewpluginbase.dll" -"!:\sys\bin\glxtileviewpluginbase.dll" -"\epoc32\release\armv5\udeb\glxtileviewplugin.dll" -"!:\sys\bin\glxtileviewplugin.dll" -"\epoc32\data\Z\resource\plugins\glxtileviewplugin.rsc" -"!:\resource\plugins\glxtileviewplugin.rsc" - -"\epoc32\release\armv5\udeb\glxfullscreenview.dll" -"!:\sys\bin\glxfullscreenview.dll" -"\epoc32\release\armv5\udeb\glxfullscreenviewpluginbase.dll" -"!:\sys\bin\glxfullscreenviewpluginbase.dll" -"\epoc32\release\armv5\udeb\glxfullscreenviewplugin.dll" -"!:\sys\bin\glxfullscreenviewplugin.dll" -"\epoc32\data\z\resource\apps\glxfullscreenviewdata.rsc" -"!:\resource\apps\glxfullscreenviewdata.rsc" -"\epoc32\data\Z\resource\plugins\glxfullscreenviewplugin.rsc" -"!:\resource\plugins\glxfullscreenviewplugin.rsc" - -"\epoc32\release\armv5\udeb\glxlistview.dll" -"!:\sys\bin\glxlistview.dll" -"\epoc32\data\z\resource\apps\glxlistviewplugin.rsc" -"!:\resource\apps\glxlistviewplugin.rsc" -"\epoc32\release\armv5\udeb\glxlistviewpluginbase.dll" -"!:\sys\bin\glxlistviewpluginbase.dll" -"\epoc32\release\armv5\udeb\glxlistviewplugin.dll" -"!:\sys\bin\glxlistviewplugin.dll" -"\epoc32\data\Z\resource\plugins\glxlistviewplugin.rsc" -"!:\resource\plugins\glxlistviewplugin.rsc" - -"\epoc32\data\z\private\10202be9\200071d3.txt" -"!:\system\data\10202BE9\200071d3.txt" - -;Files for the VIA Player component -"\epoc32\release\armv5\udeb\glxvideoplaybackviewplugin.dll" -"!:\sys\bin\glxvideoplaybackviewplugin.dll" -"\epoc32\data\Z\resource\plugins\glxvideoplaybackviewplugin.rsc"-"!:\resource\plugins\glxvideoplaybackviewplugin.rsc" -;"\epoc32\release\armv5\udeb\ViaPlayerCore.dll" -"!:\sys\bin\ViaPlayerCore.dll" -;"\epoc32\release\armv5\udeb\ViaPlayerDefaultView.dll" -"!:\sys\bin\ViaPlayerDefaultView.dll" -;"\epoc32\data\z\resource\apps\ViaPlayerDefaultView.Rsc" -"!:\resource\apps\ViaPlayerDefaultView.Rsc" -;"\epoc32\release\armv5\udeb\ViaPlayerUtilities.dll" -"!:\sys\bin\ViaPlayerUtilities.dll" -;"\epoc32\data\z\resource\apps\ViaPlayerUtilities.Rsc" -"!:\resource\apps\ViaPlayerUtilities.Rsc" -;"\epoc32\data\z\resource\apps\ViaPlayerUtilities.mif" -"!:\resource\apps\ViaPlayerUtilities.mif" -;"\epoc32\release\armv5\udeb\ViaPlayerControllerBase.dll" -"!:\sys\bin\ViaPlayerControllerBase.dll" -;"\epoc32\data\z\resource\apps\ViaPlayer.mif" -"!:\resource\apps\ViaPlayer.mif" -;"\epoc32\release\armv5\udeb\ViaDlProgressController.dll" -"!:\sys\bin\ViaDlProgressController.dll" -;"\epoc32\data\z\resource\plugins\ViaDlProgressController.Rsc" -"!:\resource\plugins\ViaDlProgressController.Rsc" - -; Glx logging client -"\epoc32\release\armv5\udeb\glxlogging.dll"-"!:\sys\bin\glxlogging.dll" -; Glx logging app -"\epoc32\release\armv5\udeb\glxloggingapp.exe"-"!:\sys\bin\glxloggingapp.exe" -"\epoc32\data\z\private\10003a3f\apps\glxloggingapp_reg.rsc"-"!:\private\10003a3f\import\apps\glxloggingapp_reg.rsc" -"\epoc32\data\z\resource\apps\glxloggingapp_loc.rsc"-"!:\resource\apps\glxloggingapp_loc.rsc" -"\epoc32\data\z\resource\apps\glxloggingapp.rsc"-"!:\resource\apps\glxloggingapp.rsc" diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/photos.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gallery/sis/photos.pkg Mon May 17 13:35:26 2010 +0530 @@ -0,0 +1,119 @@ +; +; Copyright (c) 2008 - 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: Package file for project Gallery +; + +; -------- general -------- + +; Languages +&EN + +; Package header +#{"photos"},(0x20000A14),1,1,0, TYPE=SA ,RU + +; Localised Vendor name +%{"Nokia, Qt"} + +; Unique Vendor name +:"Nokia, Qt" + +; Manual PKG pre-rules from PRO files +; Default dependency to Qt libraries +(0x2001E61C), 4, 5, 0, {"Qt"} + +; Default HW/platform dependencies +[0x101F7961],0,0,0,{"S60ProductID"} +[0x102032BE],0,0,0,{"S60ProductID"} +[0x102752AE],0,0,0,{"S60ProductID"} +[0x1028315F],0,0,0,{"S60ProductID"} + + +; Executable and default resource files +"\epoc32\release\armv5\urel\photos.exe" - "!:\sys\bin\photos.exe" +"\epoc32\data\z\resource\apps\photos.rsc" - "!:\resource\apps\photos.rsc" +"\epoc32\data\z\private\10003a3f\import\apps\photos_reg.rsc" - "!:\private\10003a3f\import\apps\photos_reg.rsc" +"\epoc32\data\z\resource\apps\photos.mif" - "!:\resource\apps\photos.mif" + +; -------- files -------- +"\epoc32\release\armv5\urel\glxcommonui.dll" -"!:\sys\bin\glxcommonui.dll" +"\epoc32\release\armv5\urel\glxcommon.dll" -"!:\sys\bin\glxcommon.dll" + +; datasource +"\epoc32\release\armv5\urel\glxdatasourcemanager.dll" -"!:\sys\bin\glxdatasourcemanager.dll" +"\epoc32\release\armv5\urel\glxdatasourcemde.dll" -"!:\sys\bin\glxdatasourcemde.dll" +"\epoc32\data\Z\resource\plugins\glxdatasourcemde.rsc" -"!:\resource\plugins\glxdatasourcemde.rsc" + +; Collection plugins +"\epoc32\release\armv5\urel\glxcollectionpluginalbums.dll" -"!:\sys\bin\glxcollectionpluginalbums.dll" +"\epoc32\data\Z\resource\plugins\glxcollectionpluginalbums.rsc" -"!:\resource\plugins\glxcollectionpluginalbums.rsc" +"\epoc32\data\Z\resource\plugins\glxpluginalbums.rsc" -"!:\resource\plugins\glxpluginalbums.rsc" + +"\epoc32\release\armv5\urel\glxcollectionpluginall.dll" -"!:\sys\bin\glxcollectionpluginall.dll" +"\epoc32\data\Z\resource\plugins\glxcollectionpluginall.rsc" -"!:\resource\plugins\glxcollectionpluginall.rsc" +"\epoc32\data\Z\resource\plugins\glxpluginall.rsc" -"!:\resource\plugins\glxpluginall.rsc" + +"\epoc32\release\armv5\urel\glxcollectionplugincamera.dll" -"!:\sys\bin\glxcollectionplugincamera.dll" +"\epoc32\data\Z\resource\plugins\glxcollectionplugincamera.rsc" -"!:\resource\plugins\glxcollectionplugincamera.rsc" +"\epoc32\data\Z\resource\plugins\glxplugincamera.rsc" -"!:\resource\plugins\glxplugincamera.rsc" + +"\epoc32\release\armv5\urel\glxcollectionplugindownloads.dll" -"!:\sys\bin\glxcollectionplugindownloads.dll" +"\epoc32\data\Z\resource\plugins\glxcollectionplugindownloads.rsc" -"!:\resource\plugins\glxcollectionplugindownloads.rsc" +"\epoc32\data\Z\resource\plugins\glxplugindownloads.rsc" -"!:\resource\plugins\glxplugindownloads.rsc" + +"\epoc32\release\armv5\urel\glxcollectionpluginmonths.dll" -"!:\sys\bin\glxcollectionpluginmonths.dll" +"\epoc32\data\Z\resource\plugins\glxcollectionpluginmonths.rsc" -"!:\resource\plugins\glxcollectionpluginmonths.rsc" +"\epoc32\data\Z\resource\plugins\glxpluginmonths.rsc" -"!:\resource\plugins\glxpluginmonths.rsc" + +"\epoc32\release\armv5\urel\glxcollectionplugintags.dll" -"!:\sys\bin\glxcollectionplugintags.dll" +"\epoc32\data\Z\resource\plugins\glxcollectionplugintags.rsc" -"!:\resource\plugins\glxcollectionplugintags.rsc" +"\epoc32\data\Z\resource\plugins\glxplugintags.rsc" -"!:\resource\plugins\glxplugintags.rsc" + +"\epoc32\release\armv5\urel\glxcollectionpluginimageviewer.dll" -"!:\sys\bin\glxcollectionpluginimageviewer.dll" +"\epoc32\data\Z\resource\plugins\glxcollectionpluginimageviewer.rsc" -"!:\resource\plugins\glxcollectionpluginimageviewer.rsc" + +; Glx logging client +"\epoc32\release\armv5\urel\glxlogging.dll" -"!:\sys\bin\glxlogging.dll" + +; commandhandler +"\epoc32\release\armv5\urel\glxcommandhandlerbase.dll" -"!:\sys\bin\glxcommandhandlerbase.dll" +"\epoc32\release\armv5\urel\glxcommoncommandhandlers.dll" -"!:\sys\bin\glxcommoncommandhandlers.dll" + +; engines +"\epoc32\release\armv5\urel\glxtvout.dll" -"!:\sys\bin\glxtvout.dll" +"\epoc32\release\armv5\urel\glxmedialists.dll" -"!:\sys\bin\glxmedialists.dll" +"\epoc32\release\armv5\urel\glxdrmutility.dll" -"!:\sys\bin\glxdrmutility.dll" + +; viewmanagement +"\epoc32\release\armv5\urel\glxstatehandler.dll" -"!:\sys\bin\glxstatehandler.dll" +"\epoc32\release\armv5\urel\glxviewmanager.dll" -"!:\sys\bin\glxviewmanager.dll" + +;qt dlls +"\epoc32\release\armv5\urel\glxexternalutility.dll" -"!:\sys\bin\glxexternalutility.dll" +"\epoc32\release\armv5\urel\glximagedecoderwrapper.dll" -"!:\sys\bin\glximagedecoderwrapper.dll" +"\epoc32\release\armv5\urel\glxtvoutwrapper.dll" -"!:\sys\bin\glxtvoutwrapper.dll" +"\epoc32\release\armv5\urel\glxmedialistwrapper.dll" -"!:\sys\bin\glxmedialistwrapper.dll" +"\epoc32\release\armv5\urel\glxfavmediamodel.dll" -"!:\sys\bin\glxfavmediamodel.dll" +"\epoc32\release\armv5\urel\glxmediamodel.dll" -"!:\sys\bin\glxmediamodel.dll" +"\epoc32\release\armv5\urel\glxlistmodel.dll" -"!:\sys\bin\glxlistmodel.dll" +"\epoc32\release\armv5\urel\glxmodelwrapper.dll" -"!:\sys\bin\glxmodelwrapper.dll" +"\epoc32\release\armv5\urel\glxloggerqt.dll" -"!:\sys\bin\glxloggerqt.dll" +"\epoc32\release\armv5\urel\glxviews.dll" -"!:\sys\bin\glxviews.dll" + +;translations +"\epoc32\data\z\resource\qt\translations\photos_en.qm" -"!:\resource\qt\translations\photos.qm" + +;cenrep +"\epoc32\data\Z\private\10202BE9\20007194.txt" -"!:\private\10202BE9\20007194.txt" + + diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/photos.sis Binary file gallery/sis/photos.sis has changed diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/photos.sisx Binary file gallery/sis/photos.sisx has changed diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/photos_stub.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gallery/sis/photos_stub.pkg Mon May 17 13:35:26 2010 +0530 @@ -0,0 +1,106 @@ +; +; Copyright (c) 2008 - 2009 Nokia Corporation and/or its subsidiary(-ies). +; All rights reserved. +; This component and the accompanying materials are made available +; under the terms of "Eclipse Public License v1.0" +; which accompanies this distribution, and is available +; at the URL "http://www.eclipse.org/legal/epl-v10.html". +; +; Initial Contributors: +; Nokia Corporation - initial contribution. +; +; Contributors: +; +; Description: Stub package file for project Gallery +; + +; -------- general -------- + +; Languages +&EN + +; Package header +#{"photos"},(0x20000A14),1,0,0,TYPE=SA + +; Localised Vendor name +%{"Nokia, Qt"} + +; Unique Vendor name +:"Nokia, Qt" + +"" - "z:\sys\bin\photos.exe" +"" - "z:\private\10003a3f\import\apps\photos_reg.rsc" +"" - "z:\resource\apps\photos.rsc" +"" - "z:\resource\apps\photos.mif" + +; -------- files -------- +; engines +"" - "z:\sys\bin\glxcommonui.dll" +"" - "z:\sys\bin\glxcommon.dll" + +; datasource +"" - "z:\sys\bin\glxdatasourcemanager.dll" +"" - "z:\sys\bin\glxdatasourcemde.dll" +"" - "z:\resource\plugins\glxdatasourcemde.rsc" + +; collection plugins +"" - "z:\sys\bin\glxcollectionpluginalbums.dll" +"" - "z:\resource\plugins\glxcollectionpluginalbums.rsc" +"" - "z:\resource\plugins\glxpluginalbums.rsc" + +"" - "z:\sys\bin\glxcollectionpluginall.dll" +"" - "z:\resource\plugins\glxcollectionpluginall.rsc" +"" - "z:\resource\plugins\glxpluginall.rsc" + +"" - "z:\sys\bin\glxcollectionplugincamera.dll" +"" - "z:\resource\plugins\glxcollectionplugincamera.rsc" +"" - "z:\resource\plugins\glxplugincamera.rsc" + +"" - "z:\sys\bin\glxcollectionplugindownloads.dll" +"" - "z:\resource\plugins\glxcollectionplugindownloads.rsc" +"" - "z:\resource\plugins\glxplugindownloads.rsc" + +"" - "z:\sys\bin\glxcollectionpluginmonths.dll" +"" - "z:\resource\plugins\glxcollectionpluginmonths.rsc" +"" - "z:\resource\plugins\glxpluginmonths.rsc" + +"" - "z:\sys\bin\glxcollectionplugintags.dll" +"" - "z:\resource\plugins\glxcollectionplugintags.rsc" +"" - "z:\resource\plugins\glxplugintags.rsc" + +"" - "z:\sys\bin\glxcollectionpluginimageviewer.dll" +"" - "z:\resource\plugins\glxcollectionpluginimageviewer.rsc" + +; Glx logging client +"" - "z:\sys\bin\glxlogging.dll" + +; commandhandlers +"" - "z:\sys\bin\glxcommandhandlerbase.dll" +"" - "z:\sys\bin\glxcommoncommandhandlers.dll" + +;engines +"" - "z:\sys\bin\glxdrmutility.dll" +"" - "z:\sys\bin\glxmedialists.dll" +"" - "z:\sys\bin\glxtvout.dll" + +; viewmanagement +"" - "z:\sys\bin\glxstatehandler.dll" +"" - "z:\sys\bin\glxviewmanager.dll" + +; qt dlls +"" - "z:\sys\bin\glxexternalutility.dll" +"" - "z:\sys\bin\glximagedecoderwrapper.dll" +"" - "z:\sys\bin\glxloggerqt.dll" +"" - "z:\sys\bin\glxtvoutwrapper.dll" +"" - "z:\sys\bin\glxmedialistwrapper.dll" +"" - "z:\sys\bin\glxlistmodel.dll" +"" - "z:\sys\bin\glxfavmediamodel.dll" +"" - "z:\sys\bin\glxlistmodel.dll" +"" - "z:\sys\bin\glxmodelwrapper.dll" +"" - "z:\sys\bin\glxviews.dll" + +"" - "z:\private\10202BE9\20007194.txt" + +"" - "z:\resource\qt\translations\photos.qm" + + diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/photos_stub.sis Binary file gallery/sis/photos_stub.sis has changed diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/photosqt_stub.pkg --- a/gallery/sis/photosqt_stub.pkg Mon May 03 16:56:16 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +0,0 @@ -; -; Copyright (c) 2008 - 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: Package file for project Gallery -; - -; -------- general -------- - -; Languages -&EN - -; Package header -#{"photos"},(0x200009EE),1,0,0,TYPE=SA - -;Localised Vendor name -%{"Nokia"} - -;Unique Vendor name -:"Nokia" - -; Dependency for S60 3.0 -[0x101F7961],0,0,0,{"Series60v3.0"} - -; -------- files -------- - -; NOTE: This installation package does not include huitoolkit.dll, -; so you have to install it separately! - - -""-"z:\sys\bin\glxcollectionplugintags.dll" -""-"z:\resource\plugins\glxcollectionplugintags.rsc" -""-"z:\resource\plugins\glxplugintags.rsc" -""-"z:\sys\bin\glxcommon.dll" -""-"z:\sys\bin\glxcommonui.dll" -""-"z:\sys\bin\glxdatasourcemanager.dll" -""-"z:\sys\bin\glxdatasourcemde.dll" -""-"z:\resource\plugins\glxdatasourcemde.rsc" -""-"z:\sys\bin\glxcollectionpluginalbums.dll" -""-"z:\resource\plugins\glxcollectionpluginalbums.rsc" -""-"z:\resource\plugins\glxpluginalbums.rsc" -""-"z:\sys\bin\glxcollectionpluginall.dll" -""-"z:\resource\plugins\glxcollectionpluginall.rsc" -""-"z:\resource\plugins\glxpluginall.rsc" -""-"z:\sys\bin\glxcollectionplugincamera.dll" -""-"z:\resource\plugins\glxcollectionplugincamera.rsc" -""-"z:\resource\plugins\glxplugincamera.rsc" -""-"z:\sys\bin\glxcollectionplugindownloads.dll" -""-"z:\resource\plugins\glxcollectionplugindownloads.rsc" -""-"z:\resource\plugins\glxplugindownloads.rsc" -""-"z:\sys\bin\glxcollectionpluginmonths.dll" -""-"z:\resource\plugins\glxcollectionpluginmonths.rsc" -""-"z:\resource\plugins\glxpluginmonths.rsc" - - -""-"z:\sys\bin\glxmedialists.dll" - -""-"z:\sys\bin\glxdrmutility.dll" - -; Glx logging client -""-"z:\sys\bin\glxlogging.dll" - - -""-"z:\sys\bin\photos.exe" -""-"z:\private\10003a3f\import\apps\photos_reg.rsc" -""-"z:\resource\apps\photos.rsc" -""- "z:\resource\apps\0xE2C223D9.mif" - -;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" -""-"z:\sys\bin\glxstatehandler.dll" -""-"z:\sys\bin\glxviewmanager.dll" -""-"z:\sys\bin\glxviews.dll" -""-"z:\sys\bin\glxloggerqt.dll" -""-"z:\sys\bin\glximagedecoderwrapper.dll" - -""-"z:\sys\bin\glxcommandhandlerbase.dll" -""-"z:\sys\bin\glxcommoncommandhandlers.dll" diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/photosqt_stub.sis Binary file gallery/sis/photosqt_stub.sis has changed diff -r ae07d189b490 -r 5e1df1b52eb3 gallery/sis/readme.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gallery/sis/readme.txt Mon May 17 13:35:26 2010 +0530 @@ -0,0 +1,38 @@ +/* +* Copyright (c) 2008-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: Indrajit Tapadar +* +* Description: Readme file is a help file to know more about the folder, its files and usage +* +*/ + +This file contains the sis package installations for Photos on Qt. + +About the files : + +Photos.pkg : This contains all the information regarding the photos as a package. all new dll's should + be added to this file without fail. + +Photos_stub.pkg : This conatins the dll names which needs to be updated later with a sis package. + Any New addition of Dll's also should be added here. + Remember , This package is used to create a photos_stub.sis file which is then exported to + the install directory in epoc, which is again read from the iby file to be passed in rom image. + +RDTest_02.key : Key for making a sisx file +RDTest_02.cert : certificate for creating a sisx file. + +Createsis.bat : this file conatins the procedure of creating the Photos_stub.sis file and Photos.sisx file. + The former is passed to the install directory wheras the later is installed on phone. + + +After any new addition of dll's please do not forget to update the photos_stub.sis file and also checkin the latest + file. \ No newline at end of file diff -r ae07d189b490 -r 5e1df1b52eb3 inc/glxlocalisationstrings.h --- a/inc/glxlocalisationstrings.h Mon May 03 16:56:16 2010 +0530 +++ b/inc/glxlocalisationstrings.h Mon May 17 13:35:26 2010 +0530 @@ -106,5 +106,6 @@ #define GLX_MENU_OPEN hbTrId("txt_common_menu_open") +#define GLX_BUTTON_HIDE hbTrId("txt_common_button_hide") #endif /* GLXLOCALISATIONSTRINGS_H_ */ diff -r ae07d189b490 -r 5e1df1b52eb3 main/glxaiwservicehandler.cpp --- a/main/glxaiwservicehandler.cpp Mon May 03 16:56:16 2010 +0530 +++ b/main/glxaiwservicehandler.cpp Mon May 17 13:35:26 2010 +0530 @@ -164,10 +164,10 @@ mModel = new GlxMediaModel(modelParm); if ( this->orientation() == Qt::Horizontal ) { - mModel->setData(QModelIndex(), (int)GlxContextLsFs, GlxContextRole ); + mModel->setData(QModelIndex(), (int)GlxContextLsGrid, GlxContextRole ); } else { - mModel->setData(QModelIndex(), (int)GlxContextPtFs, GlxContextRole ); + mModel->setData(QModelIndex(), (int)GlxContextPtGrid, GlxContextRole ); } mView = GlxViewsFactory::createView(GLX_GRIDVIEW_ID, this); @@ -204,6 +204,12 @@ void GlxAiwServiceHandler::openFSView() { + if ( this->orientation() == Qt::Horizontal ) { + mModel->setData(QModelIndex(), (int)GlxContextLsFs, GlxContextRole ); + } + else { + mModel->setData(QModelIndex(), (int)GlxContextPtFs, GlxContextRole ); + } HbAction* selectAction = new HbAction(GLX_BUTTON_SELECT); connect(selectAction, SIGNAL(triggered()), this, SLOT(handleFSSelect())); HbToolBar* toolBar = new HbToolBar(); @@ -524,7 +530,7 @@ { mImageViewerInstance = CGlxImageViewerManager::InstanceL(); } - QString filepath(QDir::toNativeSeparators(file.at(0))); + QString filepath(QDir::toNativeSeparators(file)); TPtrC16 str(reinterpret_cast (filepath.utf16())); HBufC* uri = str.Alloc(); diff -r ae07d189b490 -r 5e1df1b52eb3 photos.pro --- a/photos.pro Mon May 03 16:56:16 2010 +0530 +++ b/photos.pro Mon May 17 13:35:26 2010 +0530 @@ -24,11 +24,13 @@ CONFIG += ordered SUBDIRS = group \ loggers \ - commonutilities \ - tvout\tvoutwrapper \ - ui \ - main + commonutilities \ + tvout\tvoutwrapper \ + ui \ + main \ + gallery BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include " \ "rom/photos.iby CORE_APP_LAYER_IBY_EXPORT_PATH(photos.iby)" \ "rom/photos_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(photos_resources.iby)" \ + "gallery/sis/photos_stub.sis /epoc32/data/z/system/install/photos_stub.sis" \ diff -r ae07d189b490 -r 5e1df1b52eb3 photos.qrc --- a/photos.qrc Mon May 03 16:56:16 2010 +0530 +++ b/photos.qrc Mon May 17 13:35:26 2010 +0530 @@ -25,5 +25,15 @@ data/listview.docml data/fullscreen.docml data/slideshow.docml - + data/Image1.jpg + data/Image2.jpg + data/Image3.jpg + data/Image4.jpg + data/Image5.jpg + data/Image6.jpg + data/Image7.jpg + data/Image8.jpg + data/Image9.jpg + data/Image10.jpg + diff -r ae07d189b490 -r 5e1df1b52eb3 rom/photos.iby --- a/rom/photos.iby Mon May 03 16:56:16 2010 +0530 +++ b/rom/photos.iby Mon May 17 13:35:26 2010 +0530 @@ -20,17 +20,15 @@ #include #include -file=ABI_DIR/BUILD_DIR/glxcommonui.dll SHARED_LIB_DIR/glxcommonui.dll - +file=ABI_DIR/BUILD_DIR/glxcommonui.dll SHARED_LIB_DIR/glxcommonui.dll file=ABI_DIR/BUILD_DIR/glxcommon.dll SHARED_LIB_DIR/glxcommon.dll -file=ABI_DIR/BUILD_DIR/glxexternalutility.dll SHARED_LIB_DIR/glxexternalutility.dll -file=ABI_DIR/BUILD_DIR/glximagedecoderwrapper.dll SHARED_LIB_DIR/glximagedecoderwrapper.dll file=ABI_DIR/BUILD_DIR/glximageviewermanager.dll SHARED_LIB_DIR/glximageviewermanager.dll +// datasource file=ABI_DIR/BUILD_DIR/glxdatasourcemanager.dll SHARED_LIB_DIR/glxdatasourcemanager.dll - ECOM_PLUGIN( glxdatasourcemde.dll, glxdatasourcemde.rsc ) +// Collection plugins ECOM_PLUGIN( glxcollectionpluginalbums.dll, glxcollectionpluginalbums.rsc ) data=DATAZ_/ECOM_RESOURCE_DIR/glxpluginalbums.rsc ECOM_RESOURCE_DIR/glxpluginalbums.rsc @@ -51,31 +49,39 @@ ECOM_PLUGIN( glxcollectionpluginimageviewer.dll, glxcollectionpluginimageviewer.rsc ) -file=ABI_DIR/BUILD_DIR/glxlogging.dll SHARED_LIB_DIR/glxlogging.dll -file=ABI_DIR/BUILD_DIR/glxloggerqt.dll SHARED_LIB_DIR/glxloggerqt.dll +// logger +file=ABI_DIR/BUILD_DIR/glxlogging.dll SHARED_LIB_DIR/glxlogging.dll -file=ABI_DIR/BUILD_DIR/glxcommandhandlerbase.dll SHARED_LIB_DIR/glxcommandhandlerbase.dll -file=ABI_DIR/BUILD_DIR/glxcommoncommandhandlers.dll SHARED_LIB_DIR/glxcommoncommandhandlers.dll -file=ABI_DIR/BUILD_DIR/glxtvoutwrapper.dll SHARED_LIB_DIR/glxtvoutwrapper.dll +// commandhandlers +file=ABI_DIR/BUILD_DIR/glxcommandhandlerbase.dll SHARED_LIB_DIR/glxcommandhandlerbase.dll +file=ABI_DIR/BUILD_DIR/glxcommoncommandhandlers.dll SHARED_LIB_DIR/glxcommoncommandhandlers.dll + +// engine +file=ABI_DIR/BUILD_DIR/glxdrmutility.dll SHARED_LIB_DIR/glxdrmutility.dll +file=ABI_DIR/BUILD_DIR/glxmedialists.dll SHARED_LIB_DIR/glxmedialists.dll +file=ABI_DIR\BUILD_DIR/glxtvout.dll SHARED_LIB_DIR/glxtvout.dll -file=ABI_DIR/BUILD_DIR/glxdrmutility.dll SHARED_LIB_DIR/glxdrmutility.dll -file=ABI_DIR/BUILD_DIR/glxmedialists.dll SHARED_LIB_DIR/glxmedialists.dll -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 +// viewmanagement +file=ABI_DIR/BUILD_DIR/glxstatehandler.dll SHARED_LIB_DIR/glxstatehandler.dll +file=ABI_DIR/BUILD_DIR/glxviewmanager.dll SHARED_LIB_DIR/glxviewmanager.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 - -file=ABI_DIR/BUILD_DIR/glxviews.dll SHARED_LIB_DIR/glxviews.dll +//qt +file=ABI_DIR/BUILD_DIR/glxexternalutility.dll SHARED_LIB_DIR/glxexternalutility.dll +file=ABI_DIR/BUILD_DIR/glximagedecoderwrapper.dll SHARED_LIB_DIR/glximagedecoderwrapper.dll +file=ABI_DIR/BUILD_DIR/glxloggerqt.dll SHARED_LIB_DIR/glxloggerqt.dll +file=ABI_DIR/BUILD_DIR/glxmedialistwrapper.dll SHARED_LIB_DIR/glxmedialistwrapper.dll +file=ABI_DIR/BUILD_DIR/glxtvoutwrapper.dll SHARED_LIB_DIR/glxtvoutwrapper.dll +file=ABI_DIR/BUILD_DIR/glxfavmediamodel.dll SHARED_LIB_DIR/glxfavmediamodel.dll +file=ABI_DIR/BUILD_DIR/glxmediamodel.dll SHARED_LIB_DIR/glxmediamodel.dll +file=ABI_DIR/BUILD_DIR/glxmodelwrapper.dll SHARED_LIB_DIR/glxmodelwrapper.dll +file=ABI_DIR/BUILD_DIR/glxlistmodel.dll SHARED_LIB_DIR/glxlistmodel.dll +file=ABI_DIR/BUILD_DIR/glxviews.dll SHARED_LIB_DIR/glxviews.dll 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 +data=DATAZ_/APP_RESOURCE_DIR/photos.mif APP_RESOURCE_DIR/photos.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 ae07d189b490 -r 5e1df1b52eb3 tvout/tvoutengine/bwins/glxtvoutu.def --- a/tvout/tvoutengine/bwins/glxtvoutu.def Mon May 03 16:56:16 2010 +0530 +++ b/tvout/tvoutengine/bwins/glxtvoutu.def Mon May 17 13:35:26 2010 +0530 @@ -6,12 +6,11 @@ ??1CGlxHdmiController@@UAE@XZ @ 5 NONAME ; CGlxHdmiController::~CGlxHdmiController(void) ?NewL@CGlxHdmiController@@SAPAV1@XZ @ 6 NONAME ; class CGlxHdmiController * CGlxHdmiController::NewL(void) ?IsWidescreen@CGlxTv@@QBEHXZ @ 7 NONAME ; int CGlxTv::IsWidescreen(void) const - ?IsHDMIConnected@CGlxHdmiController@@QAEHXZ @ 8 NONAME ; int CGlxHdmiController::IsHDMIConnected(void) - ?ShiftToPostingMode@CGlxHdmiController@@QAEXXZ @ 9 NONAME ; void CGlxHdmiController::ShiftToPostingMode(void) - ?ShiftToCloningMode@CGlxHdmiController@@QAEXXZ @ 10 NONAME ; void CGlxHdmiController::ShiftToCloningMode(void) - ?NewL@CGlxTv@@SAPAV1@AAVMGlxTvObserver@@@Z @ 11 NONAME ; class CGlxTv * CGlxTv::NewL(class MGlxTvObserver &) - ?IsConnected@CGlxTv@@QBEHXZ @ 12 NONAME ; int CGlxTv::IsConnected(void) const - ?ItemNotSupported@CGlxHdmiController@@QAEXXZ @ 13 NONAME ; void CGlxHdmiController::ItemNotSupported(void) - ?IsHDMIConnected@CGlxTv@@QBEHXZ @ 14 NONAME ; int CGlxTv::IsHDMIConnected(void) const - ?DeactivateZoom@CGlxHdmiController@@QAEXXZ @ 15 NONAME ; void CGlxHdmiController::DeactivateZoom(void) + ?ShiftToPostingMode@CGlxHdmiController@@QAEXXZ @ 8 NONAME ; void CGlxHdmiController::ShiftToPostingMode(void) + ?ShiftToCloningMode@CGlxHdmiController@@QAEXXZ @ 9 NONAME ; void CGlxHdmiController::ShiftToCloningMode(void) + ?NewL@CGlxTv@@SAPAV1@AAVMGlxTvObserver@@@Z @ 10 NONAME ; class CGlxTv * CGlxTv::NewL(class MGlxTvObserver &) + ?IsConnected@CGlxTv@@QBEHXZ @ 11 NONAME ; int CGlxTv::IsConnected(void) const + ?ItemNotSupported@CGlxHdmiController@@QAEXXZ @ 12 NONAME ; void CGlxHdmiController::ItemNotSupported(void) + ?IsHDMIConnected@CGlxTv@@QBEHXZ @ 13 NONAME ; int CGlxTv::IsHDMIConnected(void) const + ?DeactivateZoom@CGlxHdmiController@@QAEXXZ @ 14 NONAME ; void CGlxHdmiController::DeactivateZoom(void) diff -r ae07d189b490 -r 5e1df1b52eb3 tvout/tvoutengine/eabi/glxtvoutu.def --- a/tvout/tvoutengine/eabi/glxtvoutu.def Mon May 03 16:56:16 2010 +0530 +++ b/tvout/tvoutengine/eabi/glxtvoutu.def Mon May 17 13:35:26 2010 +0530 @@ -1,29 +1,28 @@ EXPORTS _ZN18CGlxHdmiController12ActivateZoomEi @ 1 NONAME _ZN18CGlxHdmiController14DeactivateZoomEv @ 2 NONAME - _ZN18CGlxHdmiController15IsHDMIConnectedEv @ 3 NONAME - _ZN18CGlxHdmiController16ItemNotSupportedEv @ 4 NONAME - _ZN18CGlxHdmiController18ShiftToCloningModeEv @ 5 NONAME - _ZN18CGlxHdmiController18ShiftToPostingModeEv @ 6 NONAME - _ZN18CGlxHdmiController4NewLEv @ 7 NONAME - _ZN18CGlxHdmiController9SetImageLERK7TDesC16P10CFbsBitmapi @ 8 NONAME - _ZN18CGlxHdmiControllerD0Ev @ 9 NONAME - _ZN18CGlxHdmiControllerD1Ev @ 10 NONAME - _ZN18CGlxHdmiControllerD2Ev @ 11 NONAME - _ZN6CGlxTv4NewLER14MGlxTvObserver @ 12 NONAME - _ZN6CGlxTvD0Ev @ 13 NONAME - _ZN6CGlxTvD1Ev @ 14 NONAME - _ZN6CGlxTvD2Ev @ 15 NONAME - _ZNK6CGlxTv11IsConnectedEv @ 16 NONAME - _ZNK6CGlxTv11ScreenSizeLEv @ 17 NONAME - _ZNK6CGlxTv12IsWidescreenEv @ 18 NONAME - _ZNK6CGlxTv15IsHDMIConnectedEv @ 19 NONAME - _ZTI17CGlxHdmiContainer @ 20 NONAME - _ZTI17CGlxHdmiDecoderAO @ 21 NONAME - _ZTI18CGlxHdmiController @ 22 NONAME - _ZTI22CGlxHdmiSurfaceUpdater @ 23 NONAME - _ZTV17CGlxHdmiContainer @ 24 NONAME - _ZTV17CGlxHdmiDecoderAO @ 25 NONAME - _ZTV18CGlxHdmiController @ 26 NONAME - _ZTV22CGlxHdmiSurfaceUpdater @ 27 NONAME + _ZN18CGlxHdmiController16ItemNotSupportedEv @ 3 NONAME + _ZN18CGlxHdmiController18ShiftToCloningModeEv @ 4 NONAME + _ZN18CGlxHdmiController18ShiftToPostingModeEv @ 5 NONAME + _ZN18CGlxHdmiController4NewLEv @ 6 NONAME + _ZN18CGlxHdmiController9SetImageLERK7TDesC16P10CFbsBitmapi @ 7 NONAME + _ZN18CGlxHdmiControllerD0Ev @ 8 NONAME + _ZN18CGlxHdmiControllerD1Ev @ 9 NONAME + _ZN18CGlxHdmiControllerD2Ev @ 10 NONAME + _ZN6CGlxTv4NewLER14MGlxTvObserver @ 11 NONAME + _ZN6CGlxTvD0Ev @ 12 NONAME + _ZN6CGlxTvD1Ev @ 13 NONAME + _ZN6CGlxTvD2Ev @ 14 NONAME + _ZNK6CGlxTv11IsConnectedEv @ 15 NONAME + _ZNK6CGlxTv11ScreenSizeLEv @ 16 NONAME + _ZNK6CGlxTv12IsWidescreenEv @ 17 NONAME + _ZNK6CGlxTv15IsHDMIConnectedEv @ 18 NONAME + _ZTI17CGlxHdmiContainer @ 19 NONAME + _ZTI17CGlxHdmiDecoderAO @ 20 NONAME + _ZTI18CGlxHdmiController @ 21 NONAME + _ZTI22CGlxHdmiSurfaceUpdater @ 22 NONAME + _ZTV17CGlxHdmiContainer @ 23 NONAME + _ZTV17CGlxHdmiDecoderAO @ 24 NONAME + _ZTV18CGlxHdmiController @ 25 NONAME + _ZTV22CGlxHdmiSurfaceUpdater @ 26 NONAME diff -r ae07d189b490 -r 5e1df1b52eb3 tvout/tvoutengine/group/bld.inf --- a/tvout/tvoutengine/group/bld.inf Mon May 03 16:56:16 2010 +0530 +++ b/tvout/tvoutengine/group/bld.inf Mon May 17 13:35:26 2010 +0530 @@ -23,11 +23,5 @@ #include -PRJ_EXPORTS -../rom/glxtvout.iby CORE_APP_LAYER_IBY_EXPORT_PATH(glxtvout.iby) - PRJ_MMPFILES glxtvout.mmp - -PRJ_TESTMMPFILES -//../tsrc/group/t_glxtvout.mmp diff -r ae07d189b490 -r 5e1df1b52eb3 tvout/tvoutengine/inc/glxhdmicontroller.h --- a/tvout/tvoutengine/inc/glxhdmicontroller.h Mon May 03 16:56:16 2010 +0530 +++ b/tvout/tvoutengine/inc/glxhdmicontroller.h Mon May 17 13:35:26 2010 +0530 @@ -19,17 +19,14 @@ #define GLXHDMICONTROLLER_H_ // Internal includes -#include // for inteface MGlxTvObserver class CGlxHdmiContainer; class CGlxHdmiSurfaceUpdater; -class CGlxTv; /* * This class will be called from FS and Slideshow for its requirements */ -class CGlxHdmiController : public CBase, - public MGlxTvObserver // for TV Out +class CGlxHdmiController : public CBase { public: /* @@ -74,14 +71,6 @@ */ IMPORT_C void ShiftToPostingMode(); - /* - * Tells if HDMi is Connected. - */ - IMPORT_C TBool IsHDMIConnected(); - -private:// From MGlxTvObserver - void HandleTvStatusChangedL ( TTvChangeType aChangeType ); - private: /* * Constructor @@ -126,9 +115,7 @@ CGlxHdmiContainer* iHdmiContainer; CGlxHdmiSurfaceUpdater* iSurfaceUpdater; - CGlxTv* iGlxTvOut; 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 ae07d189b490 -r 5e1df1b52eb3 tvout/tvoutengine/inc/glxtvconnectionmonitor.h --- a/tvout/tvoutengine/inc/glxtvconnectionmonitor.h Mon May 03 16:56:16 2010 +0530 +++ b/tvout/tvoutengine/inc/glxtvconnectionmonitor.h Mon May 17 13:35:26 2010 +0530 @@ -88,49 +88,52 @@ private: // From CActive /** * @ref CActive::RunL - */ + */ void RunL(); - + /** * @ref CActive::DoCancel - */ + */ void DoCancel(); - + /** * @ref CActive::RunError - */ - TInt RunError( TInt aError ); - - + */ + TInt RunError( TInt aError ); + + private: /** - * Requests TV on/off events - */ + * Requests TV on/off events + */ void IssueRequest(); /** * Sends notification to observers when TV Out cable is connected - */ + */ void IssueNotificationL(); - - void UpdateConnectionStatusL(); + + /** + * Updates the ConnectionState of Tv Out and HDMI + */ + void UpdateConnectionStatusL(); private: // class member data - + // Not owned: TV connection observer MGlxTvConnectionObserver& iConnectionObserver; - // TVout The Connection state - TBool iTvOutConnectionState; - - // TVout The Connection state - TBool iHDMIConnectionState; + // TVout The Connection state + TBool iIsTvOutConnected; + + // TVout The Connection state + TBool iIsHDMIConnected; // The (external device) Accessory Server RAccessoryServer iTvAccServer; - - // Accessory mode + + // Accessory mode RAccessoryMode iTvAccMode; // Accessory Connection - details the type of accessory diff -r ae07d189b490 -r 5e1df1b52eb3 tvout/tvoutengine/src/glxhdmicontroller.cpp --- a/tvout/tvoutengine/src/glxhdmicontroller.cpp Mon May 03 16:56:16 2010 +0530 +++ b/tvout/tvoutengine/src/glxhdmicontroller.cpp Mon May 17 13:35:26 2010 +0530 @@ -19,7 +19,7 @@ #include #include #include -#include "glxtv.h" // for CGlxTv + #include "glxhdmicontainer.h" #include "glxhdmisurfaceupdater.h" @@ -53,10 +53,6 @@ delete iFsBitmap; iFsBitmap = NULL; } - if(iGlxTvOut) - { - delete iGlxTvOut; - } } // ----------------------------------------------------------------------------- @@ -66,47 +62,45 @@ TBool aStore) { TRACER("CGlxHdmiController::SetImageL()"); + if (aFsBitmap == NULL || !aImageFile.Length()) + { + GLX_LOG_INFO("CGlxHdmiController::SetImageL() - NULL Uri"); + return; + } if (aStore) { iIsImageSupported = ETrue; StoreImageInfoL( aImageFile, aFsBitmap ); } - if (iGlxTvOut->IsHDMIConnected()) + GLX_LOG_INFO("CGlxHdmiController::SetImageL() - 2"); + // do not close the surface , use the same surface instead. + // Call a function to pass imagefile + if (!iHdmiContainer) + { + CreateHdmiContainerL(); + } + if (!iSurfaceUpdater) { - 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 - if (!iHdmiContainer) - { - CreateHdmiContainerL(); - } - if (!iSurfaceUpdater) - { - // This case would come when surface updater is not created at the first instance and also - // it satisfies the 720p condition - CreateSurfaceUpdaterL(aImageFile); - } - else - { - GLX_LOG_INFO("CGlxHdmiController::SetImageL() - 3"); - iSurfaceUpdater->UpdateNewImageL(aImageFile, aFsBitmap); - } - iHdmiContainer->DrawNow(); + // This case would come when surface updater is not created at the first instance and also + // it satisfies the 720p condition + CreateSurfaceUpdaterL(aImageFile); } + else + { + GLX_LOG_INFO("CGlxHdmiController::SetImageL() - 3"); + iSurfaceUpdater->UpdateNewImageL(aImageFile, aFsBitmap); + } + iHdmiContainer->DrawNow(); } // ----------------------------------------------------------------------------- -// IsVideo +// ItemNotSupported // ----------------------------------------------------------------------------- EXPORT_C void CGlxHdmiController::ItemNotSupported() { TRACER("CGlxHdmiController::IsVideo()"); iIsImageSupported = EFalse; - if (iGlxTvOut->IsHDMIConnected()) - { - DestroySurfaceUpdater(); - } + DestroySurfaceUpdater(); } @@ -116,7 +110,7 @@ EXPORT_C void CGlxHdmiController::ActivateZoom(TBool aAutoZoomOut) { TRACER("CGlxHdmiController::ActivateZoom()"); - if (iGlxTvOut->IsHDMIConnected()) + if (iSurfaceUpdater) { iSurfaceUpdater->ActivateZoom(aAutoZoomOut); } @@ -128,7 +122,7 @@ EXPORT_C void CGlxHdmiController::DeactivateZoom() { TRACER("CGlxHdmiController::DeactivateZoom()"); - if (iGlxTvOut->IsHDMIConnected()) + if (iSurfaceUpdater) { iSurfaceUpdater->DeactivateZoom(); } @@ -141,9 +135,8 @@ { TRACER("CGlxHdmiController::ShiftToCloningMode()"); // Shift to cloning only if HDMI is connected and surfaceupdater available. - if (iGlxTvOut->IsHDMIConnected() && iSurfaceUpdater) + if (iSurfaceUpdater) { - iIsPostingMode = EFalse; iSurfaceUpdater->ShiftToCloningMode(); } } @@ -154,41 +147,32 @@ EXPORT_C void CGlxHdmiController::ShiftToPostingMode() { TRACER("CGlxHdmiController::ShiftToPostingMode()"); - if (iGlxTvOut->IsHDMIConnected()) + if (!iSurfaceUpdater) { - 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 + if (iFsBitmap == NULL || !iStoredImagePath->Length()) { - 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); + GLX_LOG_INFO("CGlxHdmiController::ShiftToPostingMode() - NULL Uri"); + return; } - else - { - GLX_LOG_INFO("CGlxHdmiController::ShiftToPostingMode() - 2"); - iSurfaceUpdater->ShiftToPostingMode(); - } - iIsPostingMode = ETrue; + SetImageL(iStoredImagePath->Des(), iFsBitmap, EFalse); + } + else + { + GLX_LOG_INFO("CGlxHdmiController::ShiftToPostingMode() - 2"); + iSurfaceUpdater->ShiftToPostingMode(); } } // ----------------------------------------------------------------------------- -// IsHDMIConnected -// ----------------------------------------------------------------------------- -EXPORT_C TBool CGlxHdmiController::IsHDMIConnected() - { - TRACER("CGlxHdmiController::IsHDMIConnected()"); - return iGlxTvOut->IsHDMIConnected(); - } - - -// ----------------------------------------------------------------------------- // Constructor // ----------------------------------------------------------------------------- CGlxHdmiController::CGlxHdmiController(): iFsBitmap(NULL), - iIsPostingMode(EFalse) + iStoredImagePath(NULL) { TRACER("CGlxHdmiController::CGlxHdmiController()"); // Implement nothing here @@ -200,7 +184,6 @@ void CGlxHdmiController::ConstructL() { TRACER("CGlxHdmiController::ConstructL()"); - iGlxTvOut = CGlxTv::NewL(*this); } // ----------------------------------------------------------------------------- @@ -228,7 +211,6 @@ delete iSurfaceUpdater; iSurfaceUpdater = NULL; } - iIsPostingMode = EFalse; } // ----------------------------------------------------------------------------- @@ -274,35 +256,3 @@ iFsBitmap->Duplicate(aFsBitmap->Handle()); } -// ----------------------------------------------------------------------------- -// HandleTvStatusChangedL -// ----------------------------------------------------------------------------- -void CGlxHdmiController::HandleTvStatusChangedL( TTvChangeType aChangeType ) - { - TRACER("CGlxHdmiController::HandleTvStatusChangedL()"); - if ( aChangeType == ETvConnectionChanged ) - { - 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 - SetImageL(iStoredImagePath->Des(), iFsBitmap, EFalse); - } - else - { - 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 ae07d189b490 -r 5e1df1b52eb3 tvout/tvoutengine/src/glxtvconnectionmonitor.cpp --- a/tvout/tvoutengine/src/glxtvconnectionmonitor.cpp Mon May 03 16:56:16 2010 +0530 +++ b/tvout/tvoutengine/src/glxtvconnectionmonitor.cpp Mon May 17 13:35:26 2010 +0530 @@ -17,10 +17,6 @@ -/** - * @internal reviewed 24/08/2007 by D Holland - */ - // CLASS HEADER #include "glxtvconnectionmonitor.h" @@ -69,17 +65,15 @@ // Default C++ constructor //----------------------------------------------------------------------------- // -CGlxTvConnectionMonitor::CGlxTvConnectionMonitor - ( MGlxTvConnectionObserver& aConnectionObserver ) - :CActive(EPriorityStandard), - iConnectionObserver ( aConnectionObserver ), - iTvOutConnectionState(EFalse), - iHDMIConnectionState(EFalse) +CGlxTvConnectionMonitor::CGlxTvConnectionMonitor( + MGlxTvConnectionObserver& aConnectionObserver) : + CActive(EPriorityStandard), iConnectionObserver(aConnectionObserver), + iIsTvOutConnected(EFalse), iIsHDMIConnected(EFalse) - { - TRACER("CGlxTvConnectionMonitor"); - CActiveScheduler::Add( this ); - } + { + TRACER("CGlxTvConnectionMonitor"); + CActiveScheduler::Add(this); + } //----------------------------------------------------------------------------- @@ -146,8 +140,8 @@ TBool CGlxTvConnectionMonitor::IsConnected() const { TRACER("CGlxTvConnectionMonitor::IsConnected"); - GLX_LOG_INFO1("CGlxTvConnectionMonitor::IsConnected iTvOutConnectionState=%d",iTvOutConnectionState); - return iTvOutConnectionState; + GLX_LOG_INFO1("CGlxTvConnectionMonitor::IsConnected iIsTvOutConnected=%d",iIsTvOutConnected); + return iIsTvOutConnected; } //----------------------------------------------------------------------------- @@ -158,8 +152,8 @@ TBool CGlxTvConnectionMonitor::IsHDMIConnected() const { TRACER("CGlxTvConnectionMonitor::IsHDMIConnected"); - GLX_LOG_INFO1("CGlxTvConnectionMonitor::IsHDMIConnected iHDMIConnectionState=%d",iHDMIConnectionState); - return iHDMIConnectionState; + GLX_LOG_INFO1("CGlxTvConnectionMonitor::IsHDMIConnected iIsHDMIConnected=%d",iIsHDMIConnected); + return iIsHDMIConnected; } //----------------------------------------------------------------------------- @@ -181,21 +175,22 @@ //----------------------------------------------------------------------------- // void CGlxTvConnectionMonitor::IssueNotificationL() - { - TRACER("CGlxTvConnectionMonitor::IssueNotificationL"); - TBool previousTvState = iTvOutConnectionState; - TBool previousHDMIState = iHDMIConnectionState; - + { + TRACER("CGlxTvConnectionMonitor::IssueNotificationL"); + TBool previousTvState = iIsTvOutConnected; + TBool previousHDMIState = iIsHDMIConnected; + // 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(); - } + if (previousTvState != iIsTvOutConnected || previousHDMIState + != iIsHDMIConnected) + { + GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueNotificationL - Connection Altered"); + iConnectionObserver.HandleTvConnectionStatusChangedL(); + } } //----------------------------------------------------------------------------- @@ -207,47 +202,64 @@ TRACER("CGlxTvConnectionMonitor::UpdateConnectionStatusL()"); GLX_LOG_INFO2("CGlxTvConnectionMonitor::UpdateConnectionStatusL previousTvState = %d , previousHDMIState = %d", - iTvOutConnectionState,iHDMIConnectionState); + iIsTvOutConnected,iIsHDMIConnected); + + // reset the states + iIsHDMIConnected = EFalse; + iIsTvOutConnected = EFalse; //gets the TV status in to the iCurrentAccArray and haves the Latest Accesory in 0-index User::LeaveIfError(iTvAccCon.GetAccessoryConnectionStatus(iCurrentAccArray)); 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); + + if (genId.DeviceTypeCaps( KDTAVDevice ) && + genId.PhysicalConnectionCaps( KPCHDMI )) { - GLX_LOG_INFO("CGlxTvConnectionMonitor::UpdateConnectionStatusL Video Accessory Supported"); - TAccPolNameRecord nameRecord; - nameRecord.SetNameL(KAccVideoOut); TAccValueTypeTInt value; - iTvAccCon.GetValueL(genId, nameRecord, value); - if (value.iValue == EAccVideoOutEHDMI) + TInt err = iTvAccCon.GetValueL(genId, nameRecord, value); + if (err ==KErrNone) { - GLX_LOG_INFO("CGlxTvConnectionMonitor::UpdateConnectionStatusL HDMI is connected"); - iHDMIConnectionState = ETrue; + if (value.iValue == EAccVideoOutEHDMI) + { + GLX_LOG_INFO("CGlxTvConnectionMonitor::UpdateConnectionStatusL HDMI is connected"); + iIsHDMIConnected = ETrue; + } } - else if (value.iValue == EAccVideoOutCVideo) + } + else if (genId.DeviceTypeCaps( KDTAVDevice ) && + genId.PhysicalConnectionCaps( KPCWired )) + { + TAccValueTypeTInt value; + TInt err = iTvAccCon.GetValueL(genId, nameRecord, value); + if (err ==KErrNone) { - GLX_LOG_INFO("CGlxTvConnectionMonitor::UpdateConnectionStatusL TV is connected"); - iTvOutConnectionState = ETrue; + if (value.iValue == EAccVideoOutCVideo) + { + GLX_LOG_INFO("CGlxTvConnectionMonitor::UpdateConnectionStatusL Tv is connected"); + iIsTvOutConnected = ETrue; + } } } } CleanupStack::PopAndDestroy(nameArray); GLX_LOG_INFO2("CGlxTvConnectionMonitor::UpdateConnectionStatusL CurrentTvState = %d , CurrentHDMIState = %d", - iTvOutConnectionState,iHDMIConnectionState); + iIsTvOutConnected,iIsHDMIConnected); } diff -r ae07d189b490 -r 5e1df1b52eb3 tvout/tvoutwrapper/inc/glxtvconnectionobserver.h --- a/tvout/tvoutwrapper/inc/glxtvconnectionobserver.h Mon May 03 16:56:16 2010 +0530 +++ b/tvout/tvoutwrapper/inc/glxtvconnectionobserver.h Mon May 17 13:35:26 2010 +0530 @@ -38,6 +38,12 @@ * destructor */ ~CGlxConnectionObserver(); + + /* + * IsHdmiConnected() + */ + TBool IsHdmiConnected(); + private: /* * ConstructL diff -r ae07d189b490 -r 5e1df1b52eb3 tvout/tvoutwrapper/inc/glxtvoutwrapper_p.h --- a/tvout/tvoutwrapper/inc/glxtvoutwrapper_p.h Mon May 03 16:56:16 2010 +0530 +++ b/tvout/tvoutwrapper/inc/glxtvoutwrapper_p.h Mon May 17 13:35:26 2010 +0530 @@ -112,6 +112,7 @@ bool iHdmiConnected; // To check if the HDMI is connected bool isImageSetToHdmi; // to check if the image is set to HDMI + bool iIsPhotosInForeground; // to check if the Photos is on foreground }; #endif //GLXTVOUTWRAPPERPRIVATE_P_H diff -r ae07d189b490 -r 5e1df1b52eb3 tvout/tvoutwrapper/src/glxtvconnectionobserver.cpp --- a/tvout/tvoutwrapper/src/glxtvconnectionobserver.cpp Mon May 03 16:56:16 2010 +0530 +++ b/tvout/tvoutwrapper/src/glxtvconnectionobserver.cpp Mon May 17 13:35:26 2010 +0530 @@ -19,12 +19,15 @@ #include "glxtvconnectionobserver.h" #include "glxtvoutwrapper_p.h" +#include +#include // ----------------------------------------------------------------------------- // NewL // ----------------------------------------------------------------------------- CGlxConnectionObserver* CGlxConnectionObserver::NewL(GlxTvOutWrapperPrivate* aTvWrapperPrivate) { + TRACER("CGlxConnectionObserver::NewL()"); CGlxConnectionObserver* self = new (ELeave)CGlxConnectionObserver(aTvWrapperPrivate); self->ConstructL(); return self; @@ -35,6 +38,7 @@ // ----------------------------------------------------------------------------- void CGlxConnectionObserver::ConstructL() { + TRACER("CGlxConnectionObserver::ConstructL()"); iGlxTvOut = CGlxTv::NewL(*this); } @@ -44,6 +48,7 @@ CGlxConnectionObserver::CGlxConnectionObserver(GlxTvOutWrapperPrivate* aTvWrapperPrivate): iTvWrapperPrivate(aTvWrapperPrivate) { + TRACER("CGlxConnectionObserver::CGlxConnectionObserver()"); // ctor } @@ -52,6 +57,7 @@ // ----------------------------------------------------------------------------- CGlxConnectionObserver::~CGlxConnectionObserver() { + TRACER("CGlxConnectionObserver::~CGlxConnectionObserver()"); if (iGlxTvOut){ delete iGlxTvOut; iGlxTvOut = NULL; @@ -63,14 +69,25 @@ // ----------------------------------------------------------------------------- void CGlxConnectionObserver::HandleTvStatusChangedL(TTvChangeType aChangeType) { + TRACER("CGlxConnectionObserver::HandleTvStatusChangedL()"); if ( aChangeType == ETvConnectionChanged ){ - if ( iGlxTvOut->IsHDMIConnected() ){ + if ( iGlxTvOut->IsHDMIConnected() ) + { + GLX_LOG_INFO("CGlxHdmiController::HandleTvStatusChangedL() - HDMI and TV Connected"); iTvWrapperPrivate->HandleConnectionChange(ETrue); - // emit HDMI connected signal } else{ + GLX_LOG_INFO("CGlxConnectionObserver::HandleTvStatusChangedL() - DisConnected"); iTvWrapperPrivate->HandleConnectionChange(EFalse); - // emit HDMI disconnected } } } + +// ----------------------------------------------------------------------------- +// IsHdmiConnected +// ----------------------------------------------------------------------------- +TBool CGlxConnectionObserver::IsHdmiConnected() + { + TRACER("CGlxConnectionObserver::IsHdmiConnected()"); + return iGlxTvOut->IsHDMIConnected(); + } diff -r ae07d189b490 -r 5e1df1b52eb3 tvout/tvoutwrapper/src/glxtvoutwrapper_p.cpp --- a/tvout/tvoutwrapper/src/glxtvoutwrapper_p.cpp Mon May 03 16:56:16 2010 +0530 +++ b/tvout/tvoutwrapper/src/glxtvoutwrapper_p.cpp Mon May 17 13:35:26 2010 +0530 @@ -22,12 +22,16 @@ #include "glxmodelparm.h" #include "glxviewids.h" +#include "glxtracer.h" +#include "glxlog.h" + // ----------------------------------------------------------------------------- // Static method to create the private wrapper instance // ----------------------------------------------------------------------------- GlxTvOutWrapperPrivate* GlxTvOutWrapperPrivate::Instance(GlxTvOutWrapper* aTvOutWrapper, QAbstractItemModel* aModel) { + TRACER("GlxTvOutWrapperPrivate::Instance()"); GlxTvOutWrapperPrivate* self = new GlxTvOutWrapperPrivate(aTvOutWrapper,aModel); if (self){ TRAPD(err,self->ConstructL()); @@ -45,10 +49,11 @@ // ----------------------------------------------------------------------------- void GlxTvOutWrapperPrivate::ConstructL() { + TRACER("GlxTvOutWrapperPrivate::ConstructL()"); iConnectionObserver = CGlxConnectionObserver::NewL(this); if (!iHdmiController) { iHdmiController = CGlxHdmiController::NewL(); - iHdmiConnected = iHdmiController->IsHDMIConnected(); + iHdmiConnected = iConnectionObserver->IsHdmiConnected(); } } @@ -61,8 +66,10 @@ iConnectionObserver(NULL), iHdmiController(NULL), iHdmiConnected(false), - isImageSetToHdmi(false) + isImageSetToHdmi(false), + iIsPhotosInForeground(false) { + TRACER("GlxTvOutWrapperPrivate::GlxTvOutWrapperPrivate()"); // Do Nothing } @@ -71,6 +78,7 @@ // ----------------------------------------------------------------------------- GlxTvOutWrapperPrivate::~GlxTvOutWrapperPrivate() { + TRACER("GlxTvOutWrapperPrivate::~GlxTvOutWrapperPrivate()"); if (iConnectionObserver){ delete iConnectionObserver; iConnectionObserver = NULL; @@ -87,10 +95,13 @@ // ----------------------------------------------------------------------------- void GlxTvOutWrapperPrivate::HandleConnectionChange(bool aConnected) { + TRACER("GlxTvOutWrapperPrivate::HandleConnectionChange()"); 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 && getSubState() !=IMAGEVIEWER_S) + GLX_LOG_INFO2("GlxTvOutWrapperPrivate::HandleConnectionChange() - isImageSetToHdmi-%d, iHdmiConnected-%d", + isImageSetToHdmi,iHdmiConnected); + if (!isImageSetToHdmi && iHdmiConnected && getSubState() !=IMAGEVIEWER_S && iIsPhotosInForeground) { SetNewImage(); } @@ -102,6 +113,8 @@ // ----------------------------------------------------------------------------- void GlxTvOutWrapperPrivate::SetImagetoHDMI() { + TRACER("GlxTvOutWrapperPrivate::SetImagetoHDMI()"); + iIsPhotosInForeground = true; if (iHdmiConnected) { // Set the Image @@ -124,10 +137,12 @@ // ----------------------------------------------------------------------------- void GlxTvOutWrapperPrivate::SetNewImage() { + TRACER("GlxTvOutWrapperPrivate::SetNewImage()"); QVariant focusVariant =(iModel->data(iModel->index(0,0),GlxFocusIndexRole)); int focusIndex; if (focusVariant.isValid() && focusVariant.canConvert()) { focusIndex = (focusVariant.value()); + GLX_LOG_INFO1("GlxTvOutWrapperPrivate::SetNewImage() focusindex = %d",focusIndex); } else{ return ; @@ -144,6 +159,7 @@ QVariant var = (iModel->data(iModel->index(focusIndex,0),GlxHdmiBitmap)); CFbsBitmap* bmp = var.value(); iHdmiController->SetImageL(aPtr,bmp); + iIsPhotosInForeground = true; } // ----------------------------------------------------------------------------- @@ -151,7 +167,9 @@ // ----------------------------------------------------------------------------- void GlxTvOutWrapperPrivate::SetToCloningMode() { - if(iHdmiController){ + TRACER("GlxTvOutWrapperPrivate::SetToCloningMode()"); + iIsPhotosInForeground = false; + if(iHdmiController && iHdmiConnected){ iHdmiController->ShiftToCloningMode(); } } @@ -161,7 +179,9 @@ // ----------------------------------------------------------------------------- void GlxTvOutWrapperPrivate::SetToNativeMode() { - if(iHdmiController){ + TRACER("GlxTvOutWrapperPrivate::SetToNativeMode()"); + iIsPhotosInForeground = true; + if(iHdmiController && iHdmiConnected){ iHdmiController->ShiftToPostingMode(); } } @@ -171,7 +191,8 @@ // ----------------------------------------------------------------------------- void GlxTvOutWrapperPrivate::ItemNotSupported() { - if(iHdmiController){ + TRACER("GlxTvOutWrapperPrivate::ItemNotSupported()"); + if(iHdmiController && iHdmiConnected){ iHdmiController->ItemNotSupported(); } } @@ -181,7 +202,7 @@ // ----------------------------------------------------------------------------- void GlxTvOutWrapperPrivate::ActivateZoom(bool autoZoomOut) { - if(iHdmiController){ + if(iHdmiController && iHdmiConnected){ iHdmiController->ActivateZoom(autoZoomOut); } } @@ -191,7 +212,7 @@ // ----------------------------------------------------------------------------- void GlxTvOutWrapperPrivate::DeactivateZoom() { - if(iHdmiController){ + if(iHdmiController && iHdmiConnected){ iHdmiController->DeactivateZoom(); } } diff -r ae07d189b490 -r 5e1df1b52eb3 tvout/tvoutwrapper/tvoutwrapper.pro --- a/tvout/tvoutwrapper/tvoutwrapper.pro Mon May 03 16:56:16 2010 +0530 +++ b/tvout/tvoutwrapper/tvoutwrapper.pro Mon May 17 13:35:26 2010 +0530 @@ -24,6 +24,7 @@ CONFIG += hb LIBS += -lglxtvout.dll \ + -lglxlogging.dll \ DEFINES += BUILD_TVOUTWRAPPER diff -r ae07d189b490 -r 5e1df1b52eb3 ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlersend.h --- a/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlersend.h Mon May 03 16:56:16 2010 +0530 +++ b/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlersend.h Mon May 17 13:35:26 2010 +0530 @@ -21,6 +21,7 @@ #include "glxmodelcommandhandler.h" #include #include +class ShareUi; #ifdef BUILD_COMMONCOMMANDHANDLERS @@ -36,5 +37,7 @@ GlxCommandHandlerSend(); ~GlxCommandHandlerSend(); void doHandleUserAction(GlxMediaModel* model,QList indexList)const ; +private: + ShareUi *mSendUiDialog; }; #endif // GLXCOMMANDHANDLERSEND_H diff -r ae07d189b490 -r 5e1df1b52eb3 ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlersend.cpp --- a/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlersend.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlersend.cpp Mon May 17 13:35:26 2010 +0530 @@ -24,13 +24,14 @@ GlxCommandHandlerSend::GlxCommandHandlerSend() { - + mSendUiDialog = new ShareUi(); } GlxCommandHandlerSend::~GlxCommandHandlerSend() { - + delete mSendUiDialog; + mSendUiDialog =NULL; } void GlxCommandHandlerSend::doHandleUserAction(GlxMediaModel* model,QList indexList) const @@ -51,8 +52,7 @@ imagePath = (model->data(indexList[i],GlxUriRole)).value(); fileList.append(QVariant(imagePath)); } - } - ShareUi dialog; - dialog.init(fileList,true); + } + mSendUiDialog->init(fileList,true); } diff -r ae07d189b490 -r 5e1df1b52eb3 ui/inc/glxdocloaderdefs.h --- a/ui/inc/glxdocloaderdefs.h Mon May 03 16:56:16 2010 +0530 +++ b/ui/inc/glxdocloaderdefs.h Mon May 17 13:35:26 2010 +0530 @@ -27,6 +27,7 @@ #define GLXFULLSCREEN_TOOLBAR "toolBar" #define GLXFULLSCREENLSSECTION "landscape" #define GLXFULLSCREENPTSECTION "portrait" +#define GLXFULLSCREENZOOMWIDGET "glxZoomWidget" #define GLXFULLSCREENDOCMLPATH ":/data/fullscreen.docml" //SLIDE SHOW diff -r ae07d189b490 -r 5e1df1b52eb3 ui/inc/glxicondefs.h --- a/ui/inc/glxicondefs.h Mon May 03 16:56:16 2010 +0530 +++ b/ui/inc/glxicondefs.h Mon May 17 13:35:26 2010 +0530 @@ -28,8 +28,8 @@ #define GLXICON_USEIMAGE "qtg_small_ovi" //GRID TOOLBAR -#define GLXICON_ALL "qtg_mono_photos_all" -#define GLXICON_ALBUMS "qtg_mono_albums" +#define GLXICON_ALL "qtg_mono_photos" +#define GLXICON_ALBUMS "qtg_mono_photo_albums" #define GLXICON_CAMERA "qtg_mono_camera" #define GLXICON_OVI "qtg_small_ovi" @@ -45,4 +45,6 @@ #define GLXICON_ADD_TO_FAV "qtg_graf_ratingslider_rated" #define GLXICON_REMOVE_FAV "qtg_graf_ratingslider_unrated" +#define GLXICON_WALL_UI_ON "qtg_mono_back" + #endif /* GLXICONDEFS_H */ diff -r ae07d189b490 -r 5e1df1b52eb3 ui/inc/glxmodelparm.h --- a/ui/inc/glxmodelparm.h Mon May 03 16:56:16 2010 +0530 +++ b/ui/inc/glxmodelparm.h Mon May 17 13:35:26 2010 +0530 @@ -42,7 +42,9 @@ 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 + GlxDefaultImage, //To Get Default Thumbnail + GlxViewTitle, + GlxPopulated }; diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/bwins/glxmedialistwrapperu.def --- a/ui/uiengine/bwins/glxmedialistwrapperu.def Mon May 03 16:56:16 2010 +0530 +++ b/ui/uiengine/bwins/glxmedialistwrapperu.def Mon May 17 13:35:26 2010 +0530 @@ -1,43 +1,51 @@ EXPORTS ?retrieveItemUri@GlxMLWrapper@@QAE?AVQString@@H@Z @ 1 NONAME ; class QString GlxMLWrapper::retrieveItemUri(int) - ?itemCorrupted@GlxMLWrapper@@IAEXH@Z @ 2 NONAME ; void GlxMLWrapper::itemCorrupted(int) - ?trUtf8@GlxMLWrapper@@SA?AVQString@@PBD0H@Z @ 3 NONAME ; class QString GlxMLWrapper::trUtf8(char const *, char const *, int) - ?handleGeneralError@GlxMLWrapper@@QAEXH@Z @ 4 NONAME ; void GlxMLWrapper::handleGeneralError(int) - ?updateItem@GlxMLWrapper@@IAEXHW4GlxTBContextType@@@Z @ 5 NONAME ; void GlxMLWrapper::updateItem(int, enum GlxTBContextType) - ?removeItems@GlxMLWrapper@@IAEXHH@Z @ 6 NONAME ; void GlxMLWrapper::removeItems(int, int) - ?getItemCount@GlxMLWrapper@@QAEHXZ @ 7 NONAME ; int GlxMLWrapper::getItemCount(void) - ?getVisibleWindowIndex@GlxMLWrapper@@QAEHXZ @ 8 NONAME ; int GlxMLWrapper::getVisibleWindowIndex(void) - ?setFocusIndex@GlxMLWrapper@@QAEXH@Z @ 9 NONAME ; void GlxMLWrapper::setFocusIndex(int) - ?retrieveItemDate@GlxMLWrapper@@QAE?AVQDate@@H@Z @ 10 NONAME ; class QDate GlxMLWrapper::retrieveItemDate(int) - ?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) - ?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) + ?handlepopulated@GlxMLWrapper@@QAEXXZ @ 2 NONAME ; void GlxMLWrapper::handlepopulated(void) + ?itemCorrupted@GlxMLWrapper@@IAEXH@Z @ 3 NONAME ; void GlxMLWrapper::itemCorrupted(int) + ?populated@GlxMLWrapper@@IAEXXZ @ 4 NONAME ; void GlxMLWrapper::populated(void) + ?trUtf8@GlxMLWrapper@@SA?AVQString@@PBD0H@Z @ 5 NONAME ; class QString GlxMLWrapper::trUtf8(char const *, char const *, int) + ?handleGeneralError@GlxMLWrapper@@QAEXH@Z @ 6 NONAME ; void GlxMLWrapper::handleGeneralError(int) + ?updateItem@GlxMLWrapper@@IAEXHW4GlxTBContextType@@@Z @ 7 NONAME ; void GlxMLWrapper::updateItem(int, enum GlxTBContextType) + ?removeItems@GlxMLWrapper@@IAEXHH@Z @ 8 NONAME ; void GlxMLWrapper::removeItems(int, int) + ?IsPopulated@GlxMLWrapper@@QAE_NXZ @ 9 NONAME ; bool GlxMLWrapper::IsPopulated(void) + ?getItemCount@GlxMLWrapper@@QAEHXZ @ 10 NONAME ; int GlxMLWrapper::getItemCount(void) + ?getVisibleWindowIndex@GlxMLWrapper@@QAEHXZ @ 11 NONAME ; int GlxMLWrapper::getVisibleWindowIndex(void) + ?setFocusIndex@GlxMLWrapper@@QAEXH@Z @ 12 NONAME ; void GlxMLWrapper::setFocusIndex(int) + ?retrieveItemDate@GlxMLWrapper@@QAE?AVQDate@@H@Z @ 13 NONAME ; class QDate GlxMLWrapper::retrieveItemDate(int) + ?qt_metacall@GlxMLWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 14 NONAME ; int GlxMLWrapper::qt_metacall(enum QMetaObject::Call, int, void * *) + ?retrieveItemFrameCount@GlxMLWrapper@@QAEHH@Z @ 15 NONAME ; int GlxMLWrapper::retrieveItemFrameCount(int) + ?retrieveListTitle@GlxMLWrapper@@QAE?AVQString@@H@Z @ 16 NONAME ; class QString GlxMLWrapper::retrieveListTitle(int) + ?retrieveListItemCount@GlxMLWrapper@@QAEHH@Z @ 17 NONAME ; int GlxMLWrapper::retrieveListItemCount(int) + ?tr@GlxMLWrapper@@SA?AVQString@@PBD0@Z @ 18 NONAME ; class QString GlxMLWrapper::tr(char const *, char const *) + ?setVisibleWindowIndex@GlxMLWrapper@@QAEXH@Z @ 19 NONAME ; void GlxMLWrapper::setVisibleWindowIndex(int) + ?getStaticMetaObject@GlxMLWrapper@@SAABUQMetaObject@@XZ @ 20 NONAME ; struct QMetaObject const & GlxMLWrapper::getStaticMetaObject(void) + ?retrieveListSubTitle@GlxMLWrapper@@QAE?AVQString@@H@Z @ 21 NONAME ; class QString GlxMLWrapper::retrieveListSubTitle(int) + ?updateAlbumTitle@GlxMLWrapper@@IAEXVQString@@@Z @ 22 NONAME ; void GlxMLWrapper::updateAlbumTitle(class QString) + ?staticMetaObject@GlxMLWrapper@@2UQMetaObject@@B @ 23 NONAME ; struct QMetaObject const GlxMLWrapper::staticMetaObject + ?handleListItemAvailable@GlxMLWrapper@@QAEXH@Z @ 24 NONAME ; void GlxMLWrapper::handleListItemAvailable(int) + ?trUtf8@GlxMLWrapper@@SA?AVQString@@PBD0@Z @ 25 NONAME ; class QString GlxMLWrapper::trUtf8(char const *, char const *) + ?itemsRemoved@GlxMLWrapper@@QAEXHH@Z @ 26 NONAME ; void GlxMLWrapper::itemsRemoved(int, int) + ?handleTitleAvailable@GlxMLWrapper@@QAEXVQString@@@Z @ 27 NONAME ; void GlxMLWrapper::handleTitleAvailable(class QString) + ?metaObject@GlxMLWrapper@@UBEPBUQMetaObject@@XZ @ 28 NONAME ; struct QMetaObject const * GlxMLWrapper::metaObject(void) const + ?insertItems@GlxMLWrapper@@IAEXHH@Z @ 29 NONAME ; void GlxMLWrapper::insertItems(int, int) + ?isSystemItem@GlxMLWrapper@@QAE_NH@Z @ 30 NONAME ; bool GlxMLWrapper::isSystemItem(int) + ?getFocusIndex@GlxMLWrapper@@QBEHXZ @ 31 NONAME ; int GlxMLWrapper::getFocusIndex(void) const + ?handleIconCorrupt@GlxMLWrapper@@QAEXH@Z @ 32 NONAME ; void GlxMLWrapper::handleIconCorrupt(int) + ?retrieveItemDimension@GlxMLWrapper@@QAE?AVQSize@@H@Z @ 33 NONAME ; class QSize GlxMLWrapper::retrieveItemDimension(int) + ?RetrieveL@GlxAttributeRetriever@@SAHABVMGlxFetchContext@@AAVMGlxMediaList@@H@Z @ 34 NONAME ; int GlxAttributeRetriever::RetrieveL(class MGlxFetchContext const &, class MGlxMediaList &, int) + ?handleReceivedIcon@GlxMLWrapper@@QAEXHW4GlxTBContextType@@@Z @ 35 NONAME ; void GlxMLWrapper::handleReceivedIcon(int, enum GlxTBContextType) + ?retrieveViewTitle@GlxMLWrapper@@QAE?AVQString@@XZ @ 36 NONAME ; class QString GlxMLWrapper::retrieveViewTitle(void) + ?tr@GlxMLWrapper@@SA?AVQString@@PBD0H@Z @ 37 NONAME ; class QString GlxMLWrapper::tr(char const *, char const *, int) + ?setContextMode@GlxMLWrapper@@QAEXW4GlxContextMode@@@Z @ 38 NONAME ; void GlxMLWrapper::setContextMode(enum GlxContextMode) + ??_EGlxMLWrapper@@UAE@I@Z @ 39 NONAME ; GlxMLWrapper::~GlxMLWrapper(unsigned int) + ??1GlxMLWrapper@@UAE@XZ @ 40 NONAME ; GlxMLWrapper::~GlxMLWrapper(void) + ?RetrieveBitmap@GlxMLWrapper@@QAE?AVQVariant@@H@Z @ 41 NONAME ; class QVariant GlxMLWrapper::RetrieveBitmap(int) + ??1CGlxTitleFetcher@@UAE@XZ @ 42 NONAME ; CGlxTitleFetcher::~CGlxTitleFetcher(void) + ?HandleTitleAvailableL@GlxMLWrapperPrivate@@UAEXABVTDesC16@@@Z @ 43 NONAME ; void GlxMLWrapperPrivate::HandleTitleAvailableL(class TDesC16 const &) + ?qt_metacast@GlxMLWrapper@@UAEPAXPBD@Z @ 44 NONAME ; void * GlxMLWrapper::qt_metacast(char const *) + ?retrieveItemImage@GlxMLWrapper@@QAE?AVQImage@@HW4GlxTBContextType@@@Z @ 45 NONAME ; class QImage GlxMLWrapper::retrieveItemImage(int, enum GlxTBContextType) + ?setSelectedIndex@GlxMLWrapper@@QAEXH@Z @ 46 NONAME ; void GlxMLWrapper::setSelectedIndex(int) + ??0GlxMLWrapper@@QAE@HHW4TGlxFilterItemType@@VQString@@@Z @ 47 NONAME ; GlxMLWrapper::GlxMLWrapper(int, int, enum TGlxFilterItemType, class QString) + ?itemsAdded@GlxMLWrapper@@QAEXHH@Z @ 48 NONAME ; void GlxMLWrapper::itemsAdded(int, int) + ?retrieveItemIcon@GlxMLWrapper@@QAEPAVHbIcon@@HW4GlxTBContextType@@@Z @ 49 NONAME ; class HbIcon * GlxMLWrapper::retrieveItemIcon(int, enum GlxTBContextType) diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/eabi/glxmedialistwrapperu.def --- a/ui/uiengine/eabi/glxmedialistwrapperu.def Mon May 03 16:56:16 2010 +0530 +++ b/ui/uiengine/eabi/glxmedialistwrapperu.def Mon May 17 13:35:26 2010 +0530 @@ -1,42 +1,48 @@ EXPORTS _ZN12GlxMLWrapper10itemsAddedEii @ 1 NONAME _ZN12GlxMLWrapper10updateItemEi16GlxTBContextType @ 2 NONAME - _ZN12GlxMLWrapper11insertItemsEii @ 3 NONAME - _ZN12GlxMLWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 4 NONAME - _ZN12GlxMLWrapper11qt_metacastEPKc @ 5 NONAME - _ZN12GlxMLWrapper11removeItemsEii @ 6 NONAME - _ZN12GlxMLWrapper12getItemCountEv @ 7 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 + _ZN12GlxMLWrapper11IsPopulatedEv @ 3 NONAME + _ZN12GlxMLWrapper11insertItemsEii @ 4 NONAME + _ZN12GlxMLWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 5 NONAME + _ZN12GlxMLWrapper11qt_metacastEPKc @ 6 NONAME + _ZN12GlxMLWrapper11removeItemsEii @ 7 NONAME + _ZN12GlxMLWrapper12getItemCountEv @ 8 NONAME + _ZN12GlxMLWrapper12isSystemItemEi @ 9 NONAME + _ZN12GlxMLWrapper12itemsRemovedEii @ 10 NONAME + _ZN12GlxMLWrapper13itemCorruptedEi @ 11 NONAME + _ZN12GlxMLWrapper13setFocusIndexEi @ 12 NONAME + _ZN12GlxMLWrapper14RetrieveBitmapEi @ 13 NONAME + _ZN12GlxMLWrapper14setContextModeE14GlxContextMode @ 14 NONAME + _ZN12GlxMLWrapper15handlepopulatedEv @ 15 NONAME + _ZN12GlxMLWrapper15retrieveItemUriEi @ 16 NONAME + _ZN12GlxMLWrapper16retrieveItemDateEi @ 17 NONAME + _ZN12GlxMLWrapper16retrieveItemIconEi16GlxTBContextType @ 18 NONAME + _ZN12GlxMLWrapper16setSelectedIndexEi @ 19 NONAME + _ZN12GlxMLWrapper16staticMetaObjectE @ 20 NONAME DATA 16 + _ZN12GlxMLWrapper16updateAlbumTitleE7QString @ 21 NONAME + _ZN12GlxMLWrapper17handleIconCorruptEi @ 22 NONAME + _ZN12GlxMLWrapper17retrieveItemImageEi16GlxTBContextType @ 23 NONAME + _ZN12GlxMLWrapper17retrieveListTitleEi @ 24 NONAME + _ZN12GlxMLWrapper17retrieveViewTitleEv @ 25 NONAME + _ZN12GlxMLWrapper18handleGeneralErrorEi @ 26 NONAME + _ZN12GlxMLWrapper18handleReceivedIconEi16GlxTBContextType @ 27 NONAME + _ZN12GlxMLWrapper19getStaticMetaObjectEv @ 28 NONAME + _ZN12GlxMLWrapper20handleTitleAvailableE7QString @ 29 NONAME + _ZN12GlxMLWrapper20retrieveListSubTitleEi @ 30 NONAME + _ZN12GlxMLWrapper21getVisibleWindowIndexEv @ 31 NONAME + _ZN12GlxMLWrapper21retrieveItemDimensionEi @ 32 NONAME + _ZN12GlxMLWrapper21retrieveListItemCountEi @ 33 NONAME + _ZN12GlxMLWrapper21setVisibleWindowIndexEi @ 34 NONAME + _ZN12GlxMLWrapper22retrieveItemFrameCountEi @ 35 NONAME + _ZN12GlxMLWrapper23handleListItemAvailableEi @ 36 NONAME + _ZN12GlxMLWrapper9populatedEv @ 37 NONAME + _ZN12GlxMLWrapperC1Eii18TGlxFilterItemType7QString @ 38 NONAME + _ZN12GlxMLWrapperC2Eii18TGlxFilterItemType7QString @ 39 NONAME + _ZN12GlxMLWrapperD0Ev @ 40 NONAME + _ZN12GlxMLWrapperD1Ev @ 41 NONAME + _ZN12GlxMLWrapperD2Ev @ 42 NONAME + _ZNK12GlxMLWrapper10metaObjectEv @ 43 NONAME + _ZNK12GlxMLWrapper13getFocusIndexEv @ 44 NONAME + _ZTI12GlxMLWrapper @ 45 NONAME + _ZTV12GlxMLWrapper @ 46 NONAME diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/medialists/src/glxmedialist.cpp --- a/ui/uiengine/medialists/src/glxmedialist.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/uiengine/medialists/src/glxmedialist.cpp Mon May 17 13:35:26 2010 +0530 @@ -1494,8 +1494,8 @@ if (!iIsPopulated) { TListPopulatedNotificationStrategy strategy( *this ); + iIsPopulated = ETrue; // Do this only once. NotifyObservers( strategy ); - iIsPopulated = ETrue; // Do this only once. } } diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/medialistwrapper/inc/glxmlgenericobserver.h --- a/ui/uiengine/medialistwrapper/inc/glxmlgenericobserver.h Mon May 03 16:56:16 2010 +0530 +++ b/ui/uiengine/medialistwrapper/inc/glxmlgenericobserver.h Mon May 17 13:35:26 2010 +0530 @@ -61,6 +61,7 @@ MGlxMediaList* aList ); void HandleMediaL( TInt aListIndex, MGlxMediaList* aList ); void HandleItemModifiedL( const RArray& aItemIndexes, MGlxMediaList* aList ); + void HandlePopulatedL(MGlxMediaList* aList); private: diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/medialistwrapper/inc/glxmlwrapper.h --- a/ui/uiengine/medialistwrapper/inc/glxmlwrapper.h Mon May 03 16:56:16 2010 +0530 +++ b/ui/uiengine/medialistwrapper/inc/glxmlwrapper.h Mon May 17 13:35:26 2010 +0530 @@ -89,7 +89,9 @@ QSize retrieveItemDimension(int index); QDate retrieveItemDate(int index); int retrieveItemFrameCount(int index); - + QString retrieveViewTitle(); + void handlepopulated(); + bool IsPopulated(); /* * retriveBitmap helps to retrive the bitmap * @param1 index @@ -105,12 +107,15 @@ * @param1 index */ bool isSystemItem( int aItemIndex ); + void handleTitleAvailable(QString aTitle); signals: void updateItem(int index, GlxTBContextType tbContextType); void insertItems(int startIndex,int endIndex); void removeItems(int startIndex,int endIndex); void itemCorrupted(int itemIndex); + void updateAlbumTitle(QString aTitle); + void populated(); private: GlxMLWrapperPrivate* mMLWrapperPrivate; diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/medialistwrapper/inc/glxmlwrapper_p.h --- a/ui/uiengine/medialistwrapper/inc/glxmlwrapper_p.h Mon May 03 16:56:16 2010 +0530 +++ b/ui/uiengine/medialistwrapper/inc/glxmlwrapper_p.h Mon May 17 13:35:26 2010 +0530 @@ -26,6 +26,9 @@ #include #include "glxmedialistiterator.h" #include "glxmlwrapper.h" +#include +#include "mglxtitlefetcherobserver.h" + //Forward Declarations class MGlxMediaList; class CGlxMLGenericObserver; @@ -35,10 +38,10 @@ class CGlxDefaultAttributeContext; class CGlxDefaultThumbnailContext; class CGlxDefaultListAttributeContext; - +class CGlxTitleFetcher; //to use first call GlxMLWrapperPrivate::Instance then set the mode by calling GlxMLWrapperPrivate::SetContextMode() //CLASS Declaration -class GlxMLWrapperPrivate : public QObject +class GlxMLWrapperPrivate : public QObject,public MGlxTitleFetcherObserver { public: @@ -83,6 +86,10 @@ */ void SetVisibleWindowIndex(int aItemIndex); +public: + // From MGlxTitleFetcherObserver + IMPORT_C void HandleTitleAvailableL(const TDesC& aTitle); + public: void HandleItemAddedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList ); void HandleItemRemovedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList*/* aList */); @@ -95,6 +102,7 @@ //todo remove comment void HandleCommandCompleteL( CMPXCommand* aCommandResult, TInt aError,MGlxMediaList* aList ); void HandleMediaL( TInt aListIndex, MGlxMediaList* aList ); void HandleItemModifiedL( const RArray& aItemIndexes, MGlxMediaList* aList ); + void HandlePopulatedL(MGlxMediaList* aList); public: /** @@ -111,6 +119,8 @@ CFbsBitmap* RetrieveBitmap(int aItemIndex); int RetrieveListItemCount( int aItemIndex ); bool isSystemItem( int aItemIndex ); + QString RetrieveViewTitle(); + bool IsPopulated(); private: @@ -203,6 +213,9 @@ TBool iLsListContextActivated; //currently not used as we have not implemented the logic for 3 thumbnails TBool iPtListContextActivated; TBool iSelectionListContextActivated; + CGlxTitleFetcher* iTitleFetcher; + QImage iCorruptImage; + QString iViewTitle; }; #endif //GLXMLWRAPPER_P_H diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/medialistwrapper/inc/glxtitlefetcher.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/uiengine/medialistwrapper/inc/glxtitlefetcher.h Mon May 17 13:35:26 2010 +0530 @@ -0,0 +1,137 @@ +/* +* Copyright (c) 2008-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: Title fetcher +* +*/ + + + + +#ifndef GLXTITLEFETCHER_H +#define GLXTITLEFETCHER_H + +#include +#include +#include +#include +#include "mglxtitlefetcherobserver.h" + + +class CMPXCollectionPath; +class MGlxMediaList; +class CGlxDefaultAttributeContext; + + +class CGlxTitleFetcher : public CBase, public MGlxMediaListObserver + { +public: + /** + * Constructs an instance of CGlxTitleFetcher and initiates obtaining + * a title + * + * @param aObserver Observer of this list + * @param aPath The current path by which to obtain the title + */ + static CGlxTitleFetcher* NewL(MGlxTitleFetcherObserver& aObserver, + CMPXCollectionPath* aPath); + + IMPORT_C virtual ~CGlxTitleFetcher(); + + // From MGlxMediaListObserver + virtual void HandleItemAddedL(TInt aStartIndex, TInt aEndIndex, + MGlxMediaList* aList); + + /** + * Notification that media object is now available for an item + * + * @param Index of the item + */ + virtual void HandleMediaL(TInt /*aListIndex*/, MGlxMediaList* /*aList*/) {}; + + /** + * Notification that media item was removed from the list + * + * @param aStartIndex First item that was removed + * @param aEndIndex Last item that was removed + */ + virtual void HandleItemRemovedL(TInt /*aStartIndex*/, TInt /*aEndIndex*/, + MGlxMediaList* /*aList*/) {}; + + /** + * Notification that media item was changed + * + * @param aItemIndexes Indexes of items that were changed + */ + virtual void HandleItemModifiedL(const RArray& /*aItemIndexes*/, + MGlxMediaList* /*aList*/) {}; + + + /** + * Notification that an attribute is available + * + * @param aItemIndex Index of the for which the thumbnail is available + * @param aAttributes Array of attributes that have become available + * @param aList List that this callback relates to + */ + virtual void HandleAttributesAvailableL(TInt aItemIndex, + const RArray& aAttributes, MGlxMediaList* aList); + + /** + * Notification that focus has moved + * + * @param aType the direction of the focus change + * @param aNewIndex the new index after the focus change + * @param aOldIndex the old index before the focus change + * @param aList List that this callback relates to + */ + virtual void HandleFocusChangedL(NGlxListDefs::TFocusChangeType /*aType*/, + TInt /*aNewIndex*/, TInt /*aOldIndex*/, MGlxMediaList* /*aList*/) {}; + + /** + * Notification that an item has been selected/deselected + * + * @param aIndex Index of the item that has been selected/deselected + * @param aSelected Boolean to indicate selection/deselection + * @param aList List that the selection relates to + */ + virtual void HandleItemSelectedL(TInt /*aIndex*/, TBool /*aSelected*/, + MGlxMediaList* /*aList*/) {}; + + /** + * Notification from the collection. E.g. Items added/modified/deleted and progress notifications + * + * @param aMessage Message notification from the collection + * @param aList List that the notification relates to + */ + virtual void HandleMessageL(const CMPXMessage& /*aMessage*/, + MGlxMediaList* /*aList*/) {}; + +private: + + CGlxTitleFetcher(MGlxTitleFetcherObserver& aObserver, + CMPXCollectionPath* aPath); + + void ConstructL(); + +private: + + MGlxTitleFetcherObserver& iObserver; + CMPXCollectionPath* iPath; + TMPXItemId iPathId; + MGlxMediaList* iBackMediaList; + CGlxDefaultAttributeContext* iContext; + }; + + +#endif // GLXTITLEFETCHER_H diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/medialistwrapper/inc/mglxtitlefetcherobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/uiengine/medialistwrapper/inc/mglxtitlefetcherobserver.h Mon May 17 13:35:26 2010 +0530 @@ -0,0 +1,47 @@ +/* +* Copyright (c) 2008-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: Title fetcher observer +* +*/ + + + + +#ifndef MGLXTITLEFETCHEROBSERVER_H +#define MGLXTITLEFETCHEROBSERVER_H + +#include +//#include +//#include + +/** + * MGlxTitleFetcherObserver + * + * Title fetcher interface + */ +class MGlxTitleFetcherObserver + { +public: + /** + * Handle the title + * @param aTitle The title + */ + virtual void HandleTitleAvailableL(const TDesC& aTitle) = 0; + + }; + + + + +#endif // MGLXTITLEFETCHEROBSERVER_H diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/medialistwrapper/medialistwrapper.pro --- a/ui/uiengine/medialistwrapper/medialistwrapper.pro Mon May 03 16:56:16 2010 +0530 +++ b/ui/uiengine/medialistwrapper/medialistwrapper.pro Mon May 17 13:35:26 2010 +0530 @@ -44,10 +44,11 @@ TARGET.EPOCALLOWDLLDATA = 1 } # Input -HEADERS += inc/glxmlgenericobserver.h inc/glxmlwrapper.h inc/glxmlwrapper_p.h inc/glxattributeretriever.h +HEADERS += inc/glxmlgenericobserver.h inc/glxmlwrapper.h inc/glxmlwrapper_p.h inc/glxattributeretriever.h inc/glxtitlefetcher.h SOURCES += src/glxmlgenericobserver.cpp \ src/glxmlwrapper.cpp \ src/glxmlwrapper_p.cpp \ - src/glxattributeretriever.cpp + src/glxattributeretriever.cpp \ + src/glxtitlefetcher.cpp DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT \ No newline at end of file diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/medialistwrapper/src/glxmlgenericobserver.cpp --- a/ui/uiengine/medialistwrapper/src/glxmlgenericobserver.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/uiengine/medialistwrapper/src/glxmlgenericobserver.cpp Mon May 17 13:35:26 2010 +0530 @@ -206,3 +206,10 @@ iMLWrapperPrivate->HandleItemModifiedL(aItemIndexes, aList); } +void CGlxMLGenericObserver::HandlePopulatedL(MGlxMediaList* aList) + { + TRACER("CGlxMLGenericObserver::HandlePopulatedL()"); + iMLWrapperPrivate->HandlePopulatedL(aList); + } + + diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/medialistwrapper/src/glxmlwrapper.cpp --- a/ui/uiengine/medialistwrapper/src/glxmlwrapper.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/uiengine/medialistwrapper/src/glxmlwrapper.cpp Mon May 17 13:35:26 2010 +0530 @@ -119,6 +119,21 @@ return (mMLWrapperPrivate->RetrieveItemFrameCount(index)); } +QString GlxMLWrapper::retrieveViewTitle() +{ + return (mMLWrapperPrivate->RetrieveViewTitle()); +} + +void GlxMLWrapper::handlepopulated() +{ + emit populated(); +} + +bool GlxMLWrapper::IsPopulated() +{ + return mMLWrapperPrivate->IsPopulated(); +} + QVariant GlxMLWrapper::RetrieveBitmap(int index) { QVariant var; @@ -238,4 +253,12 @@ Q_UNUSED(aError); } +// --------------------------------------------------------------------------- +// handleTitleAvailable. +// --------------------------------------------------------------------------- +// +void GlxMLWrapper::handleTitleAvailable(QString aTitle) +{ + emit updateAlbumTitle(aTitle); +} diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp --- a/ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp Mon May 17 13:35:26 2010 +0530 @@ -46,7 +46,7 @@ //#define GLXPERFORMANCE_LOG #include - +#include "glxtitlefetcher.h" //constant declaration const TInt KTBAttributeAvailable(1); const TInt KTBAttributeUnavailable(0); @@ -103,7 +103,9 @@ iFocusGridThumbnailContext = NULL; iFocusFsThumbnailContext = NULL; iFilmStripThumbnailContext = NULL; - iFavouriteContext = NULL; + iFavouriteContext = NULL; + iTitleFetcher = NULL; + iViewTitle = QString(); } // --------------------------------------------------------------------------- @@ -318,7 +320,11 @@ iMediaList->AddContextL(iGridThumbnailContext, KGlxFetchContextPriorityNormal ); iGridContextActivated = ETrue; } - + + CMPXCollectionPath* path = iMediaList->PathLC( NGlxListDefs::EPathParent ); + iTitleFetcher = CGlxTitleFetcher::NewL(*this, path); + CleanupStack::PopAndDestroy(path); + } // --------------------------------------------------------------------------- @@ -428,6 +434,8 @@ iGridThumbnailContext = NULL; iGridContextActivated = EFalse; } + delete iTitleFetcher; + iTitleFetcher = NULL; } // --------------------------------------------------------------------------- @@ -617,6 +625,8 @@ { TRACER("GlxMLWrapperPrivate::CreateMediaListFavoritesItemL"); Q_UNUSED(aHierarchyId); + Q_UNUSED(aCollectionId); + Q_UNUSED(aFilterType); // Create path to the list of images and videos CMPXCollectionPath* path = CMPXCollectionPath::NewL(); CleanupStack::PushL( path ); @@ -749,7 +759,18 @@ } else if( tnError ) { - return QImage(GLXICON_CORRUPT); + if(iCorruptImage.isNull()) + { + HbIcon *icon = new HbIcon(GLXICON_CORRUPT); + if(!icon->isNull()) + { + // this image Creation is Slow. + // But what to do, Q class's Does not undersatnd our Localised File names + iCorruptImage = icon->pixmap().toImage(); + } + delete icon; + } + return iCorruptImage; } return QImage(); @@ -928,6 +949,18 @@ { Q_UNUSED(aList); iMLWrapper->itemsRemoved(aStartIndex,aEndIndex); + TInt mediaCount = aList->Count(); + if (mediaCount <=0) + { + if(iMediaList->VisibleWindowIndex() > iMediaList->Count()) + { + iMediaList->SetVisibleWindowIndexL(0); + } + } + else if (iMediaList->VisibleWindowIndex() > iMediaList->Count()) + { + iMediaList->SetVisibleWindowIndexL(iMediaList->Count()-1); + } } // --------------------------------------------------------------------------- // HandleAttributesAvailableL @@ -1119,6 +1152,7 @@ // void GlxMLWrapperPrivate::HandleError( TInt aError ) { + Q_UNUSED(aError); GLX_LOG_INFO1("GlxMLWrapperPrivate::HandleError Error %d", aError); for ( TInt i = 0; i < iMediaList->Count(); i++ ) @@ -1162,6 +1196,12 @@ Q_UNUSED(aList); } +void GlxMLWrapperPrivate::HandlePopulatedL(MGlxMediaList* aList) +{ + Q_UNUSED(aList); + iMLWrapper->handlepopulated(); +} + // --------------------------------------------------------------------------- // GetItemCount // --------------------------------------------------------------------------- @@ -1243,3 +1283,27 @@ { iMediaList->SetVisibleWindowIndexL(aItemIndex); } + +// ----------------------------------------------------------------------------- +// HandleTitleAvailableL +// ----------------------------------------------------------------------------- +// +void GlxMLWrapperPrivate::HandleTitleAvailableL( + const TDesC& aTitle) + { + iViewTitle = QString::fromUtf16(aTitle.Ptr(), aTitle.Length()); + iMLWrapper->handleTitleAvailable(iViewTitle); + RDebug::Print(_L("GlxPhotos: GlxMLWrapperPrivate : TITLE =-%S"),&aTitle); + } + +QString GlxMLWrapperPrivate::RetrieveViewTitle() + { + return iViewTitle; + } + +bool GlxMLWrapperPrivate::IsPopulated() + { + return iMediaList->IsPopulated(); + } + + diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/medialistwrapper/src/glxtitlefetcher.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/uiengine/medialistwrapper/src/glxtitlefetcher.cpp Mon May 17 13:35:26 2010 +0530 @@ -0,0 +1,205 @@ +/* +* Copyright (c) 2008-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: Title fetcher +* +*/ + + + + + +// INCLUDE FILES +#include "glxtitlefetcher.h" + +#include +#include +#include +#include +#include +#include "glxlog.h" +#include "glxtracer.h" + + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// C++ default constructor can NOT contain any code, that +// might leave. +// --------------------------------------------------------------------------- +// +CGlxTitleFetcher::CGlxTitleFetcher(MGlxTitleFetcherObserver& aObserver, + CMPXCollectionPath* aPath) : + iObserver(aObserver), iPath(aPath) + { + TRACER("CGlxTitleFetcher::CGlxTitleFetcher"); + } + +// --------------------------------------------------------------------------- +// Symbian 2nd phase constructor can leave. +// --------------------------------------------------------------------------- +// + +void CGlxTitleFetcher::ConstructL() + { + TRACER("CGlxTitleFetcher::ConstructL"); + // Go back one level to obtain the ID + iPathId = iPath->Id(); + // Go back another level from which to create a media list containing + // this path + iPath->Back(); + + if( iPath->Levels() < 0 ) + { + return; + } + + iBackMediaList = MGlxMediaList::InstanceL(*iPath); + + /// @todo: This idSpaceId must be calculated properly + TGlxIdSpaceId idSpaceId = iBackMediaList->IdSpaceId(0); + + TGlxMediaId id(iPathId); + TBool requestAttributes = ETrue; + TInt index = iBackMediaList->Index(idSpaceId, id); + + if ( index != KErrNotFound ) + { + const TGlxMedia& item = iBackMediaList->Item(index); + const CGlxMedia* media = item.Properties(); + + // get the Title from the attribute if it is already present + if (media && media->IsSupported(KMPXMediaGeneralTitle) + && index != KErrNotFound) + { + const TDesC& title = media->ValueText(KMPXMediaGeneralTitle); + // notify the observer + iObserver.HandleTitleAvailableL(title); + requestAttributes = EFalse; + } + } + + if ( requestAttributes ) + { + // Otherwise add a context setting range to cover all items + iContext = CGlxDefaultAttributeContext::NewL(); + iContext->SetRangeOffsets(10000,10000); + iContext->AddAttributeL(KMPXMediaGeneralTitle); + // Add the context at a high priority + iBackMediaList->AddContextL( iContext, + KGlxFetchContextPriorityTitleFetcher ); + // Set self as observer + iBackMediaList->AddMediaListObserverL(this); + } + } + + +// --------------------------------------------------------------------------- +// Two-phased constructor. +// --------------------------------------------------------------------------- +// +CGlxTitleFetcher* CGlxTitleFetcher::NewL(MGlxTitleFetcherObserver& aObserver, + CMPXCollectionPath* aPath) + { + CGlxTitleFetcher* self = new (ELeave) CGlxTitleFetcher(aObserver, aPath); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +// --------------------------------------------------------------------------- +// Destructor +// --------------------------------------------------------------------------- +// +CGlxTitleFetcher::~CGlxTitleFetcher() + { + TRACER("CGlxTitleFetcher::~CGlxTitleFetcher ()"); + + if(iBackMediaList) + { + if(iContext) + { + iBackMediaList->RemoveContext(iContext); + delete iContext; + } + iBackMediaList->RemoveMediaListObserver(this); + iBackMediaList->Close(); + } + + } +// --------------------------------------------------------------------------- +// CGlxTitleFetcher::HandleItemAddedL +// --------------------------------------------------------------------------- +// +void CGlxTitleFetcher::HandleItemAddedL(TInt aStartIndex, TInt aEndIndex, + MGlxMediaList* aList) + { + TRACER("CGlxTitleFetcher::HandleItemAddedL ()"); + if(aList == iBackMediaList) + { + for(TInt index = aStartIndex;index <= aEndIndex;index++) + // Is it the item (path) that we want + { + if(aList->Item(index).Id().Value() == (TUint32)iPathId) + { + const TGlxMedia& item = aList->Item(index); + const CGlxMedia* media = item.Properties(); + // get the Title from the attribute + if (media && media->IsSupported(KMPXMediaGeneralTitle)) + { + const TDesC& title = media->ValueText(KMPXMediaGeneralTitle); + // notify the observer + iObserver.HandleTitleAvailableL(title); + iBackMediaList->RemoveContext(iContext); + delete iContext; + iContext = NULL; + } + } + } + } + } +// --------------------------------------------------------------------------- +// CGlxTitleFetcher::HandleAttributesAvailableL +// --------------------------------------------------------------------------- +// +void CGlxTitleFetcher::HandleAttributesAvailableL(TInt aItemIndex, + const RArray& /*aAttributes*/, MGlxMediaList* aList) + { + TRACER("CGlxTitleFetcher::HandleAttributesAvailableL ()"); + // Is it the list that we want + if(aList == iBackMediaList) + { + // Is it the item (path) that we want + if(aList->Item(aItemIndex).Id().Value() == (TUint32)iPathId) + { + const TGlxMedia& item = aList->Item(aItemIndex); + const CGlxMedia* media = item.Properties(); + // get the Title from the attribute + if (media && media->IsSupported(KMPXMediaGeneralTitle)) + { + const TDesC& title = media->ValueText(KMPXMediaGeneralTitle); + // notify the observer + iObserver.HandleTitleAvailableL(title); + iBackMediaList->RemoveContext(iContext); + delete iContext; + iContext = NULL; + + } + } + } + } + + + +// End of File diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/model/bwins/glxmediamodelu.def --- a/ui/uiengine/model/bwins/glxmediamodelu.def Mon May 03 16:56:16 2010 +0530 +++ b/ui/uiengine/model/bwins/glxmediamodelu.def Mon May 17 13:35:26 2010 +0530 @@ -1,35 +1,39 @@ EXPORTS - ?addExternalItems@GlxMediaModel@@QAEXPAV?$QList@UGlxInterfaceParams@@@@@Z @ 1 NONAME ; void GlxMediaModel::addExternalItems(class QList *) - ?metaObject@GlxMediaModel@@UBEPBUQMetaObject@@XZ @ 2 NONAME ; struct QMetaObject const * GlxMediaModel::metaObject(void) const - ?parent@GlxMediaModel@@UBE?AVQModelIndex@@ABV2@@Z @ 3 NONAME ; class QModelIndex GlxMediaModel::parent(class QModelIndex const &) const - ?itemsAdded@GlxMediaModel@@QAEXHH@Z @ 4 NONAME ; void GlxMediaModel::itemsAdded(int, int) - ?tr@GlxMediaModel@@SA?AVQString@@PBD0@Z @ 5 NONAME ; class QString GlxMediaModel::tr(char const *, char const *) - ?getStaticMetaObject@GlxMediaModel@@SAABUQMetaObject@@XZ @ 6 NONAME ; struct QMetaObject const & GlxMediaModel::getStaticMetaObject(void) - ?updateItemIcon@GlxMediaModel@@AAEXHPAVHbIcon@@W4GlxTBContextType@@@Z @ 7 NONAME ; void GlxMediaModel::updateItemIcon(int, class HbIcon *, enum GlxTBContextType) - ?qt_metacast@GlxMediaModel@@UAEPAXPBD@Z @ 8 NONAME ; void * GlxMediaModel::qt_metacast(char const *) - ?itemsRemoved@GlxMediaModel@@QAEXHH@Z @ 9 NONAME ; void GlxMediaModel::itemsRemoved(int, int) - ?rowCount@GlxMediaModel@@UBEHABVQModelIndex@@@Z @ 10 NONAME ; int GlxMediaModel::rowCount(class QModelIndex const &) const - ??1GlxMediaModel@@UAE@XZ @ 11 NONAME ; GlxMediaModel::~GlxMediaModel(void) - ?GetFsIconItem@GlxMediaModel@@ABEPAVHbIcon@@HW4GlxTBContextType@@@Z @ 12 NONAME ; class HbIcon * GlxMediaModel::GetFsIconItem(int, enum GlxTBContextType) const - ?columnCount@GlxMediaModel@@UBEHABVQModelIndex@@@Z @ 13 NONAME ; int GlxMediaModel::columnCount(class QModelIndex const &) const - ?setSelectedIndex@GlxMediaModel@@AAEXABVQModelIndex@@@Z @ 14 NONAME ; void GlxMediaModel::setSelectedIndex(class QModelIndex const &) - ?qt_metacall@GlxMediaModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 15 NONAME ; int GlxMediaModel::qt_metacall(enum QMetaObject::Call, int, void * *) - ?setFocusIndex@GlxMediaModel@@AAEXABVQModelIndex@@@Z @ 16 NONAME ; void GlxMediaModel::setFocusIndex(class QModelIndex const &) - ?setContextMode@GlxMediaModel@@AAEXW4GlxContextMode@@@Z @ 17 NONAME ; void GlxMediaModel::setContextMode(enum GlxContextMode) - ?trUtf8@GlxMediaModel@@SA?AVQString@@PBD0H@Z @ 18 NONAME ; class QString GlxMediaModel::trUtf8(char const *, char const *, int) - ?staticMetaObject@GlxMediaModel@@2UQMetaObject@@B @ 19 NONAME ; struct QMetaObject const GlxMediaModel::staticMetaObject - ?itemUpdated1@GlxMediaModel@@QAEXHW4GlxTBContextType@@@Z @ 20 NONAME ; void GlxMediaModel::itemUpdated1(int, enum GlxTBContextType) - ?setData@GlxMediaModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 21 NONAME ; bool GlxMediaModel::setData(class QModelIndex const &, class QVariant const &, int) - ?GetGridIconItem@GlxMediaModel@@ABEPAVHbIcon@@HW4GlxTBContextType@@@Z @ 22 NONAME ; class HbIcon * GlxMediaModel::GetGridIconItem(int, enum GlxTBContextType) const - ?data@GlxMediaModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 23 NONAME ; class QVariant GlxMediaModel::data(class QModelIndex const &, int) const - ??_EGlxMediaModel@@UAE@I@Z @ 24 NONAME ; GlxMediaModel::~GlxMediaModel(unsigned int) - ?clearExternalItems@GlxMediaModel@@QAEXXZ @ 25 NONAME ; void GlxMediaModel::clearExternalItems(void) - ?getFocusIndex@GlxMediaModel@@ABE?AVQModelIndex@@XZ @ 26 NONAME ; class QModelIndex GlxMediaModel::getFocusIndex(void) const - ?trUtf8@GlxMediaModel@@SA?AVQString@@PBD0@Z @ 27 NONAME ; class QString GlxMediaModel::trUtf8(char const *, char const *) - ?iconAvailable@GlxMediaModel@@IBEXHPAVHbIcon@@W4GlxTBContextType@@@Z @ 28 NONAME ; void GlxMediaModel::iconAvailable(int, class HbIcon *, enum GlxTBContextType) const - ??0GlxMediaModel@@QAE@AAVGlxModelParm@@@Z @ 29 NONAME ; GlxMediaModel::GlxMediaModel(class GlxModelParm &) - ?tr@GlxMediaModel@@SA?AVQString@@PBD0H@Z @ 30 NONAME ; class QString GlxMediaModel::tr(char const *, char const *, int) - ?index@GlxMediaModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 31 NONAME ; class QModelIndex GlxMediaModel::index(int, int, class QModelIndex const &) const - ?GetExternalIconItem@GlxMediaModel@@ABEPAVHbIcon@@HW4GlxTBContextType@@@Z @ 32 NONAME ; class HbIcon * GlxMediaModel::GetExternalIconItem(int, enum GlxTBContextType) const - ?itemCorrupted@GlxMediaModel@@QAEXH@Z @ 33 NONAME ; void GlxMediaModel::itemCorrupted(int) + ?metaObject@GlxMediaModel@@UBEPBUQMetaObject@@XZ @ 1 NONAME ; struct QMetaObject const * GlxMediaModel::metaObject(void) const + ?itemsAdded@GlxMediaModel@@QAEXHH@Z @ 2 NONAME ; void GlxMediaModel::itemsAdded(int, int) + ?getStaticMetaObject@GlxMediaModel@@SAABUQMetaObject@@XZ @ 3 NONAME ; struct QMetaObject const & GlxMediaModel::getStaticMetaObject(void) + ?updateItemIcon@GlxMediaModel@@AAEXHPAVHbIcon@@W4GlxTBContextType@@@Z @ 4 NONAME ; void GlxMediaModel::updateItemIcon(int, class HbIcon *, enum GlxTBContextType) + ?qt_metacast@GlxMediaModel@@UAEPAXPBD@Z @ 5 NONAME ; void * GlxMediaModel::qt_metacast(char const *) + ?rowCount@GlxMediaModel@@UBEHABVQModelIndex@@@Z @ 6 NONAME ; int GlxMediaModel::rowCount(class QModelIndex const &) const + ?setSelectedIndex@GlxMediaModel@@AAEXABVQModelIndex@@@Z @ 7 NONAME ; void GlxMediaModel::setSelectedIndex(class QModelIndex const &) + ?setFocusIndex@GlxMediaModel@@AAEXABVQModelIndex@@@Z @ 8 NONAME ; void GlxMediaModel::setFocusIndex(class QModelIndex const &) + ?setContextMode@GlxMediaModel@@AAEXW4GlxContextMode@@@Z @ 9 NONAME ; void GlxMediaModel::setContextMode(enum GlxContextMode) + ?trUtf8@GlxMediaModel@@SA?AVQString@@PBD0H@Z @ 10 NONAME ; class QString GlxMediaModel::trUtf8(char const *, char const *, int) + ?staticMetaObject@GlxMediaModel@@2UQMetaObject@@B @ 11 NONAME ; struct QMetaObject const GlxMediaModel::staticMetaObject + ?GetGridIconItem@GlxMediaModel@@ABEPAVHbIcon@@HW4GlxTBContextType@@@Z @ 12 NONAME ; class HbIcon * GlxMediaModel::GetGridIconItem(int, enum GlxTBContextType) const + ??_EGlxMediaModel@@UAE@I@Z @ 13 NONAME ; GlxMediaModel::~GlxMediaModel(unsigned int) + ?getFocusIndex@GlxMediaModel@@ABE?AVQModelIndex@@XZ @ 14 NONAME ; class QModelIndex GlxMediaModel::getFocusIndex(void) const + ?tr@GlxMediaModel@@SA?AVQString@@PBD0H@Z @ 15 NONAME ; class QString GlxMediaModel::tr(char const *, char const *, int) + ?itemCorrupted@GlxMediaModel@@QAEXH@Z @ 16 NONAME ; void GlxMediaModel::itemCorrupted(int) + ?addExternalItems@GlxMediaModel@@QAEXPAV?$QList@UGlxInterfaceParams@@@@@Z @ 17 NONAME ; void GlxMediaModel::addExternalItems(class QList *) + ?modelpopulated@GlxMediaModel@@QAEXXZ @ 18 NONAME ; void GlxMediaModel::modelpopulated(void) + ?parent@GlxMediaModel@@UBE?AVQModelIndex@@ABV2@@Z @ 19 NONAME ; class QModelIndex GlxMediaModel::parent(class QModelIndex const &) const + ?tr@GlxMediaModel@@SA?AVQString@@PBD0@Z @ 20 NONAME ; class QString GlxMediaModel::tr(char const *, char const *) + ?itemsRemoved@GlxMediaModel@@QAEXHH@Z @ 21 NONAME ; void GlxMediaModel::itemsRemoved(int, int) + ?columnCount@GlxMediaModel@@UBEHABVQModelIndex@@@Z @ 22 NONAME ; int GlxMediaModel::columnCount(class QModelIndex const &) const + ?GetFsIconItem@GlxMediaModel@@ABEPAVHbIcon@@HW4GlxTBContextType@@@Z @ 23 NONAME ; class HbIcon * GlxMediaModel::GetFsIconItem(int, enum GlxTBContextType) const + ??1GlxMediaModel@@UAE@XZ @ 24 NONAME ; GlxMediaModel::~GlxMediaModel(void) + ?qt_metacall@GlxMediaModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 25 NONAME ; int GlxMediaModel::qt_metacall(enum QMetaObject::Call, int, void * *) + ?albumTitleUpdated@GlxMediaModel@@QAEXVQString@@@Z @ 26 NONAME ; void GlxMediaModel::albumTitleUpdated(class QString) + ?itemUpdated1@GlxMediaModel@@QAEXHW4GlxTBContextType@@@Z @ 27 NONAME ; void GlxMediaModel::itemUpdated1(int, enum GlxTBContextType) + ?setData@GlxMediaModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 28 NONAME ; bool GlxMediaModel::setData(class QModelIndex const &, class QVariant const &, int) + ?data@GlxMediaModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 29 NONAME ; class QVariant GlxMediaModel::data(class QModelIndex const &, int) const + ?clearExternalItems@GlxMediaModel@@QAEXXZ @ 30 NONAME ; void GlxMediaModel::clearExternalItems(void) + ?trUtf8@GlxMediaModel@@SA?AVQString@@PBD0@Z @ 31 NONAME ; class QString GlxMediaModel::trUtf8(char const *, char const *) + ?iconAvailable@GlxMediaModel@@IBEXHPAVHbIcon@@W4GlxTBContextType@@@Z @ 32 NONAME ; void GlxMediaModel::iconAvailable(int, class HbIcon *, enum GlxTBContextType) const + ?populated@GlxMediaModel@@IAEXXZ @ 33 NONAME ; void GlxMediaModel::populated(void) + ??0GlxMediaModel@@QAE@AAVGlxModelParm@@@Z @ 34 NONAME ; GlxMediaModel::GlxMediaModel(class GlxModelParm &) + ?index@GlxMediaModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 35 NONAME ; class QModelIndex GlxMediaModel::index(int, int, class QModelIndex const &) const + ?GetExternalIconItem@GlxMediaModel@@ABEPAVHbIcon@@HW4GlxTBContextType@@@Z @ 36 NONAME ; class HbIcon * GlxMediaModel::GetExternalIconItem(int, enum GlxTBContextType) const + ?albumTitleAvailable@GlxMediaModel@@IAEXVQString@@@Z @ 37 NONAME ; void GlxMediaModel::albumTitleAvailable(class QString) diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/model/eabi/glxmediamodelu.def --- a/ui/uiengine/model/eabi/glxmediamodelu.def Mon May 03 16:56:16 2010 +0530 +++ b/ui/uiengine/model/eabi/glxmediamodelu.def Mon May 17 13:35:26 2010 +0530 @@ -4,32 +4,36 @@ _ZN13GlxMediaModel11qt_metacastEPKc @ 3 NONAME _ZN13GlxMediaModel12itemUpdated1Ei16GlxTBContextType @ 4 NONAME _ZN13GlxMediaModel12itemsRemovedEii @ 5 NONAME - _ZN13GlxMediaModel13setFocusIndexERK11QModelIndex @ 6 NONAME - _ZN13GlxMediaModel14setContextModeE14GlxContextMode @ 7 NONAME - _ZN13GlxMediaModel14updateItemIconEiP6HbIcon16GlxTBContextType @ 8 NONAME - _ZN13GlxMediaModel16addExternalItemsEP5QListI18GlxInterfaceParamsE @ 9 NONAME - _ZN13GlxMediaModel16setSelectedIndexERK11QModelIndex @ 10 NONAME - _ZN13GlxMediaModel16staticMetaObjectE @ 11 NONAME DATA 16 - _ZN13GlxMediaModel18clearExternalItemsEv @ 12 NONAME - _ZN13GlxMediaModel19getStaticMetaObjectEv @ 13 NONAME - _ZN13GlxMediaModel7setDataERK11QModelIndexRK8QVarianti @ 14 NONAME - _ZN13GlxMediaModelC1ER12GlxModelParm @ 15 NONAME - _ZN13GlxMediaModelC2ER12GlxModelParm @ 16 NONAME - _ZN13GlxMediaModelD0Ev @ 17 NONAME - _ZN13GlxMediaModelD1Ev @ 18 NONAME - _ZN13GlxMediaModelD2Ev @ 19 NONAME - _ZNK13GlxMediaModel10metaObjectEv @ 20 NONAME - _ZNK13GlxMediaModel11columnCountERK11QModelIndex @ 21 NONAME - _ZNK13GlxMediaModel13GetFsIconItemEi16GlxTBContextType @ 22 NONAME - _ZNK13GlxMediaModel13getFocusIndexEv @ 23 NONAME - _ZNK13GlxMediaModel13iconAvailableEiP6HbIcon16GlxTBContextType @ 24 NONAME - _ZNK13GlxMediaModel15GetGridIconItemEi16GlxTBContextType @ 25 NONAME - _ZNK13GlxMediaModel19GetExternalIconItemEi16GlxTBContextType @ 26 NONAME - _ZNK13GlxMediaModel4dataERK11QModelIndexi @ 27 NONAME - _ZNK13GlxMediaModel5indexEiiRK11QModelIndex @ 28 NONAME - _ZNK13GlxMediaModel6parentERK11QModelIndex @ 29 NONAME - _ZNK13GlxMediaModel8rowCountERK11QModelIndex @ 30 NONAME - _ZTI13GlxMediaModel @ 31 NONAME - _ZTV13GlxMediaModel @ 32 NONAME - _ZN13GlxMediaModel13itemCorruptedEi @ 33 NONAME + _ZN13GlxMediaModel13itemCorruptedEi @ 6 NONAME + _ZN13GlxMediaModel13setFocusIndexERK11QModelIndex @ 7 NONAME + _ZN13GlxMediaModel14modelpopulatedEv @ 8 NONAME + _ZN13GlxMediaModel14setContextModeE14GlxContextMode @ 9 NONAME + _ZN13GlxMediaModel14updateItemIconEiP6HbIcon16GlxTBContextType @ 10 NONAME + _ZN13GlxMediaModel16addExternalItemsEP5QListI18GlxInterfaceParamsE @ 11 NONAME + _ZN13GlxMediaModel16setSelectedIndexERK11QModelIndex @ 12 NONAME + _ZN13GlxMediaModel16staticMetaObjectE @ 13 NONAME DATA 16 + _ZN13GlxMediaModel17albumTitleUpdatedE7QString @ 14 NONAME + _ZN13GlxMediaModel18clearExternalItemsEv @ 15 NONAME + _ZN13GlxMediaModel19albumTitleAvailableE7QString @ 16 NONAME + _ZN13GlxMediaModel19getStaticMetaObjectEv @ 17 NONAME + _ZN13GlxMediaModel7setDataERK11QModelIndexRK8QVarianti @ 18 NONAME + _ZN13GlxMediaModel9populatedEv @ 19 NONAME + _ZN13GlxMediaModelC1ER12GlxModelParm @ 20 NONAME + _ZN13GlxMediaModelC2ER12GlxModelParm @ 21 NONAME + _ZN13GlxMediaModelD0Ev @ 22 NONAME + _ZN13GlxMediaModelD1Ev @ 23 NONAME + _ZN13GlxMediaModelD2Ev @ 24 NONAME + _ZNK13GlxMediaModel10metaObjectEv @ 25 NONAME + _ZNK13GlxMediaModel11columnCountERK11QModelIndex @ 26 NONAME + _ZNK13GlxMediaModel13GetFsIconItemEi16GlxTBContextType @ 27 NONAME + _ZNK13GlxMediaModel13getFocusIndexEv @ 28 NONAME + _ZNK13GlxMediaModel13iconAvailableEiP6HbIcon16GlxTBContextType @ 29 NONAME + _ZNK13GlxMediaModel15GetGridIconItemEi16GlxTBContextType @ 30 NONAME + _ZNK13GlxMediaModel19GetExternalIconItemEi16GlxTBContextType @ 31 NONAME + _ZNK13GlxMediaModel4dataERK11QModelIndexi @ 32 NONAME + _ZNK13GlxMediaModel5indexEiiRK11QModelIndex @ 33 NONAME + _ZNK13GlxMediaModel6parentERK11QModelIndex @ 34 NONAME + _ZNK13GlxMediaModel8rowCountERK11QModelIndex @ 35 NONAME + _ZTI13GlxMediaModel @ 36 NONAME + _ZTV13GlxMediaModel @ 37 NONAME diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/model/mediamodel/inc/glxmediamodel.h --- a/ui/uiengine/model/mediamodel/inc/glxmediamodel.h Mon May 03 16:56:16 2010 +0530 +++ b/ui/uiengine/model/mediamodel/inc/glxmediamodel.h Mon May 17 13:35:26 2010 +0530 @@ -64,6 +64,10 @@ * for checking if the item is editab */ +signals : + void albumTitleAvailable(QString aTitle); + void populated(); + private: HbIcon* GetGridIconItem(int itemIndex, GlxTBContextType tbContextType) const; HbIcon* GetFsIconItem(int itemIndex,GlxTBContextType tbContextType)const; @@ -85,6 +89,8 @@ void itemsAdded(int startIndex, int endIndex); void itemsRemoved(int startIndex, int endIndex); void itemCorrupted(int itemIndex); + void albumTitleUpdated(QString aTitle); + void modelpopulated(); protected: private slots: diff -r ae07d189b490 -r 5e1df1b52eb3 ui/uiengine/model/mediamodel/src/glxmediamodel.cpp --- a/ui/uiengine/model/mediamodel/src/glxmediamodel.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/uiengine/model/mediamodel/src/glxmediamodel.cpp Mon May 17 13:35:26 2010 +0530 @@ -52,6 +52,9 @@ qDebug("updateItem() connection status %d", err); err = connect(this, SIGNAL(iconAvailable(int, HbIcon*, GlxTBContextType)), this, SLOT(updateItemIcon(int, HbIcon*, GlxTBContextType))); qDebug("iconAvailable() connection status %d", err); + err = connect( mMLWrapper, SIGNAL(updateAlbumTitle(QString)), this, SLOT(albumTitleUpdated(QString))); + qDebug("updateAlbumTitle() connection status %d", err); + err = connect(mMLWrapper, SIGNAL(populated()), this, SLOT(modelpopulated())); //itemadded.resize(mMLWrapper->getItemCount()); itemIconCache.setMaxCost(20); //Changed While Doing Media Wall @@ -85,6 +88,8 @@ err = disconnect(mMLWrapper, SIGNAL(insertItems(int, int)), this, SLOT(itemsAdded(int, int))); err = disconnect(mMLWrapper, SIGNAL(removeItems(int, int)), this, SLOT(itemsRemoved(int, int))); err = disconnect(this, SIGNAL(iconAvailable(int, HbIcon*, GlxTBContextType)), this, SLOT(updateItemIcon(int, HbIcon*, GlxTBContextType))); + err = disconnect(mMLWrapper, SIGNAL(updateAlbumTitle(QString)), this, SLOT(albumTitleUpdated(QString))); + err = disconnect(mMLWrapper, SIGNAL(populated()), this, SLOT(modelpopulated())); delete mMLWrapper; } @@ -157,6 +162,15 @@ //todo refactor this whole function ... too many return statements are not good QVariant GlxMediaModel::data(const QModelIndex &index, int role) const { + if (role == GlxViewTitle) + { + return mMLWrapper->retrieveViewTitle(); + } + + if(role == GlxPopulated) { + return mMLWrapper->IsPopulated(); + } + if ( role == GlxSubStateRole ) { return mSubState; } @@ -170,8 +184,16 @@ } if ( role == GlxDefaultImage ) { + if(!m_DefaultIcon->isNull()) { + // this image Creation is Slow. + // But what to do, Q class's Does not undersatnd our Localised File names return m_DefaultIcon->pixmap().toImage().convertToFormat(QImage::Format_ARGB32_Premultiplied); } + else { + return QImage(); + } + + } HbIcon* itemIcon = NULL; QImage itemImage; @@ -359,6 +381,11 @@ emit dataChanged(index(itemIndex+externalDataCount,0),index(itemIndex+externalDataCount,0)); } +void GlxMediaModel::modelpopulated() +{ + emit populated(); +} + void GlxMediaModel::itemsAdded(int startIndex, int endIndex) { qDebug("GlxMediaModel::itemsAdded %d %d", startIndex, endIndex); @@ -401,6 +428,10 @@ } } +void GlxMediaModel::albumTitleUpdated(QString aTitle) +{ + emit albumTitleAvailable(aTitle); +} void GlxMediaModel::setFocusIndex(const QModelIndex &index) { diff -r ae07d189b490 -r 5e1df1b52eb3 ui/viewmanagement/bwins/glxstatehandleru.def --- a/ui/viewmanagement/bwins/glxstatehandleru.def Mon May 03 16:56:16 2010 +0530 +++ b/ui/viewmanagement/bwins/glxstatehandleru.def Mon May 17 13:35:26 2010 +0530 @@ -3,33 +3,35 @@ ?actionTriggered@GlxStateManager@@QAEXH@Z @ 2 NONAME ; void GlxStateManager::actionTriggered(int) ?setupItemsSignal@GlxStateManager@@IAEXXZ @ 3 NONAME ; void GlxStateManager::setupItemsSignal(void) ??_EGlxStateManager@@UAE@I@Z @ 4 NONAME ; GlxStateManager::~GlxStateManager(unsigned int) - ?goBack@GlxStateManager@@QAEXHH@Z @ 5 NONAME ; void GlxStateManager::goBack(int, int) - ?enterMarkingMode@GlxStateManager@@QAEXXZ @ 6 NONAME ; void GlxStateManager::enterMarkingMode(void) - ??1GlxStateManager@@UAE@XZ @ 7 NONAME ; GlxStateManager::~GlxStateManager(void) - ?getStaticMetaObject@GlxStateManager@@SAABUQMetaObject@@XZ @ 8 NONAME ; struct QMetaObject const & GlxStateManager::getStaticMetaObject(void) - ?trUtf8@GlxStateManager@@SA?AVQString@@PBD0H@Z @ 9 NONAME ; class QString GlxStateManager::trUtf8(char const *, char const *, int) - ?eventHandler@GlxStateManager@@AAEXAAH@Z @ 10 NONAME ; void GlxStateManager::eventHandler(int &) - ?executeCommand@GlxStateManager@@QAE_NH@Z @ 11 NONAME ; bool GlxStateManager::executeCommand(int) - ?setupItems@GlxStateManager@@QAEXXZ @ 12 NONAME ; void GlxStateManager::setupItems(void) - ?previousState@GlxStateManager@@QAEXXZ @ 13 NONAME ; void GlxStateManager::previousState(void) - ?createState@GlxStateManager@@AAEPAVGlxState@@H@Z @ 14 NONAME ; class GlxState * GlxStateManager::createState(int) - ?exitApplication@GlxStateManager@@AAEXXZ @ 15 NONAME ; void GlxStateManager::exitApplication(void) - ?changeState@GlxStateManager@@QAEXHH@Z @ 16 NONAME ; void GlxStateManager::changeState(int, int) - ?qt_metacall@GlxStateManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 17 NONAME ; int GlxStateManager::qt_metacall(enum QMetaObject::Call, int, void * *) - ??0GlxStateManager@@QAE@XZ @ 18 NONAME ; GlxStateManager::GlxStateManager(void) - ?cleanupExternal@GlxStateManager@@QAEXXZ @ 19 NONAME ; void GlxStateManager::cleanupExternal(void) - ?trUtf8@GlxStateManager@@SA?AVQString@@PBD0@Z @ 20 NONAME ; class QString GlxStateManager::trUtf8(char const *, char const *) - ?qt_metacast@GlxStateManager@@UAEPAXPBD@Z @ 21 NONAME ; void * GlxStateManager::qt_metacast(char const *) - ?staticMetaObject@GlxStateManager@@2UQMetaObject@@B @ 22 NONAME ; struct QMetaObject const GlxStateManager::staticMetaObject - ?tr@GlxStateManager@@SA?AVQString@@PBD0H@Z @ 23 NONAME ; class QString GlxStateManager::tr(char const *, char const *, int) - ?tr@GlxStateManager@@SA?AVQString@@PBD0@Z @ 24 NONAME ; class QString GlxStateManager::tr(char const *, char const *) - ?nextState@GlxStateManager@@QAEXHH@Z @ 25 NONAME ; void GlxStateManager::nextState(int, int) - ?launchFromExternal@GlxStateManager@@QAEXXZ @ 26 NONAME ; void GlxStateManager::launchFromExternal(void) - ?externalCommand@GlxStateManager@@IAEXH@Z @ 27 NONAME ; void GlxStateManager::externalCommand(int) - ?createGridModel@GlxStateManager@@AAEXHW4NavigationDir@@@Z @ 28 NONAME ; void GlxStateManager::createGridModel(int, enum NavigationDir) - ?launchApplication@GlxStateManager@@QAEXXZ @ 29 NONAME ; void GlxStateManager::launchApplication(void) - ?exitMarkingMode@GlxStateManager@@QAEXXZ @ 30 NONAME ; void GlxStateManager::exitMarkingMode(void) - ?removeCurrentModel@GlxStateManager@@QAEXXZ @ 31 NONAME ; void GlxStateManager::removeCurrentModel(void) - ?createModel@GlxStateManager@@AAEXHW4NavigationDir@@@Z @ 32 NONAME ; void GlxStateManager::createModel(int, enum NavigationDir) - ?setFullScreenContext@GlxStateManager@@AAEXXZ @ 33 NONAME ; void GlxStateManager::setFullScreenContext(void) + ?updateTNProgress@GlxStateManager@@QAEXH@Z @ 5 NONAME ; void GlxStateManager::updateTNProgress(int) + ?goBack@GlxStateManager@@QAEXHH@Z @ 6 NONAME ; void GlxStateManager::goBack(int, int) + ?enterMarkingMode@GlxStateManager@@QAEXXZ @ 7 NONAME ; void GlxStateManager::enterMarkingMode(void) + ??1GlxStateManager@@UAE@XZ @ 8 NONAME ; GlxStateManager::~GlxStateManager(void) + ?getStaticMetaObject@GlxStateManager@@SAABUQMetaObject@@XZ @ 9 NONAME ; struct QMetaObject const & GlxStateManager::getStaticMetaObject(void) + ?trUtf8@GlxStateManager@@SA?AVQString@@PBD0H@Z @ 10 NONAME ; class QString GlxStateManager::trUtf8(char const *, char const *, int) + ?eventHandler@GlxStateManager@@AAEXAAH@Z @ 11 NONAME ; void GlxStateManager::eventHandler(int &) + ?executeCommand@GlxStateManager@@QAE_NH@Z @ 12 NONAME ; bool GlxStateManager::executeCommand(int) + ?setupItems@GlxStateManager@@QAEXXZ @ 13 NONAME ; void GlxStateManager::setupItems(void) + ?previousState@GlxStateManager@@QAEXXZ @ 14 NONAME ; void GlxStateManager::previousState(void) + ?createState@GlxStateManager@@AAEPAVGlxState@@H@Z @ 15 NONAME ; class GlxState * GlxStateManager::createState(int) + ?exitApplication@GlxStateManager@@AAEXXZ @ 16 NONAME ; void GlxStateManager::exitApplication(void) + ?changeState@GlxStateManager@@QAEXHH@Z @ 17 NONAME ; void GlxStateManager::changeState(int, int) + ?qt_metacall@GlxStateManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 18 NONAME ; int GlxStateManager::qt_metacall(enum QMetaObject::Call, int, void * *) + ??0GlxStateManager@@QAE@XZ @ 19 NONAME ; GlxStateManager::GlxStateManager(void) + ?cleanupExternal@GlxStateManager@@QAEXXZ @ 20 NONAME ; void GlxStateManager::cleanupExternal(void) + ?setFullScreenContext@GlxStateManager@@AAEXXZ @ 21 NONAME ; void GlxStateManager::setFullScreenContext(void) + ?cleanAllModel@GlxStateManager@@QAEXXZ @ 22 NONAME ; void GlxStateManager::cleanAllModel(void) + ?trUtf8@GlxStateManager@@SA?AVQString@@PBD0@Z @ 23 NONAME ; class QString GlxStateManager::trUtf8(char const *, char const *) + ?qt_metacast@GlxStateManager@@UAEPAXPBD@Z @ 24 NONAME ; void * GlxStateManager::qt_metacast(char const *) + ?staticMetaObject@GlxStateManager@@2UQMetaObject@@B @ 25 NONAME ; struct QMetaObject const GlxStateManager::staticMetaObject + ?tr@GlxStateManager@@SA?AVQString@@PBD0H@Z @ 26 NONAME ; class QString GlxStateManager::tr(char const *, char const *, int) + ?tr@GlxStateManager@@SA?AVQString@@PBD0@Z @ 27 NONAME ; class QString GlxStateManager::tr(char const *, char const *) + ?nextState@GlxStateManager@@QAEXHH@Z @ 28 NONAME ; void GlxStateManager::nextState(int, int) + ?launchFromExternal@GlxStateManager@@QAEXXZ @ 29 NONAME ; void GlxStateManager::launchFromExternal(void) + ?externalCommand@GlxStateManager@@IAEXH@Z @ 30 NONAME ; void GlxStateManager::externalCommand(int) + ?createGridModel@GlxStateManager@@AAEXHW4NavigationDir@@@Z @ 31 NONAME ; void GlxStateManager::createGridModel(int, enum NavigationDir) + ?launchApplication@GlxStateManager@@QAEXXZ @ 32 NONAME ; void GlxStateManager::launchApplication(void) + ?exitMarkingMode@GlxStateManager@@QAEXXZ @ 33 NONAME ; void GlxStateManager::exitMarkingMode(void) + ?removeCurrentModel@GlxStateManager@@QAEXXZ @ 34 NONAME ; void GlxStateManager::removeCurrentModel(void) + ?createModel@GlxStateManager@@AAEXHW4NavigationDir@@@Z @ 35 NONAME ; void GlxStateManager::createModel(int, enum NavigationDir) diff -r ae07d189b490 -r 5e1df1b52eb3 ui/viewmanagement/bwins/glxviewmanageru.def --- a/ui/viewmanagement/bwins/glxviewmanageru.def Mon May 03 16:56:16 2010 +0530 +++ b/ui/viewmanagement/bwins/glxviewmanageru.def Mon May 17 13:35:26 2010 +0530 @@ -1,47 +1,50 @@ EXPORTS - ?updateToolBarIcon@GlxViewManager@@QAEXH@Z @ 1 NONAME ; void GlxViewManager::updateToolBarIcon(int) - ?tr@GlxViewManager@@SA?AVQString@@PBD0@Z @ 2 NONAME ; class QString GlxViewManager::tr(char const *, char const *) - ?getStaticMetaObject@GlxViewManager@@SAABUQMetaObject@@XZ @ 3 NONAME ; struct QMetaObject const & GlxViewManager::getStaticMetaObject(void) - ?effectFinished@GlxViewManager@@QAEXXZ @ 4 NONAME ; void GlxViewManager::effectFinished(void) - ?qt_metacast@GlxViewManager@@UAEPAXPBD@Z @ 5 NONAME ; void * GlxViewManager::qt_metacast(char const *) - ??_EGlxViewManager@@UAE@I@Z @ 6 NONAME ; GlxViewManager::~GlxViewManager(unsigned int) - ?addBackSoftKeyAction@GlxViewManager@@QAEXXZ @ 7 NONAME ; void GlxViewManager::addBackSoftKeyAction(void) - ?findView@GlxViewManager@@AAEPAVGlxView@@H@Z @ 8 NONAME ; class GlxView * GlxViewManager::findView(int) - ?createActions@GlxViewManager@@AAEXXZ @ 9 NONAME ; void GlxViewManager::createActions(void) - ?staticMetaObject@GlxViewManager@@2UQMetaObject@@B @ 10 NONAME ; struct QMetaObject const GlxViewManager::staticMetaObject - ?handleAction@GlxViewManager@@QAEXXZ @ 11 NONAME ; void GlxViewManager::handleAction(void) - ?handleUserAction@GlxViewManager@@QAEXHH@Z @ 12 NONAME ; void GlxViewManager::handleUserAction(int, int) - ?metaObject@GlxViewManager@@UBEPBUQMetaObject@@XZ @ 13 NONAME ; struct QMetaObject const * GlxViewManager::metaObject(void) const - ?actionTriggered@GlxViewManager@@IAEXH@Z @ 14 NONAME ; void GlxViewManager::actionTriggered(int) - ?launchView@GlxViewManager@@QAEXHPAVQAbstractItemModel@@W4GlxEffect@@W4GlxViewEffect@@@Z @ 15 NONAME ; void GlxViewManager::launchView(int, class QAbstractItemModel *, enum GlxEffect, enum GlxViewEffect) - ?handleMenuAction@GlxViewManager@@QAEXH@Z @ 16 NONAME ; void GlxViewManager::handleMenuAction(int) - ?externalCommand@GlxViewManager@@IAEXH@Z @ 17 NONAME ; void GlxViewManager::externalCommand(int) - ??0GlxViewManager@@QAE@XZ @ 18 NONAME ; GlxViewManager::GlxViewManager(void) - ?exitMarkingMode@GlxViewManager@@QAEXH@Z @ 19 NONAME ; void GlxViewManager::exitMarkingMode(int) - ?cancelTimer@GlxViewManager@@QAEXXZ @ 20 NONAME ; void GlxViewManager::cancelTimer(void) - ?createToolBar@GlxViewManager@@AAEXXZ @ 21 NONAME ; void GlxViewManager::createToolBar(void) - ?removeConnection@GlxViewManager@@AAEXXZ @ 22 NONAME ; void GlxViewManager::removeConnection(void) - ?launchView@GlxViewManager@@QAEXHPAVQAbstractItemModel@@@Z @ 23 NONAME ; void GlxViewManager::launchView(int, class QAbstractItemModel *) - ?createMarkingModeActions@GlxViewManager@@AAEXXZ @ 24 NONAME ; void GlxViewManager::createMarkingModeActions(void) - ?qt_metacall@GlxViewManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 25 NONAME ; int GlxViewManager::qt_metacall(enum QMetaObject::Call, int, void * *) - ?deActivateView@GlxViewManager@@AAEXXZ @ 26 NONAME ; void GlxViewManager::deActivateView(void) - ?destroyView@GlxViewManager@@QAEXH@Z @ 27 NONAME ; void GlxViewManager::destroyView(int) - ?resolveView@GlxViewManager@@AAEPAVGlxView@@H@Z @ 28 NONAME ; class GlxView * GlxViewManager::resolveView(int) - ??1GlxViewManager@@UAE@XZ @ 29 NONAME ; GlxViewManager::~GlxViewManager(void) - ?getSelectionModel@GlxViewManager@@QAEPAVQItemSelectionModel@@H@Z @ 30 NONAME ; class QItemSelectionModel * GlxViewManager::getSelectionModel(int) - ?addConnection@GlxViewManager@@AAEXXZ @ 31 NONAME ; void GlxViewManager::addConnection(void) - ?createMarkingModeToolBar@GlxViewManager@@AAEXXZ @ 32 NONAME ; void GlxViewManager::createMarkingModeToolBar(void) - ?itemSpecificMenuTriggered@GlxViewManager@@QAEXHVQPointF@@@Z @ 33 NONAME ; void GlxViewManager::itemSpecificMenuTriggered(int, class QPointF) - ?orientation@GlxViewManager@@QBE?AW4Orientation@Qt@@XZ @ 34 NONAME ; enum Qt::Orientation GlxViewManager::orientation(void) const - ?enterMarkingMode@GlxViewManager@@QAEXH@Z @ 35 NONAME ; void GlxViewManager::enterMarkingMode(int) - ?actionProcess@GlxViewManager@@QAEXH@Z @ 36 NONAME ; void GlxViewManager::actionProcess(int) - ?deactivateCurrentView@GlxViewManager@@QAEXXZ @ 37 NONAME ; void GlxViewManager::deactivateCurrentView(void) - ?trUtf8@GlxViewManager@@SA?AVQString@@PBD0H@Z @ 38 NONAME ; class QString GlxViewManager::trUtf8(char const *, char const *, int) - ?trUtf8@GlxViewManager@@SA?AVQString@@PBD0@Z @ 39 NONAME ; class QString GlxViewManager::trUtf8(char const *, char const *) - ?tr@GlxViewManager@@SA?AVQString@@PBD0H@Z @ 40 NONAME ; class QString GlxViewManager::tr(char const *, char const *, int) - ?activateView@GlxViewManager@@AAEXXZ @ 41 NONAME ; void GlxViewManager::activateView(void) - ?setupItems@GlxViewManager@@QAEXXZ @ 42 NONAME ABSENT ; void GlxViewManager::setupItems(void) - ?launchApplication@GlxViewManager@@QAEXHPAVQAbstractItemModel@@@Z @ 43 NONAME ; void GlxViewManager::launchApplication(int, class QAbstractItemModel *) - ?setupItems@GlxViewManager@@QAEXH@Z @ 44 NONAME ; void GlxViewManager::setupItems(int) - ?checkMarked@GlxViewManager@@AAEXXZ @ 45 NONAME ; void GlxViewManager::checkMarked(void) + ?launchProgressDialog@GlxViewManager@@QAEXH@Z @ 1 NONAME ; void GlxViewManager::launchProgressDialog(int) + ?updateToolBarIcon@GlxViewManager@@QAEXH@Z @ 2 NONAME ; void GlxViewManager::updateToolBarIcon(int) + ?tr@GlxViewManager@@SA?AVQString@@PBD0@Z @ 3 NONAME ; class QString GlxViewManager::tr(char const *, char const *) + ?getStaticMetaObject@GlxViewManager@@SAABUQMetaObject@@XZ @ 4 NONAME ; struct QMetaObject const & GlxViewManager::getStaticMetaObject(void) + ?effectFinished@GlxViewManager@@QAEXXZ @ 5 NONAME ; void GlxViewManager::effectFinished(void) + ?updateProgressDialog@GlxViewManager@@QAEXH@Z @ 6 NONAME ; void GlxViewManager::updateProgressDialog(int) + ?qt_metacast@GlxViewManager@@UAEPAXPBD@Z @ 7 NONAME ; void * GlxViewManager::qt_metacast(char const *) + ??_EGlxViewManager@@UAE@I@Z @ 8 NONAME ; GlxViewManager::~GlxViewManager(unsigned int) + ?addBackSoftKeyAction@GlxViewManager@@QAEXXZ @ 9 NONAME ; void GlxViewManager::addBackSoftKeyAction(void) + ?findView@GlxViewManager@@AAEPAVGlxView@@H@Z @ 10 NONAME ; class GlxView * GlxViewManager::findView(int) + ?createActions@GlxViewManager@@AAEXXZ @ 11 NONAME ; void GlxViewManager::createActions(void) + ?staticMetaObject@GlxViewManager@@2UQMetaObject@@B @ 12 NONAME ; struct QMetaObject const GlxViewManager::staticMetaObject + ?handleAction@GlxViewManager@@QAEXXZ @ 13 NONAME ; void GlxViewManager::handleAction(void) + ?handleUserAction@GlxViewManager@@QAEXHH@Z @ 14 NONAME ; void GlxViewManager::handleUserAction(int, int) + ?metaObject@GlxViewManager@@UBEPBUQMetaObject@@XZ @ 15 NONAME ; struct QMetaObject const * GlxViewManager::metaObject(void) const + ?actionTriggered@GlxViewManager@@IAEXH@Z @ 16 NONAME ; void GlxViewManager::actionTriggered(int) + ?launchView@GlxViewManager@@QAEXHPAVQAbstractItemModel@@W4GlxEffect@@W4GlxViewEffect@@@Z @ 17 NONAME ; void GlxViewManager::launchView(int, class QAbstractItemModel *, enum GlxEffect, enum GlxViewEffect) + ?handleMenuAction@GlxViewManager@@QAEXH@Z @ 18 NONAME ; void GlxViewManager::handleMenuAction(int) + ?externalCommand@GlxViewManager@@IAEXH@Z @ 19 NONAME ; void GlxViewManager::externalCommand(int) + ??0GlxViewManager@@QAE@XZ @ 20 NONAME ; GlxViewManager::GlxViewManager(void) + ?exitMarkingMode@GlxViewManager@@QAEXH@Z @ 21 NONAME ; void GlxViewManager::exitMarkingMode(int) + ?cancelTimer@GlxViewManager@@QAEXXZ @ 22 NONAME ; void GlxViewManager::cancelTimer(void) + ?setModel@GlxViewManager@@QAEXPAVQAbstractItemModel@@@Z @ 23 NONAME ; void GlxViewManager::setModel(class QAbstractItemModel *) + ?createToolBar@GlxViewManager@@AAEXXZ @ 24 NONAME ; void GlxViewManager::createToolBar(void) + ?removeConnection@GlxViewManager@@AAEXXZ @ 25 NONAME ; void GlxViewManager::removeConnection(void) + ?launchView@GlxViewManager@@QAEXHPAVQAbstractItemModel@@@Z @ 26 NONAME ; void GlxViewManager::launchView(int, class QAbstractItemModel *) + ?createMarkingModeActions@GlxViewManager@@AAEXXZ @ 27 NONAME ; void GlxViewManager::createMarkingModeActions(void) + ?qt_metacall@GlxViewManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 28 NONAME ; int GlxViewManager::qt_metacall(enum QMetaObject::Call, int, void * *) + ?deActivateView@GlxViewManager@@AAEXXZ @ 29 NONAME ; void GlxViewManager::deActivateView(void) + ?destroyView@GlxViewManager@@QAEXH@Z @ 30 NONAME ; void GlxViewManager::destroyView(int) + ?resolveView@GlxViewManager@@AAEPAVGlxView@@H@Z @ 31 NONAME ; class GlxView * GlxViewManager::resolveView(int) + ??1GlxViewManager@@UAE@XZ @ 32 NONAME ; GlxViewManager::~GlxViewManager(void) + ?getSelectionModel@GlxViewManager@@QAEPAVQItemSelectionModel@@H@Z @ 33 NONAME ; class QItemSelectionModel * GlxViewManager::getSelectionModel(int) + ?addConnection@GlxViewManager@@AAEXXZ @ 34 NONAME ; void GlxViewManager::addConnection(void) + ?orientation@GlxViewManager@@QBE?AW4Orientation@Qt@@XZ @ 35 NONAME ; enum Qt::Orientation GlxViewManager::orientation(void) const + ?createMarkingModeToolBar@GlxViewManager@@AAEXXZ @ 36 NONAME ; void GlxViewManager::createMarkingModeToolBar(void) + ?checkMarked@GlxViewManager@@AAEXXZ @ 37 NONAME ; void GlxViewManager::checkMarked(void) + ?itemSpecificMenuTriggered@GlxViewManager@@QAEXHVQPointF@@@Z @ 38 NONAME ; void GlxViewManager::itemSpecificMenuTriggered(int, class QPointF) + ?setupItems@GlxViewManager@@QAEXXZ @ 39 NONAME ; void GlxViewManager::setupItems(void) + ?enterMarkingMode@GlxViewManager@@QAEXH@Z @ 40 NONAME ; void GlxViewManager::enterMarkingMode(int) + ?actionProcess@GlxViewManager@@QAEXH@Z @ 41 NONAME ; void GlxViewManager::actionProcess(int) + ?deactivateCurrentView@GlxViewManager@@QAEXXZ @ 42 NONAME ; void GlxViewManager::deactivateCurrentView(void) + ?trUtf8@GlxViewManager@@SA?AVQString@@PBD0H@Z @ 43 NONAME ; class QString GlxViewManager::trUtf8(char const *, char const *, int) + ?trUtf8@GlxViewManager@@SA?AVQString@@PBD0@Z @ 44 NONAME ; class QString GlxViewManager::trUtf8(char const *, char const *) + ?launchApplication@GlxViewManager@@QAEXHPAVQAbstractItemModel@@@Z @ 45 NONAME ; void GlxViewManager::launchApplication(int, class QAbstractItemModel *) + ?tr@GlxViewManager@@SA?AVQString@@PBD0H@Z @ 46 NONAME ; class QString GlxViewManager::tr(char const *, char const *, int) + ?activateView@GlxViewManager@@AAEXXZ @ 47 NONAME ; void GlxViewManager::activateView(void) + ?hideProgressDialog@GlxViewManager@@AAEXXZ @ 48 NONAME ; void GlxViewManager::hideProgressDialog(void) diff -r ae07d189b490 -r 5e1df1b52eb3 ui/viewmanagement/eabi/glxstatehandleru.def --- a/ui/viewmanagement/eabi/glxstatehandleru.def Mon May 03 16:56:16 2010 +0530 +++ b/ui/viewmanagement/eabi/glxstatehandleru.def Mon May 17 13:35:26 2010 +0530 @@ -6,30 +6,32 @@ _ZN15GlxStateManager11qt_metacallEN11QMetaObject4CallEiPPv @ 5 NONAME _ZN15GlxStateManager11qt_metacastEPKc @ 6 NONAME _ZN15GlxStateManager12eventHandlerERi @ 7 NONAME - _ZN15GlxStateManager13previousStateEv @ 8 NONAME - _ZN15GlxStateManager14executeCommandEi @ 9 NONAME - _ZN15GlxStateManager15actionTriggeredEi @ 10 NONAME - _ZN15GlxStateManager15cleanupExternalEv @ 11 NONAME - _ZN15GlxStateManager15createGridModelEi13NavigationDir @ 12 NONAME - _ZN15GlxStateManager15exitApplicationEv @ 13 NONAME - _ZN15GlxStateManager15exitMarkingModeEv @ 14 NONAME - _ZN15GlxStateManager15externalCommandEi @ 15 NONAME - _ZN15GlxStateManager16enterMarkingModeEv @ 16 NONAME - _ZN15GlxStateManager16setupItemsSignalEv @ 17 NONAME - _ZN15GlxStateManager16staticMetaObjectE @ 18 NONAME DATA 16 - _ZN15GlxStateManager17launchApplicationEv @ 19 NONAME - _ZN15GlxStateManager18launchFromExternalEv @ 20 NONAME - _ZN15GlxStateManager18removeCurrentModelEv @ 21 NONAME - _ZN15GlxStateManager19getStaticMetaObjectEv @ 22 NONAME - _ZN15GlxStateManager6goBackEii @ 23 NONAME - _ZN15GlxStateManager9nextStateEii @ 24 NONAME - _ZN15GlxStateManagerC1Ev @ 25 NONAME - _ZN15GlxStateManagerC2Ev @ 26 NONAME - _ZN15GlxStateManagerD0Ev @ 27 NONAME - _ZN15GlxStateManagerD1Ev @ 28 NONAME - _ZN15GlxStateManagerD2Ev @ 29 NONAME - _ZNK15GlxStateManager10metaObjectEv @ 30 NONAME - _ZTI15GlxStateManager @ 31 NONAME - _ZTV15GlxStateManager @ 32 NONAME - _ZN15GlxStateManager20setFullScreenContextEv @ 33 NONAME + _ZN15GlxStateManager13cleanAllModelEv @ 8 NONAME + _ZN15GlxStateManager13previousStateEv @ 9 NONAME + _ZN15GlxStateManager14executeCommandEi @ 10 NONAME + _ZN15GlxStateManager15actionTriggeredEi @ 11 NONAME + _ZN15GlxStateManager15cleanupExternalEv @ 12 NONAME + _ZN15GlxStateManager15createGridModelEi13NavigationDir @ 13 NONAME + _ZN15GlxStateManager15exitApplicationEv @ 14 NONAME + _ZN15GlxStateManager15exitMarkingModeEv @ 15 NONAME + _ZN15GlxStateManager15externalCommandEi @ 16 NONAME + _ZN15GlxStateManager16enterMarkingModeEv @ 17 NONAME + _ZN15GlxStateManager16setupItemsSignalEv @ 18 NONAME + _ZN15GlxStateManager16staticMetaObjectE @ 19 NONAME DATA 16 + _ZN15GlxStateManager16updateTNProgressEi @ 20 NONAME + _ZN15GlxStateManager17launchApplicationEv @ 21 NONAME + _ZN15GlxStateManager18launchFromExternalEv @ 22 NONAME + _ZN15GlxStateManager18removeCurrentModelEv @ 23 NONAME + _ZN15GlxStateManager19getStaticMetaObjectEv @ 24 NONAME + _ZN15GlxStateManager20setFullScreenContextEv @ 25 NONAME + _ZN15GlxStateManager6goBackEii @ 26 NONAME + _ZN15GlxStateManager9nextStateEii @ 27 NONAME + _ZN15GlxStateManagerC1Ev @ 28 NONAME + _ZN15GlxStateManagerC2Ev @ 29 NONAME + _ZN15GlxStateManagerD0Ev @ 30 NONAME + _ZN15GlxStateManagerD1Ev @ 31 NONAME + _ZN15GlxStateManagerD2Ev @ 32 NONAME + _ZNK15GlxStateManager10metaObjectEv @ 33 NONAME + _ZTI15GlxStateManager @ 34 NONAME + _ZTV15GlxStateManager @ 35 NONAME diff -r ae07d189b490 -r 5e1df1b52eb3 ui/viewmanagement/eabi/glxviewmanageru.def --- a/ui/viewmanagement/eabi/glxviewmanageru.def Mon May 03 16:56:16 2010 +0530 +++ b/ui/viewmanagement/eabi/glxviewmanageru.def Mon May 17 13:35:26 2010 +0530 @@ -1,46 +1,50 @@ EXPORTS _ZN14GlxViewManager10launchViewEiP18QAbstractItemModel @ 1 NONAME _ZN14GlxViewManager10launchViewEiP18QAbstractItemModel9GlxEffect13GlxViewEffect @ 2 NONAME - _ZN14GlxViewManager10setupItemsEi @ 3 NONAME + _ZN14GlxViewManager10setupItemsEv @ 3 NONAME _ZN14GlxViewManager11cancelTimerEv @ 4 NONAME - _ZN14GlxViewManager11destroyViewEi @ 5 NONAME - _ZN14GlxViewManager11qt_metacallEN11QMetaObject4CallEiPPv @ 6 NONAME - _ZN14GlxViewManager11qt_metacastEPKc @ 7 NONAME - _ZN14GlxViewManager11resolveViewEi @ 8 NONAME - _ZN14GlxViewManager12activateViewEv @ 9 NONAME - _ZN14GlxViewManager12handleActionEv @ 10 NONAME - _ZN14GlxViewManager13actionProcessEi @ 11 NONAME - _ZN14GlxViewManager13addConnectionEv @ 12 NONAME - _ZN14GlxViewManager13createActionsEv @ 13 NONAME - _ZN14GlxViewManager13createToolBarEv @ 14 NONAME - _ZN14GlxViewManager14deActivateViewEv @ 15 NONAME - _ZN14GlxViewManager14effectFinishedEv @ 16 NONAME - _ZN14GlxViewManager15actionTriggeredEi @ 17 NONAME - _ZN14GlxViewManager15exitMarkingModeEi @ 18 NONAME - _ZN14GlxViewManager15externalCommandEi @ 19 NONAME - _ZN14GlxViewManager16enterMarkingModeEi @ 20 NONAME - _ZN14GlxViewManager16handleMenuActionEi @ 21 NONAME - _ZN14GlxViewManager16handleUserActionEii @ 22 NONAME - _ZN14GlxViewManager16removeConnectionEv @ 23 NONAME - _ZN14GlxViewManager16staticMetaObjectE @ 24 NONAME DATA 16 - _ZN14GlxViewManager17getSelectionModelEi @ 25 NONAME - _ZN14GlxViewManager17launchApplicationEiP18QAbstractItemModel @ 26 NONAME - _ZN14GlxViewManager17updateToolBarIconEi @ 27 NONAME - _ZN14GlxViewManager19getStaticMetaObjectEv @ 28 NONAME - _ZN14GlxViewManager20addBackSoftKeyActionEv @ 29 NONAME - _ZN14GlxViewManager21deactivateCurrentViewEv @ 30 NONAME - _ZN14GlxViewManager24createMarkingModeActionsEv @ 31 NONAME - _ZN14GlxViewManager24createMarkingModeToolBarEv @ 32 NONAME - _ZN14GlxViewManager25itemSpecificMenuTriggeredEi7QPointF @ 33 NONAME - _ZN14GlxViewManager8findViewEi @ 34 NONAME - _ZN14GlxViewManagerC1Ev @ 35 NONAME - _ZN14GlxViewManagerC2Ev @ 36 NONAME - _ZN14GlxViewManagerD0Ev @ 37 NONAME - _ZN14GlxViewManagerD1Ev @ 38 NONAME - _ZN14GlxViewManagerD2Ev @ 39 NONAME - _ZNK14GlxViewManager10metaObjectEv @ 40 NONAME - _ZNK14GlxViewManager11orientationEv @ 41 NONAME - _ZTI14GlxViewManager @ 42 NONAME - _ZTV14GlxViewManager @ 43 NONAME - _ZN14GlxViewManager11checkMarkedEv @ 44 NONAME + _ZN14GlxViewManager11checkMarkedEv @ 5 NONAME + _ZN14GlxViewManager11destroyViewEi @ 6 NONAME + _ZN14GlxViewManager11qt_metacallEN11QMetaObject4CallEiPPv @ 7 NONAME + _ZN14GlxViewManager11qt_metacastEPKc @ 8 NONAME + _ZN14GlxViewManager11resolveViewEi @ 9 NONAME + _ZN14GlxViewManager12activateViewEv @ 10 NONAME + _ZN14GlxViewManager12handleActionEv @ 11 NONAME + _ZN14GlxViewManager13actionProcessEi @ 12 NONAME + _ZN14GlxViewManager13addConnectionEv @ 13 NONAME + _ZN14GlxViewManager13createActionsEv @ 14 NONAME + _ZN14GlxViewManager13createToolBarEv @ 15 NONAME + _ZN14GlxViewManager14deActivateViewEv @ 16 NONAME + _ZN14GlxViewManager14effectFinishedEv @ 17 NONAME + _ZN14GlxViewManager15actionTriggeredEi @ 18 NONAME + _ZN14GlxViewManager15exitMarkingModeEi @ 19 NONAME + _ZN14GlxViewManager15externalCommandEi @ 20 NONAME + _ZN14GlxViewManager16enterMarkingModeEi @ 21 NONAME + _ZN14GlxViewManager16handleMenuActionEi @ 22 NONAME + _ZN14GlxViewManager16handleUserActionEii @ 23 NONAME + _ZN14GlxViewManager16removeConnectionEv @ 24 NONAME + _ZN14GlxViewManager16staticMetaObjectE @ 25 NONAME DATA 16 + _ZN14GlxViewManager17getSelectionModelEi @ 26 NONAME + _ZN14GlxViewManager17launchApplicationEiP18QAbstractItemModel @ 27 NONAME + _ZN14GlxViewManager17updateToolBarIconEi @ 28 NONAME + _ZN14GlxViewManager19getStaticMetaObjectEv @ 29 NONAME + _ZN14GlxViewManager20addBackSoftKeyActionEv @ 30 NONAME + _ZN14GlxViewManager20launchProgressDialogEi @ 31 NONAME + _ZN14GlxViewManager20updateProgressDialogEi @ 32 NONAME + _ZN14GlxViewManager21deactivateCurrentViewEv @ 33 NONAME + _ZN14GlxViewManager24createMarkingModeActionsEv @ 34 NONAME + _ZN14GlxViewManager24createMarkingModeToolBarEv @ 35 NONAME + _ZN14GlxViewManager25itemSpecificMenuTriggeredEi7QPointF @ 36 NONAME + _ZN14GlxViewManager8findViewEi @ 37 NONAME + _ZN14GlxViewManager8setModelEP18QAbstractItemModel @ 38 NONAME + _ZN14GlxViewManagerC1Ev @ 39 NONAME + _ZN14GlxViewManagerC2Ev @ 40 NONAME + _ZN14GlxViewManagerD0Ev @ 41 NONAME + _ZN14GlxViewManagerD1Ev @ 42 NONAME + _ZN14GlxViewManagerD2Ev @ 43 NONAME + _ZNK14GlxViewManager10metaObjectEv @ 44 NONAME + _ZNK14GlxViewManager11orientationEv @ 45 NONAME + _ZTI14GlxViewManager @ 46 NONAME + _ZTV14GlxViewManager @ 47 NONAME + _ZN14GlxViewManager18hideProgressDialogEv @ 48 NONAME diff -r ae07d189b490 -r 5e1df1b52eb3 ui/viewmanagement/statehandler/inc/glxstatemanager.h --- a/ui/viewmanagement/statehandler/inc/glxstatemanager.h Mon May 03 16:56:16 2010 +0530 +++ b/ui/viewmanagement/statehandler/inc/glxstatemanager.h Mon May 17 13:35:26 2010 +0530 @@ -31,6 +31,7 @@ class GlxAlbumModel; class QAbstractItemModel; class GlxActionHandler; +class GlxTNObserver; #ifdef BUILD_STATEMANAGER #define GLX_STATEMANAGER_EXPORT Q_DECL_EXPORT @@ -62,6 +63,7 @@ void launchApplication(); void actionTriggered(qint32 id); void setupItems(); + void updateTNProgress( int count); public : /* @@ -93,6 +95,11 @@ */ void removeCurrentModel(); +/* + * It will delete the all model used by state manager + */ + void cleanAllModel(); + private: /* @@ -126,6 +133,7 @@ QAbstractItemModel *mCurrentModel; // no owner ship GlxState *mCurrentState; GlxActionHandler *mActionHandler; + GlxTNObserver *mTNObserver; int mCollectionId; }; diff -r ae07d189b490 -r 5e1df1b52eb3 ui/viewmanagement/statehandler/inc/glxtnobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/viewmanagement/statehandler/inc/glxtnobserver.h Mon May 17 13:35:26 2010 +0530 @@ -0,0 +1,67 @@ +/* +* 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 GLXTNOBSERVER_H +#define GLXTNOBSERVER_H + +#include +#include + +class CGlxTNMonitor; + +class GlxTNObserver : public QObject, public MGlxTNObserver +{ + Q_OBJECT + +public: + /* + * constructor + */ + GlxTNObserver(); + /* + * Call back to get the number of TN is left to create. + */ + void updateTNCount(int &count); + /* + * It will return the number of TN is left to create. + */ + int getTNLeftCount() ; + + /* + * It will start the tumbnail generation montior process. + */ + void startTNObserving(); + + /* + * Destructor + */ + ~GlxTNObserver(); + +signals : + /* + * broad cast the number of thumbnail left to generate + */ + void leftTNCount( int count); + +private : + CGlxTNMonitor* mTNMonitor; +}; + +#endif /* GLXTNOBSERVER_H */ diff -r ae07d189b490 -r 5e1df1b52eb3 ui/viewmanagement/statehandler/src/glxstatemanager.cpp --- a/ui/viewmanagement/statehandler/src/glxstatemanager.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/viewmanagement/statehandler/src/glxstatemanager.cpp Mon May 17 13:35:26 2010 +0530 @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -43,15 +44,26 @@ #include #include -GlxStateManager::GlxStateManager() : mAllMediaModel(NULL), mAlbumGridMediaModel(NULL), - mAlbumMediaModel(NULL),mImageviewerMediaModel(NULL), mCurrentModel (NULL), mCurrentState (NULL), mActionHandler (NULL) + +GlxStateManager::GlxStateManager() + : mAllMediaModel( NULL ), + mAlbumGridMediaModel( NULL ), + mAlbumMediaModel( NULL ), + mImageviewerMediaModel( NULL ), + mCurrentModel( NULL ), + mCurrentState( NULL ), + mActionHandler( NULL ), + mTNObserver ( NULL ) { qDebug("GlxStateManager::GlxStateManager"); PERFORMANCE_ADV ( d1, "view manager creation time") { mViewManager = new GlxViewManager(); } + mTNObserver = new GlxTNObserver(); + connect ( this, SIGNAL( setupItemsSignal() ), this, SLOT( setupItems() ), Qt::QueuedConnection ); - connect ( mViewManager, SIGNAL(actionTriggered(qint32 )), this, SLOT(actionTriggered(qint32 )), Qt::QueuedConnection ); + connect ( mViewManager, SIGNAL(actionTriggered( qint32 )), this, SLOT(actionTriggered( qint32 )), Qt::QueuedConnection ); + connect ( mTNObserver, SIGNAL( leftTNCount( int ) ), this, SLOT( updateTNProgress( int ) ) ); //TO:DO TBD through exception when it is null } @@ -87,19 +99,22 @@ void GlxStateManager::launchApplication() { - qDebug("GlxStateManager::launchApplication"); - //To:Do use it in future once performance code is removed nextState(GLX_GRIDVIEW_ID, ALL_ITEM_S) - - mCurrentState = createState(GLX_GRIDVIEW_ID); - mCurrentState->setState(ALL_ITEM_S); - - PERFORMANCE_ADV ( d1, "Media model creation time" ) { - createModel(GLX_GRIDVIEW_ID); - } - - PERFORMANCE_ADV ( d2, "Grid View Launch time" ) { - mViewManager->launchApplication( GLX_GRIDVIEW_ID, mCurrentModel); - } + qDebug("GlxStateManager::launchApplication"); + + //To:Do use it in future once performance code is removed nextState(GLX_GRIDVIEW_ID, ALL_ITEM_S) + mCurrentState = createState( GLX_GRIDVIEW_ID ); + mCurrentState->setState( ALL_ITEM_S ); + + if ( mTNObserver->getTNLeftCount() > 0 ) { + mViewManager->launchApplication( GLX_GRIDVIEW_ID, mCurrentModel); + mViewManager->launchProgressDialog( mTNObserver->getTNLeftCount() ); + } + else { + createModel( GLX_GRIDVIEW_ID ); + mViewManager->launchApplication( GLX_GRIDVIEW_ID, mCurrentModel); + } + + mTNObserver->startTNObserving() ; } void GlxStateManager::launchFromExternal() @@ -132,6 +147,22 @@ mViewManager->updateToolBarIcon(GLX_ALL_ACTION_ID); } +void GlxStateManager::updateTNProgress( int count) +{ + if ( mCurrentState->id() != GLX_GRIDVIEW_ID && count > 0) { + goBack( GLX_GRIDVIEW_ID, ALL_ITEM_S ) ; + } + if ( mCurrentModel && count > 0) { + cleanAllModel(); + mViewManager->launchProgressDialog ( count ) ; + } + if ( count == 0 ) { + createModel( mCurrentState->id() ); + mViewManager->setModel( mCurrentModel ); + } + mViewManager->updateProgressDialog( count ); +} + void GlxStateManager::nextState(qint32 state, int internalState) { qDebug("GlxStateManager::nextState next state = %u", state); @@ -189,12 +220,15 @@ qDebug("GlxStateManager::goBack()"); GlxState *state = mCurrentState; - do { + while ( mCurrentState ) { + if ( mCurrentState->id() == stateId && mCurrentState->state() == internalState ) { + break ; + } + mCurrentState = mCurrentState->previousState(); // set pervious state to the current state delete state; //delete the current state - state = mCurrentState; + state = mCurrentState; } - while ( mCurrentState && mCurrentState->id() != stateId ); //check, cuurent state is a new state //case when new state is not hierarchy then create a new state if ( mCurrentState == NULL ) { @@ -257,6 +291,19 @@ } } +void GlxStateManager::cleanAllModel() +{ + delete mAllMediaModel ; + mAllMediaModel = NULL ; + delete mAlbumMediaModel ; + mAlbumMediaModel = NULL ; + delete mAlbumGridMediaModel ; + mAlbumGridMediaModel = NULL ; + delete mImageviewerMediaModel ; + mImageviewerMediaModel = NULL ; + mCurrentModel = NULL ; +} + GlxState * GlxStateManager::createState(qint32 stateId) { qDebug("GlxStateManager::createState state id = %d", stateId); @@ -436,16 +483,23 @@ nextState(GLX_SLIDESHOWSETTINGSVIEW_ID,-1 ); id = EGlxCmdHandled; break; + case EGlxCmdDetailsOpen: qDebug("GlxStateManager::eventHandler EGlxCmdDetailsOpen"); nextState( GLX_DETAILSVIEW_ID, -1 ); id = EGlxCmdHandled; break; - case EGlxCmdEmptyData : - goBack(GLX_GRIDVIEW_ID, NO_GRID_S); + case EGlxCmdEmptyData : { + GlxState *tmpState = mCurrentState ; + while ( tmpState->id() != GLX_GRIDVIEW_ID ) { + tmpState = tmpState->previousState() ; + } + + goBack( GLX_GRIDVIEW_ID, tmpState->state() ); id = EGlxCmdHandled; break; + } case EGlxCmdBack : previousState(); @@ -517,25 +571,26 @@ GlxStateManager::~GlxStateManager() { qDebug("GlxStateManager::~GlxStateManager"); - delete mAllMediaModel; - delete mAlbumMediaModel; - delete mAlbumGridMediaModel; - + cleanAllModel(); delete mActionHandler; qDebug("GlxStateManager::~GlxStateManager delete Model"); disconnect ( mViewManager, SIGNAL(actionTriggered(qint32 )), this, SLOT(actionTriggered(qint32 )) ); disconnect ( mViewManager, SIGNAL(externalCommand(int )), this, SIGNAL(externalCommand(int )) ); + disconnect ( mTNObserver, SIGNAL( leftTNCount( int ) ), this, SLOT( updateTNProgress( int ) ) ); + disconnect ( this, SIGNAL( setupItemsSignal() ), this, SLOT( setupItems() ) ); + + delete mTNObserver; delete mViewManager; qDebug("GlxStateManager::~GlxStateManager delete view manager"); - delete mImageviewerMediaModel; + GlxState *tmp; while (mCurrentState) { tmp = mCurrentState; mCurrentState = mCurrentState->previousState(); delete tmp; } - disconnect ( this, SIGNAL( setupItemsSignal() ), this, SLOT( setupItems() ) ); + qDebug("GlxStateManager::~GlxStateManager Exit"); } diff -r ae07d189b490 -r 5e1df1b52eb3 ui/viewmanagement/statehandler/src/glxtnobserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/viewmanagement/statehandler/src/glxtnobserver.cpp Mon May 17 13:35:26 2010 +0530 @@ -0,0 +1,51 @@ +/* +* 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 + +const TUid KTAGDPSNotification = { 0x2001FD51 }; +const TInt KForceBackgroundGeneration = 0x00000010; +const TInt KItemsleft = 0x00000008; + +GlxTNObserver::GlxTNObserver() : mTNMonitor( NULL ) +{ + RProperty::Set( KTAGDPSNotification, KForceBackgroundGeneration, ETrue ); +} + +void GlxTNObserver::updateTNCount(int &count) +{ + emit leftTNCount( count ); +} + +int GlxTNObserver::getTNLeftCount() +{ + TInt leftVariable = 0; + RProperty::Get( KTAGDPSNotification, KItemsleft, leftVariable ); + //To:Do error handling + return leftVariable; +} + +void GlxTNObserver::startTNObserving() +{ + mTNMonitor = CGlxTNMonitor::NewL( this ); +} + +GlxTNObserver::~GlxTNObserver() +{ + delete mTNMonitor; +} diff -r ae07d189b490 -r 5e1df1b52eb3 ui/viewmanagement/statehandler/statehandler.pro --- a/ui/viewmanagement/statehandler/statehandler.pro Mon May 03 16:56:16 2010 +0530 +++ b/ui/viewmanagement/statehandler/statehandler.pro Mon May 17 13:35:26 2010 +0530 @@ -24,6 +24,7 @@ ../../inc \ ../../../inc \ ../../../loggers/loggerqt/inc \ + ../../../commonutilities/common/inc \ ../../uiengine/medialists/inc \ ../../uiengine/medialistwrapper/inc \ ../../uiengine/model/mediamodel/inc \ @@ -47,7 +48,8 @@ -lglxexternalutility.dll \ -lglxloggerqt.dll \ -lglxcommoncommandhandlers.dll \ - -lglxlogging.dll + -lglxlogging.dll \ + -lglxcommon.dll # Input HEADERS += inc/glxbasestate.h \ @@ -59,7 +61,8 @@ inc/glxstatemanager.h \ inc/glxslideshowstate.h \ inc/glxactionhandler.h \ - inc/glxcommandhandlerfactory.h + inc/glxcommandhandlerfactory.h \ + inc/glxtnobserver.h SOURCES += src/glxbasestate.cpp \ src/glxfullscreenstate.cpp \ @@ -70,6 +73,7 @@ src/glxstatemanager.cpp \ src/glxslideshowstate.cpp \ src/glxactionhandler.cpp \ - src/glxcommandhandlerfactory.cpp + src/glxcommandhandlerfactory.cpp \ + src/glxtnobserver.cpp DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT diff -r ae07d189b490 -r 5e1df1b52eb3 ui/viewmanagement/viewmanager/inc/glxmainwindoweventfilter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/viewmanagement/viewmanager/inc/glxmainwindoweventfilter.h Mon May 17 13:35:26 2010 +0530 @@ -0,0 +1,26 @@ +#ifndef GLXMAINWINDOWEVENTFILTER_H +#define GLXMAINWINDOWEVENTFILTER_H +#include +#include +class GlxMainWindowEventFilter : public QObject { + Q_OBJECT +public: + + GlxMainWindowEventFilter() {} + virtual bool eventFilter(QObject *o, QEvent *e) { + Q_UNUSED(o); + switch(e->type()) { + case QEvent::TouchBegin: + case QEvent::TouchUpdate: + case QEvent::TouchEnd: + e->accept(); + return true; + default: + break; + } + return false; + } + +}; + +#endif \ No newline at end of file diff -r ae07d189b490 -r 5e1df1b52eb3 ui/viewmanagement/viewmanager/inc/glxviewmanager.h --- a/ui/viewmanagement/viewmanager/inc/glxviewmanager.h Mon May 03 16:56:16 2010 +0530 +++ b/ui/viewmanagement/viewmanager/inc/glxviewmanager.h Mon May 17 13:35:26 2010 +0530 @@ -19,7 +19,7 @@ #ifndef GLXVIEWMANAGER_H #define GLXVIEWMANAGER_H - #include + #include #include #include @@ -35,6 +35,8 @@ class QItemSelectionModel; class HbMenu; class GlxSlideShowEffectEngine; +class HbProgressDialog; +class GlxMainWindowEventFilter; #ifdef BUILD_VIEWMANAGER #define GLX_VIEWMANAGER_EXPORT Q_DECL_EXPORT @@ -59,7 +61,7 @@ public : GlxViewManager(); ~GlxViewManager(); - void setupItems(int subState = -1); + void setupItems( ); void launchApplication(qint32 id, QAbstractItemModel *model); void addBackSoftKeyAction(); /* @@ -92,6 +94,10 @@ * Return the selection model to the user */ QItemSelectionModel * getSelectionModel(qint32 viewId); +/* + * To set the model of current view + */ + void setModel( QAbstractItemModel *model ); signals : /* @@ -109,6 +115,9 @@ * It is over load slot and used to run the animation for view transition and launch the view */ void launchView (qint32 id, QAbstractItemModel *model, GlxEffect effect, GlxViewEffect viewEffect); + + void launchProgressDialog( int maxValue ); + void updateProgressDialog( int currentValue); /* * It will removed and deleted the view. * Currently It is not used so may be in future, It will be removed. @@ -142,6 +151,8 @@ private slots: void checkMarked(); + void hideProgressDialog(); + private: /* * It will create and return the view @@ -197,7 +208,10 @@ HbMenu *mMenu; GlxView *mView; QAbstractItemModel *mModel; //no ownership - QItemSelectionModel * mSelectionModel; + QItemSelectionModel * mSelectionModel; + HbProgressDialog *mProgressDialog; + GlxMainWindowEventFilter* mWindowEventFilter; + }; diff -r ae07d189b490 -r 5e1df1b52eb3 ui/viewmanagement/viewmanager/src/glxviewmanager.cpp --- a/ui/viewmanagement/viewmanager/src/glxviewmanager.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/viewmanagement/viewmanager/src/glxviewmanager.cpp Mon May 17 13:35:26 2010 +0530 @@ -35,6 +35,9 @@ #include #include #include +#include +#include +#include GlxViewManager::GlxViewManager() @@ -42,9 +45,10 @@ mMenuManager( NULL ), mEffectEngine( NULL ), mViewToolBar( NULL ), - mMarkingToolBar( NULL ), + mMarkingToolBar( NULL ), mMenu( NULL ), - mSelectionModel ( NULL ) + mSelectionModel ( NULL ), + mProgressDialog( NULL ) { qDebug("GlxViewManager::GlxViewManager() "); PERFORMANCE_ADV ( viewMgrD1, "main window creation time" ) { @@ -54,12 +58,16 @@ mMainWindow = new HbMainWindow(); } //Without this Zoom Does not work + + mWindowEventFilter = new GlxMainWindowEventFilter; + mMainWindow->scene()->installEventFilter(mWindowEventFilter); + mMainWindow->viewport()->setAttribute(Qt::WA_AcceptTouchEvents); mMainWindow->viewport()->grabGesture(Qt::PinchGesture); } HbStyleLoader::registerFilePath(":/data/photos.css"); } -void GlxViewManager::setupItems(int subState) +void GlxViewManager::setupItems( ) { mMenuManager = new GlxMenuManager(mMainWindow); addBackSoftKeyAction(); @@ -185,6 +193,83 @@ } } +void GlxViewManager::launchProgressDialog( int maxValue ) +{ + if ( maxValue <= 0 ) { + return; + } + if ( mProgressDialog == NULL ) { + mProgressDialog = new HbProgressDialog( HbProgressDialog::ProgressDialog ); + mProgressDialog->actions().at(0)->disconnect( SIGNAL( triggered() ) ); + connect ( mProgressDialog->actions().at(0), SIGNAL( triggered() ), this, SLOT( hideProgressDialog() ) ); + mProgressDialog->setMinimum( 0 ); + } + mProgressDialog->setMaximum( maxValue ); + mProgressDialog->setProgressValue( 0 ); + mProgressDialog->setModal( true ); + mProgressDialog->actions().at(0)->setText( GLX_BUTTON_HIDE ); + mProgressDialog->open(); +} + +void GlxViewManager::hideProgressDialog( ) +{ + mMainWindow->lower(); +} + +void GlxViewManager::updateProgressDialog( int currentValue) +{ + static int i = 0; + HbIcon icon; + User::ResetInactivityTime(); + + //To:Do temp code remove later + if ( mProgressDialog ) { + i = ++i % 10; + switch ( i ) { + case 0 : + icon = HbIcon( QString(":/data/Image1.jpg") ); + break; + case 1 : + icon = HbIcon( QString(":/data/Image2.jpg") ); + break; + case 2 : + icon = HbIcon( QString(":/data/Image3.jpg") ); + break; + case 3 : + icon = HbIcon( QString(":/data/Image4.jpg") ); + break; + case 4 : + icon = HbIcon( QString(":/data/Image5.jpg") ); + break; + case 5 : + icon = HbIcon( QString(":/data/Image6.jpg") ); + break; + case 6 : + icon = HbIcon( QString(":/data/Image7.jpg") ); + break; + case 7 : + icon = HbIcon( QString(":/data/Image8.jpg") ); + break; + case 8 : + icon = HbIcon( QString(":/data/Image9.jpg") ); + break; + case 9 : + icon = HbIcon( QString(":/data/Image10.jpg") ); + break; + } + + int max = mProgressDialog->maximum() ; + if ( currentValue > max ) { + mProgressDialog->setMaximum( currentValue ); + max = currentValue ; + } + int value = max - currentValue; + mProgressDialog->setProgressValue( value ); + mProgressDialog->setIcon(icon); + mProgressDialog->setText( QString( " %1 / %2").arg( value ).arg( max ) ); + } +} + //to be called only when the photos plugin was activated by external means void GlxViewManager::deactivateCurrentView() { @@ -226,13 +311,14 @@ QModelIndexList selectedModelIndex = mSelectionModel->selectedIndexes(); for ( int i = 0 ; i < mMarkingActionList.count(); i++) { if( mMarkingActionList.at(i)->data()==EGlxCmdSelect) { - bool noSelection=selectedModelIndex.empty(); - mMarkingActionList.at(i)->setDisabled(noSelection); - mMenuManager->disableAction(mView->menu(),noSelection); - break; + bool noSelection=selectedModelIndex.empty(); + mMarkingActionList.at(i)->setDisabled(noSelection); + mMenuManager->disableAction(mView->menu(),noSelection); + break; } } } + void GlxViewManager::enterMarkingMode(qint32 viewId) { GlxView *view = findView ( viewId ); @@ -302,6 +388,17 @@ return NULL; } +void GlxViewManager::setModel( QAbstractItemModel *model ) +{ + if ( mView ) { + mView->setModel( model ) ; + } + + if ( mMenuManager ) { + mMenuManager->setModel( model ); + } +} + GlxView * GlxViewManager::resolveView(qint32 id) { qDebug("GlxViewManager::resolveView %d", id); @@ -545,7 +642,7 @@ delete mViewToolBar; delete mMarkingToolBar; delete mMenu; - + delete mProgressDialog; if ( mEffectEngine ) { mEffectEngine->deregistertransitionEffect(); delete mEffectEngine; @@ -555,6 +652,7 @@ qDebug("GlxViewManager::~GlxViewManager remove view"); delete mMainWindow; } + delete mWindowEventFilter; qDebug("GlxViewManager::~GlxViewManager Exit"); } diff -r ae07d189b490 -r 5e1df1b52eb3 ui/viewmanagement/viewmanager/viewmanager.pro --- a/ui/viewmanagement/viewmanager/viewmanager.pro Mon May 03 16:56:16 2010 +0530 +++ b/ui/viewmanagement/viewmanager/viewmanager.pro Mon May 17 13:35:26 2010 +0530 @@ -41,7 +41,8 @@ } # Input HEADERS += inc/glxviewmanager.h \ - inc/glxmenumanager.h + inc/glxmenumanager.h \ + inc/glxmainwindoweventfilter.h SOURCES += src/glxviewmanager.cpp\ src/glxmenumanager.cpp diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/docloaders/src/glxviewdocloader.cpp --- a/ui/views/docloaders/src/glxviewdocloader.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/views/docloaders/src/glxviewdocloader.cpp Mon May 17 13:35:26 2010 +0530 @@ -29,6 +29,7 @@ #include "glxcoverflow.h" #include "glxslideshowwidget.h" #include "glxslideshowview.h" +#include "glxzoomwidget.h" //---------------------------------------------------------------------------------------- // createObject:creates the custom widget and views of fullscreen view @@ -56,6 +57,14 @@ object->setObjectName(name); return object; } + + if (GLXFULLSCREENZOOMWIDGET == name) + { + qDebug() << "GlxFullscreenViewDocLoader::createObject:ZOOM -->"; + QObject *object = new GlxZoomWidget(); + object->setObjectName(name); + return object; + } return HbDocumentLoader::createObject(type, name); } diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/effectengine/effectplugin/inc/glxforwardtransitionplugin.h --- a/ui/views/effectengine/effectplugin/inc/glxforwardtransitionplugin.h Mon May 03 16:56:16 2010 +0530 +++ b/ui/views/effectengine/effectplugin/inc/glxforwardtransitionplugin.h Mon May 17 13:35:26 2010 +0530 @@ -27,9 +27,25 @@ GlxForwardTransitionPlugin(); ~GlxForwardTransitionPlugin(); QList getEffectFileList() { return mEffectFileList; } + + /* + * setup the item postion and set the mItem value + */ + void setUpItems( QList< QGraphicsItem * > & items ); + /* + * second animation will be run later + */ + bool isAnimationLater(int index) ; + + QGraphicsItem * animationItem() + { + mItem->show(); + return mItem ; + } private : QList mEffectFileList; + QGraphicsItem *mItem; }; #endif /*GLXFORWARDTRANSITIONPLUGIN_H*/ diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/effectengine/effectplugin/src/glxfadeplugin.cpp --- a/ui/views/effectengine/effectplugin/src/glxfadeplugin.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/views/effectengine/effectplugin/src/glxfadeplugin.cpp Mon May 17 13:35:26 2010 +0530 @@ -20,8 +20,8 @@ GlxFadePlugin::GlxFadePlugin() : mItem(NULL) { - mEffectFileList.append(QString(":/data/view_flip_hide.fxml")); - mEffectFileList.append(QString(":/data/view_flip_show.fxml")); + mEffectFileList.append(QString(":/data/opacity_deactivate.fxml")); + mEffectFileList.append(QString(":/data/opacity_activate.fxml")); } void GlxFadePlugin::setUpItems( QList< QGraphicsItem * > & items ) @@ -30,16 +30,16 @@ return; mItem = items.at(1); - mItem->hide(); + //mItem->hide(); mItem->setPos(0,0); items.at(0)->setPos(0,0); } bool GlxFadePlugin::isAnimationLater(int index) { - if ( index == 1) { + /*if ( index == 1) { return true; - } + }*/ return false; } diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/effectengine/effectplugin/src/glxforwardtransitionplugin.cpp --- a/ui/views/effectengine/effectplugin/src/glxforwardtransitionplugin.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/views/effectengine/effectplugin/src/glxforwardtransitionplugin.cpp Mon May 17 13:35:26 2010 +0530 @@ -20,8 +20,27 @@ GlxForwardTransitionPlugin::GlxForwardTransitionPlugin() { - mEffectFileList.append(QString(":/data/transtionforward.fxml")); - mEffectFileList.append(QString(":/data/transtion.fxml")); + mEffectFileList.append(QString(":/data/view_flip_hide.fxml")); + mEffectFileList.append(QString(":/data/view_flip_show.fxml")); +} + +void GlxForwardTransitionPlugin::setUpItems( QList< QGraphicsItem * > & items ) +{ + if ( items.count() < 2 ) + return; + + mItem = items.at(1); + mItem->hide(); + mItem->setPos(0,0); + items.at(0)->setPos(0,0); +} + +bool GlxForwardTransitionPlugin::isAnimationLater(int index) +{ + if ( index == 1) { + return true; + } + return false; } GlxForwardTransitionPlugin::~GlxForwardTransitionPlugin() diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/effectengine/src/glxeffectengine.cpp --- a/ui/views/effectengine/src/glxeffectengine.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/views/effectengine/src/glxeffectengine.cpp Mon May 17 13:35:26 2010 +0530 @@ -76,7 +76,7 @@ QStringList GlxSlideShowSetting::slideShowEffectList() { if(mSettingsManager->readItemValue(*mWaveEffectCenRepKey).toInt() == WAVE_EFFECT) - mEffectList<<"wave"; + mEffectList<<"Flip"; if(mSettingsManager->readItemValue(*mFadeEffectCenRepKey).toInt() == SMOOTH_FADE) mEffectList<<"Fade"; if(mSettingsManager->readItemValue(*mZoomEffectCenRepKey).toInt() == ZOOM_TO_FACE) @@ -90,6 +90,7 @@ } void GlxSlideShowSetting::setslideShowEffectIndex( int index ) { + mEffect = ( GlxEffect ) ( index + 1 ) ; mSettingsManager->writeItemValue(*mTransitionEffectCenrepKey, index); } void GlxSlideShowSetting::readSlideShowSetting() @@ -110,7 +111,7 @@ mSlideDelayTime = 3000; break; } - mEffect = FADE_EFFECT; + mEffect = ( GlxEffect ) ( mSettingsManager->readItemValue(*mTransitionEffectCenrepKey).toInt() + 1 ) ; mMoveDir = MOVE_FORWARD; qDebug("GlxSlideShowSetting::readSlideShowSetting() slide delay time %d effect %d move direction %d", mSlideDelayTime, mEffect, mMoveDir); } @@ -387,20 +388,25 @@ mEffectPlugin = NULL; switch ( mSlideShowSetting.effect() ) { - case TRANSITION_EFFECT : + case WAVE_EFFECT : + mEffectPlugin = new GlxForwardTransitionPlugin(); + break ; + + /*case TRANSITION_EFFECT : if ( slideShowMoveDir() == MOVE_FORWARD ) { mEffectPlugin = new GlxForwardTransitionPlugin(); } else { mEffectPlugin = new GlxBackwardTransitionPlugin(); } - break; + break;*/ - case FADE_EFFECT : + case SMOOTH_FADE : mEffectPlugin = new GlxFadePlugin(); break; default : + mEffectPlugin = new GlxFadePlugin(); break; } } diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/fullscreenview/inc/glxcoverflow.h --- a/ui/views/fullscreenview/inc/glxcoverflow.h Mon May 03 16:56:16 2010 +0530 +++ b/ui/views/fullscreenview/inc/glxcoverflow.h Mon May 17 13:35:26 2010 +0530 @@ -62,8 +62,11 @@ void partiallyCreate(QAbstractItemModel *model, QSize itemSize); void setCoverFlow(); void ClearCoverFlow(); + void setMultitouchFilter(QGraphicsItem* multitouchFilter); public slots: + void zoomStarted(int index); + void zoomFinished(int index); signals : void coverFlowEvent(GlxCoverFlowEvent e); @@ -116,6 +119,8 @@ QAbstractItemModel *mModel; GlxUserMove mMoveDir; int mSpeed; + bool mZoomOn; + QGraphicsItem* mMultitouchFilter; }; #endif /* GLXCOVERFLOW_H_ */ diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/fullscreenview/inc/glxfullscreenview.h --- a/ui/views/fullscreenview/inc/glxfullscreenview.h Mon May 03 16:56:16 2010 +0530 +++ b/ui/views/fullscreenview/inc/glxfullscreenview.h Mon May 17 13:35:26 2010 +0530 @@ -37,8 +37,7 @@ class HbIconItem; //User Defined forward declartion -class GlxZoomSlider; -class GlxZoomControl; +class GlxZoomWidget; class GlxTvOutWrapper; class GlxFullScreenView : public GlxView @@ -86,8 +85,7 @@ void handleToolBarAction(); protected : - bool event(QEvent *event); - + bool eventFilter(QObject *obj, QEvent *ev); private: /* @@ -126,9 +124,7 @@ HbAction *mUseImageAction; //for Zoom - HbPushButton *mZmPushButton; - GlxZoomSlider *mZoomSlider; - GlxZoomControl *mZoomControl; + GlxZoomWidget *mZoomWidget; HbDocumentLoader *mDocLoader; bool mUiOff; // to check the current status of ui on / off diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/fullscreenview/inc/glxzoomcontrol.h --- a/ui/views/fullscreenview/inc/glxzoomcontrol.h Mon May 03 16:56:16 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: ?Description -* -*/ -#ifndef GLXZOOMCONTROL_H -#define GLXZOOMCONTROL_H -#include - -class GlxMediaModel; -class QAbstractItemModel; -class HbIconItem; -class GlxImageDecoderWrapper; -class GlxZoomControl : public HbScrollArea -{ -Q_OBJECT - -public: - GlxZoomControl(QGraphicsItem *parent = NULL); - ~GlxZoomControl(); - void setModel (QAbstractItemModel *model); - void indexChanged (int index); - void setWindowSize (QSize windowSize); -signals: - void hideFullScreenUi(); -public slots: - void zoomImage(int zoomFactor); - void decodedImageAvailable(); - void initialZoomFactor(int initZoomFactor); -private: - void initializeZoomControl(int zoomFactor); - void resetZoomControl(); - void updateItemPosition(); - void calculatePanOffset(); - void checkandAdjustImageBoundaries(QPointF &finalPos, QPointF undefferedPos); - -private: - QGraphicsPixmapItem *mZoomItem; - QGraphicsWidget *mZoomWidget; - GlxImageDecoderWrapper* mImageDecoder; - HbIconItem *mBlackBackgroundItem; - QSizeF mCurrentSize; - QSizeF mItemSize; - GlxMediaModel *mModel; //not owned - int mInitialZoomFactor; - int mCurrentZoomFactor; - bool mIsControlActivated; - bool mIsItemChanged; - QSize mWindowSize; - QPointF mPanOffset; -}; -#endif //GLXZOOMCONTROL_h diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/fullscreenview/inc/glxzoomslider.h --- a/ui/views/fullscreenview/inc/glxzoomslider.h Mon May 03 16:56:16 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: ?Description -* -*/ -#ifndef GLXZOOMSLIDER_H -#define GLXZOOMSLIDER_H -#include -#include -class HbSlider; -class GlxMediaModel; -class QAbstractItemModel; -class QGraphicsItem; -class GlxZoomSlider : public QObject -{ -Q_OBJECT - -public: - GlxZoomSlider (QGraphicsItem *parent = NULL); - ~GlxZoomSlider (); - void setModel (QAbstractItemModel *model); - void indexChanged (int index); -signals: - void valueChanged(int newValue); - void initialZoomFactor(int initZoomFactor); -public slots: - void toggleSliderVisibility(); - void filterandEmitSliderValueChanges(int newValue); - void sliderThumbPressed(); - void sliderThumbReleased(); -private: - void retrieveActualAndDisplayedSize(QSize& itemsize, QSize& displayedSize); - int calculateZoomFactor(QSize& itemsize, QSize& displayedSize); - void calculateAndInitializeFSZoomFactor(); - HbSlider* mZoomSlider; - bool isSliderVisible; - bool mSliderThumbPressed; - GlxMediaModel *mModel; //not owned -}; -#endif //GLXZOOMSLIDER_H diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/fullscreenview/inc/glxzoomwidget.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/views/fullscreenview/inc/glxzoomwidget.h Mon May 17 13:35:26 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: glxzoomwidget.h +* definition of the class glxzoomwidget which controls the Zoom behavior of coverflow. +* +*/ +#ifndef GLXZOOMWIDGET_H +#define GLXZOOMWIDGET_H + +#include +#include +#include +#include + +class QGestureEvent; +class QPinchGesture; +class HbIconItem; +class GlxImageDecoderWrapper; + +const int MAXZVALUE = 100; +const int MINZVALUE = 0; + +class GlxZoomWidget : public HbScrollArea +{ + Q_OBJECT + + public: + GlxZoomWidget (QGraphicsItem *parent = NULL); + ~GlxZoomWidget (); + void setModel (QAbstractItemModel *model) ; + void indexChanged(int index); + void setWindowSize(QSize windowSize); + void cleanUp(); + void activate(); + + signals: + void pinchGestureReceived(int index); + void zoomWidgetMovedBackground(int index); + + public slots: + //for Decoder support + void decodedImageAvailable(); + + protected: + bool sceneEvent(QEvent *event); + bool sceneEventFilter(QGraphicsItem *watched,QEvent *event); + protected slots: + void dataChanged(QModelIndex startIndex, QModelIndex endIndex); + void sendDecodeRequest(int index); + + private: + bool executeGestureEvent(QGraphicsItem *source,QGestureEvent *event); + //Responsible for changing the transforms of the widget wrt the ZF and center + //Also adjusts the ZF, center and final size so as to respect the boundaries + void zoomImage(qreal zoomFactor, QPointF center); + //This API will adjust the gesture center to maintain boundaries + //called from GlxZoomWidget::zoomImage + void adjustGestureCenter(QPointF & gestureCenter, qreal& zoomFactor); + //this API will limit the max/min Zoom Size possible + //called from GlxZoomWidget::zoomImage + void limitRequiredSize(QSizeF &requiredSize); + //gets the latest focussed image from the model + void retreiveFocusedImage(); + //finalize the transform and update the sizehint of mZoomWidget + void finalizeWidgetTransform(); + //get the focused image from the model + QPixmap getFocusedImage(); + + //data members + private: + //view widgets + QGraphicsPixmapItem *mZoomItem; //Item containing the pixmap + QGraphicsWidget *mZoomWidget; //container :all scaling and transforms would be done on this widget + HbIconItem* mBlackBackgroundItem; //for setting black background + + //to be in sync with the model + QAbstractItemModel *mModel; + int mFocusIndex; + + //size parameter + QSizeF mItemSize; // the actual pixmap size. Keep it updated with latest pixmap size + QSizeF mStepCurrentSize; //to save the size before gesture started + QSizeF mCurrentSize; //save sizes scaled by gesture + QSize mWindowSize; //the window size + QSizeF mMinScaleSize; //minimum posible size + QSizeF mMinDecScaleSize; //the Minimum scale limit after which the image scaling down should be decelerated + QSizeF mMaxScaleSize; // the maximum scale limit + QSizeF mMaxScaleDecSize; // the Maximum scale limit after which the image scaling should be decelerated + + //for Decoder support + GlxImageDecoderWrapper* mImageDecoder; + + //status flags + //To check if the decode request has already been send or not + bool mImageDecodeRequestSend; + //To check if the pinch gesture is in progress to block any events to HbScrollArea + bool mPinchGestureOngoing; + //to check if decoded image is available + bool mDecodedImageAvailable; + +}; +#endif //GLXZOOMWIDGET_H diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/fullscreenview/src/glxcoverflow.cpp --- a/ui/views/fullscreenview/src/glxcoverflow.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/views/fullscreenview/src/glxcoverflow.cpp Mon May 17 13:35:26 2010 +0530 @@ -42,7 +42,9 @@ mItemSize (QSize(0,0)), mModel ( NULL), mMoveDir(NO_MOVE), - mSpeed ( GLX_COVERFLOW_SPEED ) + mSpeed ( GLX_COVERFLOW_SPEED ), + mZoomOn(false), + mMultitouchFilter(NULL) { //TO:DO through exception qDebug("GlxCoverFlow::GlxCoverFlow"); @@ -52,11 +54,17 @@ connect( this, SIGNAL( autoRightMoveSignal() ), this, SLOT( autoRightMove() ), Qt::QueuedConnection ); } +void GlxCoverFlow::setMultitouchFilter(QGraphicsItem* mtFilter) +{ + mMultitouchFilter = mtFilter; +} void GlxCoverFlow::setCoverFlow() { qDebug("GlxCoverFlow::setCoverFlow"); for ( qint8 i = 0; i < NBR_ICON_ITEM ; i++ ) { mIconItem[i] = new HbIconItem(this); + mIconItem[i]->grabGesture(Qt::PinchGesture, Qt::ReceivePartialGestures); + mIconItem[i]->installSceneEventFilter(mMultitouchFilter); mIconItem[i]->setBrush(QBrush(Qt::black)); mIconItem[i]->setSize(QSize(0,0)); } @@ -286,7 +294,9 @@ mSelItemIndex = ( ++mSelItemIndex ) % NBR_ICON_ITEM; selIndex = ( mSelItemIndex + 2 ) % NBR_ICON_ITEM; updateIconItem( mSelIndex + 2, selIndex, width * 2 ) ; + if(!mZoomOn) { emit changeSelectedIndex ( mModel->index ( mSelIndex, 0 ) ) ; + } } mMoveDir = NO_MOVE; mBounceBackDeltaX = 10; @@ -338,7 +348,9 @@ mSelItemIndex = ( mSelItemIndex == 0 ) ? NBR_ICON_ITEM -1 : --mSelItemIndex; selIndex = ( mSelItemIndex + 3 ) % NBR_ICON_ITEM; updateIconItem( mSelIndex - 2, selIndex, - width * 2 ) ; + if(!mZoomOn) { emit changeSelectedIndex ( mModel->index ( mSelIndex, 0 ) ) ; + } } mMoveDir = NO_MOVE; mBounceBackDeltaX = 10; @@ -542,3 +554,13 @@ } return substate; } +void GlxCoverFlow::zoomStarted(int index) +{ + mZoomOn = true; +} +void GlxCoverFlow::zoomFinished(int index) +{ + mZoomOn = false; + indexChanged(index); + +} diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/fullscreenview/src/glxfullscreenview.cpp --- a/ui/views/fullscreenview/src/glxfullscreenview.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/views/fullscreenview/src/glxfullscreenview.cpp Mon May 17 13:35:26 2010 +0530 @@ -29,6 +29,7 @@ #include #include #include +#include //User Includes #include "glxlog.h" @@ -42,7 +43,7 @@ #include "glxtvoutwrapper.h" #include "glxfullscreenview.h" #include "glxcommandhandlers.hrh" -//#include "glxzoomwidget.h" +#include "glxzoomwidget.h" #include "OstTraceDefinitions.h" #ifdef OST_TRACE_COMPILER_IN_USE @@ -65,6 +66,7 @@ mFlipAction(NULL), mSendAction(NULL), mDeleteAction(NULL), + mZoomWidget(NULL), mUseImageAction(NULL) { OstTraceFunctionEntry0( GLXFULLSCREENVIEW_GLXFULLSCREENVIEW_ENTRY ); @@ -95,7 +97,9 @@ // to make the widget light weight in order to make // transition smooth mCoverFlow->partiallyCreate( model, screenSize()); - setItemVisible(Hb::AllItems, FALSE) ; + + setStatusBarVisible(FALSE); + setTitleBarVisible(FALSE); OstTraceFunctionExit0( GLXFULLSCREENVIEW_INITIALIZEVIEW_EXIT ); } @@ -107,6 +111,8 @@ //Load the Coverflow and image strip widget mCoverFlow = qobject_cast (mDocLoader->findWidget(GLXFULLSCREEN_COVERFLOW)); + mZoomWidget = qobject_cast (mDocLoader->findWidget(GLXFULLSCREENZOOMWIDGET)); + mCoverFlow->setMultitouchFilter(mZoomWidget); //initialise the cover flow for basic connections and the rest mCoverFlow->setCoverFlow(); @@ -174,12 +180,16 @@ { OstTraceFunctionEntry0( GLXFULLSCREENVIEW_ACTIVATE_ENTRY ); - setItemVisible(Hb::AllItems, FALSE) ; + setStatusBarVisible(FALSE); + setTitleBarVisible(FALSE); + //for zoom might not be required after wk15 release mWindow->viewport()->setAttribute(Qt::WA_AcceptTouchEvents,true); mWindow->viewport()->grabGesture(Qt::PinchGesture); + QCoreApplication::instance()->installEventFilter(this); + if(!mCoverFlow){ loadWidgets(); //retrives the widgets } @@ -236,7 +246,7 @@ //Clean up the rest of the resources allocated cleanUp(); - + QCoreApplication::instance()->removeEventFilter(this); //deletes the iconitems in the coverflow mCoverFlow->ClearCoverFlow(); @@ -270,6 +280,11 @@ delete mTvOutWrapper; mTvOutWrapper = NULL; } + if(mZoomWidget) + { + mZoomWidget->cleanUp(); + + } OstTraceFunctionExit0( GLXFULLSCREENVIEW_CLEANUP_EXIT ); } @@ -292,7 +307,7 @@ mModel = model; setModelContext(); setHdmiModel(mModel); - + mZoomWidget->setModel(mModel); mCoverFlow->setModel(mModel); setImageStripModel(); if(getSubState() == IMAGEVIEWER_S) @@ -300,7 +315,8 @@ setTitle("Image Viewer"); } else if(getSubState() == FETCHER_S){ - setItemVisible(Hb::AllItems, TRUE) ; + setStatusBarVisible(TRUE); + setTitleBarVisible(TRUE); } OstTraceFunctionExit0( GLXFULLSCREENVIEW_SETMODEL_EXIT ); } @@ -365,7 +381,9 @@ } mFullScreenToolBar->show(); - setItemVisible(Hb::AllItems, TRUE) ; + setStatusBarVisible(TRUE); + setTitleBarVisible(TRUE); + if ( mImageStrip && getSubState() != IMAGEVIEWER_S) { mImageStrip->show(); @@ -395,7 +413,8 @@ mUiOff = TRUE; if ( getSubState() != FETCHER_S ) { - setItemVisible(Hb::AllItems, FALSE) ; + setStatusBarVisible(FALSE); + setTitleBarVisible(FALSE); } if ( mImageStrip && ( getSubState() != IMAGEVIEWER_S && getSubState() != FETCHER_S )) { HbEffect::start(mImageStrip, QString("HbGridView"), QString("TapHide"), this, "effectFinished" ); @@ -421,7 +440,8 @@ } return; } - mModel->setData( index, index.row(), GlxFocusIndexRole ); + mModel->setData( index, index.row(), GlxFocusIndexRole ); + mZoomWidget->indexChanged(index.row()); if (mTvOutWrapper){ // for the image changed on swipe mTvOutWrapper->setImagetoHDMI(); @@ -439,6 +459,7 @@ return; } mModel->setData( index, index.row(), GlxFocusIndexRole ); + mZoomWidget->indexChanged(index.row()); mCoverFlow->indexChanged(index.row()); mImageStrip->scrollTo(index, HbGridView::EnsureVisible ); if (mTvOutWrapper){ @@ -587,7 +608,9 @@ QSize sz = screenSize(); mCoverFlow->setItemSize(sz); - OstTraceFunctionExit0( GLXFULLSCREENVIEW_SETLAYOUT_EXIT ); + mZoomWidget->setWindowSize(sz); + + OstTraceFunctionExit0( GLXFULLSCREENVIEW_SETLAYOUT_EXIT ); } void GlxFullScreenView::addConnection() @@ -611,6 +634,11 @@ connect(mUiOffTimer, SIGNAL(timeout()), this, SLOT(hideUi())); } + if(mCoverFlow && mZoomWidget) { + connect(mZoomWidget,SIGNAL( pinchGestureReceived(int) ), mCoverFlow, SLOT( zoomStarted(int) ) ); + connect(mZoomWidget,SIGNAL( zoomWidgetMovedBackground(int) ), mCoverFlow, SLOT( zoomFinished(int) ) ); + } + connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationChanged(Qt::Orientation))); OstTraceFunctionExit0( GLXFULLSCREENVIEW_ADDCONNECTION_EXIT ); @@ -657,6 +685,10 @@ if(mUseImageAction) { disconnect(mUseImageAction, SIGNAL(triggered( )), this, SLOT(handleToolBarAction( )) ); } + if(mCoverFlow && mZoomWidget) { + disconnect(mZoomWidget,SIGNAL( pinchGestureReceived(int) ), mCoverFlow, SLOT( zoomStarted(int) ) ); + disconnect(mZoomWidget,SIGNAL( zoomWidgetMovedBackground(int) ), mCoverFlow, SLOT( zoomFinished(int) ) ); + } disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationChanged(Qt::Orientation))); @@ -683,22 +715,10 @@ cleanUp(); delete mIconItem ; - mIconItem = NULL; - - if(mImageStrip) { - delete mImageStrip; - mImageStrip = NULL; - } - - if(mFullScreenToolBar) { - delete mFullScreenToolBar; - mFullScreenToolBar = NULL; - } - - if(mCoverFlow) { - delete mCoverFlow; - mCoverFlow = NULL; - } + delete mImageStrip; + delete mFullScreenToolBar; + delete mCoverFlow; + delete mZoomWidget; if(mDocLoader != NULL) { mDocLoader->reset(); @@ -760,19 +780,17 @@ return substate; } -bool GlxFullScreenView::event(QEvent *event) +bool GlxFullScreenView::eventFilter(QObject *obj, QEvent *ev) { - GLX_LOG_INFO1("GlxFullScreenView::event() %d event type", event->type()); - if ( event->type() == QEvent::WindowActivate && mCoverFlow) { - if (mTvOutWrapper){ + GLX_LOG_INFO1("GlxFullScreenView::event() %d event type", ev->type()); + if ( ev->type() == QEvent::ApplicationActivate && mTvOutWrapper) { + GLX_LOG_INFO("GlxFullScreenView::event() shift to native - CGlxHdmi"); mTvOutWrapper->setToNativeMode(); - } } - if ( event->type() == QEvent::WindowDeactivate && mCoverFlow) { - if (mTvOutWrapper){ + if ( ev->type() == QEvent::ApplicationDeactivate && mTvOutWrapper) { + GLX_LOG_INFO("GlxFullScreenView::event() shift to Clone - CGlxHdmi"); mTvOutWrapper->setToCloningMode(); - } } - return HbView::event(event); + return HbView::eventFilter(obj,ev); } diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/fullscreenview/src/glxzoomcontrol.cpp --- a/ui/views/fullscreenview/src/glxzoomcontrol.cpp Mon May 03 16:56:16 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,316 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: ?Description -* -*/ - -#include "glxzoomcontrol.h" -#include "glximagedecoderwrapper.h" -#include "glxmodelparm.h" -#include -#include -#include -#include -#include -#include - -GlxZoomControl::GlxZoomControl(QGraphicsItem *parent) : HbScrollArea(parent),mIsControlActivated(false), mIsItemChanged(true) -{ - setScrollDirections(Qt::Horizontal | Qt::Vertical); - hide(); - setZValue(6); - setScrollingStyle(PanOrFlick); - mBlackBackgroundItem = new HbIconItem(parent); - mBlackBackgroundItem->setBrush(QBrush(Qt::black)); - mBlackBackgroundItem->hide(); - mZoomWidget = new QGraphicsWidget(this); - mZoomItem = new QGraphicsPixmapItem(mZoomWidget); - mImageDecoder = new GlxImageDecoderWrapper; - -} - -GlxZoomControl::~GlxZoomControl() -{ - resetZoomControl(); - delete mZoomItem; - delete mZoomWidget; - mImageDecoder->resetDecoder(); - delete mImageDecoder; - delete mBlackBackgroundItem; - -} - -void GlxZoomControl::zoomImage(int zoomFactor) -{ - qDebug("@@@GlxZoomControl::zoomImage ZF=%d, InitialZf=%d", zoomFactor, mInitialZoomFactor); - if(mIsItemChanged) { - initializeZoomControl(zoomFactor); - } - if(zoomFactor > mInitialZoomFactor) { - - qreal zoomPercent = qreal(zoomFactor)/100.00; - QSizeF requiredSize = QSize(qreal(mItemSize.width() * zoomPercent), qreal(mItemSize.height() * zoomPercent )); - calculatePanOffset(); - mZoomWidget->scale(requiredSize.width()/mCurrentSize.width(), requiredSize.height()/mCurrentSize.height()); - qDebug()<<"GlxZoomControl::zoomImage scaling factor"<setGeometry(QRectF(-0.5*QPointF(requiredSize.width(),requiredSize.height()),requiredSize )); - //mZoomWidget->setPos(mWindowSize.width()/2 - requiredSize.width()/2,mWindowSize.height()/2 - requiredSize.height()/2); - mCurrentSize = requiredSize; - mCurrentZoomFactor = zoomFactor; - updateItemPosition(); - if(!mIsControlActivated) { - show(); - mBlackBackgroundItem->show(); - mIsControlActivated = true; - emit hideFullScreenUi(); - } - } - if(zoomFactor < mInitialZoomFactor) - { - mBlackBackgroundItem->hide(); - hide(); - mPanOffset.setX(0); - mPanOffset.setY(0); - updateItemPosition(); - mIsControlActivated = false; - //mZoomWidget->resetTransform(); - } -} - -void GlxZoomControl::initializeZoomControl(int zoomFactor) -{ - qDebug("@@@GlxZoomControl::initializeZoomControl Zoom Factor %d", zoomFactor); - if(mIsControlActivated || zoomFactor < mInitialZoomFactor) - { - return; - } - qDebug("@@@GlxZoomControl::initializeZoomControl Context not activated yet"); - //get the image path and request for a decoded pixmap first - QString imagePath = (mModel->data(mModel->index(mModel->data(mModel->index(0,0),GlxFocusIndexRole).value(),0),GlxUriRole)).value(); - mImageDecoder->decodeImage(imagePath); - connect(mImageDecoder, SIGNAL(pixmapDecoded()), this, SLOT(decodedImageAvailable())); - QVariant variant = mModel->data(mModel->index(mModel->data(mModel->index(0,0),GlxFocusIndexRole).value(),0),GlxFsImageRole); - if ( variant.isValid() && variant.canConvert () ) { - qDebug("@@@GlxZoomControl::initializeZoomControl valid icon"); - QIcon itemIcon = variant.value().qicon(); - //QSize windowSize(360,640); - QSize itemSize = itemIcon.actualSize(mWindowSize); - QPixmap itemPixmap = itemIcon.pixmap(itemSize); - //if(itemPixmap.isNull()) - qDebug("@@@GlxZoomControl::initializeZoomControl Null Pixmap"); - //set item size to the actual size - mItemSize = (mModel->data(mModel->index(mModel->data(mModel->index(0,0),GlxFocusIndexRole).value(),0),GlxDimensionsRole)).value(); - mCurrentSize = itemPixmap.size(); - mZoomItem->setPixmap(itemPixmap); - mZoomWidget->setGeometry(QRectF(-0.5*QPointF(mCurrentSize.width(),mCurrentSize.height()),mItemSize )); - mZoomWidget->setPos(mWindowSize.width()/2 - mCurrentSize.width()/2,mWindowSize.height()/2 - mCurrentSize.height()/2); - //show(); - //mIsControlActivated = true; - mIsItemChanged = false; - setContentWidget(mZoomWidget); - } -} - -void GlxZoomControl::setModel(QAbstractItemModel *model) -{ - GlxMediaModel *glxModel = dynamic_cast(model); - if ( glxModel ==NULL || glxModel == mModel) { - return ; - } - mModel = glxModel; -} - -void GlxZoomControl::resetZoomControl() -{ - qDebug("@@@GlxZoomControl::resetZoomControl"); - mBlackBackgroundItem->hide(); - hide(); - mZoomWidget->resetTransform(); - mZoomItem->setPixmap(QPixmap()); - mItemSize = QSizeF(0,0); - mCurrentSize = mItemSize; - mIsControlActivated = false; - mIsItemChanged = true; - mInitialZoomFactor = 0; - mPanOffset.setX(0); - mPanOffset. setY(0); - mImageDecoder->resetDecoder(); -} - -void GlxZoomControl::indexChanged(int index) -{ - Q_UNUSED(index); - qDebug("@@@GlxZoomControl::indexChanged"); - resetZoomControl(); - -} - -void GlxZoomControl::decodedImageAvailable() -{ - //new bitmap with better resolution is available - //so set it to the item - QPixmap decodedPixmap = mImageDecoder->getPixmap(); - if(decodedPixmap.isNull()){ - return; - } - mCurrentSize = decodedPixmap.size(); - //this is important if not done then old transforms will be applied on the new image - mZoomWidget->resetTransform(); - mZoomItem->setPixmap(decodedPixmap); - QPointF undefferedPos; - undefferedPos.setX(mWindowSize.width()/2 - mCurrentSize.width()/2); - undefferedPos.setY(mWindowSize.height()/2 - mCurrentSize.height()/2); - mZoomWidget->setGeometry(QRectF(undefferedPos,mCurrentSize )); //temporarily setting it to an undeffered position - //update the image transforms - zoomImage(mCurrentZoomFactor); -} - -void GlxZoomControl::initialZoomFactor(int initZoomFactor) -{ - qDebug("@@@GlxZoomControl::initialZoomFactor initZoomFactor=%d", initZoomFactor ); - resetZoomControl(); - mInitialZoomFactor = initZoomFactor; -} - -void GlxZoomControl::setWindowSize (QSize windowSize) -{ - if(mWindowSize != windowSize) { - mWindowSize = windowSize; - mBlackBackgroundItem->setSize(mWindowSize); - mBlackBackgroundItem->setPos(0,0); - if(!mIsItemChanged) { - //first calculate offset because after orientation change this value will be lost - calculatePanOffset(); - //update the item position WRT the new window size - updateItemPosition(); - - } - } -} -void GlxZoomControl::updateItemPosition() -{ - qreal zoomPercent = qreal(mCurrentZoomFactor)/100.00; - QPointF undefferedPos; - //calculate position if no panning was done - undefferedPos.setX(mWindowSize.width()/2 - mCurrentSize.width()/2); - undefferedPos.setY(mWindowSize.height()/2 - mCurrentSize.height()/2); - QPointF offset = mPanOffset; - //convert offset value WRT current zoomFactor - offset *= zoomPercent; - QPointF finalPos = undefferedPos + offset; - //check for boundry conditions - checkandAdjustImageBoundaries(finalPos, undefferedPos); - qDebug()<<"GlxZoomControl::updateItemPosition offset x%d, y%d "<setPos(undefferedPos + offset); - mZoomWidget->setGeometry(QRectF(finalPos,mCurrentSize )); -} - -void GlxZoomControl::calculatePanOffset() -{ - qreal zoomPercent = qreal(mCurrentZoomFactor)/100.00; - QPointF currentPos = mZoomWidget->pos(); - //calculate position if no panning was done - QPointF undefferedPos; - undefferedPos.setX(mWindowSize.width()/2 - mCurrentSize.width()/2); - undefferedPos.setY(mWindowSize.height()/2 - mCurrentSize.height()/2); - //get the offset with the current zoomFactor which is the difference between currentPos and undefferedPos - QPointF offset = currentPos - undefferedPos ; - qDebug()<<"GlxZoomControl::calculatePanOffset current Pos x%d, y%d undeffered x %d, y %d"< 0) { - //chk if the original image position without any offset has also reached boundry conditions - if(undefferedPos.x() < 0) { - //set the image to the leftmost axis on the screen - finalPos.setX(0); - } - //if original image position without any offset has also reached boundry conditions then use the undefferedPos - else { - finalPos.setX(undefferedPos.x()); - //set offset to 0 as it is of no use anymore - mPanOffset.setX(0); - } - } - - //Right side - //since the image is positioned WRT to screens top left corner(0,0) so if image Position added to the image dimensions is - //greater than the screen dimensions then boundfy conditions for rightmost and lowest points are met. - //for X axis width will be of our concern - if((finalPos.x() + mCurrentSize.width()) < mWindowSize.width()){ - //if original image position without any offset has also reached boundry conditions then use the undefferedPos - if ((undefferedPos.x() + mCurrentSize.width()) < mWindowSize.width()) { - finalPos.setX(undefferedPos.x()); - //set offset to 0 as it is of no use anymore - mPanOffset.setX(0); - } - else { - //set the image to the rightmost axis on the screen - finalPos.setX(mWindowSize.width()- mCurrentSize.width()); - } - } - - - //check for boundary conditions in Y Axis - - //top - //since the image is positioned WRT to screens top left corner(0,0) so if the images top left corner's Y (finalPos.y()) is positive - //then boundry conditions for image to be on the topmost side is met - if(finalPos.y() > 0) { - //chk if the original image position without any offset has also reached boundry conditions - if(undefferedPos.y() < 0) { - //set the image to the topmost axis on the screen - finalPos.setY(0); - } - //if original image position without any offset has also reached boundry conditions then use the undefferedPos - else { - finalPos.setY(undefferedPos.y()); - //set offset to 0 as it is of no use anymore - mPanOffset.setY(0); - } - } - - //bottom - //since the image is positioned WRT to screens top left corner(0,0) so if image Position added to the image dimensions is - //greater than the screen dimensions then boundfy conditions for rightmost and lowest points are met. - //for Y axis height will be of our concern - - if((finalPos.y() + mCurrentSize.height()) < mWindowSize.height()){ - //if original image position without any offset has also reached boundry conditions then use the undefferedPos - if ((undefferedPos.y() + mCurrentSize.height()) < mWindowSize.height()) { - finalPos.setY(undefferedPos.y()); - //set offset to 0 as it is of no use anymore - mPanOffset.setY(0); - } - else { - //set the image to the lowest axis on the screen - finalPos.setY(mWindowSize.height()- mCurrentSize.height()); - } - } - -} diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/fullscreenview/src/glxzoomslider.cpp --- a/ui/views/fullscreenview/src/glxzoomslider.cpp Mon May 03 16:56:16 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,133 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: ?Description -* -*/ - -#include "glxzoomslider.h" -#include -#include -#include -#include -#include -#include "glxmodelparm.h" -#include - -GlxZoomSlider::GlxZoomSlider(QGraphicsItem *parent) -{ - mZoomSlider = new HbSlider(Qt::Horizontal,parent); - mZoomSlider->hide(); - mZoomSlider->setRange(0, 400); - mZoomSlider->setSingleStep(25); - mZoomSlider->setSliderPosition(100); - mZoomSlider->setZValue(7); - mZoomSlider->setPos(50,100); - mZoomSlider->resize(300.0, 0.0 ); - isSliderVisible = false; - mSliderThumbPressed = false; - connect(mZoomSlider, SIGNAL(valueChanged(int)), this, SLOT(filterandEmitSliderValueChanges(int))); - connect(mZoomSlider, SIGNAL(sliderPressed()), this, SLOT(sliderThumbPressed())); - connect(mZoomSlider, SIGNAL(sliderReleased()), this, SLOT(sliderThumbReleased())); -} - -GlxZoomSlider::~GlxZoomSlider() -{ - disconnect(mZoomSlider, SIGNAL(valueChanged(int)), this, SLOT(filterandEmitSliderValueChanges(int))); - disconnect(mZoomSlider, SIGNAL(sliderPressed()), this, SLOT(sliderThumbPressed())); - disconnect(mZoomSlider, SIGNAL(sliderReleased()), this, SLOT(sliderThumbReleased())); - delete mZoomSlider; - isSliderVisible = false; -} - -void GlxZoomSlider::setModel (QAbstractItemModel *model) -{ - GlxMediaModel *glxModel = dynamic_cast(model); - if ( glxModel ==NULL || glxModel == mModel) { - return ; - } - mModel = glxModel; - -} - -void GlxZoomSlider::indexChanged (int index) -{ - Q_UNUSED(index); - mZoomSlider->hide(); - isSliderVisible = false; -} - -void GlxZoomSlider::toggleSliderVisibility() -{ - if(isSliderVisible) { - mZoomSlider->hide(); - isSliderVisible = false; - } - else { - calculateAndInitializeFSZoomFactor(); - mZoomSlider->show(); - isSliderVisible = true; - } -} - -void GlxZoomSlider::retrieveActualAndDisplayedSize(QSize& itemSize, QSize& displayedSize) -{ - itemSize = (mModel->data(mModel->index(mModel->data(mModel->index(0,0),GlxFocusIndexRole).value(),0),GlxDimensionsRole)).value(); - qDebug()<<"GlxZoomSlider::retrieveActualAndDisplayedSize"<data(mModel->index(mModel->data(mModel->index(0,0),GlxFocusIndexRole).value(),0),GlxFsImageRole); - if ( variant.isValid() && variant.canConvert () ) { - QIcon itemIcon = variant.value().qicon(); - QSize windowSize(360,640); - QSize itemSize = itemIcon.actualSize(windowSize); - QPixmap itemPixmap = itemIcon.pixmap(itemSize); - displayedSize = itemPixmap.size(); - qDebug()<<"GlxZoomSlider::retrieveActualAndDisplayedSize Display"<setSliderPosition(sliderPosition); -} - -void GlxZoomSlider::filterandEmitSliderValueChanges(int newValue) -{ - if (mSliderThumbPressed){ - emit valueChanged(newValue); - } - //else { - qDebug()<<"GlxZoomSlider::filterandEmitSliderValueChanges stray signal"< +#include +#include +#include "glximagedecoderwrapper.h" +#include "glxmodelparm.h" +#include "glxzoomwidget.h" + +GlxZoomWidget::GlxZoomWidget(QGraphicsItem *parent):HbScrollArea(parent), mModel(NULL), mImageDecodeRequestSend(false), mPinchGestureOngoing(false), mDecodedImageAvailable(false) +{ + grabGesture(Qt::PinchGesture); + setAcceptTouchEvents(true) ; + setFrictionEnabled(false); + setZValue(MINZVALUE); + //create the child items and background + mZoomWidget = new QGraphicsWidget(this); + mZoomItem = new QGraphicsPixmapItem(mZoomWidget); + mZoomItem->setTransformationMode(Qt::SmoothTransformation); + //the black background + //replace when a proper substitute for setting backgrounds is known + mBlackBackgroundItem = new HbIconItem(this); + mBlackBackgroundItem->setBrush(QBrush(Qt::black)); + mBlackBackgroundItem->hide(); + //does not work so is commented + //setBackgroundItem(mBlackBackgroundItem); + + //initializing the image decoder + mImageDecoder = new GlxImageDecoderWrapper; + connect(this,SIGNAL( pinchGestureReceived(int) ), this, SLOT( sendDecodeRequest(int) ), Qt::QueuedConnection ); +} + +GlxZoomWidget::~GlxZoomWidget() +{ + //disconnect all existing signals + disconnect(this,SIGNAL( pinchGestureReceived(int) ), this, SLOT( sendDecodeRequest(int) ) ); + //no Null checks required + delete mZoomItem; +// delete mZoomWidget; //as this is a content widegt it will automatically be deleted + delete mBlackBackgroundItem; + //reset the decoder to cancel pending tasks + if(mImageDecoder) { + mImageDecoder->resetDecoder(); + delete mImageDecoder; + } +} + +void GlxZoomWidget::setModel (QAbstractItemModel *model) +{ + if(model) + { + mModel = model; + retreiveFocusedImage(); //Update mZoomItem with focused Image + connect( mModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ), this, SLOT( dataChanged(QModelIndex,QModelIndex) ) ); + } +} + +void GlxZoomWidget::setWindowSize(QSize windowSize) +{ + mWindowSize = windowSize; + mBlackBackgroundItem->setGeometry(QRectF(QPointF(0,0), mWindowSize)); + //try to reset the max and min zoomed size here +} + +void GlxZoomWidget::indexChanged(int index) +{ + Q_UNUSED(index); + if(mFocusIndex != index) { + mImageDecoder->resetDecoder();//reset the decoder first to cancel pending tasks + mImageDecodeRequestSend = false; + mDecodedImageAvailable = false; + retreiveFocusedImage(); //Update mZoomItem with focused Image + } +} + +bool GlxZoomWidget::sceneEvent(QEvent *event) +{ + bool consume(false); + if (event->type() == QEvent::Gesture) { + consume = executeGestureEvent(this, static_cast(event)); + } + if(!consume) + { + consume = HbScrollArea::sceneEvent(event); + } + return consume; +} + +bool GlxZoomWidget::sceneEventFilter(QGraphicsItem *watched,QEvent *event) +{ + qDebug("GlxCoverFlow::eventFilter " ); + bool consume = false; + if (event->type() == QEvent::Gesture) { + consume = executeGestureEvent(watched, static_cast(event)); + } + + if(!consume) { + consume = HbScrollArea::sceneEventFilter(watched,event); + } + return consume; + +} + +bool GlxZoomWidget::executeGestureEvent(QGraphicsItem *source,QGestureEvent *event) +{ + if (QGesture *pinch = event->gesture(Qt::PinchGesture)) { + QPinchGesture* pinchG = static_cast(pinch); + QPinchGesture::ChangeFlags changeFlags = pinchG->changeFlags(); + if (changeFlags & QPinchGesture::ScaleFactorChanged) { + mPinchGestureOngoing = true; + //bring the zoom widget to foreground + setZValue(MAXZVALUE); + //show the black background + mBlackBackgroundItem->setParentItem(parentItem()); + mBlackBackgroundItem->setZValue(MAXZVALUE - 1); + mBlackBackgroundItem->show(); + + //retreive the gesture values + qreal value = pinchG->scaleFactor() / pinchG->lastScaleFactor(); + QPointF center = pinchG->property("centerPoint").toPointF(); + //set the gesture center to the scene coordinates + QPointF sceneGestureCenter = source->sceneTransform().map(center); + zoomImage(value, sceneGestureCenter); + + } + if (pinchG->state() == Qt::GestureStarted) { + emit pinchGestureReceived(mFocusIndex); + } + + if (pinchG->state() == Qt::GestureFinished) { + if(mStepCurrentSize != mCurrentSize) { + //For giving a spring effect when user has zoomed more than normal. + if(mStepCurrentSize.width() > mMaxScaleDecSize.width()) { + //scale the image to limited size + qreal value = mMaxScaleDecSize.width()/mCurrentSize.width(); + QPointF center(mWindowSize.width()/2, mWindowSize.height()/2); + QPointF sceneGestureCenter = source->sceneTransform().map(center); + zoomImage(value, sceneGestureCenter); + } + mPinchGestureOngoing = false; + //finalize the transforms to the geometry else panning will not work + finalizeWidgetTransform(); + } +//push the Zoom widget to background when zoomed image size nears FS image + if(mStepCurrentSize.width() <= mMinDecScaleSize.width()*1.3) { + mBlackBackgroundItem->hide(); + //push the widget back to background + setZValue(MINZVALUE); + emit zoomWidgetMovedBackground(mFocusIndex); + //do not reset the transform here as it will then zoom-in the widget to decoded image size + } + } + //gesture accepted + return true; + } + //gesture rejected + if(!mPinchGestureOngoing) { + return false; + } + return true; + +} + +void GlxZoomWidget::zoomImage(qreal zoomFactor, QPointF center) +{ + adjustGestureCenter(center, zoomFactor); + QSizeF requiredSize(mCurrentSize.width()*zoomFactor, mCurrentSize.height()*zoomFactor); + limitRequiredSize(requiredSize); + if(requiredSize != mCurrentSize) { + QTransform zoomTransform = mZoomWidget->transform(); + QPointF transformedCenter = mZoomWidget->sceneTransform().inverted().map(center); + zoomTransform.translate(transformedCenter.x(),transformedCenter.y()); + zoomTransform.scale(requiredSize.width()/mCurrentSize.width(), requiredSize.height()/mCurrentSize.height()); + zoomTransform.translate(-transformedCenter.x(),-transformedCenter.y()); + mZoomWidget->setTransform(zoomTransform); + mCurrentSize = requiredSize; + } + +} + + +void GlxZoomWidget::limitRequiredSize(QSizeF &requiredSize) +{ + if(requiredSize.width() > mMaxScaleSize.width() ) { + requiredSize = mMaxScaleSize ; + } + else if(requiredSize.width() < mMinDecScaleSize.width() ) { + requiredSize = mMinDecScaleSize ; + } + + +} + +//makes sure that the gesture is on the screen center if the image is smaller than the screen +void GlxZoomWidget::adjustGestureCenter(QPointF & gestureCenter, qreal& zoomFactor) +{ + if(zoomFactor > 1 &&zoomFactor > 1.2 ) { + zoomFactor = 1.2; + } + + if(zoomFactor < 1 &&zoomFactor < 0.8 ) { + zoomFactor = 0.8; + } + QSizeF requiredSize(mCurrentSize.width()*zoomFactor, mCurrentSize.height()*zoomFactor); + //keep smaller image centered + if(mCurrentSize.width() <= mWindowSize.width() ) + { + gestureCenter.setX(mWindowSize.width()/2); + + } + if(mCurrentSize.height() <= mWindowSize.height()) + { + gestureCenter.setY(mWindowSize.height()/2); + + } + //maintains the boundary of the edges for zoom out conditions + if(zoomFactor < 1) + { + QPointF itemOriginPos = mZoomWidget->sceneTransform().map(QPointF(0,0)); + bool hasWidthExceededWindow = mCurrentSize.width() > mWindowSize.width(); + bool hasHeightExceededWindow = mCurrentSize.height() > mWindowSize.height(); + if(itemOriginPos.x() >= 0) { + //image has crossed left boundry leaving blank space + if(hasWidthExceededWindow) { + //stick the gesture to the left corner + gestureCenter.setX(itemOriginPos.x()); + } + } + //Check if the right boundry can be adjusted + if(itemOriginPos.x()+ mCurrentSize.width() <= mWindowSize.width()) { + //Image is before the right boundry leaving blank space + if(hasWidthExceededWindow) { + //stick the gesture to the right corner + gestureCenter.setX(itemOriginPos.x()+ mCurrentSize.width()); + } + } + //check if the upper boundry could be adjusted + if(itemOriginPos.y() >= 0) { + //image has crossed the upper boundry leaving blank space + if(hasHeightExceededWindow) { + //stick the image to the upper boundry + gestureCenter.setY(itemOriginPos.y()); + } + } + //check if the lower boundry could be adjusted + if(itemOriginPos.y()+ mCurrentSize.height() <= mWindowSize.height()) { + //Image is before the right boundry leaving blank space + if(hasHeightExceededWindow) { + //stick the image to the right corner + gestureCenter.setY(itemOriginPos.y()+ mCurrentSize.height()); + } + + } + } + //control the zoom Factor to boundaries + if(mCurrentSize.width() > mWindowSize.width() && requiredSize.width() <= mWindowSize.width()) + { + zoomFactor = mWindowSize.width()/mCurrentSize.width(); + + } + else if(mCurrentSize.height() > mWindowSize.height() && requiredSize.height() <= mWindowSize.height()) + { + zoomFactor = mWindowSize.height()/mCurrentSize.height(); + + } + + //reduce the ZF so as to show a decelerated effect at max/min levels + + if(mCurrentSize.width() > mMaxScaleDecSize.width() && zoomFactor > 1 ) { + zoomFactor = 1.0 + ((zoomFactor-1.0)/6) ; + } + if(mCurrentSize.width() < mMinDecScaleSize.width() && zoomFactor < 1 ) { + zoomFactor = 1.0 - ((1.0-zoomFactor)/6) ; + } + + +} + +//get the latest focused image and set it to mZoomItem +void GlxZoomWidget::retreiveFocusedImage() +{ + + QPixmap targetPixmap(getFocusedImage()); + //initialize all the variables wrt the focussed pixmap + mZoomWidget->resetTransform(); + mItemSize = targetPixmap.size(); + mMaxScaleSize = mItemSize; + mMaxScaleSize.scale(mWindowSize*13, Qt::KeepAspectRatio); + mMaxScaleDecSize = mItemSize; + mMaxScaleDecSize.scale(mWindowSize*7, Qt::KeepAspectRatio); + mMinScaleSize = mItemSize* 0.7; + mMinDecScaleSize = mItemSize; + QPointF originPos = sceneTransform().map(QPointF(0,0)); + mZoomWidget->setGeometry(QRectF(QPointF(mWindowSize.width()/2 - mItemSize.width()/2,mWindowSize.height()/2 - mItemSize.height()/2),mItemSize )); //chk this + mZoomWidget->setPreferredSize(mItemSize); + mZoomItem->setPixmap(targetPixmap); + mCurrentSize = mItemSize; + mStepCurrentSize = mItemSize; + setContentWidget(mZoomWidget); + show(); +} + + +void GlxZoomWidget::dataChanged(QModelIndex startIndex, QModelIndex endIndex) +{ + if(mFocusIndex >= startIndex.row() && mFocusIndex <= endIndex.row()) { + //get the latest image from the model + //will replace a decoded image if callback is received after decoded image is received so a fix is required + //retreiveFocusedImage(); + if(!mDecodedImageAvailable) { + QPixmap targetPixmap(getFocusedImage()); + mZoomItem->setPixmap(targetPixmap); + finalizeWidgetTransform(); + } + } +} + +void GlxZoomWidget::decodedImageAvailable() +{ + //new bitmap with better resolution is available + //so set it to the item + QPixmap decodedPixmap = mImageDecoder->getPixmap(); + disconnect(mImageDecoder, SIGNAL(pixmapDecoded()), this, SLOT(decodedImageAvailable())); + if(decodedPixmap.isNull()){ + return; + } + mDecodedImageAvailable = true; + mZoomItem->setPixmap(decodedPixmap); + mItemSize = decodedPixmap.size(); + //this is important if not done then old transforms will be applied on the new image + finalizeWidgetTransform(); +} + +void GlxZoomWidget::sendDecodeRequest(int index) +{ + if(!mImageDecodeRequestSend) { + QString imagePath = (mModel->data(mModel->index(index,0),GlxUriRole)).value(); + mImageDecoder->decodeImage(imagePath); + connect(mImageDecoder, SIGNAL(pixmapDecoded()), this, SLOT(decodedImageAvailable())); + mImageDecodeRequestSend = true; + } +} + + +void GlxZoomWidget::finalizeWidgetTransform() +{ + QPointF widgetPos = mZoomWidget->sceneTransform().map(QPointF(0,0)); //Map the origin wrt scene + mZoomWidget->resetTransform(); + mZoomWidget->scale(mCurrentSize.width()/mItemSize.width(), mCurrentSize.height()/mItemSize.height()); + mZoomWidget->setGeometry(QRectF(widgetPos , mCurrentSize)); + // this updates HbScrollArea on the sizeHint of ZoomWidget + mZoomWidget->setPreferredSize(mCurrentSize); + mStepCurrentSize = mCurrentSize; +} + +QPixmap GlxZoomWidget::getFocusedImage() +{ + mFocusIndex = mModel->data(mModel->index(0,0),GlxFocusIndexRole).value(); + QVariant iconVariant = mModel->data(mModel->index(mFocusIndex,0),GlxFsImageRole); + QVariant sizeVariant = mModel->data(mModel->index(mFocusIndex,0),GlxDimensionsRole); + QPixmap targetPixmap; + //retreive pixmap from the HbIcon received from model + //should change the model to return and save pixmaps and convert to HbIcons Instead + if ( iconVariant.isValid() && iconVariant.canConvert () ) { + QIcon itemIcon = iconVariant.value().qicon(); + QSize itemSize = itemIcon.actualSize(mWindowSize); + QSize scaleSize; + if(sizeVariant.isValid() && sizeVariant.canConvert ()) { + scaleSize = sizeVariant.toSize(); + if(!(scaleSize.width() < mWindowSize.width() && scaleSize.height() < mWindowSize.height())) { + scaleSize = mWindowSize; + } + } + targetPixmap = itemIcon.pixmap(itemSize).scaled(scaleSize, Qt::KeepAspectRatio); + mItemSize = targetPixmap.size(); + } + return targetPixmap; + +} + + + +void GlxZoomWidget::cleanUp() +{ +// disconnect( mModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ), this, SLOT( dataChanged(QModelIndex,QModelIndex) ) ); + if(mImageDecoder) { + mImageDecoder->resetDecoder(); + } + mZoomItem->setPixmap(QPixmap()); +} + +void GlxZoomWidget::activate() +{ +} + + diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/gridview/inc/glxgridview.h --- a/ui/views/gridview/inc/glxgridview.h Mon May 03 16:56:16 2010 +0530 +++ b/ui/views/gridview/inc/glxgridview.h Mon May 17 13:35:26 2010 +0530 @@ -30,6 +30,8 @@ class GlxModelWrapper; class HbPushButton; class HbIconItem; +class HbCheckBox; +class HbLabel; class GlxGridView : public GlxView { @@ -55,6 +57,17 @@ void scrollingStarted(); void orientationchanged(Qt::Orientation orient); void visibleIndexChanged(const QModelIndex& current, const QModelIndex& previous); + void stateChanged(int state); + //show the marked item count + void showMarkedItemCount(); + //show item count in the grid + void showItemCount(); + //clear all the model connection + void clearCurrentModel(); + //add the connection to the model + void initializeNewModel(); + void showAlbumTitle(QString aTitle); + void populated(); protected : QVariant itemChange (GraphicsItemChange change, const QVariant &value) ; @@ -62,6 +75,7 @@ private slots: void indicateLongPress(const QModelIndex& index, QPointF coords); void uiButtonClicked(bool checked); + void cameraButtonClicked(bool checked); private: void addViewConnection(); @@ -69,15 +83,25 @@ void hideorshowitems(Qt::Orientation orient); void scrolltofocus(); void loadGridView(); - + void showHbItems(); + int getSubState(); + void showNoImageString(); + HbMainWindow *mWindow; // no ownership QAbstractItemModel *mModel ; HgWidget *mWidget; // HG Grid Widget QItemSelectionModel *mSelectionModel; // Selected items model GlxModelWrapper *mModelWrapper; // Temp Model Wrapper, so That Role Change not a problem HbPushButton *mUiOnButton; + HbPushButton *mCameraButton; // Camera Button, when item count is zero bool mScrolling; HbIconItem *mIconItem; + HbCheckBox *mMarkCheckBox; // Mark All checkbox + HbLabel *mCountItem; // Item count of the grid + HbLabel *mMainLabel; + HbLabel *mCountLabel; // Marked item count + HbLabel *mZeroItemLabel; // zero itemcount + HbLabel *mAlbumName; }; #endif /* GLXGRIDVIEW_H_ */ diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/gridview/src/glxgridview.cpp --- a/ui/views/gridview/src/glxgridview.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/views/gridview/src/glxgridview.cpp Mon May 17 13:35:26 2010 +0530 @@ -26,13 +26,18 @@ #include #include #include +#include +#include +#include +#include //User Includes #include "glxviewids.h" #include "glxgridview.h" #include "glxmodelparm.h" #include "glxcommandhandlers.hrh" - +#include "glxicondefs.h" +#include "glxlocalisationstrings.h" #include "OstTraceDefinitions.h" #ifdef OST_TRACE_COMPILER_IN_USE @@ -47,8 +52,15 @@ mSelectionModel(NULL), mModelWrapper(NULL), mUiOnButton(NULL), + mCameraButton(NULL), mScrolling(FALSE), - mIconItem(NULL) + mIconItem(NULL), + mMarkCheckBox(NULL), + mCountItem(NULL), + mMainLabel(NULL), + mCountLabel(NULL), + mZeroItemLabel(NULL), + mAlbumName(NULL) { OstTraceFunctionEntry0( GLXGRIDVIEW_GLXGRIDVIEW_ENTRY ); mModelWrapper = new GlxModelWrapper(); @@ -61,20 +73,31 @@ { OstTraceFunctionEntry0( GLXGRIDVIEW_ACTIVATE_ENTRY ); if(mUiOnButton == NULL) { - mUiOnButton = new HbPushButton("UI",this); + mUiOnButton = new HbPushButton(this); connect(mUiOnButton, SIGNAL(clicked(bool)), this, SLOT(uiButtonClicked(bool))); - mUiOnButton->setGeometry(QRectF(610,0,15,15)); + mUiOnButton->setGeometry(QRectF(590,0,40,40)); mUiOnButton->setZValue(1); + mUiOnButton->setIcon(HbIcon(GLXICON_WALL_UI_ON)); mUiOnButton->hide(); } loadGridView(); + connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationchanged(Qt::Orientation)),Qt::UniqueConnection); + if(mCountItem == NULL) { + mCountItem = new HbLabel(this); + HbFrameItem *frame = new HbFrameItem(this); //graphics for mCountItem + frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces); + frame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans"); + frame->graphicsItem()->setOpacity(1); + mCountItem->setBackgroundItem(frame->graphicsItem(),-1); + } OstTraceFunctionExit0( GLXGRIDVIEW_ACTIVATE_EXIT ); } void GlxGridView::deActivate() { OstTraceFunctionEntry0( GLXGRIDVIEW_DEACTIVATE_ENTRY ); - if (mUiOnButton && mUiOnButton->isVisible()) + mScrolling = FALSE; + if (mUiOnButton) { mUiOnButton->hide(); } @@ -85,6 +108,23 @@ mIconItem->setOpacity(0); mIconItem->setZValue(mIconItem->zValue()-20); } + if (mCountItem) + { + mCountItem->hide(); + } + if (mAlbumName) + { + mAlbumName->hide(); + } + if(mZeroItemLabel) + { + mZeroItemLabel->hide(); + } + if(mCameraButton) + { + mCameraButton->hide(); + } + disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationchanged(Qt::Orientation))); OstTraceFunctionExit0( GLXGRIDVIEW_DEACTIVATE_EXIT ); } @@ -94,12 +134,37 @@ setModel(model); } -void GlxGridView::setModel(QAbstractItemModel *model) +void GlxGridView::clearCurrentModel() +{ + if ( mModel ) { + disconnect(mModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(showItemCount())); + disconnect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(showItemCount())); + disconnect(mModel, SIGNAL(destroyed()), this, SLOT( clearCurrentModel())); + disconnect(mModel, SIGNAL(albumTitleAvailable(QString)), this, SLOT(showAlbumTitle(QString))); + disconnect(mModel, SIGNAL(populated()), this, SLOT( populated())); + mModel = NULL ; + } +} + +void GlxGridView::initializeNewModel() +{ + if ( mModel ) { + connect(mModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(showItemCount())); + connect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(showItemCount())); + connect(mModel, SIGNAL(destroyed()), this, SLOT( clearCurrentModel())); + connect(mModel, SIGNAL(albumTitleAvailable(QString)), this, SLOT(showAlbumTitle(QString))); + connect(mModel, SIGNAL(populated()), this, SLOT( populated())); + } +} + +void GlxGridView::setModel(QAbstractItemModel *model) { OstTraceFunctionEntry0( GLXGRIDVIEW_SETMODEL_ENTRY ); if(model) { - mModel = model; + clearCurrentModel(); + mModel = model; + initializeNewModel(); QVariant variantimage = mModel->data(mModel->index(0,0),GlxDefaultImage); if (mWidget && variantimage.isValid() && variantimage.canConvert () ) { @@ -114,6 +179,7 @@ mWidget->setSelectionModel(mSelectionModel); } scrolltofocus(); // Need to do it here ? + showItemCount(); } OstTraceFunctionExit0( GLXGRIDVIEW_SETMODEL_EXIT ); } @@ -142,12 +208,212 @@ { OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ENABLEMARKING, "GlxGridView::enableMarking" ); mWidget->setSelectionMode(HgWidget::MultiSelection); + if (mMainLabel == NULL) { + mMainLabel = new HbLabel("Select Photos", this); + HbFrameItem *frame1 = new HbFrameItem(this); //graphics for mMainLabel + frame1->frameDrawer().setFrameType(HbFrameDrawer::NinePieces); + frame1->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans"); + frame1->graphicsItem()->setOpacity(1); + mMainLabel->setBackgroundItem(frame1->graphicsItem(),-1); + } + if (mMarkCheckBox == NULL) { + mMarkCheckBox = new HbCheckBox(GLX_OPTION_MARK_ALL, this); + HbFrameItem *frame2 = new HbFrameItem(this); //graphics for mMarkCheckBox + frame2->frameDrawer().setFrameType(HbFrameDrawer::NinePieces); + frame2->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans"); + frame2->graphicsItem()->setOpacity(1); + mMarkCheckBox->setBackgroundItem(frame2->graphicsItem(),-1); + } + if (mCountLabel == NULL) { + mCountLabel = new HbLabel(this); + HbFrameItem *frame3 = new HbFrameItem(this); //graphics for mCountLabel + frame3->frameDrawer().setFrameType(HbFrameDrawer::NinePieces); + frame3->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans"); + frame3->graphicsItem()->setOpacity(1); + mCountLabel->setBackgroundItem(frame3->graphicsItem(),-1); + } + + hideorshowitems(mWindow->orientation()); + + connect( mWidget->selectionModel() , SIGNAL( selectionChanged(const QItemSelection &, const QItemSelection& ) ), this, SLOT( showMarkedItemCount() ) ); + connect(mMarkCheckBox, SIGNAL( stateChanged(int) ), this, SLOT( stateChanged(int))); + } void GlxGridView::disableMarking() { OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_DISABLEMARKING, "GlxGridView::disableMarking" ); mWidget->setSelectionMode(HgWidget::NoSelection); + disconnect( mWidget->selectionModel() , SIGNAL( selectionChanged(const QItemSelection &, const QItemSelection& ) ), this, SLOT( showMarkedItemCount() ) ); + disconnect(mMarkCheckBox, SIGNAL( stateChanged(int) ), this, SLOT( stateChanged(int))); + if (mMainLabel) { + mMainLabel->hide(); + } + if (mMarkCheckBox) { + mMarkCheckBox->setCheckState(Qt::Unchecked); + mMarkCheckBox->hide(); + } + if (mCountLabel) { + mCountLabel->hide(); + } + + hideorshowitems(mWindow->orientation()); +} + +void GlxGridView::stateChanged(int state) +{ + if(state) + handleUserAction(EGlxCmdMarkAll); + else + handleUserAction(EGlxCmdUnMarkAll); +} + +void GlxGridView::showMarkedItemCount() +{ + int count = mModel->rowCount(); + QModelIndexList indexList = mWidget->selectionModel()->selectedIndexes(); + int markItemCount = indexList.count(); + + QString text= QString("%1 / %2").arg( markItemCount ).arg( count ); + mCountLabel->setPlainText( text ); +} + +void GlxGridView::showItemCount() +{ + int count = 0; + if(mModel) { + count = mModel->rowCount(); + QSize deviceSize = HbDeviceProfile::current().logicalSize(); + QSize screenSize = ( mWindow->orientation() == Qt::Vertical ) ? QSize( deviceSize.width(), deviceSize.height() ) + : QSize( deviceSize.height(), deviceSize.width() ) ; + if(count) { + if(mZeroItemLabel) { + mZeroItemLabel->hide(); + } + if(mCameraButton) { + mCameraButton->hide(); + } + if(isItemVisible(Hb::TitleBarItem)) { + QString text; + if (getSubState() == ALL_ITEM_S) { + if (mAlbumName) { + mAlbumName->hide(); + } + mCountItem->setGeometry(QRectF(0,0,screenSize.width(),deviceSize.height()/24)); + text = QString("%1 Items").arg( count ); + mCountItem->setPlainText( text ); + mCountItem->setAlignment(Qt::AlignLeft); + mCountItem->show(); + } + else if (getSubState() == ALBUM_ITEM_S) { + mCountItem->hide(); + QVariant variant = mModel->data(mModel->index(0,0),GlxViewTitle); + if (variant.toString() != NULL) { + showAlbumTitle(variant.toString()); + } + } + } + else { + if (mCountItem) { + mCountItem->hide(); + } + if (mAlbumName) { + mAlbumName->hide(); + } + } + + } + else { + bool populated = FALSE; + QVariant variant = mModel->data(mModel->index(0,0),GlxPopulated); + if (variant.isValid() && variant.canConvert() ) + { + populated = variant.value(); + } + if(populated) { + if (mCountItem) { + mCountItem->hide(); + } + if (mAlbumName) { + mAlbumName->hide(); + } + + showNoImageString(); + + if (getSubState() == ALBUM_ITEM_S) { + QVariant variant = mModel->data(mModel->index(0,0),GlxViewTitle); + if (variant.toString() != NULL) { + showAlbumTitle(variant.toString()); + } + } + } + } + } +} + +void GlxGridView::showAlbumTitle(QString aTitle) +{ + int count = mModel->rowCount(); + QSize deviceSize = HbDeviceProfile::current().logicalSize(); + QSize screenSize = ( mWindow->orientation() == Qt::Vertical ) ? QSize( deviceSize.width(), deviceSize.height() ) + : QSize( deviceSize.height(), deviceSize.width() ) ; + if(mAlbumName == NULL) { + mAlbumName = new HbLabel(this); + HbFrameItem *frame = new HbFrameItem(this); //graphics for mAlbumName + frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces); + frame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans"); + frame->graphicsItem()->setOpacity(1); + mAlbumName->setBackgroundItem(frame->graphicsItem(),-1); + } + + if(count && isItemVisible(Hb::TitleBarItem)) { + mAlbumName->setGeometry(QRectF(0,0,screenSize.width()/2,deviceSize.height()/24)); + QString text = QString(aTitle); + mAlbumName->setPlainText( text ); + mAlbumName->show(); + mCountItem->setGeometry(QRectF(screenSize.width()/2,0,screenSize.width()/2,deviceSize.height()/24)); + text = QString("(%1)").arg(count); + mCountItem->setPlainText( text ); + mCountItem->setAlignment(Qt::AlignRight); + mCountItem->show(); + } + else if((!count) && isItemVisible(Hb::TitleBarItem)) { + mAlbumName->setGeometry(QRectF(0,0,screenSize.width(),deviceSize.height()/24)); + QString text = QString(aTitle); + mAlbumName->setPlainText( text ); + mAlbumName->show(); + } +} + +void GlxGridView::showNoImageString() +{ + qreal chromeHeight = 0.0; + QSize deviceSize = HbDeviceProfile::current().logicalSize(); + QSize screenSize = ( mWindow->orientation() == Qt::Vertical ) ? QSize( deviceSize.width(), deviceSize.height() ) + : QSize( deviceSize.height(), deviceSize.width() ) ; + qreal midHeight = screenSize.height()/2; + if (isItemVisible(Hb::TitleBarItem)) { + style()->parameter("hb-param-widget-chrome-height", chromeHeight); + midHeight -= chromeHeight; + } + if (mZeroItemLabel == NULL) { + mZeroItemLabel = new HbLabel("(No Images)\n To capture images Open", this); + } + mZeroItemLabel->setGeometry(QRectF(0, midHeight - deviceSize.height()/16, screenSize.width(), 3*deviceSize.height()/32)); + mZeroItemLabel->setAlignment(Qt::AlignHCenter); + mZeroItemLabel->show(); + if (mCameraButton == NULL) { + mCameraButton = new HbPushButton(this); + mCameraButton->setIcon(HbIcon(GLXICON_CAMERA)); + connect(mCameraButton, SIGNAL(clicked(bool)), this, SLOT(cameraButtonClicked(bool))); + } + mCameraButton->setGeometry(QRectF(screenSize.width()/2 - 3*deviceSize.height()/64, midHeight + deviceSize.height()/32, deviceSize.height()/32, deviceSize.height()/32)); + mCameraButton->show(); +} + +void GlxGridView::populated() +{ + showItemCount(); } void GlxGridView::handleUserAction(qint32 commandId) @@ -239,10 +505,9 @@ mWidget = new HgGrid(orient); mWidget->setLongPressEnabled(true); mWidget->setScrollBarPolicy(HgWidget::ScrollBarAutoHide); - //mWidget->setItemSize(QSizeF(120,120)); setWidget( mWidget ); addViewConnection(); - //hideorshowitems(orient); + hideorshowitems(orient); } OstTraceFunctionExit0( GLXGRIDVIEW_LOADGRIDVIEW_EXIT ); } @@ -253,22 +518,46 @@ } void GlxGridView::hideorshowitems(Qt::Orientation orient) { - if(orient == Qt::Horizontal) - { - if (mUiOnButton) + if (mWidget->selectionMode() == HgWidget::NoSelection) { + if(orient == Qt::Horizontal) { - mUiOnButton->show(); + setItemVisible(Hb::AllItems, FALSE) ; + setViewFlags(viewFlags() | HbView::ViewTitleBarHidden | HbView::ViewStatusBarHidden); + showItemCount(); + if (mUiOnButton) + { + mUiOnButton->show(); + } } - setItemVisible(Hb::AllItems, FALSE) ; + else + { + showHbItems(); + } + } + + if (mWidget->selectionMode() == HgWidget::MultiSelection) { + setItemVisible(Hb::TitleBarItem, FALSE) ; + if (mUiOnButton) { + mUiOnButton->hide(); } - else - { - if (mUiOnButton) - { - mUiOnButton->hide(); - } - setItemVisible(Hb::AllItems, TRUE) ; + if (mCountItem) { + mCountItem->hide(); + } + if (mAlbumName) { + mAlbumName->hide(); } + QSize deviceSize = HbDeviceProfile::current().logicalSize(); + QSize screenSize = ( mWindow->orientation() == Qt::Vertical ) ? QSize( deviceSize.width(), deviceSize.height() ) + : QSize( deviceSize.height(), deviceSize.width() ) ; + mMainLabel->setGeometry(QRectF(0,0,screenSize.width(),deviceSize.height()/24)); + mMarkCheckBox->setGeometry(QRectF(0,deviceSize.height()/24,screenSize.width()/2,deviceSize.height()/72)); + mCountLabel->setGeometry(QRectF(screenSize.width()/2,deviceSize.height()/24,screenSize.width()/2,deviceSize.height()/12 - 3)); + mCountLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter); + mMainLabel->show(); + mMarkCheckBox->show(); + mCountLabel->show(); + showMarkedItemCount(); + } } void GlxGridView::scrolltofocus() @@ -298,7 +587,6 @@ void GlxGridView::addViewConnection() { OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ADDVIEWCONNECTION, "GlxGridView::addViewConnection" ); - 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 &))); @@ -312,7 +600,6 @@ OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_REMOVEVIEWCONNECTION, "GlxGridView::removeViewConnection" ); 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 &))); @@ -346,16 +633,32 @@ void GlxGridView::scrollingStarted() { - if ((mWindow->orientation() == Qt::Horizontal)) + if ((mWindow->orientation() == Qt::Horizontal) && mWidget->selectionMode() == HgWidget::NoSelection) { setItemVisible(Hb::AllItems, FALSE) ; - } + setViewFlags(viewFlags() | HbView::ViewTitleBarHidden | HbView::ViewStatusBarHidden); + if (mUiOnButton) + { + mUiOnButton->hide(); + } + if (mCountItem) { + mCountItem->hide(); + } + if (mAlbumName) { + mAlbumName->hide(); + } + } + mScrolling = TRUE; } void GlxGridView::scrollingEnded() { mScrolling = FALSE; + if (mUiOnButton && (mWindow->orientation() == Qt::Horizontal)) + { + mUiOnButton->show(); + } QList visibleIndex = mWidget->getVisibleItemIndices(); if (visibleIndex.count() <= 0) { @@ -369,6 +672,7 @@ if(mModel) { mModel->setData( index, index.row(), GlxVisualWindowIndex); + mModel->setData( index, index.row(), GlxFocusIndexRole ); } } @@ -387,7 +691,17 @@ disconnect(mUiOnButton, SIGNAL(clicked(bool)), this, SLOT(uiButtonClicked(bool))); delete mUiOnButton; } + if(mCameraButton) { + disconnect(mCameraButton, SIGNAL(clicked()), this, SLOT(cameraButtonClicked())); + delete mCameraButton; + } delete mIconItem; + delete mCountItem; + delete mAlbumName; + delete mMainLabel; + delete mMarkCheckBox; + delete mCountLabel; + delete mZeroItemLabel; OstTraceFunctionExit0( DUP1_GLXGRIDVIEW_GLXGRIDVIEW_EXIT ); } @@ -408,13 +722,34 @@ void GlxGridView::uiButtonClicked(bool /*checked*/) { - if (isItemVisible(Hb::TitleBarItem)) // W16 All item is Not Working , So Temp Fix + showHbItems(); +} + +void GlxGridView::showHbItems() +{ + setItemVisible(Hb::AllItems, TRUE) ; + setViewFlags(viewFlags() &~ HbView::ViewTitleBarHidden &~ HbView::ViewStatusBarHidden); + showItemCount(); + toolBar()->resetTransform(); // Temp, this is for HbToolbar issue to get fixed + toolBar()->show(); + if (mUiOnButton) { - setItemVisible(Hb::AllItems, FALSE) ; - } - else - { - setItemVisible(Hb::AllItems, TRUE) ; + mUiOnButton->hide(); } } +void GlxGridView::cameraButtonClicked(bool /*checked*/) +{ + emit actionTriggered(EGlxCmdCameraOpen); +} + +int GlxGridView::getSubState() +{ + int substate = NO_GRID_S; + QVariant variant = mModel->data( mModel->index(0,0), GlxSubStateRole ); + if ( variant.isValid() && variant.canConvert () ) { + substate = variant.value(); + } + return substate; +} + diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/slideshowview/inc/glxslideshowview.h --- a/ui/views/slideshowview/inc/glxslideshowview.h Mon May 03 16:56:16 2010 +0530 +++ b/ui/views/slideshowview/inc/glxslideshowview.h Mon May 17 13:35:26 2010 +0530 @@ -52,7 +52,7 @@ void modelDestroyed(); protected : - bool event(QEvent *event); + bool eventFilter(QObject *obj, QEvent *ev); private: void loadObjects(); diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/slideshowview/src/glxslideshowview.cpp --- a/ui/views/slideshowview/src/glxslideshowview.cpp Mon May 03 16:56:16 2010 +0530 +++ b/ui/views/slideshowview/src/glxslideshowview.cpp Mon May 17 13:35:26 2010 +0530 @@ -19,6 +19,7 @@ //Includes #include #include +#include #include #include @@ -67,10 +68,13 @@ //finds the widgets from the docml loadObjects(); - setItemVisible(Hb::AllItems, false) ; + setTitleBarVisible(FALSE); + setStatusBarVisible(FALSE); connect( mSlideShowWidget, SIGNAL( slideShowEvent( GlxSlideShowEvent ) ), this, SLOT( slideShowEventHandler( GlxSlideShowEvent ) ) ); connect( mSlideShowWidget, SIGNAL( indexchanged() ), this, SLOT( indexchanged() ) ); + QCoreApplication::instance()->installEventFilter(this); + if (!mTvOutWrapper) { mTvOutWrapper = new GlxTvOutWrapper(); } @@ -81,12 +85,17 @@ TRACER("GlxSlideShowView::deActivate()"); mWindow->unsetOrientation(true); // Actually it is animation false, Hack for Bug in Media wall -todo- need to Address this ASAP - setItemVisible( Hb::AllItems , TRUE ); + setStatusBarVisible(TRUE); + setTitleBarVisible(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(); + QCoreApplication::instance()->removeEventFilter(this); + if (mTvOutWrapper){ delete mTvOutWrapper; mTvOutWrapper = NULL; @@ -141,11 +150,13 @@ GLX_LOG_INFO1("GlxSlideShowView::slideShowEventHandler() event %d", e); switch ( e ) { case UI_ON_EVENT : - setItemVisible(Hb::AllItems, TRUE) ; + setTitleBarVisible(TRUE); + setStatusBarVisible(TRUE); break; case UI_OFF_EVENT : - setItemVisible(Hb::AllItems, false) ; + setTitleBarVisible(FALSE); + setStatusBarVisible(FALSE); break; case EMPTY_DATA_EVENT : @@ -173,24 +184,25 @@ } } -bool GlxSlideShowView::event(QEvent *event) +bool GlxSlideShowView::eventFilter(QObject *obj, QEvent *event) { TRACER("GlxSlideShowView::event()"); GLX_LOG_INFO1("GlxSlideShowView::event() %d event type", event->type()); - if ( event->type() == QEvent::WindowActivate && mSlideShowWidget) { + if ( event->type() == QEvent::ApplicationActivate && mSlideShowWidget) { if (mTvOutWrapper){ + GLX_LOG_INFO("GlxSlideShowView::event() shift to native - CGlxHdmi"); mTvOutWrapper->setToNativeMode(); } mSlideShowWidget->startSlideShow(); } - - if ( event->type() == QEvent::WindowDeactivate && mSlideShowWidget) { + if ( event->type() == QEvent::ApplicationDeactivate && mSlideShowWidget) { if (mTvOutWrapper){ + GLX_LOG_INFO("GlxSlideShowView::event() shift to Clone - CGlxHdmi"); mTvOutWrapper->setToCloningMode(); } mSlideShowWidget->stopSlideShow(); } - return HbView::event(event); + return HbView::eventFilter(obj,event); } void GlxSlideShowView::loadObjects() diff -r ae07d189b490 -r 5e1df1b52eb3 ui/views/views.pro --- a/ui/views/views.pro Mon May 03 16:56:16 2010 +0530 +++ b/ui/views/views.pro Mon May 17 13:35:26 2010 +0530 @@ -61,8 +61,7 @@ HEADERS += viewbase/inc/glxview.h \ fullscreenview/inc/glxcoverflow.h \ fullscreenview/inc/glxfullscreenview.h \ - fullscreenview/inc/glxzoomslider.h \ - fullscreenview/inc/glxzoomcontrol.h \ + fullscreenview/inc/glxzoomwidget.h \ detailsview/inc/glxdetailsview.h \ detailsview/inc/glxdetailscustomwidgets.h \ detailsview/inc/glxdetailscustomicon.h \ @@ -82,9 +81,8 @@ SOURCES += viewbase/src/glxview.cpp \ fullscreenview/src/glxcoverflow.cpp \ fullscreenview/src/glxfullscreenview.cpp \ - fullscreenview/src/glxzoomslider.cpp \ - fullscreenview/src/glxzoomcontrol.cpp \ - detailsview/src/glxdetailsview.cpp \ + fullscreenview/src/glxzoomwidget.cpp \ + detailsview/src/glxdetailsview.cpp \ detailsview/src/glxdetailscustomwidgets.cpp \ detailsview/src/glxdetailscustomicon.cpp \ gridview/src/glxgridview.cpp \