--- a/commonutilities/bwins/glximagedecoderwrapperu.def Fri May 14 15:52:22 2010 +0300
+++ b/commonutilities/bwins/glximagedecoderwrapperu.def Thu May 27 12:51:42 2010 +0300
@@ -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)
--- a/commonutilities/common/bwins/glxcommonu.def Fri May 14 15:52:22 2010 +0300
+++ b/commonutilities/common/bwins/glxcommonu.def Thu May 27 12:51:42 2010 +0300
@@ -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 *)
--- a/commonutilities/common/eabi/glxcommonu.def Fri May 14 15:52:22 2010 +0300
+++ b/commonutilities/common/eabi/glxcommonu.def Thu May 27 12:51:42 2010 +0300
@@ -45,4 +45,7 @@
_ZN18TGlxCommandFactory28RemoveFromContainerCommandLCERK18CMPXCollectionPath @ 44 NONAME
_ZN21CGlxResourceUtilities20GetResourceFilenameLER4TBufILi256EE @ 45 NONAME
_ZN21CGlxResourceUtilities20GetResourceFilenameLER4TBufILi256EER3RFs @ 46 NONAME
+ _ZN13CGlxTNMonitor4NewLEP14MGlxTNObserver @ 47 NONAME
+ _ZTI13CGlxTNMonitor @ 48 NONAME
+ _ZTV13CGlxTNMonitor @ 49 NONAME
--- a/commonutilities/common/group/glxcommon.mmp Fri May 14 15:52:22 2010 +0300
+++ b/commonutilities/common/group/glxcommon.mmp Thu May 27 12:51:42 2010 +0300
@@ -48,6 +48,7 @@
SOURCE glxresourceutilities.cpp
SOURCE glxsettingsmodel.cpp
SOURCE glxsingletonstore.cpp
+SOURCE glxtnmonitor.cpp
LIBRARY bafl.lib
LIBRARY centralrepository.lib
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commonutilities/common/inc/glxtnmonitor.h Thu May 27 12:51:42 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef PLUGINSCREENSAVERMONITORAO_H_
+#define PLUGINSCREENSAVERMONITORAO_H_
+
+#include <e32base.h>
+#include <e32property.h>
+
+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
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commonutilities/common/src/glxtnmonitor.cpp Thu May 27 12:51:42 2010 +0300
@@ -0,0 +1,105 @@
+/*
+* Copyright (c) 2006-2007 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:
+*
+*/
+
+
+#include "glxtnmonitor.h"
+#include <glxlog.h>
+
+//#include <ScreenSaverInternalPSKeys.h>
+#include <e32debug.h>
+
+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;
+}
+
+
--- a/commonutilities/imagedecoderwrapper/inc/glximagedecoder.h Fri May 14 15:52:22 2010 +0300
+++ b/commonutilities/imagedecoderwrapper/inc/glximagedecoder.h Thu May 27 12:51:42 2010 +0300
@@ -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:
--- a/commonutilities/imagedecoderwrapper/inc/glximagedecoderwrapper.h Fri May 14 15:52:22 2010 +0300
+++ b/commonutilities/imagedecoderwrapper/inc/glximagedecoderwrapper.h Thu May 27 12:51:42 2010 +0300
@@ -35,7 +35,7 @@
*/
GlxImageDecoderWrapper();
~GlxImageDecoderWrapper();
- void decodeImage(QString sourcePath);
+ QSizeF decodeImage(QString sourcePath);
QPixmap getPixmap();
void resetDecoder();
void decodedImageAvailable();
--- a/commonutilities/imagedecoderwrapper/src/glximagedecoder.cpp Fri May 14 15:52:22 2010 +0300
+++ b/commonutilities/imagedecoderwrapper/src/glximagedecoder.cpp Thu May 27 12:51:42 2010 +0300
@@ -21,6 +21,7 @@
#include <bitmaptransforms.h>
#include <imageconversion.h>
#include <IclExtJpegApi.h> // For CExtJpegDecoder
+#include <e32math.h>
// ---------------------------------------------------------------------------
@@ -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<const TUint16*>(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();
}
// ---------------------------------------------------------------------------
--- a/commonutilities/imagedecoderwrapper/src/glximagedecoderwrapper.cpp Fri May 14 15:52:22 2010 +0300
+++ b/commonutilities/imagedecoderwrapper/src/glximagedecoderwrapper.cpp Thu May 27 12:51:42 2010 +0300
@@ -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()
Binary file data/Image1.jpg has changed
Binary file data/Image10.jpg has changed
Binary file data/Image2.jpg has changed
Binary file data/Image3.jpg has changed
Binary file data/Image4.jpg has changed
Binary file data/Image5.jpg has changed
Binary file data/Image6.jpg has changed
Binary file data/Image7.jpg has changed
Binary file data/Image8.jpg has changed
Binary file data/Image9.jpg has changed
--- a/data/fullscreen.docml Fri May 14 15:52:22 2010 +0300
+++ b/data/fullscreen.docml Thu May 27 12:51:42 2010 +0300
@@ -3,9 +3,9 @@
<widget name="mGlxFullscreenView" type="HbView">
<widget name="mcontent" role="HbView:widget" type="HbWidget">
<widget name="mCoverFlow" type="HbWidget">
- <enums name="alignment" value="AlignLeft|AlignTop|AlignLeading"/>
- <enums name="scrollDirections" value="Horizontal"/>
<real name="z" value="5"/>
+ <string name="alignment" value="AlignLeft|AlignTop|AlignLeading"/>
+ <string name="scrollDirections" value="Horizontal"/>
<bool name="frictionEnabled" value="TRUE"/>
</widget>
<widget name="mImageStrip" type="HbGridView">
@@ -20,11 +20,18 @@
<integer name="rowCount" value="1"/>
</widget>
<widget name="toolBar" type="HbToolBar">
- <enums name="layoutDirection" value="LeftToRight"/>
+ <enums name="layoutDirection" value="RightToLeft"/>
<real name="z" value="7"/>
<sizehint height="60.44776un" type="PREFERRED" width="9.40299un"/>
<enums name="orientation" value="Vertical"/>
+ <real name="opacity" value="0.5"/>
</widget>
+ <widget name="glxZoomWidget" type="HbWidget">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <enums name="scrollDirections" value="Horizontal|Vertical"/>
+ <bool name="frictionEnabled" value="TRUE"/>
+ </widget>
+
<string name="toolTipText" value=""/>
<bool name="visible" value="TRUE"/>
<layout type="anchor">
@@ -38,12 +45,20 @@
<anchoritem dst="mImageStrip" dstEdge="BOTTOM" spacing="var(hb-param-margin-view-bottom)" src="" srcEdge="BOTTOM"/>
<anchoritem dst="toolBar" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
<anchoritem dst="toolBar" dstEdge="TOP" spacing="17.46269un" src="" srcEdge="TOP"/>
- </layout>
+ <anchoritem dst="glxZoomWidget" dstEdge="LEFT" spacing="var(hb-param-margin-view-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="glxZoomWidget" dstEdge="TOP" spacing="var(hb-param-margin-view-top)" src="" srcEdge="TOP"/>
+ <anchoritem dst="glxZoomWidget" dstEdge="RIGHT" spacing="var(hb-param-margin-view-right)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="glxZoomWidget" dstEdge="BOTTOM" spacing="var(hb-param-margin-view-bottom)" src="" srcEdge="BOTTOM"/>
+ </layout>
</widget>
<string name="title" value="Photos"/>
<bool name="contentFullScreen" value="TRUE"/>
+ <enums name="titleBarFlags" value="TitleBarHidden|TitleBarTransparent"/>
</widget>
<section name="portrait">
+ <widget name="toolBar" type="HbToolBar">
+ <sizehint height="58.50746un" type="PREFERRED" width="9.40299un"/>
+ </widget>
<widget name="mImageStrip" type="HbGridView">
<integer name="columnCount" value="4"/>
<integer name="rowCount" value="1"/>
@@ -60,17 +75,21 @@
<anchoritem dst="mImageStrip" dstEdge="BOTTOM" spacing="var(hb-param-margin-view-bottom)" src="" srcEdge="BOTTOM"/>
<anchoritem dst="toolBar" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
<anchoritem dst="toolBar" dstEdge="TOP" spacing="18.13433un" src="" srcEdge="TOP"/>
+ <anchoritem dst="glxZoomWidget" dstEdge="LEFT" spacing="var(hb-param-margin-view-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="glxZoomWidget" dstEdge="TOP" spacing="var(hb-param-margin-view-top)" src="" srcEdge="TOP"/>
+ <anchoritem dst="glxZoomWidget" dstEdge="RIGHT" spacing="var(hb-param-margin-view-right)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="glxZoomWidget" dstEdge="BOTTOM" spacing="var(hb-param-margin-view-bottom)" src="" srcEdge="BOTTOM"/>
</layout>
</widget>
- <widget name="toolBar" type="HbToolBar">
- <sizehint height="58.50746un" type="PREFERRED" width="9.40299un"/>
- </widget>
</section>
<section name="landscape">
<widget name="mGlxFullscreenView" type="HbView">
<real name="z" value="0"/>
<string name="HbVkbHost" value=""/>
</widget>
+ <widget name="toolBar" type="HbToolBar">
+ <sizehint height="46.71642un" type="PREFERRED" width="9.4427un"/>
+ </widget>
<widget name="mImageStrip" type="HbGridView">
<integer name="columnCount" value="6"/>
<integer name="rowCount" value="1"/>
@@ -89,13 +108,14 @@
<anchoritem dst="toolBar" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
<anchoritem dst="toolBar" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
<anchoritem dst="toolBar" dstEdge="RIGHT" spacing="0un" src="mImageStrip" srcEdge="LEFT"/>
+ <anchoritem dst="glxZoomWidget" dstEdge="LEFT" spacing="var(hb-param-margin-view-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="glxZoomWidget" dstEdge="TOP" spacing="var(hb-param-margin-view-top)" src="" srcEdge="TOP"/>
+ <anchoritem dst="glxZoomWidget" dstEdge="RIGHT" spacing="var(hb-param-margin-view-right)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="glxZoomWidget" dstEdge="BOTTOM" spacing="var(hb-param-margin-view-bottom)" src="" srcEdge="BOTTOM"/>
</layout>
</widget>
- <widget name="toolBar" type="HbToolBar">
- <sizehint height="46.71642un" type="PREFERRED" width="9.4427un"/>
- </widget>
</section>
- <metadata activeUIState="portrait" display="NHD portrait" unit="un">
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
<uistate name="Common ui state" sections="#common"/>
<uistate name="portrait" sections="#common portrait"/>
<uistate name="landscape" sections="#common landscape"/>
--- a/data/opacity_activate.fxml Fri May 14 15:52:22 2010 +0300
+++ b/data/opacity_activate.fxml Thu May 27 12:51:42 2010 +0300
@@ -1,14 +1,12 @@
-<layers>
-<visual>
-
-<param name="opacity" type="anim">
-<duration>2.0</duration>
-<style>linear</style>
-<keyframe at="0.0">0</keyframe>
-<keyframe at="0.5">0.75</keyframe>
-<keyframe at="1.0">1.0</keyframe>
-</param>
-
-</visual>
+<?xml version="1.0" encoding="UTF-8"?>
+<layers >
+ <visual>
+ <param name="opacity" type="anim">
+ <style>linear</style>
+ <duration>1.0</duration>
+ <keyframe at="0.0">0.0</keyframe>
+ <keyframe at="1.0">1.0</keyframe>
+ </param>
+ </visual>
</layers>
--- a/data/opacity_deactivate.fxml Fri May 14 15:52:22 2010 +0300
+++ b/data/opacity_deactivate.fxml Thu May 27 12:51:42 2010 +0300
@@ -1,13 +1,12 @@
-<layers>
-<visual>
-<param name="opacity" type="anim">
-<duration>2.0</duration>
-<style>linear</style>
-<keyframe at="0.0">1.0</keyframe>
-<keyframe at="0.5">0.25</keyframe>
-<keyframe at="1.0">0</keyframe>
-</param>
-
-</visual>
+<?xml version="1.0" encoding="UTF-8"?>
+<layers >
+ <visual>
+ <param name="opacity" type="anim">
+ <style>linear</style>
+ <duration>1.0</duration>
+ <keyframe at="0.0">1.0</keyframe>
+ <keyframe at="1.0">0.0</keyframe>
+ </param>
+ </visual>
</layers>
--- a/data/slideshow.docml Fri May 14 15:52:22 2010 +0300
+++ b/data/slideshow.docml Thu May 27 12:51:42 2010 +0300
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<hbdocument version="0.9">
+<hbdocument version="1.0">
<widget name="mglxslideshow" type="HbView">
<widget name="content" role="HbView:widget" type="HbWidget">
<widget name="mslideshowwidget" type="HbWidget">
- <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
- <enums name="scrollDirections" value="Horizontal"/>
<real name="z" value="14"/>
<sizehint height="95.52239un" type="PREFERRED" width="53.73134un"/>
+ <string name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <string name="scrollDirections" value="Horizontal"/>
</widget>
<widget name="mContinueButton" type="HbPushButton">
<real name="z" value="10"/>
@@ -29,6 +29,7 @@
<string name="title" value="Photos"/>
<bool name="contentFullScreen" value="TRUE"/>
<real name="z" value="10"/>
+ <enums name="titleBarFlags" value="TitleBarHidden|TitleBarTransparent"/>
</widget>
<metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
<uistate name="Common ui state" sections="#common"/>
--- a/engine/collectionframework/group/bld.inf Fri May 14 15:52:22 2010 +0300
+++ b/engine/collectionframework/group/bld.inf Thu May 27 12:51:42 2010 +0300
@@ -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
-
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gallery/gallery.pro Thu May 27 12:51:42 2010 +0300
@@ -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 <gallery/sis/bld_stub.inf>"
+BLD_INF_RULES.prj_platforms += myextension
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gallery/sis/bld_stub.inf Thu May 27 12:51:42 2010 +0300
@@ -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
+
--- a/gallery/sis/createsis.bat Fri May 14 15:52:22 2010 +0300
+++ b/gallery/sis/createsis.bat Thu May 27 12:51:42 2010 +0300
@@ -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
--- a/gallery/sis/createsis_udeb.bat Fri May 14 15:52:22 2010 +0300
+++ /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
--- a/gallery/sis/glxgallery.pkg Fri May 14 15:52:22 2010 +0300
+++ /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"
Binary file gallery/sis/glxgallery.sis has changed
Binary file gallery/sis/glxgallery.sisx has changed
--- a/gallery/sis/glxgallery_stub.mk Fri May 14 15:52:22 2010 +0300
+++ /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 =============================================================
--- a/gallery/sis/glxgallery_stub.pkg Fri May 14 15:52:22 2010 +0300
+++ /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"
Binary file gallery/sis/glxgallery_stub.sis has changed
--- a/gallery/sis/glxgallery_udeb.pkg Fri May 14 15:52:22 2010 +0300
+++ /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"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gallery/sis/photos.pkg Thu May 27 12:51:42 2010 +0300
@@ -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"
+
+
Binary file gallery/sis/photos.sis has changed
Binary file gallery/sis/photos.sisx has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gallery/sis/photos_stub.pkg Thu May 27 12:51:42 2010 +0300
@@ -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"
+
+
Binary file gallery/sis/photos_stub.sis has changed
--- a/gallery/sis/photosqt_stub.pkg Fri May 14 15:52:22 2010 +0300
+++ /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"
Binary file gallery/sis/photosqt_stub.sis has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gallery/sis/readme.txt Thu May 27 12:51:42 2010 +0300
@@ -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
--- a/inc/glxlocalisationstrings.h Fri May 14 15:52:22 2010 +0300
+++ b/inc/glxlocalisationstrings.h Thu May 27 12:51:42 2010 +0300
@@ -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_ */
--- a/main/glxaiwservicehandler.cpp Fri May 14 15:52:22 2010 +0300
+++ b/main/glxaiwservicehandler.cpp Thu May 27 12:51:42 2010 +0300
@@ -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<const TUint16*> (filepath.utf16()));
HBufC* uri = str.Alloc();
--- a/photos.pro Fri May 14 15:52:22 2010 +0300
+++ b/photos.pro Thu May 27 12:51:42 2010 +0300
@@ -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 <platform_paths.hrh>" \
"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" \
--- a/photos.qrc Fri May 14 15:52:22 2010 +0300
+++ b/photos.qrc Thu May 27 12:51:42 2010 +0300
@@ -25,5 +25,15 @@
<file>data/listview.docml</file>
<file>data/fullscreen.docml</file>
<file>data/slideshow.docml</file>
- </qresource>
+ <file>data/Image1.jpg</file>
+ <file>data/Image2.jpg</file>
+ <file>data/Image3.jpg</file>
+ <file>data/Image4.jpg</file>
+ <file>data/Image5.jpg</file>
+ <file>data/Image6.jpg</file>
+ <file>data/Image7.jpg</file>
+ <file>data/Image8.jpg</file>
+ <file>data/Image9.jpg</file>
+ <file>data/Image10.jpg</file>
+ </qresource>
</RCC>
--- a/rom/photos.iby Fri May 14 15:52:22 2010 +0300
+++ b/rom/photos.iby Thu May 27 12:51:42 2010 +0300
@@ -20,17 +20,15 @@
#include <bldvariant.hrh>
#include <data_caging_paths_for_iby.hrh>
-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
--- a/tvout/tvoutengine/bwins/glxtvoutu.def Fri May 14 15:52:22 2010 +0300
+++ b/tvout/tvoutengine/bwins/glxtvoutu.def Thu May 27 12:51:42 2010 +0300
@@ -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)
--- a/tvout/tvoutengine/eabi/glxtvoutu.def Fri May 14 15:52:22 2010 +0300
+++ b/tvout/tvoutengine/eabi/glxtvoutu.def Thu May 27 12:51:42 2010 +0300
@@ -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
--- a/tvout/tvoutengine/group/bld.inf Fri May 14 15:52:22 2010 +0300
+++ b/tvout/tvoutengine/group/bld.inf Thu May 27 12:51:42 2010 +0300
@@ -23,11 +23,5 @@
#include <platform_paths.hrh>
-PRJ_EXPORTS
-../rom/glxtvout.iby CORE_APP_LAYER_IBY_EXPORT_PATH(glxtvout.iby)
-
PRJ_MMPFILES
glxtvout.mmp
-
-PRJ_TESTMMPFILES
-//../tsrc/group/t_glxtvout.mmp
--- a/tvout/tvoutengine/inc/glxhdmicontroller.h Fri May 14 15:52:22 2010 +0300
+++ b/tvout/tvoutengine/inc/glxhdmicontroller.h Thu May 27 12:51:42 2010 +0300
@@ -19,17 +19,14 @@
#define GLXHDMICONTROLLER_H_
// Internal includes
-#include <mglxtvobserver.h> // 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_ */
--- a/tvout/tvoutengine/inc/glxtvconnectionmonitor.h Fri May 14 15:52:22 2010 +0300
+++ b/tvout/tvoutengine/inc/glxtvconnectionmonitor.h Thu May 27 12:51:42 2010 +0300
@@ -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
--- a/tvout/tvoutengine/rom/glxtvout.iby Fri May 14 15:52:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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: Photos TV Out iby file.
-*
-*/
-
-
-
-
-#ifndef __GLX_TVOUT_IBY__
-#define __GLX_TVOUT_IBY__
-
-file=ABI_DIR\BUILD_DIR\glxtvout.dll SHARED_LIB_DIR\glxtvout.dll
-
-#endif // __GLX_TVOUT_IBY__
-
-// End of file
------------------------------------------------------------
\ No newline at end of file
--- a/tvout/tvoutengine/src/glxhdmicontroller.cpp Fri May 14 15:52:22 2010 +0300
+++ b/tvout/tvoutengine/src/glxhdmicontroller.cpp Thu May 27 12:51:42 2010 +0300
@@ -19,7 +19,7 @@
#include <alf/alfutil.h>
#include <glxtracer.h>
#include <glxlog.h>
-#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();
- }
- }
- }
-
--- a/tvout/tvoutengine/src/glxtvconnectionmonitor.cpp Fri May 14 15:52:22 2010 +0300
+++ b/tvout/tvoutengine/src/glxtvconnectionmonitor.cpp Thu May 27 12:51:42 2010 +0300
@@ -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 <count; index++)
+ for (TInt index = 0; index < count; index++)
{
- TAccPolGenericID genId = iCurrentAccArray.GetGenericIDL(index);
- // Get all supported capabilities for this connected accessory.
- iTvAccCon.GetSubblockNameArrayL(genId, *nameArray);
+ const TAccPolGenericID genId = iCurrentAccArray.GetGenericIDL(index);
// Check if this connected accessory supports TV-Out capabality.
GLX_LOG_INFO1("CGlxTvConnectionMonitor::UpdateConnectionStatusL current index value is %d",index);
- if (nameArray->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);
}
--- a/tvout/tvoutwrapper/inc/glxtvconnectionobserver.h Fri May 14 15:52:22 2010 +0300
+++ b/tvout/tvoutwrapper/inc/glxtvconnectionobserver.h Thu May 27 12:51:42 2010 +0300
@@ -38,6 +38,12 @@
* destructor
*/
~CGlxConnectionObserver();
+
+ /*
+ * IsHdmiConnected()
+ */
+ TBool IsHdmiConnected();
+
private:
/*
* ConstructL
--- a/tvout/tvoutwrapper/inc/glxtvoutwrapper_p.h Fri May 14 15:52:22 2010 +0300
+++ b/tvout/tvoutwrapper/inc/glxtvoutwrapper_p.h Thu May 27 12:51:42 2010 +0300
@@ -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
--- a/tvout/tvoutwrapper/src/glxtvconnectionobserver.cpp Fri May 14 15:52:22 2010 +0300
+++ b/tvout/tvoutwrapper/src/glxtvconnectionobserver.cpp Thu May 27 12:51:42 2010 +0300
@@ -19,12 +19,15 @@
#include "glxtvconnectionobserver.h"
#include "glxtvoutwrapper_p.h"
+#include <glxtracer.h>
+#include <glxlog.h>
// -----------------------------------------------------------------------------
// 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();
+ }
--- a/tvout/tvoutwrapper/src/glxtvoutwrapper_p.cpp Fri May 14 15:52:22 2010 +0300
+++ b/tvout/tvoutwrapper/src/glxtvoutwrapper_p.cpp Thu May 27 12:51:42 2010 +0300
@@ -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<int>()) {
focusIndex = (focusVariant.value<int>());
+ 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<CFbsBitmap*>();
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();
}
}
--- a/tvout/tvoutwrapper/tvoutwrapper.pro Fri May 14 15:52:22 2010 +0300
+++ b/tvout/tvoutwrapper/tvoutwrapper.pro Thu May 27 12:51:42 2010 +0300
@@ -24,6 +24,7 @@
CONFIG += hb
LIBS += -lglxtvout.dll \
+ -lglxlogging.dll \
DEFINES += BUILD_TVOUTWRAPPER
--- a/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlersend.h Fri May 14 15:52:22 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlersend.h Thu May 27 12:51:42 2010 +0300
@@ -21,6 +21,7 @@
#include "glxmodelcommandhandler.h"
#include <QList>
#include <QString>
+class ShareUi;
#ifdef BUILD_COMMONCOMMANDHANDLERS
@@ -36,5 +37,7 @@
GlxCommandHandlerSend();
~GlxCommandHandlerSend();
void doHandleUserAction(GlxMediaModel* model,QList<QModelIndex> indexList)const ;
+private:
+ ShareUi *mSendUiDialog;
};
#endif // GLXCOMMANDHANDLERSEND_H
--- a/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlersend.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlersend.cpp Thu May 27 12:51:42 2010 +0300
@@ -24,13 +24,14 @@
GlxCommandHandlerSend::GlxCommandHandlerSend()
{
-
+ mSendUiDialog = new ShareUi();
}
GlxCommandHandlerSend::~GlxCommandHandlerSend()
{
-
+ delete mSendUiDialog;
+ mSendUiDialog =NULL;
}
void GlxCommandHandlerSend::doHandleUserAction(GlxMediaModel* model,QList<QModelIndex> indexList) const
@@ -51,8 +52,7 @@
imagePath = (model->data(indexList[i],GlxUriRole)).value<QString>();
fileList.append(QVariant(imagePath));
}
- }
- ShareUi dialog;
- dialog.init(fileList,true);
+ }
+ mSendUiDialog->init(fileList,true);
}
--- a/ui/inc/glxdocloaderdefs.h Fri May 14 15:52:22 2010 +0300
+++ b/ui/inc/glxdocloaderdefs.h Thu May 27 12:51:42 2010 +0300
@@ -27,6 +27,7 @@
#define GLXFULLSCREEN_TOOLBAR "toolBar"
#define GLXFULLSCREENLSSECTION "landscape"
#define GLXFULLSCREENPTSECTION "portrait"
+#define GLXFULLSCREENZOOMWIDGET "glxZoomWidget"
#define GLXFULLSCREENDOCMLPATH ":/data/fullscreen.docml"
//SLIDE SHOW
--- a/ui/inc/glxicondefs.h Fri May 14 15:52:22 2010 +0300
+++ b/ui/inc/glxicondefs.h Thu May 27 12:51:42 2010 +0300
@@ -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 */
--- a/ui/inc/glxmodelparm.h Fri May 14 15:52:22 2010 +0300
+++ b/ui/inc/glxmodelparm.h Thu May 27 12:51:42 2010 +0300
@@ -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
};
--- a/ui/uiengine/bwins/glxmedialistwrapperu.def Fri May 14 15:52:22 2010 +0300
+++ b/ui/uiengine/bwins/glxmedialistwrapperu.def Thu May 27 12:51:42 2010 +0300
@@ -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)
--- a/ui/uiengine/eabi/glxmedialistwrapperu.def Fri May 14 15:52:22 2010 +0300
+++ b/ui/uiengine/eabi/glxmedialistwrapperu.def Thu May 27 12:51:42 2010 +0300
@@ -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
--- a/ui/uiengine/medialists/src/glxmedialist.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/uiengine/medialists/src/glxmedialist.cpp Thu May 27 12:51:42 2010 +0300
@@ -1494,8 +1494,8 @@
if (!iIsPopulated)
{
TListPopulatedNotificationStrategy strategy( *this );
+ iIsPopulated = ETrue; // Do this only once.
NotifyObservers( strategy );
- iIsPopulated = ETrue; // Do this only once.
}
}
--- a/ui/uiengine/medialistwrapper/inc/glxmlgenericobserver.h Fri May 14 15:52:22 2010 +0300
+++ b/ui/uiengine/medialistwrapper/inc/glxmlgenericobserver.h Thu May 27 12:51:42 2010 +0300
@@ -61,6 +61,7 @@
MGlxMediaList* aList );
void HandleMediaL( TInt aListIndex, MGlxMediaList* aList );
void HandleItemModifiedL( const RArray<TInt>& aItemIndexes, MGlxMediaList* aList );
+ void HandlePopulatedL(MGlxMediaList* aList);
private:
--- a/ui/uiengine/medialistwrapper/inc/glxmlwrapper.h Fri May 14 15:52:22 2010 +0300
+++ b/ui/uiengine/medialistwrapper/inc/glxmlwrapper.h Thu May 27 12:51:42 2010 +0300
@@ -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;
--- a/ui/uiengine/medialistwrapper/inc/glxmlwrapper_p.h Fri May 14 15:52:22 2010 +0300
+++ b/ui/uiengine/medialistwrapper/inc/glxmlwrapper_p.h Thu May 27 12:51:42 2010 +0300
@@ -26,6 +26,9 @@
#include <qdatetime.h>
#include "glxmedialistiterator.h"
#include "glxmlwrapper.h"
+#include <qimage>
+#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<TInt>& 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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/uiengine/medialistwrapper/inc/glxtitlefetcher.h Thu May 27 12:51:42 2010 +0300
@@ -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 <e32base.h>
+#include <coedef.h>
+#include <w32std.h>
+#include <mglxmedialistobserver.h>
+#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<TInt>& /*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<TMPXAttribute>& 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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/uiengine/medialistwrapper/inc/mglxtitlefetcherobserver.h Thu May 27 12:51:42 2010 +0300
@@ -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 <e32base.h>
+//#include <coedef.h>
+//#include <w32std.h>
+
+/**
+ * MGlxTitleFetcherObserver
+ *
+ * Title fetcher interface
+ */
+class MGlxTitleFetcherObserver
+ {
+public:
+ /**
+ * Handle the title
+ * @param aTitle The title
+ */
+ virtual void HandleTitleAvailableL(const TDesC& aTitle) = 0;
+
+ };
+
+
+
+
+#endif // MGLXTITLEFETCHEROBSERVER_H
--- a/ui/uiengine/medialistwrapper/medialistwrapper.pro Fri May 14 15:52:22 2010 +0300
+++ b/ui/uiengine/medialistwrapper/medialistwrapper.pro Thu May 27 12:51:42 2010 +0300
@@ -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
--- a/ui/uiengine/medialistwrapper/src/glxmlgenericobserver.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/uiengine/medialistwrapper/src/glxmlgenericobserver.cpp Thu May 27 12:51:42 2010 +0300
@@ -206,3 +206,10 @@
iMLWrapperPrivate->HandleItemModifiedL(aItemIndexes, aList);
}
+void CGlxMLGenericObserver::HandlePopulatedL(MGlxMediaList* aList)
+ {
+ TRACER("CGlxMLGenericObserver::HandlePopulatedL()");
+ iMLWrapperPrivate->HandlePopulatedL(aList);
+ }
+
+
--- a/ui/uiengine/medialistwrapper/src/glxmlwrapper.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/uiengine/medialistwrapper/src/glxmlwrapper.cpp Thu May 27 12:51:42 2010 +0300
@@ -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);
+}
--- a/ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp Thu May 27 12:51:42 2010 +0300
@@ -46,7 +46,7 @@
//#define GLXPERFORMANCE_LOG
#include <glxperformancemacro.h>
-
+#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();
+ }
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/uiengine/medialistwrapper/src/glxtitlefetcher.cpp Thu May 27 12:51:42 2010 +0300
@@ -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 <mpxcollectionpath.h>
+#include <mpxmediageneraldefs.h>
+#include <mglxmedialist.h>
+#include <glxattributecontext.h>
+#include <glxuistd.h>
+#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<TMPXAttribute>& /*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
--- a/ui/uiengine/model/bwins/glxmediamodelu.def Fri May 14 15:52:22 2010 +0300
+++ b/ui/uiengine/model/bwins/glxmediamodelu.def Thu May 27 12:51:42 2010 +0300
@@ -1,35 +1,39 @@
EXPORTS
- ?addExternalItems@GlxMediaModel@@QAEXPAV?$QList@UGlxInterfaceParams@@@@@Z @ 1 NONAME ; void GlxMediaModel::addExternalItems(class QList<struct GlxInterfaceParams> *)
- ?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<struct GlxInterfaceParams> *)
+ ?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)
--- a/ui/uiengine/model/eabi/glxmediamodelu.def Fri May 14 15:52:22 2010 +0300
+++ b/ui/uiengine/model/eabi/glxmediamodelu.def Thu May 27 12:51:42 2010 +0300
@@ -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
--- a/ui/uiengine/model/mediamodel/inc/glxmediamodel.h Fri May 14 15:52:22 2010 +0300
+++ b/ui/uiengine/model/mediamodel/inc/glxmediamodel.h Thu May 27 12:51:42 2010 +0300
@@ -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:
--- a/ui/uiengine/model/mediamodel/src/glxmediamodel.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/uiengine/model/mediamodel/src/glxmediamodel.cpp Thu May 27 12:51:42 2010 +0300
@@ -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)
{
--- a/ui/viewmanagement/bwins/glxstatehandleru.def Fri May 14 15:52:22 2010 +0300
+++ b/ui/viewmanagement/bwins/glxstatehandleru.def Thu May 27 12:51:42 2010 +0300
@@ -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)
--- a/ui/viewmanagement/bwins/glxviewmanageru.def Fri May 14 15:52:22 2010 +0300
+++ b/ui/viewmanagement/bwins/glxviewmanageru.def Thu May 27 12:51:42 2010 +0300
@@ -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)
--- a/ui/viewmanagement/eabi/glxstatehandleru.def Fri May 14 15:52:22 2010 +0300
+++ b/ui/viewmanagement/eabi/glxstatehandleru.def Thu May 27 12:51:42 2010 +0300
@@ -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
--- a/ui/viewmanagement/eabi/glxviewmanageru.def Fri May 14 15:52:22 2010 +0300
+++ b/ui/viewmanagement/eabi/glxviewmanageru.def Thu May 27 12:51:42 2010 +0300
@@ -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
--- a/ui/viewmanagement/statehandler/inc/glxstatemanager.h Fri May 14 15:52:22 2010 +0300
+++ b/ui/viewmanagement/statehandler/inc/glxstatemanager.h Thu May 27 12:51:42 2010 +0300
@@ -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;
};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/viewmanagement/statehandler/inc/glxtnobserver.h Thu May 27 12:51:42 2010 +0300
@@ -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 <QObject>
+#include <glxtnmonitor.h>
+
+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 */
--- a/ui/viewmanagement/statehandler/src/glxstatemanager.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/viewmanagement/statehandler/src/glxstatemanager.cpp Thu May 27 12:51:42 2010 +0300
@@ -25,6 +25,7 @@
#include <glxdetailstate.h>
#include <glxslideshowsettingsstate.h>
#include <glxslideshowstate.h>
+#include <glxtnobserver.h>
#include <glxmodelparm.h>
#include <glxcollectionpluginall.hrh>
#include <glxcollectionplugincamera.hrh>
@@ -43,15 +44,26 @@
#include <hbnotificationdialog.h>
#include <QProcess>
-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");
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/viewmanagement/statehandler/src/glxtnobserver.cpp Thu May 27 12:51:42 2010 +0300
@@ -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 <glxtnobserver.h>
+#include <e32property.h>
+
+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;
+}
--- a/ui/viewmanagement/statehandler/statehandler.pro Fri May 14 15:52:22 2010 +0300
+++ b/ui/viewmanagement/statehandler/statehandler.pro Thu May 27 12:51:42 2010 +0300
@@ -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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/viewmanagement/viewmanager/inc/glxmainwindoweventfilter.h Thu May 27 12:51:42 2010 +0300
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef GLXMAINWINDOWEVENTFILTER_H
+#define GLXMAINWINDOWEVENTFILTER_H
+#include <QObject>
+#include <QEvent>
+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
--- a/ui/viewmanagement/viewmanager/inc/glxviewmanager.h Fri May 14 15:52:22 2010 +0300
+++ b/ui/viewmanagement/viewmanager/inc/glxviewmanager.h Thu May 27 12:51:42 2010 +0300
@@ -19,7 +19,7 @@
#ifndef GLXVIEWMANAGER_H
#define GLXVIEWMANAGER_H
- #include <QItemSelectionModel>
+
#include <QObject>
#include <QList>
#include <hbeffect.h>
@@ -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;
+
};
--- a/ui/viewmanagement/viewmanager/src/glxviewmanager.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/viewmanagement/viewmanager/src/glxviewmanager.cpp Thu May 27 12:51:42 2010 +0300
@@ -35,6 +35,9 @@
#include <hbmenu.h>
#include <QDebug>
#include <hbstyleloader.h>
+#include <hbprogressdialog.h>
+#include <QItemSelectionModel>
+#include <glxmainwindoweventfilter.h>
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");
}
--- a/ui/viewmanagement/viewmanager/viewmanager.pro Fri May 14 15:52:22 2010 +0300
+++ b/ui/viewmanagement/viewmanager/viewmanager.pro Thu May 27 12:51:42 2010 +0300
@@ -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
--- a/ui/views/docloaders/src/glxviewdocloader.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/views/docloaders/src/glxviewdocloader.cpp Thu May 27 12:51:42 2010 +0300
@@ -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);
}
--- a/ui/views/effectengine/effectplugin/inc/glxforwardtransitionplugin.h Fri May 14 15:52:22 2010 +0300
+++ b/ui/views/effectengine/effectplugin/inc/glxforwardtransitionplugin.h Thu May 27 12:51:42 2010 +0300
@@ -27,9 +27,25 @@
GlxForwardTransitionPlugin();
~GlxForwardTransitionPlugin();
QList <QString > 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 <QString > mEffectFileList;
+ QGraphicsItem *mItem;
};
#endif /*GLXFORWARDTRANSITIONPLUGIN_H*/
--- a/ui/views/effectengine/effectplugin/src/glxfadeplugin.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/views/effectengine/effectplugin/src/glxfadeplugin.cpp Thu May 27 12:51:42 2010 +0300
@@ -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;
}
--- a/ui/views/effectengine/effectplugin/src/glxforwardtransitionplugin.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/views/effectengine/effectplugin/src/glxforwardtransitionplugin.cpp Thu May 27 12:51:42 2010 +0300
@@ -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()
--- a/ui/views/effectengine/src/glxeffectengine.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/views/effectengine/src/glxeffectengine.cpp Thu May 27 12:51:42 2010 +0300
@@ -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;
}
}
--- a/ui/views/fullscreenview/inc/glxcoverflow.h Fri May 14 15:52:22 2010 +0300
+++ b/ui/views/fullscreenview/inc/glxcoverflow.h Thu May 27 12:51:42 2010 +0300
@@ -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_ */
--- a/ui/views/fullscreenview/inc/glxfullscreenview.h Fri May 14 15:52:22 2010 +0300
+++ b/ui/views/fullscreenview/inc/glxfullscreenview.h Thu May 27 12:51:42 2010 +0300
@@ -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
--- a/ui/views/fullscreenview/inc/glxzoomcontrol.h Fri May 14 15:52:22 2010 +0300
+++ /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 <hbscrollarea.h>
-
-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
--- a/ui/views/fullscreenview/inc/glxzoomslider.h Fri May 14 15:52:22 2010 +0300
+++ /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 <QObject>
-#include <QSize>
-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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/views/fullscreenview/inc/glxzoomwidget.h Thu May 27 12:51:42 2010 +0300
@@ -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 <QObject>
+#include <QGraphicsWidget>
+#include <QPixmap>
+#include <hbscrollarea.h>
+
+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
--- a/ui/views/fullscreenview/src/glxcoverflow.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/views/fullscreenview/src/glxcoverflow.cpp Thu May 27 12:51:42 2010 +0300
@@ -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);
+
+}
--- a/ui/views/fullscreenview/src/glxfullscreenview.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/views/fullscreenview/src/glxfullscreenview.cpp Thu May 27 12:51:42 2010 +0300
@@ -29,6 +29,7 @@
#include <QAbstractItemModel>
#include <hbabstractviewitem.h>
#include <hbiconitem.h>
+#include <QCoreApplication>
//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<GlxCoverFlow*> (mDocLoader->findWidget(GLXFULLSCREEN_COVERFLOW));
+ mZoomWidget = qobject_cast<GlxZoomWidget*> (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);
}
--- a/ui/views/fullscreenview/src/glxzoomcontrol.cpp Fri May 14 15:52:22 2010 +0300
+++ /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 <hbicon.h>
-#include <glxmediamodel.h>
-#include <QtDebug>
-#include <hbinstance.h>
-#include <hbiconitem.h>
-#include <QDebug>
-
-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"<<requiredSize.width()/mCurrentSize.width()<<requiredSize.height()/mCurrentSize.height();
- qDebug()<<"GlxZoomControl::zoomImage required Size"<<requiredSize.width()<<requiredSize.height();
- qDebug()<<"GlxZoomControl::zoomImage current Size"<<mCurrentSize.width()<<mCurrentSize.height();
- qDebug()<<"GlxZoomControl::zoomImage item Size"<<mItemSize.width()<<mItemSize.height();
-
- //mZoomWidget->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<int>(),0),GlxUriRole)).value<QString>();
- mImageDecoder->decodeImage(imagePath);
- connect(mImageDecoder, SIGNAL(pixmapDecoded()), this, SLOT(decodedImageAvailable()));
- QVariant variant = mModel->data(mModel->index(mModel->data(mModel->index(0,0),GlxFocusIndexRole).value<int>(),0),GlxFsImageRole);
- if ( variant.isValid() && variant.canConvert<HbIcon> () ) {
- qDebug("@@@GlxZoomControl::initializeZoomControl valid icon");
- QIcon itemIcon = variant.value<HbIcon>().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<int>(),0),GlxDimensionsRole)).value<QSize>();
- 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<GlxMediaModel *>(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 "<<offset.x()<< offset.y();
- //mZoomWidget->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"<<currentPos.x()<< currentPos.y()<< undefferedPos.x()<< undefferedPos.y();
- mPanOffset = offset;
- //convert the offset value WRT a 100% zoomed image as that will be used for reference
- mPanOffset /= zoomPercent;
- qDebug()<<"GlxZoomControl::calculatePanOffset mPanOffset x%d, y%d "<<mPanOffset.x()<< mPanOffset.y();
-}
-
-void GlxZoomControl::checkandAdjustImageBoundaries(QPointF &finalPos, QPointF undefferedPos)
-{
- //check for boundary conditions in X Axis
-
- //for Left side
- //since the image is positioned WRT to screens top left corner(0,0) so if the images top left corner's X (finalPos.x()) is positive
- //then boundry conditions for image to be on the leftmost side is met
- if(finalPos.x() > 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());
- }
- }
-
-}
--- a/ui/views/fullscreenview/src/glxzoomslider.cpp Fri May 14 15:52:22 2010 +0300
+++ /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 <hbslider.h>
-#include <glxmediamodel.h>
-#include <QAbstractItemModel>
-#include <QGraphicsItem>
-#include <QtDebug>
-#include "glxmodelparm.h"
-#include <QDebug>
-
-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<GlxMediaModel *>(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<int>(),0),GlxDimensionsRole)).value<QSize>();
- qDebug()<<"GlxZoomSlider::retrieveActualAndDisplayedSize"<<itemSize.width()<<itemSize.height();
- QVariant variant = mModel->data(mModel->index(mModel->data(mModel->index(0,0),GlxFocusIndexRole).value<int>(),0),GlxFsImageRole);
- if ( variant.isValid() && variant.canConvert<HbIcon> () ) {
- QIcon itemIcon = variant.value<HbIcon>().qicon();
- QSize windowSize(360,640);
- QSize itemSize = itemIcon.actualSize(windowSize);
- QPixmap itemPixmap = itemIcon.pixmap(itemSize);
- displayedSize = itemPixmap.size();
- qDebug()<<"GlxZoomSlider::retrieveActualAndDisplayedSize Display"<<displayedSize.width()<<displayedSize.height();
- }
-
-}
-int GlxZoomSlider::calculateZoomFactor(QSize& itemSize, QSize& displayedSize)
-{
- int zoomFactor = 100 * (displayedSize.width())/(itemSize.width());
- return zoomFactor;
-}
-
-void GlxZoomSlider::calculateAndInitializeFSZoomFactor()
-{
- QSize itemSize,displaySize;
- retrieveActualAndDisplayedSize(itemSize, displaySize);
- int sliderPosition = calculateZoomFactor(itemSize,displaySize);
- emit initialZoomFactor(sliderPosition);
- mZoomSlider->setSliderPosition(sliderPosition);
-}
-
-void GlxZoomSlider::filterandEmitSliderValueChanges(int newValue)
-{
- if (mSliderThumbPressed){
- emit valueChanged(newValue);
- }
- //else {
- qDebug()<<"GlxZoomSlider::filterandEmitSliderValueChanges stray signal"<<newValue;
- //}
-}
-
-void GlxZoomSlider::sliderThumbPressed()
-{
- qDebug()<<"GlxZoomSlider::sliderThumbPressed";
- mSliderThumbPressed = true;
-}
-
-void GlxZoomSlider::sliderThumbReleased()
-{
- qDebug()<<"GlxZoomSlider::sliderThumbReleased";
- mSliderThumbPressed = false;
-}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/views/fullscreenview/src/glxzoomwidget.cpp Thu May 27 12:51:42 2010 +0300
@@ -0,0 +1,411 @@
+ /*
+* 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.cpp
+* description of the class GlxGlxZoomWidget which controls the Zoom behavior of coverflow.
+*
+*/
+#include <QPinchGesture>
+#include <hbiconitem.h>
+#include <glxmediamodel.h>
+#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<QGestureEvent*>(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<QGestureEvent*>(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<QPinchGesture *>(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<QString>();
+ 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<int>();
+ 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<HbIcon> () ) {
+ QIcon itemIcon = iconVariant.value<HbIcon>().qicon();
+ QSize itemSize = itemIcon.actualSize(mWindowSize);
+ QSize scaleSize;
+ if(sizeVariant.isValid() && sizeVariant.canConvert<QSize> ()) {
+ 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()
+{
+}
+
+
--- a/ui/views/gridview/inc/glxgridview.h Fri May 14 15:52:22 2010 +0300
+++ b/ui/views/gridview/inc/glxgridview.h Thu May 27 12:51:42 2010 +0300
@@ -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_ */
--- a/ui/views/gridview/src/glxgridview.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/views/gridview/src/glxgridview.cpp Thu May 27 12:51:42 2010 +0300
@@ -26,13 +26,18 @@
#include <hbiconitem.h>
#include <hbicon.h>
#include <xqserviceutil.h>
+#include <hbcheckbox.h>
+#include <hblabel.h>
+#include <QString>
+#include <hbframeitem.h>
//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<QImage> () )
{
@@ -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<bool>() )
+ {
+ populated = variant.value<bool>();
+ }
+ 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<QModelIndex> 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<int> () ) {
+ substate = variant.value<int>();
+ }
+ return substate;
+}
+
--- a/ui/views/slideshowview/inc/glxslideshowview.h Fri May 14 15:52:22 2010 +0300
+++ b/ui/views/slideshowview/inc/glxslideshowview.h Thu May 27 12:51:42 2010 +0300
@@ -52,7 +52,7 @@
void modelDestroyed();
protected :
- bool event(QEvent *event);
+ bool eventFilter(QObject *obj, QEvent *ev);
private:
void loadObjects();
--- a/ui/views/slideshowview/src/glxslideshowview.cpp Fri May 14 15:52:22 2010 +0300
+++ b/ui/views/slideshowview/src/glxslideshowview.cpp Thu May 27 12:51:42 2010 +0300
@@ -19,6 +19,7 @@
//Includes
#include <QEvent>
#include <QDebug>
+#include <QCoreApplication>
#include <hbmainwindow.h>
#include <hbdocumentloader.h>
@@ -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()
--- a/ui/views/views.pro Fri May 14 15:52:22 2010 +0300
+++ b/ui/views/views.pro Thu May 27 12:51:42 2010 +0300
@@ -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 \