--- a/commonutilities/imagedecoderwrapper/imagedecoderwrapper.pro Tue Jul 06 14:16:16 2010 +0300
+++ b/commonutilities/imagedecoderwrapper/imagedecoderwrapper.pro Wed Aug 18 09:48:53 2010 +0300
@@ -26,7 +26,9 @@
-lbitmaptransforms.dll \
-liclextjpegapi.dll \
-lfbscli.dll \
- -lefsrv.dll
+ -lefsrv.dll \
+ -lapmime.dll \
+ -lapgrfx.dll
DEFINES += BUILD_IMAGEWRAPPER
symbian: {
--- a/commonutilities/imagedecoderwrapper/inc/glximagedecoder.h Tue Jul 06 14:16:16 2010 +0300
+++ b/commonutilities/imagedecoderwrapper/inc/glximagedecoder.h Wed Aug 18 09:48:53 2010 +0300
@@ -26,6 +26,9 @@
class CImageDecoder;
class CFbsBitmap;
const TReal KTargetSize = 1000000;
+//if any image is converted to Pixmap with an dimension > 2048
+//the conversion will fail
+const TInt KMaxDimensionLimit = 2000;
class CGlxImageDecoder : public CActive
{
public:
@@ -50,6 +53,19 @@
* */
void ConstructL(GlxImageDecoderWrapper* decoderWrapper);
+ /*
+ * Checks if the mimetype needs recalculations
+ * @returnType false if jpeg
+ * true otheriwise
+ */
+ TBool DoesMimeTypeNeedsRecalculateL(QString aSourceFileName);
+
+ /*
+ * Does the recalculation and returns back the correct size
+ * @returntype Size of the decoded bitmap
+ */
+ TSize ReCalculateSizeL(QString aSourceFileName, TSize aDestSize);
+
private:
GlxImageDecoderWrapper* iDecoderWrapper;
/*Specifies the Decoder */
--- a/commonutilities/imagedecoderwrapper/src/glximagedecoder.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/commonutilities/imagedecoderwrapper/src/glximagedecoder.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -22,7 +22,10 @@
#include <imageconversion.h>
#include <IclExtJpegApi.h> // For CExtJpegDecoder
#include <e32math.h>
+#include <apgcli.h>
+_LIT(KMimeJpeg,"image/jpeg");
+_LIT(KMimeJpg,"image/jpg");
// ---------------------------------------------------------------------------
// Two-phased constructor.
@@ -90,15 +93,15 @@
iImageDecoder = NULL;
}
TRAPD( err, iImageDecoder = CExtJpegDecoder::FileNewL(
- CExtJpegDecoder::EHwImplementation, iFs, sourceFileName, CImageDecoder::EOptionAutoRotate ) );
+ CExtJpegDecoder::EHwImplementation, iFs, sourceFileName, CImageDecoder::EOptionAlwaysThread ) );
if ( KErrNone != err )
{
TRAP(err,iImageDecoder = CExtJpegDecoder::FileNewL(
- CExtJpegDecoder::ESwImplementation, iFs, sourceFileName, CImageDecoder::EOptionAutoRotate ) );
+ CExtJpegDecoder::ESwImplementation, iFs, sourceFileName, CImageDecoder::EOptionAlwaysThread ) );
if ( KErrNone != err )
{
// Not a JPEG - use standard decoder
- iImageDecoder = CImageDecoder::FileNewL( iFs, sourceFileName, CImageDecoder::EOptionAutoRotate );
+ iImageDecoder = CImageDecoder::FileNewL( iFs, sourceFileName, CImageDecoder::EOptionAlwaysThread );
}
}
TSize imageSize = iImageDecoder->FrameInfo().iOverallSizeInPixels;
@@ -116,6 +119,15 @@
decodeSize = TSize(imageSize.iWidth * compressionFactor, imageSize.iHeight * compressionFactor);
}
+ //if an image is converted to Pixmap with any of its dimension > 2048
+ //the conversion will fail so limiting dimensions to 2000
+ //on 2048 there is a buffer corruption so display image is distorted
+ if(decodeSize.iWidth > KMaxDimensionLimit ||decodeSize.iHeight > KMaxDimensionLimit)
+ {
+ QSize finalSize(decodeSize.iWidth, decodeSize.iHeight);
+ finalSize.scale(KMaxDimensionLimit, KMaxDimensionLimit, Qt::KeepAspectRatio);
+ decodeSize = TSize(finalSize.width(), finalSize.height());
+ }
//clear the existing Bitmap
if(iBitmap)
{
@@ -126,12 +138,56 @@
if(!iBitmap)
{
iBitmap = new (ELeave) CFbsBitmap();
- iBitmap->Create( decodeSize,EColor64K);
+ decodeSize = ReCalculateSizeL(aSourceFileName, decodeSize);
+ iBitmap->Create( decodeSize,EColor16MU);
iImageDecoder->Convert( &iStatus, *iBitmap );
SetActive();
}
return QSizeF(decodeSize.iWidth,decodeSize.iHeight) ;
}
+
+// -----------------------------------------------------------------------------
+// DoesMimeTypeNeedsRecalculateL()
+// -----------------------------------------------------------------------------
+//
+TBool CGlxImageDecoder::DoesMimeTypeNeedsRecalculateL(QString aSourceFileName){
+ RApaLsSession session;
+ TDataType mimeType;
+ TUid uid;
+
+ User::LeaveIfError( session.Connect() );
+ CleanupClosePushL( session );
+ TPtrC16 sourceFileName(reinterpret_cast<const TUint16*>(aSourceFileName.utf16()));
+ User::LeaveIfError( session.AppForDocument( sourceFileName, uid, mimeType ) );
+ CleanupStack::PopAndDestroy(&session);
+
+ if (mimeType.Des().Compare(KMimeJpeg)==0 ||
+ mimeType.Des().Compare(KMimeJpg)==0){
+ return EFalse;
+ }
+ else{
+ return ETrue;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// ReCalculateSize
+// -----------------------------------------------------------------------------
+TSize CGlxImageDecoder::ReCalculateSizeL(QString aSourceFileName, TSize aDestSize){
+ if(DoesMimeTypeNeedsRecalculateL(aSourceFileName)){
+ TSize fullFrameSize = iImageDecoder->FrameInfo().iOverallSizeInPixels;
+ // calculate the reduction factor on what size we need
+ TInt reductionFactor = iImageDecoder->ReductionFactor(fullFrameSize, aDestSize);
+ // get the reduced size onto destination size
+ TSize destSize;
+ User::LeaveIfError(iImageDecoder->ReducedSize(fullFrameSize, reductionFactor, destSize));
+ return destSize;
+ }
+ else{
+ return aDestSize;
+ }
+ }
+
// ---------------------------------------------------------------------------
// RunL
// ---------------------------------------------------------------------------
@@ -176,49 +232,7 @@
{
if(iBitmap)
{
- //convert the bitmap to pixmap
- iBitmap->LockHeap();
- TUint32 *tempData = iBitmap->DataAddress();
- uchar *data = (uchar *)(tempData);
- int bytesPerLine = iBitmap->ScanLineLength(iBitmap->SizeInPixels().iWidth , iBitmap->DisplayMode());
- QImage::Format format;
- switch(iBitmap->DisplayMode()) {
- case EGray2:
- format = QImage::Format_MonoLSB;
- break;
- case EColor256:
- case EGray256:
- format = QImage::Format_Indexed8;
- break;
- case EColor4K:
- format = QImage::Format_RGB444;
- break;
- case EColor64K:
- format = QImage::Format_RGB16;
- break;
- case EColor16M:
- format = QImage::Format_RGB666;
- break;
- case EColor16MU:
- format = QImage::Format_RGB32;
- break;
- case EColor16MA:
- format = QImage::Format_ARGB32;
- break;
-#if !defined(__SERIES60_31__) && !defined(__S60_32__)
- case EColor16MAP:
- format = QImage::Format_ARGB32_Premultiplied;
- break;
-#endif
- default:
- format = QImage::Format_Invalid;
- break;
- }
- //QImage share the memory occupied by data
- QImage image(data, iBitmap->SizeInPixels().iWidth, iBitmap->SizeInPixels().iHeight, bytesPerLine, format);
- iDecodedPixmap = QPixmap::fromImage(image);
- iBitmap->UnlockHeap();
- //clean the bitmap as it is not required anymore
+ iDecodedPixmap = QPixmap::fromSymbianCFbsBitmap(iBitmap);
delete iBitmap;
iBitmap = NULL;
}
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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/Wait/qgn_graf_ring_wait_01.svg Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="100px" version="1.1" viewBox="0 0 100 100" width="100px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<g>
+<rect fill="none" height="100" width="100"/>
+</g>
+<g>
+<g>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="31.0244" x2="45.8306" y1="36.7227" y2="55.3954">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.98"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0.6"/>
+</linearGradient>
+<path d="M49.066,92.209c-0.734-0.018-1.471-0.054-2.21-0.11C20.651,90.1,4.409,66.111,8.396,42.862 C12.127,21.109,31.881,6.136,53.473,7.938l6.025,8.117l0.012,0.015l-7.753,6.495c-13.86-0.899-26.446,8.794-28.846,22.786 c-1.638,9.548,1.86,18.785,8.492,24.889c1.375,1.267,2.884,2.398,4.509,3.37l-3.303-4.681 c-6.456-5.939-9.425-14.643-7.942-23.278c2.519-14.691,15.966-22.518,27.688-21.263l9.613-8.079l-7.443-10.07 c-14.727-1.88-42.864,7.068-47.882,36.321C2.276,68.019,20.77,91.9,46.721,93.873c1.105,0.085,2.226,0.127,3.331,0.128 c0.002,0,0.001,0,0.001,0C50.052,94.001,49.066,92.209,49.066,92.209z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="54.7412" x2="79.3552" y1="80.5283" y2="36.5402">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.6"/>
+<stop offset="0.9158" style="stop-color:#000000;stop-opacity:0"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M88.84,29.224L73.699,39.93c0.186,0.771,3.012,6.423,1.643,14.419 C71.867,74.59,47.481,82.635,32.608,68.93l3.303,4.681c16.92,10.111,37.975-0.261,41.186-18.962 c0.838-4.892,0.326-9.702-1.26-14.051l12.305-8.699c3.609,7.589,4.998,16.325,3.467,25.238 C88.025,78.036,69.65,92.691,49.066,92.209l0.986,1.792c0.002,0,0.001,0,0.001,0c21.463,0,39.68-15.378,43.313-36.563 C96.115,41.412,89.033,29.667,88.84,29.224z" fill="url(#SVGID_2_)"/>
+<path d="M35.912,73.61c-7.832-4.683-15.273-15.019-13.001-28.259c2.4-13.992,14.986-23.686,28.846-22.786 l7.753-6.495l-0.012-0.015l-6.025-8.117C31.881,6.136,12.127,21.109,8.396,42.862C4.174,67.484,22.452,91.579,49.066,92.209 L35.912,73.61z" fill="#FFFFFF"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="60.0684" x2="71.0321" y1="79.623" y2="38.4858">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#F2F2F2;stop-opacity:0"/>
+</linearGradient>
+<path d="M88.143,31.898l-12.305,8.699C84.586,64.586,58.42,87.061,35.912,73.61l13.154,18.599 C80.602,92.947,101.572,60.12,88.143,31.898z" fill="url(#SVGID_3_)"/>
+</g>
+</g>
+</g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/Wait/qgn_graf_ring_wait_02.svg Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="100px" version="1.1" viewBox="0 0 100 100" width="100px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<g>
+<rect fill="none" height="100" width="100"/>
+</g>
+<g>
+<g>
+<linearGradient gradientTransform="matrix(0.809 0.5878 -0.5878 0.809 -184.5148 125.3866)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="126.4404" x2="141.2466" y1="-212.1113" y2="-193.4386">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.98"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0.6"/>
+</linearGradient>
+<path d="M24.435,83.599c-0.584-0.446-1.159-0.908-1.724-1.389C2.687,65.19,3.646,36.237,20.538,19.771 C36.342,4.366,61.125,3.863,77.533,18.012l0.104,10.109v0.019l-10.09,0.697c-10.684-8.875-26.564-8.43-36.73,1.479 c-6.938,6.761-9.537,16.29-7.759,25.126c0.368,1.833,0.923,3.637,1.667,5.377l0.078-5.728c-1.731-8.6,0.982-17.386,7.257-23.501 c10.673-10.405,26.152-8.833,34.896-0.928l12.527-0.885l-0.102-12.521C68.572,7.079,40.549-2.221,19.295,18.496 C0.8,36.525,1.724,66.716,21.559,83.566c0.844,0.718,1.727,1.411,2.62,2.062c0.001,0.001,0.001,0,0.001,0 C24.179,85.628,24.435,83.599,24.435,83.599z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientTransform="matrix(0.809 0.5878 -0.5878 0.809 -184.5148 125.3866)" gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="150.1572" x2="174.7711" y1="-168.3066" y2="-212.2946">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.6"/>
+<stop offset="0.9158" style="stop-color:#000000;stop-opacity:0"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M93.635,56.021l-18.541-0.237c-0.305,0.73-1.34,6.966-7.146,12.63 c-14.709,14.333-39.167,6.507-43.144-13.322l-0.078,5.728c7.746,18.127,30.875,22.111,44.464,8.869 c3.553-3.466,5.967-7.658,7.24-12.107l15.068,0.193c-1.539,8.262-5.553,16.146-12.029,22.457 c-15.184,14.801-38.663,15.857-55.034,3.367l-0.256,2.029c0.001,0.001,0.001,0,0.001,0c17.364,12.615,41.14,10.882,56.531-4.121 C92.355,70.158,93.531,56.493,93.635,56.021z" fill="url(#SVGID_2_)"/>
+<path d="M24.725,60.819c-3.584-8.391-3.528-21.127,6.092-30.503c10.166-9.909,26.046-10.354,36.73-1.479 l10.09-0.697v-0.019l-0.104-10.109C61.125,3.863,36.342,4.366,20.538,19.771C2.649,37.209,3.274,67.445,24.435,83.599 L24.725,60.819z" fill="#FFFFFF"/>
+<linearGradient gradientTransform="matrix(0.809 0.5878 -0.5878 0.809 -184.5148 125.3866)" gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="155.4834" x2="166.4473" y1="-169.21" y2="-210.3475">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#F2F2F2;stop-opacity:0"/>
+</linearGradient>
+<path d="M91.498,57.774L76.43,57.581c-7.021,24.548-41.4,27.352-51.705,3.238l-0.29,22.779 C49.514,102.731,85.773,88.5,91.498,57.774z" fill="url(#SVGID_3_)"/>
+</g>
+</g>
+</g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/Wait/qgn_graf_ring_wait_03.svg Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="100px" version="1.1" viewBox="0 0 100 100" width="100px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<g>
+<rect fill="none" height="100" width="100"/>
+</g>
+<g>
+<g>
+<linearGradient gradientTransform="matrix(0.309 0.9511 -0.9511 0.309 -338.8947 140.6591)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="14.979" x2="29.785" y1="-411.1528" y2="-392.4803">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.98"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0.6"/>
+</linearGradient>
+<path d="M9.569,62.154c-0.21-0.703-0.403-1.416-0.579-2.137C2.794,34.479,20.589,11.619,43.933,8.227 c21.842-3.174,42.187,10.986,47.145,32.078l-5.858,8.239l-0.011,0.016l-8.573-5.367C73.208,29.733,60.099,20.759,46.05,22.8 c-9.587,1.393-17.291,7.573-21.046,15.767c-0.78,1.699-1.39,3.484-1.812,5.331l3.43-4.589 c3.654-7.975,11.014-13.488,19.685-14.747c14.75-2.144,26.35,8.227,28.778,19.762l10.655,6.647l7.276-10.19 C90.254,26.192,73.049,2.197,43.677,6.465C18.116,10.18,1.118,35.147,7.261,60.438c0.261,1.077,0.568,2.155,0.908,3.207 c0,0.003,0,0.001,0,0.001C8.169,63.646,9.569,62.154,9.569,62.154z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientTransform="matrix(0.309 0.9511 -0.9511 0.309 -338.8947 140.6591)" gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="38.6948" x2="63.3091" y1="-367.3481" y2="-411.3369">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.6"/>
+<stop offset="0.9158" style="stop-color:#000000;stop-opacity:0"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M81.763,80.52L66.901,69.428c-0.676,0.413-5.178,4.85-13.205,6.019 c-20.325,2.949-35.511-17.758-27.074-36.138l-3.43,4.589c-4.388,19.216,11.982,36.035,30.76,33.31 c4.912-0.715,9.328-2.688,12.975-5.539l12.075,9.014c-6.101,5.779-13.98,9.799-22.931,11.098 c-20.984,3.049-40.6-9.897-46.502-29.625l-1.4,1.491c0,0.003,0,0.001,0,0.001c6.632,20.412,26.887,32.985,48.158,29.895 C72.419,91.205,81.4,80.84,81.763,80.52z" fill="url(#SVGID_2_)"/>
+<path d="M23.192,43.897C25.225,35.002,32.756,24.73,46.05,22.8c14.048-2.041,27.158,6.934,30.584,20.393 l8.573,5.367l0.011-0.016l5.858-8.239C86.119,19.213,65.774,5.053,43.933,8.227C19.211,11.819,1.943,36.648,9.569,62.154 L23.192,43.897z" fill="#FFFFFF"/>
+<linearGradient gradientTransform="matrix(0.309 0.9511 -0.9511 0.309 -338.8947 140.6591)" gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="44.0215" x2="54.9851" y1="-368.2529" y2="-409.3896">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#F2F2F2;stop-opacity:0"/>
+</linearGradient>
+<path d="M79.002,80.682l-12.075-9.014C46.816,87.4,17.356,69.461,23.192,43.897L9.569,62.154 C18.612,92.375,56.312,102.174,79.002,80.682z" fill="url(#SVGID_3_)"/>
+</g>
+</g>
+</g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/Wait/qgn_graf_ring_wait_04.svg Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="100px" version="1.1" viewBox="0 0 100 100" width="100px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<g>
+<rect fill="none" height="100" width="100"/>
+</g>
+<g>
+<g>
+<linearGradient gradientTransform="matrix(-0.309 0.9511 -0.9511 -0.309 -411.8564 82.0563)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="-192.1846" x2="-177.3785" y1="-442.623" y2="-423.9505">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.98"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0.6"/>
+</linearGradient>
+<path d="M10.146,36.068c0.243-0.693,0.506-1.382,0.788-2.068c9.999-24.304,37.832-32.338,58.71-21.362 C89.18,22.909,97.316,46.323,88.93,66.301l-9.582,3.222l-0.018,0.007l-3.781-9.382c5.139-12.902-0.191-27.868-12.756-34.475 c-8.574-4.509-18.44-4.036-26.294,0.385c-1.629,0.916-3.173,2.002-4.599,3.248l5.472-1.696c7.644-4.304,16.839-4.438,24.593-0.36 c13.193,6.936,16.482,22.143,11.666,32.902l4.713,11.642l11.877-3.968c6.34-13.426,6.523-42.951-19.748-56.763 C47.612-0.957,19.184,9.252,9.288,33.323c-0.422,1.025-0.808,2.078-1.15,3.128c-0.001,0.002,0,0.001,0,0.001 C8.138,36.452,10.146,36.068,10.146,36.068z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientTransform="matrix(-0.309 0.9511 -0.9511 -0.309 -411.8564 82.0563)" gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="-168.4673" x2="-143.8531" y1="-398.8184" y2="-442.8069">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.6"/>
+<stop offset="0.9158" style="stop-color:#000000;stop-opacity:0"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M57.758,93.36l-5.504-17.708c-0.789-0.063-7.04,0.88-14.221-2.894 C19.856,63.198,19.742,37.52,37.372,27.61l-5.472,1.696c-14.845,12.967-11.487,36.196,5.307,45.029 c4.394,2.309,9.126,3.309,13.751,3.145l4.472,14.389c-8.333,1.09-17.07-0.289-25.075-4.5 c-18.769-9.866-27.029-31.871-20.208-51.3l-2.009,0.383c-0.001,0.002,0,0.001,0,0.001c-6.632,20.412,2.364,42.489,21.389,52.491 C43.917,96.513,57.275,93.407,57.758,93.36z" fill="url(#SVGID_2_)"/>
+<path d="M31.899,29.306c6.874-6.002,19.003-9.885,30.894-3.633c12.564,6.606,17.895,21.572,12.756,34.475 l3.781,9.382l0.018-0.007l9.582-3.222c8.387-19.978,0.25-43.392-19.285-53.663c-22.111-11.624-50.675-1.687-59.498,23.43 L31.899,29.306z" fill="#FFFFFF"/>
+<linearGradient gradientTransform="matrix(-0.309 0.9511 -0.9511 -0.309 -411.8564 82.0563)" gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="-163.1406" x2="-152.1769" y1="-399.7231" y2="-440.8601">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#F2F2F2;stop-opacity:0"/>
+</linearGradient>
+<path d="M55.43,91.868l-4.472-14.389c-25.517,0.906-38.806-30.923-19.058-48.174l-21.753,6.763 C-0.301,65.833,24.439,95.919,55.43,91.868z" fill="url(#SVGID_3_)"/>
+</g>
+</g>
+</g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/Wait/qgn_graf_ring_wait_05.svg Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="100px" version="1.1" viewBox="0 0 100 100" width="100px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<g>
+<rect fill="none" height="100" width="100"/>
+</g>
+<g>
+<g>
+<linearGradient gradientTransform="matrix(-0.809 0.5878 -0.5878 -0.809 -364.1781 15.2496)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="-333.6265" x2="-318.8204" y1="-284.8394" y2="-266.1668">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.98"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0.6"/>
+</linearGradient>
+<path d="M25.946,15.304c0.604-0.418,1.222-0.821,1.853-1.21c22.375-13.786,49.615-3.926,60.055,17.228 c9.768,19.791,2.588,43.517-15.939,54.75l-9.646-3.026L62.25,83.04l2.455-9.813c11.74-7.419,16.225-22.659,9.943-35.39 c-4.287-8.687-12.547-14.104-21.498-15.145c-1.857-0.216-3.744-0.245-5.63-0.075l5.423,1.845 c8.715,1.011,16.232,6.307,20.107,14.164c6.598,13.366,0.32,27.603-9.9,33.476l-3.029,12.189l11.939,3.771 c13.021-7.136,30.525-30.914,17.389-57.529C78.02,7.371,49.02-1.079,26.865,12.577c-0.944,0.582-1.875,1.207-2.769,1.855 c-0.002,0.001-0.002,0.002-0.002,0.002C24.096,14.433,25.946,15.304,25.946,15.304z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientTransform="matrix(-0.809 0.5878 -0.5878 -0.809 -364.1781 15.2496)" gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="-309.9097" x2="-285.2954" y1="-241.0337" y2="-285.0222">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.6"/>
+<stop offset="0.9158" style="stop-color:#000000;stop-opacity:0"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M30.789,89.639l5.956-17.561c-0.6-0.516-6.211-3.427-9.803-10.7 c-9.086-18.419,5.915-39.26,26.002-36.915l-5.423-1.845C27.888,24.384,16.951,45.15,25.346,62.167 c2.198,4.45,5.438,8.041,9.277,10.627l-4.84,14.27c-7.381-4.017-13.639-10.268-17.64-18.379 C2.757,49.671,9.008,27.014,25.946,15.304l-1.85-0.871c-0.002,0.001-0.002,0.002-0.002,0.002 C6.731,27.05,1.033,50.197,10.545,69.472C17.74,84.054,30.372,89.394,30.789,89.639z" fill="url(#SVGID_2_)"/>
+<path d="M47.52,22.618c9.089-0.815,21.185,3.173,27.128,15.22c6.281,12.73,1.797,27.971-9.943,35.39L62.25,83.04 l0.018,0.005l9.646,3.026c18.527-11.233,25.707-34.959,15.939-54.75C76.797,8.92,47.847,0.17,25.946,15.304L47.52,22.618z" fill="#FFFFFF"/>
+<linearGradient gradientTransform="matrix(-0.809 0.5878 -0.5878 -0.809 -364.1781 15.2496)" gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="-304.5845" x2="-293.6208" y1="-241.939" y2="-283.0757">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#F2F2F2;stop-opacity:0"/>
+</linearGradient>
+<path d="M29.782,87.063l4.84-14.27C13.447,58.528,21.404,24.968,47.52,22.618l-21.574-7.314 C0,33.242,2.33,72.125,29.782,87.063z" fill="url(#SVGID_3_)"/>
+</g>
+</g>
+</g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/Wait/qgn_graf_ring_wait_06.svg Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="100px" version="1.1" viewBox="0 0 100 100" width="100px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<g>
+<rect fill="none" height="100" width="100" x="0" y="0"/>
+</g>
+<g>
+<g>
+<linearGradient gradientTransform="matrix(-1 0 0 -1 -490.8594 -341.2744)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="-559.835" x2="-545.0289" y1="-404.5513" y2="-385.8788">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.98"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0.6"/>
+</linearGradient>
+<path d="M50.935,7.792c0.733,0.017,1.471,0.054,2.209,0.11C79.35,9.901,95.592,33.888,91.605,57.139 c-3.732,21.752-23.486,36.727-45.079,34.924l-6.024-8.117L40.49,83.93l7.754-6.496c13.86,0.9,26.446-8.793,28.846-22.785 c1.639-9.547-1.859-18.784-8.49-24.889c-1.375-1.265-2.885-2.398-4.51-3.37l3.303,4.681c6.455,5.939,9.426,14.643,7.941,23.277 c-2.518,14.691-15.967,22.52-27.686,21.264l-9.615,8.08l7.443,10.068c14.727,1.881,42.866-7.066,47.883-36.32 C97.725,31.981,79.232,8.101,53.281,6.126C52.174,6.042,51.055,6.001,49.951,6c-0.003-0.001-0.003,0-0.003,0 C49.951,6,50.935,7.792,50.935,7.792z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientTransform="matrix(-1 0 0 -1 -490.8594 -341.2744)" gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="-536.1182" x2="-511.5043" y1="-360.7461" y2="-404.7341">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.6"/>
+<stop offset="0.9158" style="stop-color:#000000;stop-opacity:0"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M11.16,70.775L26.3,60.07c-0.183-0.77-3.012-6.424-1.643-14.419 C28.134,25.41,52.52,17.366,67.393,31.071L64.09,26.39c-16.921-10.111-37.976,0.26-41.186,18.962 c-0.838,4.892-0.327,9.701,1.258,14.05l-12.303,8.699C8.249,60.514,6.86,51.777,8.39,42.864 C11.973,21.965,30.349,7.31,50.935,7.792L49.951,6c-0.003-0.001-0.003,0-0.003,0C28.486,6,10.269,21.377,6.636,42.563 C3.885,58.588,10.966,70.332,11.16,70.775z" fill="url(#SVGID_2_)"/>
+<path d="M64.09,26.39c7.832,4.682,15.271,15.019,13,28.258c-2.4,13.992-14.986,23.686-28.846,22.785L40.49,83.93 l0.013,0.016l6.024,8.117c21.592,1.803,41.346-13.172,45.079-34.924c4.221-24.622-14.057-48.718-40.67-49.347L64.09,26.39z" fill="#FFFFFF"/>
+<linearGradient gradientTransform="matrix(-1 0 0 -1 -490.8594 -341.2744)" gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="-530.7939" x2="-519.8303" y1="-361.6519" y2="-402.7888">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#F2F2F2;stop-opacity:0"/>
+</linearGradient>
+<path d="M11.859,68.102l12.303-8.699C15.416,35.414,41.579,12.94,64.09,26.39L50.935,7.792 C19.399,7.053-1.57,39.88,11.859,68.102z" fill="url(#SVGID_3_)"/>
+</g>
+</g>
+</g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/Wait/qgn_graf_ring_wait_07.svg Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="100px" version="1.1" viewBox="0 0 100 100" width="100px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<g>
+<rect fill="none" height="100" width="100"/>
+</g>
+<g>
+<g>
+<linearGradient gradientTransform="matrix(-0.809 -0.5878 0.5878 -0.809 -300.0517 -676.9433)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="-729.4595" x2="-714.6534" y1="-395.6313" y2="-376.9588">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.98"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0.6"/>
+</linearGradient>
+<path d="M75.565,16.402c0.584,0.444,1.158,0.907,1.724,1.388c20.025,17.021,19.064,45.973,2.174,62.44 c-15.805,15.404-40.588,15.908-56.997,1.757l-0.103-10.108l-0.001-0.02l10.091-0.697c10.685,8.875,26.564,8.43,36.73-1.479 c6.937-6.762,9.536-16.291,7.76-25.126c-0.368-1.831-0.924-3.636-1.668-5.377l-0.078,5.729 c1.731,8.599-0.982,17.386-7.258,23.499c-10.673,10.406-26.153,8.833-34.896,0.928l-12.528,0.887l0.104,12.521 c10.81,10.177,38.833,19.478,60.087-1.24c18.496-18.029,17.571-48.22-2.263-65.07c-0.846-0.719-1.728-1.41-2.62-2.06 c-0.002-0.003-0.003-0.001-0.003-0.001C75.822,14.374,75.565,16.402,75.565,16.402z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientTransform="matrix(-0.809 -0.5878 0.5878 -0.809 -300.0517 -676.9433)" gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="-705.7446" x2="-681.1305" y1="-351.8281" y2="-395.8166">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.6"/>
+<stop offset="0.9158" style="stop-color:#000000;stop-opacity:0"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M6.365,43.979l18.541,0.238c0.306-0.73,1.34-6.967,7.147-12.631 c14.71-14.333,39.166-6.506,43.144,13.323l0.078-5.729c-7.746-18.126-30.876-22.111-44.465-8.868 c-3.554,3.466-5.968,7.656-7.241,12.106L8.503,42.225c1.539-8.261,5.551-16.144,12.028-22.456 C35.714,4.967,59.194,3.912,75.565,16.402l0.257-2.028c-0.002-0.003-0.003-0.001-0.003-0.001 C58.457,1.758,34.681,3.49,19.289,18.494C7.645,29.842,6.469,43.506,6.365,43.979z" fill="url(#SVGID_2_)"/>
+<path d="M75.275,39.181c3.584,8.392,3.528,21.126-6.092,30.503c-10.166,9.908-26.046,10.354-36.73,1.479 l-10.091,0.697l0.001,0.02l0.103,10.108c16.409,14.151,41.192,13.647,56.997-1.757c17.888-17.439,17.264-47.677-3.897-63.828 L75.275,39.181z" fill="#FFFFFF"/>
+<linearGradient gradientTransform="matrix(-0.809 -0.5878 0.5878 -0.809 -300.0517 -676.9433)" gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="-700.416" x2="-689.4524" y1="-352.731" y2="-393.8676">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#F2F2F2;stop-opacity:0"/>
+</linearGradient>
+<path d="M8.503,42.225l15.066,0.194c7.024-24.548,41.4-27.352,51.706-3.238l0.29-22.778 C50.486-2.732,14.228,11.5,8.503,42.225z" fill="url(#SVGID_3_)"/>
+</g>
+</g>
+</g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/Wait/qgn_graf_ring_wait_08.svg Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="100px" version="1.1" viewBox="0 0 100 100" width="100px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<g>
+<rect fill="none" height="100" width="100"/>
+</g>
+<g>
+<g>
+<linearGradient gradientTransform="matrix(-0.309 -0.9511 0.9511 -0.309 123.9503 -812.8466)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="-816.7397" x2="-801.9335" y1="-350.2422" y2="-331.5694">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.98"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0.6"/>
+</linearGradient>
+<path d="M90.432,37.846c0.211,0.703,0.403,1.415,0.578,2.137c6.196,25.54-11.599,48.398-34.942,51.793 C34.227,94.948,13.88,80.788,8.923,59.695l5.858-8.238l0.011-0.018l8.573,5.367c3.428,13.461,16.536,22.436,30.585,20.395 c9.586-1.394,17.29-7.574,21.047-15.768c0.778-1.697,1.389-3.483,1.811-5.33l-3.43,4.589 c-3.654,7.976-11.015,13.487-19.686,14.745c-14.75,2.146-26.35-8.227-28.776-19.76L14.259,49.03l-7.275,10.19 c2.763,14.588,19.968,38.584,49.34,34.314c25.562-3.714,42.559-28.682,36.417-53.973c-0.262-1.078-0.569-2.156-0.909-3.206 c0-0.004-0.002-0.003-0.002-0.003C91.831,36.356,90.432,37.846,90.432,37.846z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientTransform="matrix(-0.309 -0.9511 0.9511 -0.309 123.9503 -812.8466)" gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="-793.0225" x2="-768.4084" y1="-306.437" y2="-350.4253">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.6"/>
+<stop offset="0.9158" style="stop-color:#000000;stop-opacity:0"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M18.238,19.48l14.859,11.091c0.677-0.411,5.18-4.849,13.207-6.017 c20.325-2.949,35.51,17.758,27.073,36.138l3.43-4.589c4.388-19.217-11.982-36.036-30.761-33.31 c-4.911,0.715-9.328,2.686-12.974,5.537l-12.075-9.013c6.101-5.778,13.98-9.798,22.931-11.097 c20.983-3.051,40.6,9.896,46.503,29.624l1.399-1.489c0-0.004-0.002-0.003-0.002-0.003C85.198,15.942,64.944,3.368,43.673,6.46 C27.583,8.796,18.6,19.159,18.238,19.48z" fill="url(#SVGID_2_)"/>
+<path d="M76.808,56.104C74.774,65,67.244,75.27,53.95,77.201c-14.049,2.041-27.157-6.934-30.585-20.395 l-8.573-5.367l-0.011,0.018l-5.858,8.238c4.957,21.093,25.304,35.253,47.145,32.08c24.722-3.594,41.989-28.424,34.364-53.93 L76.808,56.104z" fill="#FFFFFF"/>
+<linearGradient gradientTransform="matrix(-0.309 -0.9511 0.9511 -0.309 123.9503 -812.8466)" gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="-787.6963" x2="-776.7325" y1="-307.3418" y2="-348.4791">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#F2F2F2;stop-opacity:0"/>
+</linearGradient>
+<path d="M20.998,19.318l12.075,9.013c20.111-15.73,49.57,2.207,43.734,27.772l13.624-18.258 C81.389,7.625,43.689-2.173,20.998,19.318z" fill="url(#SVGID_3_)"/>
+</g>
+</g>
+</g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/Wait/qgn_graf_ring_wait_09.svg Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="100px" version="1.1" viewBox="0 0 100 100" width="100px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<g>
+<rect fill="none" height="100" width="100"/>
+</g>
+<g>
+<g>
+<linearGradient gradientTransform="matrix(0.309 -0.9511 0.9511 0.309 609.3144 -653.2726)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="-860.6665" x2="-845.8603" y1="-327.8945" y2="-309.2218">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.98"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0.6"/>
+</linearGradient>
+<path d="M89.854,63.933c-0.242,0.691-0.506,1.381-0.788,2.067c-9.999,24.304-37.832,32.339-58.712,21.362 C10.82,77.091,2.682,53.677,11.07,33.698l9.581-3.221l0.019-0.007l3.781,9.381c-5.138,12.904,0.191,27.87,12.757,34.476 c8.574,4.508,18.439,4.035,26.295-0.385c1.628-0.916,3.171-2.002,4.598-3.248l-5.472,1.697 c-7.645,4.303-16.839,4.438-24.593,0.357C24.842,65.815,21.554,50.606,26.37,39.848l-4.715-11.642L9.779,32.175 C3.44,45.6,3.255,75.126,29.526,88.937c22.863,12.021,51.29,1.813,61.187-22.26c0.422-1.025,0.807-2.078,1.149-3.127 c0.002-0.004,0-0.004,0-0.004C91.862,63.55,89.854,63.933,89.854,63.933z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientTransform="matrix(0.309 -0.9511 0.9511 0.309 609.3144 -653.2726)" gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="-836.9487" x2="-812.3344" y1="-284.0884" y2="-328.0771">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.6"/>
+<stop offset="0.9158" style="stop-color:#000000;stop-opacity:0"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M42.243,6.64l5.503,17.707c0.789,0.065,7.04-0.878,14.222,2.895 c18.177,9.561,18.29,35.238,0.661,45.15l5.472-1.697c14.846-12.968,11.487-36.197-5.307-45.029 c-4.394-2.308-9.126-3.31-13.751-3.146L44.571,8.131c8.332-1.089,17.069,0.291,25.074,4.5 c18.77,9.866,27.028,31.871,20.209,51.301l2.008-0.383c0.002-0.004,0-0.004,0-0.004c6.633-20.411-2.362-42.488-21.389-52.49 C56.084,3.488,42.725,6.592,42.243,6.64z" fill="url(#SVGID_2_)"/>
+<path d="M68.101,70.694c-6.874,6.002-19.003,9.885-30.893,3.633c-12.565-6.606-17.895-21.572-12.757-34.476 L20.67,30.47l-0.019,0.007l-9.581,3.221c-8.389,19.979-0.25,43.393,19.284,53.664c22.112,11.623,50.677,1.686,59.5-23.43 L68.101,70.694z" fill="#FFFFFF"/>
+<linearGradient gradientTransform="matrix(0.309 -0.9511 0.9511 0.309 609.3144 -653.2726)" gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="-831.6211" x2="-820.6572" y1="-284.9922" y2="-326.1298">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#F2F2F2;stop-opacity:0"/>
+</linearGradient>
+<path d="M44.571,8.131l4.472,14.389c25.517-0.905,38.806,30.922,19.058,48.174l21.754-6.762 C100.302,34.167,75.562,4.082,44.571,8.131z" fill="url(#SVGID_3_)"/>
+</g>
+</g>
+</g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/Wait/qgn_graf_ring_wait_10.svg Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="100px" version="1.1" viewBox="0 0 100 100" width="100px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<g>
+<rect fill="none" height="100" width="100"/>
+</g>
+<g>
+<g>
+<linearGradient gradientTransform="matrix(0.809 -0.5878 0.5878 0.809 976.0805 -216.836)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="-925.0332" x2="-910.2272" y1="-341.7402" y2="-323.0677">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.98"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0.6"/>
+</linearGradient>
+<path d="M74.054,84.697c-0.604,0.418-1.222,0.82-1.854,1.21C49.825,99.692,22.586,89.832,12.145,68.68 C2.379,48.888,9.558,25.161,28.087,13.929l9.645,3.026l0.02,0.005l-2.455,9.813c-11.741,7.419-16.228,22.659-9.944,35.39 c4.287,8.687,12.546,14.104,21.499,15.145c1.855,0.216,3.742,0.244,5.629,0.075l-5.424-1.844 c-8.715-1.012-16.231-6.308-20.106-14.165c-6.599-13.366-0.319-27.604,9.9-33.476l3.028-12.189l-11.939-3.771 C14.918,19.073-2.587,42.851,10.55,69.467c11.432,23.162,40.43,31.613,62.585,17.956c0.944-0.583,1.874-1.208,2.768-1.855 c0.004-0.001,0.003-0.003,0.003-0.003C75.902,85.567,74.054,84.697,74.054,84.697z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientTransform="matrix(0.809 -0.5878 0.5878 0.809 976.0805 -216.836)" gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="-901.3149" x2="-876.7007" y1="-297.9341" y2="-341.9226">
+<stop offset="0" style="stop-color:#000000;stop-opacity:0.6"/>
+<stop offset="0.9158" style="stop-color:#000000;stop-opacity:0"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M69.21,10.361l-5.955,17.56c0.6,0.517,6.211,3.429,9.804,10.702 c9.085,18.419-5.915,39.259-26.003,36.915l5.424,1.844c19.633-1.766,30.569-22.532,22.174-39.549 c-2.198-4.449-5.438-8.042-9.275-10.627l4.84-14.27c7.381,4.016,13.638,10.269,17.64,18.379 c9.387,19.014,3.134,41.671-13.804,53.382l1.849,0.87c0.004-0.001,0.003-0.003,0.003-0.003 c17.362-12.613,23.063-35.762,13.549-55.037C82.26,15.947,69.628,10.606,69.21,10.361z" fill="url(#SVGID_2_)"/>
+<path d="M52.479,77.382c-9.089,0.814-21.184-3.174-27.128-15.22c-6.283-12.73-1.797-27.971,9.944-35.39 l2.455-9.813l-0.02-0.005l-9.645-3.026C9.558,25.161,2.379,48.888,12.145,68.68c11.058,22.4,40.008,31.15,61.909,16.018 L52.479,77.382z" fill="#FFFFFF"/>
+<linearGradient gradientTransform="matrix(0.809 -0.5878 0.5878 0.809 976.0805 -216.836)" gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="-895.9897" x2="-885.0259" y1="-298.8389" y2="-339.9761">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#F2F2F2;stop-opacity:0"/>
+</linearGradient>
+<path d="M70.218,12.937l-4.84,14.27c21.175,14.266,13.219,47.825-12.898,50.176l21.574,7.315 C100.001,66.757,97.67,27.876,70.218,12.937z" fill="url(#SVGID_3_)"/>
+</g>
+</g>
+</g>
+</svg>
--- a/data/albumlisttogrid.fxml Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<layers>
-<visual>
-
-<param name="translation_y" type="anim">
-<duration>0.3</duration>
-<style>linear</style>
- <keyframe at="0">0</keyframe>
- <keyframe at="1">1</keyframe>
-<start ref="visual.top">1</start>
-<end ref="screen.bottom">1</end>
-</param>
-
-</visual>
-</layers>
--- a/data/albumlisttogridshow.fxml Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<layers>
-<visual>
-
-<param name="opacity" type="anim">
-<duration>0.3</duration>
-<style>linear</style>
-<keyframe at="0.0">0</keyframe>
-<keyframe at="0.5">0.25</keyframe>
-<keyframe at="1.0">1</keyframe>
-</param>
-
-</visual>
-</layers>
--- a/data/detailsview.docml Tue Jul 06 14:16:16 2010 +0300
+++ b/data/detailsview.docml Wed Aug 18 09:48:53 2010 +0300
@@ -2,323 +2,215 @@
<hbdocument version="1.1">
<widget name="view" type="HbView">
<widget name="content" role="HbView:widget" type="HbWidget">
- <widget name="MainWidget" type="HbWidget">
- <widget name="ImageIcon" type="HbLabel">
- <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
- <icon iconName="qtg_small_smiley_very_cool" name="icon"/>
- <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <sizehint height="31.95un" type="PREFERRED" width="31.95un"/>
- <sizehint height="31.95un" type="MINIMUM" width="31.95un"/>
- <sizehint height="31.95un" type="MAXIMUM" width="31.95un"/>
- </widget>
- <widget name="FavIcon" type="HbPushButton">
- <real name="z" value="1"/>
- <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <real name="opacity" value="0.6"/>
- <sizehint type="MINIMUM" width="5un"/>
- <sizehint height="5un" type="MAXIMUM" width="5un"/>
- <string name="text"/>
+ <widget name="ImageIcon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <icon iconName="qtg_small_smiley_very_cool" name="icon"/>
+ <real name="z" value="1"/>
+ <sizehint height="21.19403un" type="PREFERRED" width="39.55224un"/>
+ </widget>
+ <widget name="FavIcon" plugin="glxdetailscustomplugin" type="GlxDetailsIcon">
+ <real name="z" value="2"/>
+ </widget>
+ <widget name="ImageName" plugin="glxdetailscustomplugin" type="GlxDetailsTextEdit">
+ <real name="z" value="3"/>
+ <sizehint type="PREFERRED" width="44.92537un"/>
+ </widget>
+ <widget name="container" type="HbWidget">
+ <widget name="DateText" type="HbLabel">
+ <rect height="3.28358un" name="geometry" width="6.71un" x="0un" y="0un"/>
+ <string name="plainText" value="Label"/>
</widget>
- <widget name="ImageName" plugin="detailsnamelabelplugin" type="GlxDetailsNameLabel"/>
- <widget name="container" type="HbWidget">
- <widget name="DateContainer" type="HbWidget">
- <widget name="DateText" type="HbLabel">
- <string name="plainText"/>
- </widget>
- <real name="z" value="0"/>
- <sizehint height="11.9403un" type="PREFERRED" width="23.8806un"/>
- <layout orientation="Horizontal" type="linear">
- <linearitem itemname="DateText"/>
- </layout>
- </widget>
- <widget name="TimeContainer" type="HbWidget">
- <widget name="TimeText" type="HbLabel">
- <string name="plainText"/>
- </widget>
- <real name="z" value="0"/>
- <sizehint height="11.9403un" type="PREFERRED" width="23.8806un"/>
- <layout orientation="Horizontal" type="linear">
- <linearitem itemname="TimeText"/>
- </layout>
- </widget>
- <widget name="SizeContainer" type="HbWidget">
- <widget name="SizeText" type="HbLabel">
- <string name="plainText"/>
- </widget>
- <real name="z" value="0"/>
- <sizehint height="11.9403un" type="PREFERRED" width="23.8806un"/>
- <layout orientation="Horizontal" type="linear">
- <linearitem itemname="SizeText"/>
- </layout>
- </widget>
- <widget name="DescLabelContainer" type="HbWidget">
- <widget name="Descriptions" type="HbLabel">
- <string name="plainText"/>
- </widget>
- <real name="z" value="0"/>
- <sizehint height="11.9403un" type="PREFERRED" width="23.8806un"/>
- <layout orientation="Horizontal" type="linear">
- <linearitem itemname="Descriptions"/>
- </layout>
- </widget>
- <widget name="DescTextContainer" type="HbWidget">
- <widget name="DescriptionsText" plugin="detailsdescriptioneditplugin" type="GlxDetailsDescriptionEdit">
- <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- </widget>
- <real name="z" value="0"/>
- <sizehint height="11.9403un" type="PREFERRED" width="23.8806un"/>
- <layout orientation="Horizontal" type="linear">
- <linearitem itemname="DescriptionsText"/>
- </layout>
- </widget>
- <real name="z" value="0"/>
- <sizehint height="23.8806un" type="PREFERRED" width="11.9403un"/>
- <layout orientation="Vertical" type="linear">
- <linearitem itemname="DateContainer"/>
- <linearitem itemname="TimeContainer"/>
- <linearitem itemname="SizeContainer"/>
- <linearitem itemname="DescLabelContainer"/>
- <linearitem itemname="DescTextContainer"/>
- </layout>
+ <widget name="TimeText" type="HbLabel">
+ <rect height="3.28358un" name="geometry" width="6.71un" x="0un" y="0un"/>
+ <string name="plainText" value="Label"/>
</widget>
- <real name="z" value="0"/>
- <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <sizehint height="expr(var(hb-param-screen-height) - (2*var(hb-param-margin-gene-screen) )-var(hb-param-widget-chrome-height))" type="FIXED" width="expr(var(hb-param-screen-width) -(2*var(hb-param-margin-gene-screen) ))"/>
- <sizehint height="expr(var(hb-param-screen-height) - (2*var(hb-param-margin-gene-screen) )-var(hb-param-widget-chrome-height))" type="MINIMUM" width="expr(var(hb-param-screen-width) -(2*var(hb-param-margin-gene-screen) ))"/>
- <sizehint height="expr(var(hb-param-screen-height) - (2*var(hb-param-margin-gene-screen) )-var(hb-param-widget-chrome-height))" type="MAXIMUM" width="expr(var(hb-param-screen-width) -(2*var(hb-param-margin-gene-screen) ))"/>
- <layout type="anchor">
- <anchoritem dst="ImageIcon" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
- <anchoritem dst="ImageIcon" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
- <anchoritem dst="FavIcon" dstEdge="TOP" spacing="29.85075un" src="" srcEdge="TOP"/>
- <anchoritem dst="FavIcon" dstEdge="RIGHT" spacing="-10.85075un" src="" srcEdge="RIGHT"/>
- <anchoritem dst="ImageName" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
- <anchoritem dst="ImageName" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
- <anchoritem dst="container" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
- <anchoritem dst="container" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
- </layout>
+ <widget name="SizeText" type="HbLabel">
+ <rect height="3.28358un" name="geometry" width="6.71un" x="0un" y="0un"/>
+ <string name="plainText" value="Label"/>
+ </widget>
+ <widget name="Descriptions" type="HbLabel">
+ <rect height="3.28358un" name="geometry" width="6.71un" x="0un" y="0un"/>
+ <string locid="txt_photos_formlabel_description" name="plainText" value="Description :"/>
+ </widget>
+ <widget name="DescriptionsText" plugin="glxdetailscustomplugin" type="GlxDetailsTextEdit"/>
+ <sizehint height="23.8806un" type="PREFERRED" width="23.8806un"/>
</widget>
<layout type="anchor">
- <anchoritem dst="MainWidget" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-screen) )" src="" srcEdge="LEFT"/>
- <anchoritem dst="MainWidget" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-screen) )" src="" srcEdge="TOP"/>
+ <anchoritem dst="ImageIcon" dstEdge="TOP" spacing="1.64179un" src="" srcEdge="TOP"/>
+ <anchoritem dst="ImageIcon" dstEdge="RIGHT" spacing="-12.83582un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="FavIcon" dstEdge="TOP" spacing="14.32836un" src="" srcEdge="TOP"/>
+ <anchoritem dst="FavIcon" dstEdge="RIGHT" spacing="-10.59702un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="ImageName" dstEdge="LEFT" spacing="3.13433un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="ImageName" dstEdge="TOP" spacing="25.52239un" src="" srcEdge="TOP"/>
+ <anchoritem dst="container" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="container" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
</layout>
</widget>
<string name="title" value="View"/>
+ <bool name="contentFullScreen" value="TRUE"/>
</widget>
<section name="portrait">
- <widget name="DescriptionsText" plugin="detailsdescriptioneditplugin" type="GlxDetailsDescriptionEdit">
- <sizehint height="10.5un" type="PREFERRED" width="48un"/>
- <sizehint height="10.5un" type="MAXIMUM" width="48un"/>
- <sizehint height="10.5un" type="MINIMUM" width="48un"/>
+ <widget name="view" type="HbView">
+ <bool name="contentFullScreen" value="TRUE"/>
</widget>
- <widget name="DateContainer" type="HbWidget">
+ <widget name="ImageName" plugin="glxdetailscustomplugin" type="GlxDetailsTextEdit">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="6un" type="FIXED" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ <sizehint height="6un" type="MINIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ <sizehint height="6un" type="MAXIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ </widget>
+ <widget name="SizeText" type="HbLabel">
+ <rect height="6un" name="geometry" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)" x="0.5un" y="expr(6un +var(hb-param-margin-gene-bottom) + 6un +var(hb-param-margin-gene-bottom) )"/>
<sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <sizehint height="7.5un" type="MAXIMUM" width="48.38806un"/>
- <sizehint height="5un" type="FIXED" width="48.38806un"/>
- <sizehint height="5un" type="MINIMUM" width="48.38806un"/>
- <layout orientation="Horizontal" spacing="3px" type="linear">
- <contentsmargins bottom="3px" left="3px" right="3px" top="3px"/>
- <linearitem itemname="DateText"/>
- </layout>
+ <sizehint height="6un" type="FIXED" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ <sizehint height="6un" type="MINIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ <sizehint height="6un" type="MAXIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ <string name="plainText"/>
+ </widget>
+ <widget name="TimeText" type="HbLabel">
+ <rect height="6un" name="geometry" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)" x="0.5un" y="expr(6un +var(hb-param-margin-gene-bottom) )"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="6un" type="FIXED" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ <sizehint height="6un" type="MINIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ <sizehint height="6un" type="MAXIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ <string name="plainText"/>
+ </widget>
+ <widget name="DescriptionsText" plugin="glxdetailscustomplugin" type="GlxDetailsTextEdit">
+ <real name="z" value="5"/>
+ <rect height="11.49254un" name="geometry" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)" x="0.5un" y="29un"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="11.49254un" type="FIXED" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ <sizehint height="11.49254un" type="MINIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ <sizehint height="11.49254un" type="MAXIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
</widget>
<widget name="content" role="HbView:widget" type="HbWidget">
<layout type="anchor">
- <anchoritem dst="MainWidget" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-screen) )" src="" srcEdge="LEFT"/>
- <anchoritem dst="MainWidget" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-screen) + var(hb-param-widget-chrome-height) + var(hb-param-widget-chrome-height) /3)" src="" srcEdge="TOP"/>
+ <anchoritem dst="ImageName" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-screen) + 0.5un)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="ImageName" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-screen) + 0.5un)" src="ImageIcon" srcEdge="BOTTOM"/>
+ <anchoritem dst="container" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-screen) )" src="" srcEdge="LEFT"/>
+ <anchoritem dst="container" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-bottom) )" src="ImageName" srcEdge="BOTTOM"/>
+ <anchoritem dst="FavIcon" dstEdge="RIGHT" spacing="0un" src="ImageIcon" srcEdge="RIGHT"/>
+ <anchoritem dst="FavIcon" dstEdge="BOTTOM" spacing="0un" src="ImageIcon" srcEdge="BOTTOM"/>
+ <anchoritem dst="ImageIcon" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-screen) )" src="" srcEdge="LEFT"/>
+ <anchoritem dst="ImageIcon" dstEdge="TOP" spacing="expr(var(hb-param-widget-chrome-height) +var(hb-param-margin-gene-screen))" src="" srcEdge="TOP"/>
</layout>
</widget>
- <widget name="DescLabelContainer" type="HbWidget">
- <sizehint height="4.5un" type="MAXIMUM" width="48.38806un"/>
- <sizehint height="4.5un" type="MINIMUM" width="48.38806un"/>
+ <widget name="FavIcon" plugin="glxdetailscustomplugin" type="GlxDetailsIcon">
<sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <sizehint height="4.5un" type="FIXED" width="48.38806un"/>
- <layout orientation="Horizontal" spacing="3px" type="linear">
- <contentsmargins bottom="3px" left="3px" right="3px" top="3px"/>
- <linearitem itemname="Descriptions"/>
- </layout>
+ <sizehint height="expr(var(hb-param-graphic-size-primary-small) + var(hb-param-graphic-size-primary-small) )" type="FIXED" width="expr(var(hb-param-graphic-size-primary-small) + var(hb-param-graphic-size-primary-small) )"/>
+ <sizehint height="expr(var(hb-param-graphic-size-primary-small) + var(hb-param-graphic-size-primary-small) )" type="MINIMUM" width="expr(var(hb-param-graphic-size-primary-small) + var(hb-param-graphic-size-primary-small) )"/>
+ <sizehint height="expr(var(hb-param-graphic-size-primary-small) + var(hb-param-graphic-size-primary-small) )" type="MAXIMUM" width="expr(var(hb-param-graphic-size-primary-small) + var(hb-param-graphic-size-primary-small) )"/>
</widget>
<widget name="DateText" type="HbLabel">
+ <rect height="6un" name="geometry" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)" x="0.5un" y="0un"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint type="FIXED" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ <sizehint height="6un" type="MINIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ <sizehint height="6un" type="MAXIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
<string name="plainText"/>
</widget>
- <widget name="TimeContainer" type="HbWidget">
+ <widget name="ImageIcon" type="HbLabel">
<sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <sizehint height="5un" type="MAXIMUM" width="48.38806un"/>
- <sizehint height="5un" type="FIXED" width="48.38806un"/>
- <sizehint height="5un" type="MINIMUM" width="48.38806un"/>
- <layout orientation="Horizontal" spacing="3px" type="linear">
- <contentsmargins bottom="3px" left="3px" right="3px" top="3px"/>
- <linearitem itemname="TimeText"/>
- </layout>
+ <sizehint height="31.95un" type="FIXED" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) )"/>
+ <sizehint height="31.95un" type="MINIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) )"/>
+ <sizehint height="31.95un" type="MAXIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) )"/>
</widget>
<widget name="container" type="HbWidget">
<sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <sizehint height="37.82239un" type="MAXIMUM" width="49.73134un"/>
- <sizehint height="37.82239un" type="FIXED" width="49.73134un"/>
- <sizehint height="37.82239un" type="MINIMUM" width="49.73134un"/>
- <layout orientation="Vertical" spacing="0un" type="linear">
- <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
- <linearitem itemname="DateContainer"/>
- <linearitem itemname="TimeContainer"/>
- <linearitem itemname="SizeContainer"/>
- <linearitem itemname="DescLabelContainer"/>
- <linearitem itemname="DescTextContainer"/>
- </layout>
- </widget>
- <widget name="SizeContainer" type="HbWidget">
- <sizehint height="7.5un" type="MINIMUM" width="48.38806un"/>
- <sizehint height="5un" type="MAXIMUM" width="48.38806un"/>
- <sizehint height="7.5un" type="FIXED" width="48.38806un"/>
- <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <layout orientation="Horizontal" spacing="3px" type="linear">
- <contentsmargins bottom="3px" left="3px" right="3px" top="3px"/>
- <linearitem itemname="SizeText"/>
- </layout>
- </widget>
- <widget name="MainWidget" type="HbWidget">
- <layout type="anchor">
- <anchoritem dst="ImageIcon" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
- <anchoritem dst="ImageIcon" dstEdge="CENTERH" spacing="0un" src="" srcEdge="CENTERH"/>
- <anchoritem dst="FavIcon" dstEdge="RIGHT" spacing="0un" src="ImageIcon" srcEdge="RIGHT"/>
- <anchoritem dst="FavIcon" dstEdge="BOTTOM" spacing="0un" src="ImageIcon" srcEdge="BOTTOM"/>
- <anchoritem dst="ImageName" dstEdge="LEFT" spacing="0.44776un" src="" srcEdge="LEFT"/>
- <anchoritem dst="ImageName" dstEdge="TOP" spacing="expr(31.95un +var(hb-param-margin-gene-middle-vertical))" src="" srcEdge="TOP"/>
- <anchoritem dst="container" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
- <anchoritem dst="container" dstEdge="TOP" spacing="expr(31.95un +var(hb-param-margin-gene-middle-vertical) + var(hb-param-margin-gene-bottom) + 5un)" src="" srcEdge="TOP"/>
- </layout>
- </widget>
- <widget name="DescTextContainer" type="HbWidget">
- <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <sizehint height="14un" type="MAXIMUM" width="48.38806un"/>
- <sizehint height="14un" type="FIXED" width="48.38806un"/>
- <sizehint height="7.5un" type="MINIMUM" width="48.38806un"/>
- <layout orientation="Horizontal" spacing="3px" type="linear">
- <contentsmargins bottom="3px" left="3px" right="3px" top="3px"/>
- <linearitem itemname="DescriptionsText"/>
- </layout>
- </widget>
- <widget name="ImageName" plugin="detailsnamelabelplugin" type="GlxDetailsNameLabel">
- <enums name="textWrapping" value="TextWordWrap"/>
- <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
- <real name="z" value="2"/>
- <sizehint height="6un" type="FIXED" width="48.50746un"/>
- <sizehint height="6un" type="MINIMUM" width="48.50746un"/>
- <sizehint height="7un" type="MAXIMUM" width="48.50746un"/>
- <string name="plainText"/>
- <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- </widget>
- <widget name="FavIcon" type="HbPushButton">
- <sizehint type="PREFERRED" width="expr(var(hb-param-graphic-size-primary-small) + 2un)"/>
- <sizehint type="MINIMUM" width="expr(var(hb-param-graphic-size-primary-small) + 2un)"/>
- <sizehint height="5un" type="MAXIMUM" width="expr(var(hb-param-graphic-size-primary-small) + 2un)"/>
- <real name="opacity" value="0.6"/>
+ <sizehint height="40.74627un" type="FIXED" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) )"/>
+ <sizehint height="40.74627un" type="MINIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) )"/>
+ <sizehint height="40.74627un" type="MAXIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) )"/>
</widget>
<widget name="Descriptions" type="HbLabel">
- <string name="plainText" value="Description:"/>
+ <rect height="40.2" name="geometry" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)" x="0.5un" y="expr(6un +var(hb-param-margin-gene-bottom) + 6un +var(hb-param-margin-gene-bottom) + 6un +var(hb-param-margin-gene-bottom) )"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="6un" type="FIXED" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ <sizehint height="6un" type="MINIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ <sizehint height="6un" type="MAXIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 2un)"/>
+ <string locid="txt_photos_formlabel_description" name="plainText"/>
</widget>
</section>
<section name="landscape">
- <widget name="DescriptionsText" plugin="detailsdescriptioneditplugin" type="GlxDetailsDescriptionEdit">
- <sizehint height="12un" type="MINIMUM" width="56un"/>
- <sizehint height="12un" type="PREFERRED" width="56un"/>
- <sizehint height="12un" type="MAXIMUM" width="56un"/>
+ <widget name="view" type="HbView">
+ <bool name="contentFullScreen" value="TRUE"/>
+ </widget>
+ <widget name="ImageName" plugin="glxdetailscustomplugin" type="GlxDetailsTextEdit">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="6un" type="MINIMUM" width="31.95un"/>
+ <sizehint height="6un" type="MAXIMUM" width="31.95un"/>
+ </widget>
+ <widget name="SizeText" type="HbLabel">
+ <rect height="6un" name="geometry" width="56un" x="0.5un" y="expr(6un +var(hb-param-margin-gene-bottom) + 6un +var(hb-param-margin-gene-bottom) )"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="6un" type="FIXED" width="56un"/>
+ <sizehint height="6un" type="MINIMUM" width="56un"/>
+ <sizehint height="6un" type="MAXIMUM" width="56un"/>
+ <string name="plainText"/>
</widget>
- <widget name="DateContainer" type="HbWidget">
+ <widget name="TimeText" type="HbLabel">
+ <rect height="6un" name="geometry" width="56un" x="0.5un" y="expr(6un +var(hb-param-margin-gene-bottom) )"/>
<sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <sizehint height="5un" type="FIXED" width="expr(var(hb-param-screen-width) - (2*var(hb-param-margin-gene-screen)) -31.95un -var(hb-param-margin-gene-left) )"/>
- <sizehint height="5un" type="MAXIMUM" width="expr(var(hb-param-screen-width) - (2*var(hb-param-margin-gene-screen)) -31.95un -var(hb-param-margin-gene-left) )"/>
- <sizehint height="5un" type="MINIMUM" width="expr(var(hb-param-screen-width) - (2*var(hb-param-margin-gene-screen)) -31.95un -var(hb-param-margin-gene-left) )"/>
+ <sizehint height="6un" type="FIXED" width="55un"/>
+ <sizehint height="6un" type="MINIMUM" width="55un"/>
+ <sizehint height="6un" type="MAXIMUM" width="56un"/>
+ <string name="plainText"/>
+ </widget>
+ <widget name="DescriptionsText" plugin="glxdetailscustomplugin" type="GlxDetailsTextEdit">
+ <real name="z" value="6"/>
+ <rect height="11.49254un" name="geometry" width="56un" x="0.5un" y="28.95522un"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="11.49254un" type="FIXED" width="56un"/>
+ <sizehint height="11.49254un" type="MINIMUM" width="56un"/>
+ <sizehint height="11.49254un" type="MAXIMUM" width="56un"/>
</widget>
<widget name="content" role="HbView:widget" type="HbWidget">
<layout type="anchor">
- <anchoritem dst="MainWidget" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-screen) )" src="" srcEdge="LEFT"/>
- <anchoritem dst="MainWidget" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-screen) + var(hb-param-widget-chrome-height))" src="" srcEdge="TOP"/>
+ <anchoritem dst="ImageName" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-screen) )" src="" srcEdge="LEFT"/>
+ <anchoritem dst="ImageName" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-middle-vertical) )" src="ImageIcon" srcEdge="BOTTOM"/>
+ <anchoritem dst="FavIcon" dstEdge="RIGHT" spacing="0un" src="ImageIcon" srcEdge="RIGHT"/>
+ <anchoritem dst="FavIcon" dstEdge="BOTTOM" spacing="0un" src="ImageIcon" srcEdge="BOTTOM"/>
+ <anchoritem dst="ImageIcon" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-screen) )" src="" srcEdge="LEFT"/>
+ <anchoritem dst="ImageIcon" dstEdge="TOP" spacing="expr(var(hb-param-widget-chrome-height) +var(hb-param-margin-gene-screen))" src="" srcEdge="TOP"/>
+ <anchoritem dst="container" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-screen) + 31.95un + var(hb-param-margin-gene-left))" src="" srcEdge="LEFT"/>
+ <anchoritem dst="container" dstEdge="TOP" spacing="expr(var(hb-param-widget-chrome-height) +var(hb-param-margin-gene-screen))" src="" srcEdge="TOP"/>
</layout>
</widget>
- <widget name="DescLabelContainer" type="HbWidget">
+ <widget name="FavIcon" plugin="glxdetailscustomplugin" type="GlxDetailsIcon">
<sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <sizehint height="4.5un" type="MINIMUM" width="57.57239un"/>
- <sizehint height="4.5un" type="FIXED" width="57.57239un"/>
- <sizehint height="4.5un" type="MAXIMUM" width="57.57239un"/>
+ <sizehint height="expr(var(hb-param-graphic-size-primary-small) + var(hb-param-graphic-size-primary-small) )" type="FIXED" width="expr(var(hb-param-graphic-size-primary-small) + var(hb-param-graphic-size-primary-small) )"/>
+ <sizehint height="expr(var(hb-param-graphic-size-primary-small) + var(hb-param-graphic-size-primary-small) )" type="MINIMUM" width="expr(var(hb-param-graphic-size-primary-small) + var(hb-param-graphic-size-primary-small) )"/>
+ <sizehint height="expr(var(hb-param-graphic-size-primary-small) + var(hb-param-graphic-size-primary-small) )" type="MAXIMUM" width="expr(var(hb-param-graphic-size-primary-small) + var(hb-param-graphic-size-primary-small) )"/>
</widget>
<widget name="DateText" type="HbLabel">
+ <rect height="6un" name="geometry" width="56un" x="0.5un" y="0un"/>
<sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <sizehint type="MINIMUM" width="55un"/>
- <sizehint type="MAXIMUM" width="55un"/>
+ <sizehint type="FIXED" width="56un"/>
+ <sizehint height="6un" type="MINIMUM" width="56un"/>
+ <sizehint height="6un" type="MAXIMUM" width="56un"/>
+ <string name="plainText"/>
</widget>
- <widget name="TimeContainer" type="HbWidget">
- <sizehint height="5un" type="MINIMUM" width="57.57239un"/>
- <sizehint height="5un" type="FIXED" width="57.57239un"/>
- <sizehint height="5un" type="MAXIMUM" width="57.57239un"/>
+ <widget name="ImageIcon" type="HbLabel">
<sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- </widget>
- <widget name="SizeText" type="HbLabel">
- <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <sizehint height="3.28358un" type="MINIMUM" width="55un"/>
- <sizehint height="3.28358un" type="MAXIMUM" width="55un"/>
+ <sizehint height="31.95un" type="FIXED" width="31.95un"/>
+ <sizehint height="31.95un" type="MINIMUM" width="31.95un"/>
+ <sizehint height="31.95un" type="MAXIMUM" width="31.95un"/>
</widget>
<widget name="container" type="HbWidget">
<sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <sizehint height="49.73134un" type="MINIMUM" width="57.57239un"/>
- <sizehint height="49.73134un" type="FIXED" width="57.57239un"/>
- <sizehint type="MAXIMUM" width="57.57239un"/>
- <layout orientation="Vertical" type="linear">
- <contentsmargins bottom="1un" left="0un" right="0un" top="0un"/>
- <linearitem itemname="DateContainer"/>
- <linearitem itemname="TimeContainer"/>
- <linearitem itemname="SizeContainer"/>
- <linearitem itemname="DescLabelContainer"/>
- <linearitem itemname="DescTextContainer"/>
- </layout>
- </widget>
- <widget name="SizeContainer" type="HbWidget">
- <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <sizehint height="5un" type="MINIMUM" width="57.57239un"/>
- <sizehint height="5un" type="FIXED" width="57.57239un"/>
- <sizehint height="5un" type="MAXIMUM" width="57.57239un"/>
- </widget>
- <widget name="MainWidget" type="HbWidget">
- <layout type="anchor">
- <anchoritem dst="ImageIcon" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
- <anchoritem dst="ImageIcon" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
- <anchoritem dst="FavIcon" dstEdge="RIGHT" spacing="0un" src="ImageIcon" srcEdge="RIGHT"/>
- <anchoritem dst="FavIcon" dstEdge="BOTTOM" spacing="0un" src="ImageIcon" srcEdge="BOTTOM"/>
- <anchoritem dst="ImageName" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
- <anchoritem dst="ImageName" dstEdge="TOP" spacing="expr(31.95un +var(hb-param-margin-gene-middle-vertical))" src="" srcEdge="TOP"/>
- <anchoritem dst="container" dstEdge="LEFT" spacing="expr(31.95un +var(hb-param-margin-gene-left))" src="" srcEdge="LEFT"/>
- <anchoritem dst="container" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
- </layout>
- </widget>
- <widget name="TimeText" type="HbLabel">
- <sizehint type="FIXED" width="55un"/>
- <sizehint type="MINIMUM" width="55un"/>
- <sizehint height="3.28358un" type="MAXIMUM" width="55un"/>
- <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- </widget>
- <widget name="ImageName" plugin="detailsnamelabelplugin" type="GlxDetailsNameLabel">
- <real name="z" value="2"/>
- <sizehint height="7.5un" type="PREFERRED" width="31.95un"/>
- <sizehint height="7.5un" type="MINIMUM" width="31.95un"/>
- <sizehint height="7.5un" type="MAXIMUM" width="31.95un"/>
- </widget>
- <widget name="DescTextContainer" type="HbWidget">
- <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
- <sizehint type="MAXIMUM" width="57.57239un"/>
- <sizehint height="12un" type="FIXED" width="57.57239un"/>
- <sizehint height="12un" type="MINIMUM" width="57.57239un"/>
- <layout orientation="Horizontal" spacing="0un" type="linear">
- <contentsmargins bottom="1.34328un" left="0un" right="1.34328un" top="0un"/>
- <linearitem itemname="DescriptionsText"/>
- </layout>
- </widget>
- <widget name="FavIcon" type="HbPushButton">
- <sizehint type="PREFERRED" width="expr(var(hb-param-graphic-size-primary-small) + 2un)"/>
- <sizehint type="MINIMUM" width="expr(var(hb-param-graphic-size-primary-small) + 2un)"/>
- <sizehint height="5un" type="MAXIMUM" width="expr(var(hb-param-graphic-size-primary-small) + 2un)"/>
+ <sizehint height="40.74627un" type="FIXED" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 31.95un - var(hb-param-margin-gene-left) )"/>
+ <sizehint height="40.74627un" type="MINIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 31.95un - var(hb-param-margin-gene-left) )"/>
+ <sizehint height="40.74627un" type="MAXIMUM" width="expr( var(hb-param-screen-width) -var(hb-param-margin-gene-screen) -var(hb-param-margin-gene-screen) - 31.95un - var(hb-param-margin-gene-left) )"/>
</widget>
<widget name="Descriptions" type="HbLabel">
- <string name="plainText" value="Descriptions:"/>
+ <rect height="6un" name="geometry" width="56un" x="0.5un" y="expr(6un +var(hb-param-margin-gene-bottom) + 6un +var(hb-param-margin-gene-bottom) + 6un +var(hb-param-margin-gene-bottom) )"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="6un" type="FIXED" width="56un"/>
+ <sizehint height="6un" type="MINIMUM" width="56un"/>
+ <sizehint height="6un" type="MAXIMUM" width="56un"/>
+ <string locid="txt_photos_formlabel_description" name="plainText"/>
</widget>
</section>
- <metadata activeUIState="Common ui state" display="NHD-3.2-inch_portrait" unit="un">
+ <metadata activeUIState="landscape" display="NHD-3.2-inch_landscape" unit="un">
<uistate name="Common ui state" sections="#common"/>
<uistate name="portrait" sections="#common portrait"/>
<uistate name="landscape" sections="#common landscape"/>
--- a/data/fullscreen.docml Tue Jul 06 14:16:16 2010 +0300
+++ b/data/fullscreen.docml Wed Aug 18 09:48:53 2010 +0300
@@ -4,9 +4,6 @@
<widget name="mcontent" role="HbView:widget" type="HbWidget">
<widget name="mCoverFlow" type="HbWidget">
<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">
<bool name="itemRecycling" value="TRUE"/>
@@ -22,9 +19,10 @@
<widget name="toolBar" type="HbToolBar">
<enums name="layoutDirection" value="RightToLeft"/>
<real name="z" value="7"/>
- <real name="opacity" value="0.5"/>
+ <real name="opacity" value="1"/>
<sizehint height="60.44776un" type="PREFERRED" width="9.40299un"/>
<enums name="orientation" value="Vertical"/>
+ <bool name="visible" value="FALSE"/>
</widget>
<widget name="glxZoomWidget" type="HbWidget">
<string name="alignment" value="AlignVCenter|AlignHCenter"/>
@@ -52,7 +50,6 @@
</widget>
<string locid="txt_photos_title_photos" name="title" value="Photos"/>
<bool name="contentFullScreen" value="TRUE"/>
- <string name="titleBarFlags" value="TitleBarHidden|TitleBarTransparent"/>
</widget>
<section name="portrait">
<widget name="mImageStrip" type="HbGridView">
--- a/data/grid.docml Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<hbdocument version="0.9">
- <widget name="glxgridview" type="HbView">
- <widget name="content" role="HbView:widget" type="HbWidget">
- <widget name="hbgridview" type="HbGridView">
- <real name="z" value="1"/>
- <sizehint height="88.65672un" type="PREFERRED" width="53.28358un"/>
- </widget>
- <layout type="anchor">
- <anchoritem dst="hbgridview" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
- <anchoritem dst="hbgridview" dstEdge="TOP" spacing="9un" src="" srcEdge="TOP"/>
- <anchoritem dst="hbgridview" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
- <anchoritem dst="hbgridview" dstEdge="BOTTOM" spacing="-9un" src="" srcEdge="BOTTOM"/>
- </layout>
- </widget>
- <string name="title" value="Photos"/>
- <bool name="contentFullScreen" value="TRUE"/>
- </widget>
- <section name="portrait">
- <widget name="glxgridview" type="HbView">
- <real name="z" value="0"/>
- <string name="HbVkbHost" value=""/>
- </widget>
- <widget name="hbgridview" type="HbGridView">
- <bool name="itemRecycling" value="TRUE"/>
- <bool name="textVisible" value="FALSE"/>
- <enums name="verticalScrollBarPolicy" value="ScrollBarAutoHide"/>
- <enums name="scrollDirections" value="Vertical"/>
- <bool name="uniformItemSizes" value="TRUE"/>
- <enums name="horizontalScrollBarPolicy" value="ScrollBarAutoHide"/>
- <real name="z" value="5"/>
- <sizehint height="77.52239un" type="PREFERRED" width="53.28358un"/>
- <integer name="columnCount" value="3"/>
- <bool name="frictionEnabled" value="TRUE"/>
- <integer name="rowCount" value="5"/>
- </widget>
- <widget name="content" role="HbView:widget" type="HbWidget">
- <layout type="anchor">
- <anchoritem dst="hbgridview" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
- <anchoritem dst="hbgridview" dstEdge="TOP" spacing="9un" src="" srcEdge="TOP"/>
- <anchoritem dst="hbgridview" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
- <anchoritem dst="hbgridview" dstEdge="BOTTOM" spacing="-9un" src="" srcEdge="BOTTOM"/>
- </layout>
- </widget>
- </section>
- <section name="landscape">
- <widget name="hbgridview" type="HbGridView">
- <bool name="itemRecycling" value="TRUE"/>
- <bool name="textVisible" value="FALSE"/>
- <enums name="verticalScrollBarPolicy" value="ScrollBarAutoHide"/>
- <bool name="uniformItemSizes" value="TRUE"/>
- <enums name="horizontalScrollBarPolicy" value="ScrollBarAutoHide"/>
- <enums name="scrollDirections" value="Horizontal"/>
- <integer name="columnCount" value="5"/>
- <sizehint height="33.1343un" type="PREFERRED" width="95.52239un"/>
- <bool name="frictionEnabled" value="TRUE"/>
- <integer name="rowCount" value="2"/>
- </widget>
- <widget name="content" role="HbView:widget" type="HbWidget">
- <layout type="anchor">
- <anchoritem dst="hbgridview" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
- <anchoritem dst="hbgridview" dstEdge="TOP" spacing="10.4478un" src="" srcEdge="TOP"/>
- <anchoritem dst="hbgridview" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
- <anchoritem dst="hbgridview" dstEdge="BOTTOM" spacing="-9.7015un" src="" srcEdge="BOTTOM"/>
- </layout>
- </widget>
- </section>
- <metadata activeUIState="portrait" display="NHD portrait" unit="un">
- <uistate name="Common ui state" sections="#common"/>
- <uistate name="landscape" sections="#common landscape"/>
- <uistate name="portrait" sections="#common portrait"/>
- </metadata>
-</hbdocument>
--- a/data/gridtoalbumlist.fxml Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<layers>
-<visual>
-
-<param name="translation_y" type="anim">
-<duration>0.3</duration>
-<style>linear</style>
- <keyframe at="0">0</keyframe>
- <keyframe at="1">1</keyframe>
-<start ref="screen.bottom">1</start>
-<end ref="visual.top">1</end>
-</param>
-
-</visual>
-</layers>
--- a/data/gridtoalbumlisthide.fxml Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<layers>
-<visual>
-
-<param name="opacity" type="anim">
-<duration>0.3</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>
-</layers>
--- a/data/photos.css Tue Jul 06 14:16:16 2010 +0300
+++ b/data/photos.css Wed Aug 18 09:48:53 2010 +0300
@@ -50,16 +50,8 @@
}
HbListViewItem::selection-icon{
- fixed-height: var(hb-param-graphic-size-primary-medium);
- fixed-width: var(hb-param-graphic-size-primary-medium);
-}
-
-HbListViewItem::multiselection-toucharea{
+ fixed-height: 0.0un;
fixed-width: 0.0un;
}
-HbListViewItem::icon-1{
- fixed-height: var(hb-param-graphic-size-function);
- fixed-width: var(hb-param-margin-view-bottom);
-}
--- a/data/photos.docml Tue Jul 06 14:16:16 2010 +0300
+++ b/data/photos.docml Wed Aug 18 09:48:53 2010 +0300
@@ -35,28 +35,17 @@
<ref object="action_2" role="HbWidget:addAction"/>
<ref object="action_3" role="HbWidget:addAction"/>
</widget>
- <string name="titleBarFlags"/>
<bool name="enabled" value="TRUE"/>
<bool name="visible" value="TRUE"/>
</widget>
</section>
<section name="landscape">
+ <widget name="mainView" type="HbView">
+ <bool name="contentFullScreen" value="FALSE"/>
+ <enums name="titleBarFlags" value="TitleBarFlagNone"/>
+ </widget>
<widget name="content" role="HbView:widget" type="HbWidget">
- <widget name="pushButton" type="HbPushButton">
- <icon iconName="qtg_mono_back" name="icon"/>
- <real name="z" value="1"/>
- <sizehint type="PREFERRED" width="10.59702un"/>
- <sizehint height="5.5un" type="MINIMUM" width="5un"/>
- <string name="text"/>
- </widget>
- <layout type="anchor">
- <anchoritem dst="pushButton" dstEdge="TOP" spacing="0.14925un" src="" srcEdge="TOP"/>
- <anchoritem dst="pushButton" dstEdge="RIGHT" spacing="-0.14925un" src="" srcEdge="RIGHT"/>
- </layout>
- </widget>
- <widget name="mainView" type="HbView">
- <string name="titleBarFlags" value="TitleBarHidden"/>
- <bool name="contentFullScreen" value="FALSE"/>
+ <layout type="anchor"/>
</widget>
</section>
<metadata activeUIState="landscape" display="NHD-3.2-inch_landscape" unit="un">
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/rotatefslandscape.fxml Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<layers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="http://www.nokia.com/FXML/10.1">
+ <comment>Created using carbide.fx 1.5.0; FxML revision 0.84; Platform 10.1 </comment>
+ <visual src="Item">
+ <param name="rotation_angle" type="anim">
+ <style>linear</style>
+ <duration>0.2</duration>
+ <keyframe at="0.0">-60</keyframe>
+ <keyframe at="1.0">0</keyframe>
+ </param>
+ <param name="rotation_origin_x" ref="visual.width">0.5</param>
+ <param name="rotation_origin_y" ref="visual.height">0.5</param>
+
+ </visual>
+
+</layers>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/rotatefsprotrait.fxml Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<layers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="http://www.nokia.com/FXML/10.1">
+ <comment>Created using carbide.fx 1.5.0; FxML revision 0.84; Platform 10.1 </comment>
+ <visual src="Item">
+ <param name="rotation_angle" type="anim">
+ <style>linear</style>
+ <duration>0.2</duration>
+ <keyframe at="0.0">60</keyframe>
+ <keyframe at="1.0">0</keyframe>
+ </param>
+ <param name="rotation_origin_x" ref="visual.width">0.5</param>
+ <param name="rotation_origin_y" ref="visual.height">0.5</param>
+
+ </visual>
+</layers>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/rotatelandscape.fxml Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<layers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="http://www.nokia.com/FXML/10.1">
+ <comment>Created using carbide.fx 1.5.0; FxML revision 0.84; Platform 10.1 </comment>
+ <visual src="Item">
+ <param name="rotation_angle" type="anim">
+ <style>linear</style>
+ <duration>0.2</duration>
+ <keyframe at="0.0">30</keyframe>
+ <keyframe at="1.0">90</keyframe>
+ </param>
+ <param name="rotation_origin_x" ref="visual.width">0.5</param>
+ <param name="rotation_origin_y" ref="visual.height">0.5</param>
+
+ </visual>
+</layers>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/rotateprotrait.fxml Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<layers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="http://www.nokia.com/FXML/10.1">
+ <comment>Created using carbide.fx 1.5.0; FxML revision 0.84; Platform 10.1 </comment>
+ <visual src="Item">
+ <param name="rotation_angle" type="anim">
+ <style>linear</style>
+ <duration>0.2</duration>
+ <keyframe at="0.0">-30</keyframe>
+ <keyframe at="1.0">-90</keyframe>
+ </param>
+ <param name="rotation_origin_x" ref="visual.width">0.5</param>
+ <param name="rotation_origin_y" ref="visual.height">0.5</param>
+
+ </visual>
+</layers>
\ No newline at end of file
--- a/data/transitiondown.fxml Tue Jul 06 14:16:16 2010 +0300
+++ b/data/transitiondown.fxml Wed Aug 18 09:48:53 2010 +0300
@@ -2,7 +2,7 @@
<visual>
<param name="translation_y" type="anim">
-<duration>0.4</duration>
+<duration>0.3</duration>
<style>linear</style>
<keyframe at="0">0</keyframe>
<keyframe at="1">1</keyframe>
--- a/data/transitionup.fxml Tue Jul 06 14:16:16 2010 +0300
+++ b/data/transitionup.fxml Wed Aug 18 09:48:53 2010 +0300
@@ -2,7 +2,7 @@
<visual>
<param name="translation_y" type="anim">
-<duration>0.4</duration>
+<duration>0.3</duration>
<style>linear</style>
<keyframe at="0">0</keyframe>
<keyframe at="1">1</keyframe>
--- a/data/view_flip_hide.fxml Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-<!-- This effect file was generated by effectDialog -->
-
-<layers>
-<visual>
-
-<param name="rotation_angle" type="anim">
-<duration>0.3</duration>
-<style>linear</style>
-<keyframe at="0.0">0</keyframe>
-<keyframe at="1.0">-90</keyframe>
-</param>
-<param name="rotation_origin_x" ref="visual.width">
-0.5
-</param>
-<param name="rotation_origin_y" ref="visual.height">
-0.5
-</param>
-<param name="rotation_axis_x" type="anim">
-0
-</param>
-<param name="rotation_axis_y" type="anim">
-1
-</param>
-<param name="rotation_axis_z" type="anim">
-0
-</param>
-
-
-</visual>
-</layers>
-
--- a/data/view_flip_show.fxml Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-<!-- This effect file was generated by effectDialog -->
-
-<layers>
-<visual>
-
-<param name="rotation_angle" type="anim">
-<duration>0.3</duration>
-<style>linear</style>
-<keyframe at="0.0">90</keyframe>
-<keyframe at="1.0">0</keyframe>
-</param>
-<param name="rotation_origin_x" ref="visual.width">
-0.5
-</param>
-<param name="rotation_origin_y" ref="visual.height">
-0.5
-</param>
-<param name="rotation_axis_x" type="anim">
-0
-</param>
-<param name="rotation_axis_y" type="anim">
-1
-</param>
-<param name="rotation_axis_z" type="anim">
-0
-</param>
-
-</visual>
-</layers>
-
--- a/engine/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsattribute.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/engine/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsattribute.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -624,8 +624,17 @@
case CGlxDataSource::EContainerTypeAlbum:
case CGlxDataSource::EContainerTypeTag:
{
- TUint32 countTypeIndex = aContainer->UsageCount();
- aEntry->SetTObjectValueL(request->Attributes()[i], countTypeIndex);
+ // for 10.1 we need just images - so just getting images inside an album will do
+ TGlxFilterProperties filterProperties = iFilterProperties;
+ filterProperties.iItemType = EGlxFilterImage;
+ filterProperties.iNoDRM = ETrue;
+
+ QueueObjectQueryL(aContainer->Def(), ETrue, EAttributeQuery,
+ EQueryResultModeCount, TGlxMediaId(aContainer->Id()),
+ request->Attributes()[i], aEntry, filterProperties);
+
+ //TUint32 countTypeIndex = aContainer->UsageCount();
+ //aEntry->SetTObjectValueL(request->Attributes()[i], countTypeIndex);
break;
}
case CGlxDataSource::EContainerTypeMonth:
--- a/engine/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsthumbnail.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/engine/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsthumbnail.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -594,6 +594,9 @@
iFilterProperties.iSortOrder = EGlxFilterSortOrderCaptureDate;
iFilterProperties.iSortDirection = EGlxFilterSortDirectionOverrideToDescendingIfDate;
iFilterProperties.iLastCaptureDate = ETrue;
+ // for 10.1 we need first image thumbnail which is not DRM
+ iFilterProperties.iNoDRM = ETrue;
+ iFilterProperties.iItemType = EGlxFilterImage;
if( CGlxDataSource::EContainerTypeMonth == containerType )
{
--- a/gallery/sis/photos.pkg Tue Jul 06 14:16:16 2010 +0300
+++ b/gallery/sis/photos.pkg Wed Aug 18 09:48:53 2010 +0300
@@ -43,7 +43,6 @@
"\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"
@@ -112,10 +111,9 @@
"\epoc32\release\armv5\urel\glxviews.dll" -"!:\sys\bin\glxviews.dll"
"\epoc32\release\armv5\urel\glxviewutilities.dll" -"!:\sys\bin\glxviewutilities.dll"
"\epoc32\release\armv5\urel\glxzoomwidget.dll" -"!:\sys\bin\glxzoomwidget.dll"
-"\epoc32\release\armv5\urel\detailsnamelabel.dll" -"!:\sys\bin\detailsnamelabel.dll"
-"\epoc32\release\armv5\urel\detailsnamelabelplugin.dll" -"!:\sys\bin\detailsnamelabelplugin.dll"
-"\epoc32\release\armv5\urel\detailsdescriptionedit.dll" -"!:\sys\bin\detailsdescriptionedit.dll"
-"\epoc32\release\armv5\urel\detailsdescriptioneditplugin.dll" -"!:\sys\bin\detailsdescriptioneditplugin.dll"
+"\epoc32\release\armv5\urel\glxdetailscustomwidgets.dll" -"!:\sys\bin\glxdetailscustomwidgets.dll"
+"\epoc32\release\armv5\urel\glxdetailscustomplugin.dll" -"!:\sys\bin\glxdetailscustomplugin.dll"
+
;translations
"\epoc32\data\z\resource\qt\translations\photos_en.qm" -"!:\resource\qt\translations\photos.qm"
--- a/gallery/sis/photos_stub.pkg Tue Jul 06 14:16:16 2010 +0300
+++ b/gallery/sis/photos_stub.pkg Wed Aug 18 09:48:53 2010 +0300
@@ -31,7 +31,6 @@
"" - "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
@@ -101,10 +100,9 @@
"" - "z:\sys\bin\glxviews.dll"
"" - "z:\sys\bin\glxviewutilities.dll"
"" - "z:\sys\bin\glxzoomwidget.dll"
-"" - "z:\sys\bin\detailsnamelabel.dll"
-"" - "z:\sys\bin\detailsnamelabelplugin.dll"
-"" - "z:\sys\bin\detailsdescriptionedit.dll"
-"" - "z:\sys\bin\detailsdescriptioneditplugin.dll"
+"" - "z:\sys\bin\glxdetailscustomwidgets.dll"
+"" - "z:\sys\bin\glxdetailscustomplugin.dll"
+
"" - "z:\private\10202BE9\20007194.txt"
"" - "z:\private\10202BE9\20007193.txt"
Binary file gallery/sis/photos_stub.sis has changed
--- a/inc/glxlocalisationstrings.h Tue Jul 06 14:16:16 2010 +0300
+++ b/inc/glxlocalisationstrings.h Wed Aug 18 09:48:53 2010 +0300
@@ -20,7 +20,10 @@
#include "hbglobal.h"
-//OPTIONS MENU
+//-------------------------------------------------------------------------------------------------------//
+//-----------------------------START OF OPTIONS LOCALISATION STRING----------------------------------
+//-------------------------------------------------------------------------------------------------------//
+
//Options list item
#define GLX_OPTION_SHARE hbTrId("txt_photos_opt_share")
@@ -56,7 +59,21 @@
//
#define GLX_OPTION_NEW_ALBUM hbTrId("txt_photos_opt_new_album")
-//CONTEXT MENU
+//3D effect option to allow user to enable and disable 3D Grid Effect.
+//Submenu option for 3D effect option
+//Off sub menu option for 3D effect option
+#define GLX_GRID_OPT_ON hbTrId("txt_photos_opt_view_sub_on")
+
+#define GLX_GRID_OPT_OFF hbTrId("txt_photos_opt_sub_off")
+
+#define GLX_GRID_OPT_EFFECT hbTrId("txt_photos_opt_3d_effect")
+
+
+//-----------------------------END OF OPTIONS LOCALISATION STRING----------------------------------------
+
+//-------------------------------------------------------------------------------------------------------//
+//-----------------------------START OF MENU LOCALISATION STRING----------------------------------------
+//-------------------------------------------------------------------------------------------------------//
//context menu item share , invoke share UI
#define GLX_MENU_SHARE hbTrId("txt_photos_menu_share")
@@ -75,27 +92,122 @@
//
#define GLX_MENU_RENAME hbTrId("txt_common_menu_rename_item")
-#define GLX_DIALOG_NAME_PROMPT hbTrId("txt_photos_title_enter_name")
+#define GLX_MENU_OPEN hbTrId("txt_common_menu_open")
+
+//Full Screen Menu
+#define GLX_MENU_USE_IMAGE hbTrId("txt_photos_opt_use_image")
+#define GLX_MENU_SET_WALLPAPER hbTrId("txt_photos_opt_sub_wallpaper")
+#define GLX_MENU_ROTATE hbTrId("txt_photos_opt_rotate")
+#define GLX_MENU_90_CW hbTrId("txt_photos_opt_sub_90cw")
+#define GLX_MENU_90_CCW hbTrId("txt_photos_opt_rotate_sub_90ccw")
+#define GLX_MENU_CROP hbTrId("txt_photos_opt_crop")
+
+//-----------------------------END OF MENU LOCALISATION STRING-------------------------------------------
+
+
+//-------------------------------------------------------------------------------------------------------//
+//-----------------------------VIEW SPECIFIC LOCALISATION STRING-----------------------------------------
+//-------------------------------------------------------------------------------------------------------//
+
+//*******************************GRID VIEW***********************************************
+
+//sub heading lable for mark mode.
+#define GLX_SELECT_IMAGES hbTrId("txt_photos_subhead_select_images")
+
+//for single item selection
+#define GLX_SELECT_IMAGE hbTrId("txt_photos_subhead_select_image")
+
+//Label field in all grid view to display no of items plus album name in case of album grid view. whre %1 is album name and %L2 is no of images in the album.
+#define GLX_ALBUM_NAME_COUNT_LABEL "txt_photos_subhead_1_l2"
-#define GLX_DIALOG_ALBUM_NAME_DEFAULT hbTrId("txt_photos_dialog_enter_name_entry_album")
-#define GLX_DIALOG_DELETE_ONE_ITEM hbTrId("txt_photos_info_deleting_1")
-//TITLE RELATED and DEFAULT STRINGS
+//to show the total image count in grid view
+#define GLX_GRID_VIEW_COUNT_LABEL "txt_photos_subtitle_ln_images"
+
+//mark all label to be shown in marking mode view
+#define GLX_LABEL_MARK_ALL hbTrId("txt_photos_list_mark_all")
+
+
+//mark all label to be shown in marking mode view
+#define GLX_LABEL_MARK_COUNT hbTrId("txt_photos_list_lnln")
+
+//*******************************DETAILS VIEW**********************************************
+
+//Description field
+#define GLX_DETAILS_DESCRIPTION hbTrId("txt_photos_formlabel_description")
+//Details view "Date" Label to show the captured date of the image, where %1 is the date
+#define GLX_DETAILS_DATE "txt_photos_list_date_1"
+
+//Details view "time" Label to show the captured time of the image , where %1 is the time
+#define GLX_DETAILS_TIME "txt_photos_list_time_1"
+
+//%ln is the size specfied in KiloBytes unit
+//%ln is the size specfied in MegaBytes unit
+//%ln is the size specfied in GigaBytes unit
+#define GLX_DETAILS_SIZE_KB "txt_photos_list_ln_kb"
+#define GLX_DETAILS_SIZE_MB "txt_photos_list_ln_mb"
+#define GLX_DETAILS_SIZE_GB "txt_photos_list_ln_gb"
+#define GLX_DETAILS_SIZE_BYTES "txt_photos_list_sizeln_bytes"
+
-#define GLX_CAPTION hbTrId("txt_short_caption_photos")
-#define GLX_TITLE hbTrId("txt_photos_title_photos")
-#define GLX_PLACES "txt_photos_dblist_places_ln"
-#define GLX_ITEMS_CAMERA "txt_photos_dblist_val_ln_items"
-#define GLX_ITEMS_MYFAV "txt_photos_subtitle_ln_items"
-#define GLX_SUBTITLE_CAM_GRIDVIEW hbTrId("txt_photos_subtitle_my_camera")
-#define GLX_SUBTITLE_MYFAV_GRIDVIEW hbTrId("txt_photos_subtitle_my_favorites")
-#define GLX_SUBTITLE_NOITEMS hbTrId("txt_photos_subtitle_no_image_or_videos_to_display")
-#define GLX_FETCHER_TITLE QString("Select Image")
-#define GLX_GRID_NO_IMAGE QString("(No Images)\n")
-#define GLX_GRID_OPEN_CAMERA QString("To capture images Open")
-//VIEW RELATED STRINGS AND COMMON DIALOGS
+//*******************************SLIDESHOW VIEW/SETTINGS VIEW*******************************
+
+#define GLX_LABEL_TRANSITION_EFFECT hbTrId("txt_photos_setlabel_transistion_effect")
+#define GLX_VAL_SMOOTH_FADE hbTrId("txt_photos_setlabel_transistion_effect_val_smooth")
+#define GLX_EFFECTS_FLIP hbTrId("txt_photos_setlabel_transistion_effect_val_flip_in")
+#define GLX_EFFECTS_ZOOMIN_ZOOMOUT hbTrId("txt_photos_setlabel_transistion_effect_val_zoom_in")
+#define GLX_EFFECTS_ZOOM_AND_PAN hbTrId("txt_photos_setlabel_transistion_effect_val_zoom_an")
+
+#define GLX_LABEL_TRANSITION_DELAY hbTrId("txt_photos_setlabel_transistion_delay")
+#define GLX_VAL_SLOW hbTrId("txt_photos_setlabel_transistion_delay_val_slow")
+#define GLX_VAL_MEDIUM hbTrId("txt_photos_setlabel_transistion_delay_val_medium")
+#define GLX_VAL_FAST hbTrId("txt_photos_setlabel_transistion_delay_val_fast")
+
+#define GLX_UNABLE_PLAY_SLIDESHOW hbTrId("txt_photos_info_unable_to_play_slideshow")
+#define GLX_NOIMAGE_PLAY_SLIDESHOW hbTrId( "txt_photos_info_no_images_to_play_slideshow" )
+
+//-----------------------------END OF VIEW SPECIFIC LOCALISATION STRING----------------------------------
+
+
+//-------------------------------------------------------------------------------------------------------//
+//-----------------------------DIALOG/INFO LOCALISATION STRING-----------------------------------------
+//-------------------------------------------------------------------------------------------------------//
+
+//Wait note. Displayed when something is being deleted.
+//Delete multiple images confirmation dialog
+//Deleting...
+//Delete selected items?
+#define GLX_DELETE_PROGRESS hbTrId("txt_common_info_deleting")
-//comments lable for photos flip view
-#define GLX_DETAILS_DESCRIPTION hbTrId("txt_photos_formlabel_description")
+#define GLX_MULTIPLE_DELETE hbTrId("txt_photos_info_delete_selected_items")
+
+// progressing not to be shown while removing selected images from an album
+#define GLX_REMOVE_IMAGES hbTrId("txt_photos_info_removing_images")
+
+#define GLX_DIALOG_NAME_PROMPT hbTrId("txt_photos_title_enter_name")
+
+#define GLX_DIALOG_ALBUM_NAME_DEFAULT hbTrId("txt_photos_dialog_enter_name_entry_album")
+
+#define GLX_DIALOG_DELETE_ONE_ITEM hbTrId("txt_photos_info_deleting_1")
+
+//Name already in use alert when user tries to name/reanme the album with an already existing album name
+#define GLX_NAME_ALREADY_EXIST hbTrId("txt_photos_dpopinfo_name_1_already_in_use")
+
+#define GLX_PROCESSING hbTrId( "txt_common_info_processing" )
+
+#define GLX_ADDING_IMAGES hbTrId( "txt_photos_info_adding_images" )
+
+#define GLX_IMAGES_ADDED "txt_photos_dpopinfo_images_added_to_1"
+
+#define GLX_REFRESHING hbTrId("txt_photos_info_refreshing_your_media")
+
+//favorite album name for select album popup
+#define GLX_ALBUM_FAV hbTrId("txt_photos_list_favorite")
+
+//-----------------------------END OF DIALOG/INFO LOCALISATION STRING----------------------------------
+
+//-------------------------------------------------------------------------------------------------------//
+//-----------------------------BUTTON LOCALISATION STRING-----------------------------------------
+//-------------------------------------------------------------------------------------------------------//
//Button. Note! Use this text ID only if there are max. two buttons in the dialog.
//When this button is pressed, the focused item or operation will be selected or accepted.
@@ -107,16 +219,23 @@
#define GLX_BUTTON_SELECT hbTrId("txt_common_button_select")
-#define GLX_MENU_OPEN hbTrId("txt_common_menu_open")
-
#define GLX_BUTTON_HIDE hbTrId("txt_common_button_hide")
-#define GLX_LABEL_TRANSITION_EFFECT hbTrId("txt_photos_setlabel_transistion_effect")
-#define GLX_VAL_SMOOTH_FADE hbTrId("txt_photos_setlabel_transistion_effect_val_smooth")
+#define GLX_BUTTON_NEW hbTrId("txt_photos_button_new")
+
+//-----------------------------END OF BUTTON LOCALISATION STRING----------------------------------
+
+//TITLE RELATED and DEFAULT STRINGS
-#define GLX_LABEL_TRANSITION_DELAY hbTrId("txt_photos_setlabel_transistion_delay")
-#define GLX_VAL_SLOW hbTrId("txt_photos_setlabel_transistion_delay_val_slow")
-#define GLX_VAL_MEDIUM hbTrId("txt_photos_setlabel_transistion_delay_val_medium")
-#define GLX_VAL_FAST hbTrId("txt_photos_setlabel_transistion_delay_val_fast")
+#define GLX_CAPTION hbTrId("txt_short_caption_photos")
+#define GLX_TITLE hbTrId("txt_photos_title_photos")
+#define GLX_PLACES "txt_photos_dblist_places_ln"
+#define GLX_ITEMS_CAMERA "txt_photos_dblist_val_ln_items"
+#define GLX_ITEMS_MYFAV "txt_photos_subtitle_ln_items"
+#define GLX_SUBTITLE_CAM_GRIDVIEW hbTrId("txt_photos_subtitle_my_camera")
+#define GLX_SUBTITLE_MYFAV_GRIDVIEW hbTrId("txt_photos_subtitle_my_favorites")
+#define GLX_GRID_NO_IMAGE hbTrId("txt_photos_info_no_content")
+#define GLX_ALBUM_SELECTION_TITLE hbTrId("txt_photos_dialog_select_album")
+#define GLX_IMAGE_VIEWER hbTrId("txt_photos_title_image_viewer")
#endif /* GLXLOCALISATIONSTRINGS_H_ */
--- a/inc/glxlog.h Tue Jul 06 14:16:16 2010 +0300
+++ b/inc/glxlog.h Wed Aug 18 09:48:53 2010 +0300
@@ -70,7 +70,7 @@
#else
// put full file paths off for __FILE__ macro to make the log entries shorter
#pragma fullpath_file off*/
- #define GLX_DEBUG_STR( cat, str ) __FILE__ "(%d) : " ##cat " : " ##str
+ #define GLX_DEBUG_STR( cat, str ) __FILE__ "(%d) : " cat " : " str
// #endif
/**
--- a/main/glxaiwservicehandler.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/main/glxaiwservicehandler.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -19,8 +19,6 @@
#include <hbview.h>
#include <hbmenu.h>
#include <hbaction.h>
-#include <hbtoolbar.h>
-#include <hbstyleloader.h>
#include <hbnotificationdialog.h>
#include <QtDebug>
@@ -28,22 +26,16 @@
#include <QDir>
#include <QStringList>
-#include <glxmediamodel.h>
-#include <glxviewsfactory.h>
-#include <glxviewids.h>
-#include <glxview.h>
-#include <glxgridview.h>
-#include <glxmodelparm.h>
+#include <xqserviceutil.h>
+#include <xqaiwdeclplat.h>
+#include <xqappmgr.h>
+
+#include <glxmodelroles.h>
#include <glxaiwservicehandler.h>
-#include <glxcollectionpluginall.hrh>
-#include <glxcollectionpluginimageviewer.hrh>
-#include <xqserviceutil.h>
#include <glxstatemanager.h>
#include <glximageviewermanager.h>
#include <glxexternalutility.h>
#include "glxlocalisationstrings.h"
-#include <xqaiwdeclplat.h>
-#include <xqappmgr.h>
#define IMAGE_FETCHER_SERVICE_NAME QLatin1String("photos.com.nokia.symbian.IImageFetch")
#define IMAGE_FETCHER_SERVICE_DEPINTERFACE_NAME QLatin1String("photos.Image")
@@ -57,11 +49,7 @@
//
GlxAiwServiceHandler::GlxAiwServiceHandler() :
HbMainWindow(),
- mModel(NULL),
- mView(NULL),
mStateMgr(NULL),
- mFSView(NULL),
- mFetcherContextMenu(NULL),
mFetcherService(NULL),
mNSDIService(NULL),
mDSDIService(NULL),
@@ -101,15 +89,7 @@
//
GlxAiwServiceHandler::~GlxAiwServiceHandler()
{
- HbStyleLoader::unregisterFilePath(":/data/photos.css");
- if (mView)
- {
- removeView(mView);
- }
delete mStateMgr;
- delete mView;
- delete mFSView;
- delete mModel;
delete mFetcherService;
delete mNSDIService;
delete mDSDIService;
@@ -126,17 +106,17 @@
// itemSelected()
// ----------------------------------------------------------------------------
//
-void GlxAiwServiceHandler::itemSelected(const QModelIndex & index)
+void GlxAiwServiceHandler::itemSelected(const QModelIndex & index,QAbstractItemModel & model)
{
qDebug() << "GlxFetcher::itemSelected";
-
if (mFetcherService && mFetcherService->isActive())
{
qDebug() << "GlxFetcher::itemSelected mFetcherService->isActive()";
- QVariant variant = mModel->data(index, GlxUriRole);
+ QVariant variant = model.data(index, GlxUriRole);
if (variant.isValid())
{
QString itemPath = variant.value<QString> ();
+ qDebug() << "GlxFetcher::itemSelected mFetcherService->isActive()::PATH = " << itemPath;
QStringList list = (QStringList() << itemPath);
mFetcherService->complete(list);
}
@@ -145,7 +125,7 @@
else if (mNSDIService && mNSDIService->isActive())
{
qDebug() << "GlxFetcher::itemSelected mNSDIService->isActive()";
- QVariant variant = mModel->data(index, GlxUriRole);
+ QVariant variant = model.data(index, GlxUriRole);
if (variant.isValid())
{
QString itemPath = variant.value<QString> ();
@@ -157,7 +137,7 @@
else if (mDSDIService && mDSDIService->isActive())
{
qDebug() << "GlxFetcher::itemSelected mDSDIService->isActive()";
- QVariant variant = mModel->data(index, GlxUriRole);
+ QVariant variant = model.data(index, GlxUriRole);
if (variant.isValid())
{
QString itemPath = variant.value<QString> ();
@@ -168,96 +148,29 @@
}
-
void GlxAiwServiceHandler::launchFetcher(QString viewTitle)
{
qDebug() << "GlxAiwServiceHandler::launchFetcher START";
qApp->setApplicationName(viewTitle);
- HbStyleLoader::registerFilePath(":/data/photos.css");
- GlxModelParm modelParm(KGlxCollectionPluginAllImplementationUid, 0);
- mModel = new GlxMediaModel(modelParm);
- if ( this->orientation() == Qt::Horizontal ) {
- mModel->setData(QModelIndex(), (int)GlxContextLsGrid, GlxContextRole );
- }
- else {
- mModel->setData(QModelIndex(), (int)GlxContextPtGrid, GlxContextRole );
- }
+ mUtil = GlxExternalUtility::instance();
+ mUtil->setMainWindow(this);
- mView = GlxViewsFactory::createView(GLX_GRIDVIEW_ID, this);
- mView->activate();
- mView->setModel(mModel);
- addView(mView);
- connect(mView, SIGNAL(gridItemSelected(const QModelIndex &)), this,
- SLOT( itemSelected(const QModelIndex &)));
-
- connect ( mView, SIGNAL(itemSpecificMenuTriggered(qint32,QPointF ) ),
- this, SLOT( itemSpecificMenuTriggered(qint32,QPointF ) ),
- Qt::QueuedConnection );
- qDebug() << "GlxAiwServiceHandler::launchFetcher END";
+ mStateMgr = new GlxStateManager();
+ int err = connect(mStateMgr, SIGNAL(gridItemSelected(const QModelIndex &,QAbstractItemModel &)), this,
+ SLOT( itemSelected(const QModelIndex &,QAbstractItemModel &)));
+ qDebug() << "GlxAiwServiceHandler::launchFetcher err = "<< err;
+
+ mStateMgr->launchFetcher();
+ return;
}
-void GlxAiwServiceHandler::itemSpecificMenuTriggered(qint32 viewId,QPointF pos)
-{
- mFetcherContextMenu = new HbMenu();
- HbAction *action = mFetcherContextMenu->addAction(GLX_MENU_OPEN);
- action->setObjectName( "Menu Open" );
- connect(action, SIGNAL(triggered()), this, SLOT(openFSView()));
- connect(this, SIGNAL(aboutToChangeOrientation ()), mFetcherContextMenu, SLOT(close()));
- connect( mFetcherContextMenu, SIGNAL( aboutToClose () ), this, SLOT( closeContextMenu() ) );
- mFetcherContextMenu->setPreferredPos( pos );
- mFetcherContextMenu->show();
-}
-
-void GlxAiwServiceHandler::closeContextMenu()
+void GlxAiwServiceHandler::launchImageViewer(QString viewTitle)
{
- disconnect( this, SIGNAL( aboutToChangeOrientation () ), mFetcherContextMenu, SLOT( close() ) );
- disconnect( mFetcherContextMenu, SIGNAL( aboutToClose () ), this, SLOT( closeContextMenu() ) );
- mFetcherContextMenu->deleteLater();
- mFetcherContextMenu = NULL;
- }
-
-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);
- selectAction->setObjectName( "FS Select" );
-
- connect(selectAction, SIGNAL(triggered()), this, SLOT(handleFSSelect()));
- HbToolBar* toolBar = new HbToolBar();
- toolBar->setOrientation( Qt::Horizontal );
- toolBar->setVisible(true);
- toolBar->addAction(selectAction);
-
- mModel->setData( QModelIndex(), FETCHER_S, GlxSubStateRole );
- mFSView = GlxViewsFactory::createView(GLX_FULLSCREENVIEW_ID, this);
- //ownership transfered to view
- mFSView->setToolBar(toolBar);
- mFSView->activate();
- mFSView->setModel(mModel);
- addView(mFSView);
- setCurrentView(mFSView,false);
- }
+ qApp->setApplicationName(viewTitle);
+ mUtil = GlxExternalUtility::instance();
+ mUtil->setMainWindow(this);
-
-void GlxAiwServiceHandler::handleFSSelect()
- {
- QModelIndex selectedIndex = mModel->index(mModel->data(mModel->index(0,0),GlxFocusIndexRole).value<int>(),0);
- itemSelected(selectedIndex);
- }
-
-void GlxAiwServiceHandler::launchImageViewer()
- {
- qApp->setApplicationName("Image Viewer");
- GlxExternalUtility* util = GlxExternalUtility::instance();
- util->setMainWindow(this);
- delete mStateMgr;
- mStateMgr = NULL;
mStateMgr = new GlxStateManager();
mStateMgr->launchFromExternal();
if (mImageViewerService && mImageViewerService->asyncRequest())
@@ -288,6 +201,7 @@
//
GlxGetImageService::~GlxGetImageService()
{
+ qDebug() << "GlxGetImageService::~GlxGetImageService()";
}
// ----------------------------------------------------------------------------
@@ -340,10 +254,7 @@
void GlxGetImageService::fetch()
{
mImageRequestIndex = setCurrentRequestAsync();
- QString title = requestInfo().info("WindowTitle").toString();
- if(title.isNull()){
- title = QString("Image Fetcher");
- }
+ QString title = GLX_TITLE;
mServiceApp->launchFetcher(title);
}
@@ -433,10 +344,7 @@
{
qDebug() << "GlxGetImageServiceNSDI::fetch START";
mImageRequestIndex = setCurrentRequestAsync();
- QString title = requestInfo().info("WindowTitle").toString();
- if(title.isNull()){
- title = QString("Image Fetcher");
- }
+ QString title = GLX_TITLE;
mServiceApp->launchFetcher(title);
qDebug() << "GlxGetImageServiceNSDI::fetch END";
}
@@ -516,10 +424,7 @@
Q_UNUSED(filter)
Q_UNUSED(flag)
mImageRequestIndex = setCurrentRequestAsync();
- QString title = requestInfo().info("WindowTitle").toString();
- if(title.isNull()){
- title = QString("Image Fetcher");
- }
+ QString title = GLX_TITLE;
mServiceApp->launchFetcher(title);
}
@@ -582,7 +487,13 @@
{
mAsyncReqId = setCurrentRequestAsync();
}
- mServiceApp->launchImageViewer();
+
+ QString title = requestInfo().info("WindowTitle").toString();
+ if(title.isNull()){
+ title =GLX_IMAGE_VIEWER;
+ }
+
+ mServiceApp->launchImageViewer(title);
return true;
}
@@ -599,7 +510,13 @@
mImageViewerInstance->SetImageFileHandleL(file);
sf.close();
}
- mServiceApp->launchImageViewer();
+
+ QString title = requestInfo().info("WindowTitle").toString();
+ if(title.isNull()){
+ title = GLX_IMAGE_VIEWER;
+ }
+
+ mServiceApp->launchImageViewer(title);
mAsyncRequest = !XQServiceUtil::isEmbedded();
if (mAsyncRequest)
--- a/main/glxaiwservicehandler.h Tue Jul 06 14:16:16 2010 +0300
+++ b/main/glxaiwservicehandler.h Wed Aug 18 09:48:53 2010 +0300
@@ -22,23 +22,20 @@
#include <xqserviceprovider.h>
#include <QStringList>
#include <xqsharablefile.h>
+#include <QModelIndex>
+#include <QAbstractItemModel>
//FORWARD CLASS DECLARATION
-class GlxView;
-class HbPushButton;
-class HbMenu;
-class QGraphicsGridLayout;
class GlxGetImageService;
-class GlxMediaModel;
-class QModelIndex;
class GlxImageViewerService;
class GlxStateManager;
class CGlxImageViewerManager;
class GlxGetImageServiceNSDI;
class GlxGetImageServiceDSDI;
+class GlxExternalUtility;
/**
- * GlxAiwServiceHandler
+ * This is qthigway service handler class for all services provide by photos.
*
*/
class GlxAiwServiceHandler: public HbMainWindow
@@ -54,57 +51,103 @@
* Destructor.
*/
~GlxAiwServiceHandler();
+
+ /**
+ * launch image fetcher view
+ * @param viewTitle title for image fetcher
+ */
void launchFetcher(QString viewTitle);
- void launchImageViewer();
+
+ /**
+ * launch image viewer
+ * @param viewTitle title for image fetcher
+ */
+ void launchImageViewer(QString viewTitle);
+
public slots:
- void itemSelected(const QModelIndex & index);
+ /**
+ * This slot is called when image to be returned to fetcher
+ * client is selected
+ * @param index index of the selected image
+ * @param model model for the current view where image is selected
+ */
+ void itemSelected(const QModelIndex & index,QAbstractItemModel & model);
+
+ /**
+ * This slot is called when service client is closed
+ *
+ */
void handleClientDisconnect();
- void itemSpecificMenuTriggered(qint32,QPointF );
- void openFSView();
- void handleFSSelect();
- void closeContextMenu();
private:
- GlxMediaModel *mModel;
- GlxView* mView;
+ /// state manager for the services
GlxStateManager *mStateMgr;
- GlxView* mFSView;
- HbMenu *mFetcherContextMenu;
-
+ /// image fetcher service provider
GlxGetImageService* mFetcherService;
+ /// image fetcher service provider with new service name and depricated interface name
GlxGetImageServiceNSDI* mNSDIService;
+ /// image fetcher service provider with depricated name and depricated inaterface name
GlxGetImageServiceDSDI* mDSDIService;
GlxImageViewerService* mImageViewerService;
+ GlxExternalUtility *mUtil;
};
/**
- * GlxGetImageService
+ * GlxGetImageService : Image fetcher service provider
*
*/
class GlxGetImageService : public XQServiceProvider
{
Q_OBJECT
public:
+ /**
+ * Constructor
+ */
GlxGetImageService( GlxAiwServiceHandler *parent = 0 );
+
+ /**
+ * Destructor.
+ */
~GlxGetImageService();
+
+ /**
+ * check if service is active
+ */
bool isActive();
+
+ /**
+ * called to complete fetch service and return to client
+ * @param fileList list of Uri to be returned to client
+ */
void complete( QStringList filesList);
-public slots://for QTHighway to notify provider about request
+public slots:
+ /**
+ * slot for qthighway to notify provider about request
+ */
void fetch();
-public slots://for provider to notify client
+ /**
+ * slot for service provider to notify client about error
+ */
void fetchFailed( int errorCode );
private:
+ /**
+ * called to complete qthighway service
+ * @param fileList list of Uri to be returned to client
+ */
void doComplete( QStringList filesList);
private:
+ /// current service request id
int mImageRequestIndex;
+ /// service handler for all photos services
GlxAiwServiceHandler* mServiceApp;
};
/**
+ * Class Description
* GlxGetImageServiceDSDI
* Service provide for new service and depricated interface
*/
@@ -112,23 +155,54 @@
{
Q_OBJECT
public:
+ /**
+ * Constructor
+ */
GlxGetImageServiceNSDI( GlxAiwServiceHandler *parent = 0 );
+ /**
+ * Destructor.
+ */
~GlxGetImageServiceNSDI();
+
+ /**
+ * check if service is active
+ */
bool isActive();
+
+ /**
+ * called to complete fetch service and return to client
+ * @param fileList list of Uri to be returned to client
+ */
void complete( QStringList filesList);
-public slots://for QTHighway to notify provider about request
+public slots:
+ /**
+ * slot for qthighway to notify provider about request
+ */
void fetch( QVariantMap filter , QVariant flag );
+
+ /**
+ * slot for qthighway to notify provider about request
+ */
void fetch();
-public slots://for provider to notify client
+public slots:
+ /**
+ * slot for service provider to notify client about error
+ */
void fetchFailed( int errorCode );
private:
+ /**
+ * called to complete fetch service and return to client
+ * @param fileList list of Uri to be returned to client
+ */
void doComplete( QStringList filesList);
private:
+ /// current service request id
int mImageRequestIndex;
+ /// service handler for all photos services
GlxAiwServiceHandler* mServiceApp;
};
@@ -140,45 +214,101 @@
{
Q_OBJECT
public:
+ /**
+ * Constructor
+ */
GlxGetImageServiceDSDI( GlxAiwServiceHandler *parent = 0 );
+ /**
+ * Destructor.
+ */
~GlxGetImageServiceDSDI();
+
+ /**
+ * check if service is active
+ */
bool isActive();
+
+ /**
+ * called to complete fetch service and return to client
+ * @param fileList list of Uri to be returned to client
+ */
void complete( QStringList filesList);
-public slots://for QTHighway to notify provider about request
+public slots:
+ /**
+ * slot for qthighway to notify provider about request
+ */
void fetch( QVariantMap filter, QVariant flag);
-public slots://for provider to notify client
+public slots:
+ /**
+ * slot for service provider to notify client about error
+ */
void fetchFailed( int errorCode );
private:
+ /**
+ * called to complete fetch service and return to client
+ * @param fileList list of Uri to be returned to client
+ */
void doComplete( QStringList filesList);
private:
+ /// current service request id
int mImageRequestIndex;
+ /// service handler for all photos services
GlxAiwServiceHandler* mServiceApp;
};
-
+/**
+ * Image viewer service provider
+ */
class GlxImageViewerService : public XQServiceProvider
{
Q_OBJECT
- public:
- GlxImageViewerService( GlxAiwServiceHandler *parent = 0 );
- ~GlxImageViewerService();
- void complete(bool ok);
+public:
+ /**
+ * Constructor
+ */
+ GlxImageViewerService( GlxAiwServiceHandler *parent = 0 );
+
+ /**
+ * Destructor.
+ */
+ ~GlxImageViewerService();
+
+ /**
+ * compete request
+ * @param ok true id success else false
+ */
+ void complete(bool ok);
- public slots:
- bool view(QString file);
- bool view(XQSharableFile file);
- bool asyncRequest() {return mAsyncRequest;}
+ /**
+ * check if request is aSync
+ * @return true if async else false
+ */
+ bool asyncRequest() {return mAsyncRequest;}
+
+public slots:
+ /**
+ * slot for qthighway to notify provider about request
+ */
+ bool view(QString file);
- private:
- GlxAiwServiceHandler* mServiceApp;
- int mAsyncReqId;
- bool mRetValue;
- bool mAsyncRequest;
- CGlxImageViewerManager* mImageViewerInstance;
+ /**
+ * slot for qthighway to notify provider about request
+ */
+ bool view(XQSharableFile file);
+
+private:
+ /// service handler for all photos services
+ GlxAiwServiceHandler* mServiceApp;
+ /// current request id
+ int mAsyncReqId;
+ bool mRetValue;
+ bool mAsyncRequest;
+ /// image viewer manager instance to get info regarding file
+ CGlxImageViewerManager* mImageViewerInstance;
};
--- a/photos.qrc Tue Jul 06 14:16:16 2010 +0300
+++ b/photos.qrc Wed Aug 18 09:48:53 2010 +0300
@@ -9,8 +9,6 @@
<file>data/opacity_deactivate.fxml</file>
<file>data/zoomin.fxml</file>
<file>data/zoomout.fxml</file>
- <file>data/view_flip_hide.fxml</file>
- <file>data/view_flip_show.fxml</file>
<file>data/helix.fxml</file>
<file>data/fadein.fxml</file>
<file>data/uphide.fxml</file>
@@ -18,25 +16,24 @@
<file>data/fullscreentogrid.fxml</file>
<file>data/gridtofullscreenhide.fxml</file>
<file>data/gridtofullscreenshow.fxml</file>
- <file>data/gridtoalbumlist.fxml</file>
- <file>data/gridtoalbumlisthide.fxml</file>
- <file>data/albumlisttogrid.fxml</file>
- <file>data/albumlisttogridshow.fxml</file>
+ <file>data/rotatelandscape.fxml</file>
+ <file>data/rotateprotrait.fxml</file>
+ <file>data/rotatefslandscape.fxml</file>
+ <file>data/rotatefsprotrait.fxml</file>
<file>data/photos.css</file>
- <file>data/grid.docml</file>
<file>data/listview.docml</file>
<file>data/fullscreen.docml</file>
<file>data/slideshow.docml</file>
- <file>data/detailsview.docml</file>
- <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>
+ <file>data/detailsview.docml</file>
+ <file>data/Wait/qgn_graf_ring_wait_01.svg</file>
+ <file>data/Wait/qgn_graf_ring_wait_02.svg</file>
+ <file>data/Wait/qgn_graf_ring_wait_03.svg</file>
+ <file>data/Wait/qgn_graf_ring_wait_04.svg</file>
+ <file>data/Wait/qgn_graf_ring_wait_05.svg</file>
+ <file>data/Wait/qgn_graf_ring_wait_06.svg</file>
+ <file>data/Wait/qgn_graf_ring_wait_07.svg</file>
+ <file>data/Wait/qgn_graf_ring_wait_08.svg</file>
+ <file>data/Wait/qgn_graf_ring_wait_09.svg</file>
+ <file>data/Wait/qgn_graf_ring_wait_10.svg</file>
</qresource>
</RCC>
--- a/rom/photos.iby Tue Jul 06 14:16:16 2010 +0300
+++ b/rom/photos.iby Wed Aug 18 09:48:53 2010 +0300
@@ -79,15 +79,13 @@
file=ABI_DIR/BUILD_DIR/glxviews.dll SHARED_LIB_DIR/glxviews.dll
file=ABI_DIR/BUILD_DIR/glxviewutilities.dll SHARED_LIB_DIR/glxviewutilities.dll
file=ABI_DIR/BUILD_DIR/glxzoomwidget.dll SHARED_LIB_DIR/glxzoomwidget.dll
-file=ABI_DIR/BUILD_DIR/detailsnamelabel.dll SHARED_LIB_DIR/detailsnamelabel.dll
-file=ABI_DIR/BUILD_DIR/detailsnamelabelplugin.dll SHARED_LIB_DIR/detailsnamelabelplugin.dll
-file=ABI_DIR/BUILD_DIR/detailsdescriptionedit.dll SHARED_LIB_DIR/detailsdescriptionedit.dll
-file=ABI_DIR/BUILD_DIR/detailsdescriptioneditplugin.dll SHARED_LIB_DIR/detailsdescriptioneditplugin.dll
+file=ABI_DIR/BUILD_DIR/glxdetailscustomwidgets.dll SHARED_LIB_DIR/glxdetailscustomwidgets.dll
+file=ABI_DIR/BUILD_DIR/glxdetailscustomplugin.dll SHARED_LIB_DIR/glxdetailscustomplugin.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/photos.mif APP_RESOURCE_DIR/photos.mif
data=/epoc32/data/Z/private/10202BE9/20007194.txt private/10202BE9/20007194.txt
data=/epoc32/data/Z/private/10202BE9/20007193.txt private/10202BE9/20007193.txt
data=/epoc32/data/z/system/install/photos_stub.sis /system/install/photos_stub.sis
--- a/tvout/bwins/glxtvoutwrapperu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/bwins/glxtvoutwrapperu.def Wed Aug 18 09:48:53 2010 +0300
@@ -5,8 +5,8 @@
??0GlxTvOutWrapper@@QAE@XZ @ 4 NONAME ; GlxTvOutWrapper::GlxTvOutWrapper(void)
?deactivateZoom@GlxTvOutWrapper@@QAEXXZ @ 5 NONAME ; void GlxTvOutWrapper::deactivateZoom(void)
?fadeSurface@GlxTvOutWrapper@@QAEX_N@Z @ 6 NONAME ; void GlxTvOutWrapper::fadeSurface(bool)
- ?setModel@GlxTvOutWrapper@@QAEXPAVQAbstractItemModel@@_N@Z @ 7 NONAME ; void GlxTvOutWrapper::setModel(class QAbstractItemModel *, bool)
- ?setToCloningMode@GlxTvOutWrapper@@QAEXXZ @ 8 NONAME ; void GlxTvOutWrapper::setToCloningMode(void)
- ?setImagetoHDMI@GlxTvOutWrapper@@QAEXXZ @ 9 NONAME ; void GlxTvOutWrapper::setImagetoHDMI(void)
- ?setToNativeMode@GlxTvOutWrapper@@QAEXXZ @ 10 NONAME ; void GlxTvOutWrapper::setToNativeMode(void)
+ ?setToCloningMode@GlxTvOutWrapper@@QAEXXZ @ 7 NONAME ; void GlxTvOutWrapper::setToCloningMode(void)
+ ?setImagetoHDMI@GlxTvOutWrapper@@QAEXXZ @ 8 NONAME ; void GlxTvOutWrapper::setImagetoHDMI(void)
+ ?setToNativeMode@GlxTvOutWrapper@@QAEXXZ @ 9 NONAME ; void GlxTvOutWrapper::setToNativeMode(void)
+ ?setModel@GlxTvOutWrapper@@QAEXPAVQAbstractItemModel@@VQSize@@_N@Z @ 10 NONAME ; void GlxTvOutWrapper::setModel(class QAbstractItemModel *, class QSize, bool)
--- a/tvout/eabi/glxtvoutwrapperu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/eabi/glxtvoutwrapperu.def Wed Aug 18 09:48:53 2010 +0300
@@ -6,7 +6,7 @@
_ZN15GlxTvOutWrapper15setToNativeModeEv @ 5 NONAME
_ZN15GlxTvOutWrapper16itemNotSupportedEv @ 6 NONAME
_ZN15GlxTvOutWrapper16setToCloningModeEv @ 7 NONAME
- _ZN15GlxTvOutWrapper8setModelEP18QAbstractItemModelb @ 8 NONAME
+ _ZN15GlxTvOutWrapper8setModelEP18QAbstractItemModel5QSizeb @ 8 NONAME
_ZN15GlxTvOutWrapperC1Ev @ 9 NONAME
_ZN15GlxTvOutWrapperC2Ev @ 10 NONAME
_ZN15GlxTvOutWrapperD1Ev @ 11 NONAME
--- a/tvout/tvoutengine/bwins/glxtvoutu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutengine/bwins/glxtvoutu.def Wed Aug 18 09:48:53 2010 +0300
@@ -1,16 +1,16 @@
EXPORTS
?ActivateZoom@CGlxHdmiController@@QAEXH@Z @ 1 NONAME ; void CGlxHdmiController::ActivateZoom(int)
?ScreenSizeL@CGlxTv@@QBE?AVTSize@@XZ @ 2 NONAME ; class TSize CGlxTv::ScreenSizeL(void) const
- ?NewL@CGlxHdmiController@@SAPAV1@H@Z @ 3 NONAME ; class CGlxHdmiController * CGlxHdmiController::NewL(int)
+ ?NewL@CGlxHdmiController@@SAPAV1@VTRect@@H@Z @ 3 NONAME ; class CGlxHdmiController * CGlxHdmiController::NewL(class TRect, int)
?SetImageL@CGlxHdmiController@@QAEXABVTDesC16@@PAVCFbsBitmap@@H@Z @ 4 NONAME ; void CGlxHdmiController::SetImageL(class TDesC16 const &, class CFbsBitmap *, int)
??1CGlxTv@@UAE@XZ @ 5 NONAME ; CGlxTv::~CGlxTv(void)
??1CGlxHdmiController@@UAE@XZ @ 6 NONAME ; CGlxHdmiController::~CGlxHdmiController(void)
?IsWidescreen@CGlxTv@@QBEHXZ @ 7 NONAME ; int CGlxTv::IsWidescreen(void) const
?ShiftToPostingMode@CGlxHdmiController@@QAEXXZ @ 8 NONAME ; void CGlxHdmiController::ShiftToPostingMode(void)
?ShiftToCloningMode@CGlxHdmiController@@QAEXXZ @ 9 NONAME ; void CGlxHdmiController::ShiftToCloningMode(void)
- ?IsConnected@CGlxTv@@QBEHXZ @ 10 NONAME ; int CGlxTv::IsConnected(void) const
- ?ItemNotSupported@CGlxHdmiController@@QAEXXZ @ 11 NONAME ; void CGlxHdmiController::ItemNotSupported(void)
- ?NewL@CGlxTv@@SAPAV1@AAVMGlxTvObserver@@@Z @ 12 NONAME ; class CGlxTv * CGlxTv::NewL(class MGlxTvObserver &)
+ ?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)
?FadeSurface@CGlxHdmiController@@QAEXH@Z @ 13 NONAME ; void CGlxHdmiController::FadeSurface(int)
?IsHDMIConnected@CGlxTv@@QBEHXZ @ 14 NONAME ; int CGlxTv::IsHDMIConnected(void) const
?DeactivateZoom@CGlxHdmiController@@QAEXXZ @ 15 NONAME ; void CGlxHdmiController::DeactivateZoom(void)
--- a/tvout/tvoutengine/eabi/glxtvoutu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutengine/eabi/glxtvoutu.def Wed Aug 18 09:48:53 2010 +0300
@@ -5,7 +5,7 @@
_ZN18CGlxHdmiController16ItemNotSupportedEv @ 4 NONAME
_ZN18CGlxHdmiController18ShiftToCloningModeEv @ 5 NONAME
_ZN18CGlxHdmiController18ShiftToPostingModeEv @ 6 NONAME
- _ZN18CGlxHdmiController4NewLEi @ 7 NONAME
+ _ZN18CGlxHdmiController4NewLE5TRecti @ 7 NONAME
_ZN18CGlxHdmiController9SetImageLERK7TDesC16P10CFbsBitmapi @ 8 NONAME
_ZN18CGlxHdmiControllerD0Ev @ 9 NONAME
_ZN18CGlxHdmiControllerD1Ev @ 10 NONAME
--- a/tvout/tvoutengine/group/glxtvout.mmp Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutengine/group/glxtvout.mmp Wed Aug 18 09:48:53 2010 +0300
@@ -53,7 +53,6 @@
LIBRARY cone.lib // for CCoeEnv
LIBRARY centralrepository.lib // for Central Repository
LIBRARY accclient.lib // for RAccessoryServer
-LIBRARY alfclient.lib // For Alfred Hitchcock framework
LIBRARY fbscli.lib
LIBRARY gdi.lib
LIBRARY surfaceupdateclient.lib // surface update client
@@ -61,11 +60,12 @@
LIBRARY imageconversion.lib // ICL
LIBRARY efsrv.lib
LIBRARY bitgdi.lib
-LIBRARY apgrfx.lib //
+LIBRARY apgrfx.lib //
LIBRARY apmime.lib // For ImageViewer mime type extraction
LIBRARY glxlogging.lib
-LIBRARY alfdecoderserverclient.lib
-LIBRARY AccPolicy.lib //For RAccessoryConnection status ID's
+LIBRARY alfdecoderserverclient.lib
+LIBRARY AccPolicy.lib //For RAccessoryConnection status ID's
+
// Other Dependency Libraries
#ifdef __MARM
LIBRARY GSServerEngine.lib // FOr AspectRatio
--- a/tvout/tvoutengine/inc/glxactivecallback.h Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutengine/inc/glxactivecallback.h Wed Aug 18 09:48:53 2010 +0300
@@ -11,7 +11,7 @@
*
* Contributors:
*
-* Description: Handles & propogates UI state change notifications.
+* Description:
*
*/
@@ -31,12 +31,12 @@
iCallBack(aCallBack) {};
CGlxActiveCallBack();
- public: // Functions from base classes
+ public: /// Functions CActive
void SetActive() { CActive::SetActive();};
void RunL() { iCallBack.CallBack();};
void DoCancel() {};
- private: // Data
+ private: /// Data
TCallBack iCallBack;
};
--- a/tvout/tvoutengine/inc/glxactivedecoder.h Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutengine/inc/glxactivedecoder.h Wed Aug 18 09:48:53 2010 +0300
@@ -11,7 +11,7 @@
*
* Contributors:
*
-* Description:
+* Description: This is the decoder class used to decode Images to HDMI quality.
*
*/
@@ -24,44 +24,55 @@
#include <imageconversion.h>
#include "glxhdmisurfaceupdater.h"
+// Fwd decleration
class CImageDecoder;
-// CLASS DECLARATION
+
+/**
+ * Class Description
+ * This is the decoder class used to decode Images to HDMI quality.
+ *
+ * Clients should create an instance of this class from CGlxHdmiSurfaceUpdater , with an
+ * instance of it and call ConvertImageL() with approprriate parameters
+ */
class CGlxHdmiDecoderAO : public CActive
{
public:
- /*
+
+ /**
* NewL()
- * @Param1 CGlxHdmiSurfaceUpdater
+ * @param CGlxHdmiSurfaceUpdater
+ * @return CGlxHdmiDecoderAO object
*/
static CGlxHdmiDecoderAO* NewL(CGlxHdmiSurfaceUpdater* aHdmiSurfaceUpdater);
- /*
+ /**
* Destructor
*/
~CGlxHdmiDecoderAO();
- /*
+ /**
* ConvertImageL()
* This calls the asyncronous service request to ICL convert
- * @param1 - Destination Bitmap
- * @param2 - Image decoder
+ * @param - Destination Bitmap
+ * @param - Image decoder
*/
void ConvertImageL(CFbsBitmap& iBitmap,CImageDecoder* aDecoder);
-protected:
- // from CActive
+protected:/// from CActive
void RunL();
void DoCancel();
private:
- /*
+ /**
* Constructor
*/
CGlxHdmiDecoderAO(CGlxHdmiSurfaceUpdater* aHdmiSurfaceUpdater);
private:
- CGlxHdmiSurfaceUpdater* iHdmiSurfaceUpdater; // not owned
+ /// not owned
+ CGlxHdmiSurfaceUpdater* iHdmiSurfaceUpdater;
+ /// Image decoder instance
CImageDecoder* iDecoder;
};
--- a/tvout/tvoutengine/inc/glxhdmicontainer.h Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutengine/inc/glxhdmicontainer.h Wed Aug 18 09:48:53 2010 +0300
@@ -21,6 +21,11 @@
#include <coecntrl.h>
#include "glxhdmisurfaceupdater.h"
+/**
+ * Class Description
+ * A class that creates a CCoeControl window for Screen 1 with screendevice
+ * used
+ */
class CGlxHdmiContainer : public CCoeControl, public MGlxGenCallback
{
public:
--- a/tvout/tvoutengine/inc/glxhdmicontroller.h Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutengine/inc/glxhdmicontroller.h Wed Aug 18 09:48:53 2010 +0300
@@ -1,4 +1,4 @@
-/*
+/**
* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
@@ -11,119 +11,157 @@
*
* Contributors:
*
-* Description: Handles & propogates UI state change notifications.
+* Description: Creates the HDMI engine and provides functionality
+* for all its usage and needs through simple API's
*
*/
+
#ifndef GLXHDMICONTROLLER_H_
#define GLXHDMICONTROLLER_H_
// Internal includes
-
class CGlxHdmiContainer;
class CGlxHdmiSurfaceUpdater;
-/*
- * This class will be called from FS and Slideshow for its requirements
- */
+/**
+ * Class Description
+ * This is the entry point of the HDMI engine.
+ * It Promisses to provide all HDMI functionality with simple API calls.
+ *
+ * To Show an image on TV, create an instance of this object and call
+ * CGlxHdmiController::SetImageL() with appropriate parameters.
+ *
+ * To Shift from native to clone and vice versa, use ShiftToPostingMode() and
+ * ShiftToCloningMode() respectively
+ *
+ * For Not supported items, make sure to call ItemNotSupported() API
+ */
+
class CGlxHdmiController : public CBase
{
public:
- /*
+ /**
* NewLC
- * @param1 - Image file path default to NULL
+ * @param aRect rect in which the CCoecontrol actually needs to be constructed
+ * @param EffectsOn - if the effect should be on, by default it is OFF,
+ * used only for SLIDESHOW
+ *
+ * @return CGlxHdmiController object.
*/
- IMPORT_C static CGlxHdmiController* NewL(TBool aEfectsOn = EFalse);
+ IMPORT_C static CGlxHdmiController* NewL(TRect aRect ,TBool aEfectsOn = EFalse);
- /*
+ /**
* Destructor
*/
IMPORT_C ~CGlxHdmiController();
- /*
+ /**
* Update Image
- * @param1 - Image file path
+ * @param aImageFile file path
+ * @param aFsBitmap Fullscreen bitmap, make sure to send a grid bitmap if FS bitmap not present
+ * @param aStore An internal parameter to store the image path or not, clients neednot use this.
*/
IMPORT_C void SetImageL(const TDesC& aImageFile, CFbsBitmap* aFsBitmap = NULL,
TBool aStore = ETrue);
- /*
+ /**
* To intimate that the item is not supported.
*/
IMPORT_C void ItemNotSupported();
- /*
+ /**
* Activating zoom in posting mode
+ * @param aAutoZoomOut if it should auto zoom out
*/
IMPORT_C void ActivateZoom(TBool aAutoZoomOut);
- /*
+
+ /**
* Deactivating zoom in posting mode
*/
IMPORT_C void DeactivateZoom();
- /*
+ /**
* ShiftToCloningMode
+ * Shifts the TV UI to cloning mode if it is posting
+ * else does nothing
*/
IMPORT_C void ShiftToCloningMode();
- /*
+ /**
* ShiftToPostingMode
+ * Shifts the TV UI to posting mode if cloning mode,
+ * else does nothing
*/
IMPORT_C void ShiftToPostingMode();
- /*
+ /**
* Fadeing of the Surface
- * @param1 ETrue - FadeIn ( as in gaining brightness )
- * EFalse - FadeOut ( as in loosing brightness )
+ * @param aFadeInOut ETrue - FadeIn ( as in gaining brightness )
+ * EFalse - FadeOut ( as in loosing brightness )
*/
IMPORT_C void FadeSurface(TBool aFadeInOut);
-private:
- /*
+private:/// class private method
+ /**
* Constructor
+ * @param aRect Rect size
+ * @param aEfectsOn if effects needs to be on(used in Slideshow only)
*/
- CGlxHdmiController(TBool aEfectsOn);
+ CGlxHdmiController(TRect aRect ,TBool aEfectsOn);
- /*
+ /**
* ConstructL
*/
void ConstructL();
- /*
+ /**
* Create the Hdmi Container
*/
void CreateHdmiContainerL();
- /*
+ /**
* Create surface updater and update background surface
- * @param1 - Image file
+ * @param aImageFile Image file
*/
void CreateSurfaceUpdaterL(const TDesC& aImageFile);
- /*
+ /**
* To Destroy the surface updater if present
*/
void DestroySurfaceUpdater();
- /*
+ /**
* Detroy the container
*/
void DestroyContainer();
- /*
+ /**
* Stores the Image File name
- * @param1 - Image file
+ * @param aImageFile Image file path
+ * @param aFsBitmap Fullscreen Bitmap
*/
void StoreImageInfoL(const TDesC& aImageFile, CFbsBitmap* aFsBitmap);
private:
- CFbsBitmap* iFsBitmap;
- HBufC* iStoredImagePath;
-
+ /// Fullscreen Bitmap
+ CFbsBitmap* iFsBitmap;
+ /**
+ * Stored image path
+ */
+ HBufC* iStoredImagePath;
+ /**
+ * Hdmi container
+ */
CGlxHdmiContainer* iHdmiContainer;
+ /// Surface updater instance
CGlxHdmiSurfaceUpdater* iSurfaceUpdater;
- TBool iIsImageSupported; // Flag to see if Image is supported
- TBool iEffectsOn;
+ /// Rect
+ TRect iRect;
+ /// Flag to see if Image is supported
+ TBool iIsImageSupported;
+ /// Flag to set if effects should be on
+ TBool iEffectsOn;
};
#endif /* GLXHDMICONTROLLER_H_ */
--- a/tvout/tvoutengine/inc/glxhdmisurfaceupdater.h Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutengine/inc/glxhdmisurfaceupdater.h Wed Aug 18 09:48:53 2010 +0300
@@ -39,229 +39,288 @@
virtual void DoGenCallback() = 0;
};
+/**
+ * Class Description
+ * This is the main class which processes images to the surface
+ *
+ */
+
class CGlxHdmiSurfaceUpdater: public CBase
{
public:
- /*
+ /**
* NewL
+ * @param aWindow RWindow
+ * @param aImageFile Image File path
+ * @param aFsBitmap Fullscreen bitmap (if FS not available,make sure to send grid or default bitmap
+ * else it would appear white screen on TV )
+ * @param aCallBack MGlxGenCallback instance
+ * @param aEffectsOn If Effects should be on
*/
static CGlxHdmiSurfaceUpdater* NewL(RWindow* aWindow, const TDesC& aImageFile,
CFbsBitmap* aFsBitmap, MGlxGenCallback* aCallBack,TBool aEffectsOn);
- /*
+ /**
* Destructor
*/
~CGlxHdmiSurfaceUpdater();
public:
- /*
+ /**
* This is to cancel the active object from decoding
*/
void HandleRunL(TRequestStatus& aStatus);
- /*
+ /**
* This updates the new image.
+ * @param aImageFile image path
+ * @param aFsBitmap Fullscreen Bitmap
+ *
+ * NOTE : if FS not available,make sure to send grid or default bitmap
+ * else it would appear white screen on TV
*/
void UpdateNewImageL(const TDesC& aImageFile,CFbsBitmap* aFsBitmap);
- /*
+ /**
* Activate Zoom
+ * @param aAutoZoomOut if it should auto zoom out
*/
void ActivateZoom(TBool aAutoZoomOut);
- /*
+
+ /**
* Deactivate Zoom
*/
void DeactivateZoom();
- /*
- ShiftToCloningMOde
+ /**
+ * ShiftToCloningMOde
*/
void ShiftToCloningMode();
- /*
- ShiftToPostingMode
+ /**
+ * ShiftToPostingMode
*/
void ShiftToPostingMode();
- /*
+ /**
* Fadeing of the Surface
- * @param1 ETrue - FadeIn ( as in gaining brightness )
- * EFalse - FadeOut ( as in loosing brightness )
+ * @param aFadeInOut ETrue - FadeIn ( as in gaining brightness )
+ * EFalse - FadeOut ( as in loosing brightness )
*/
void FadeTheSurface(TBool aFadeInOut);
private:
- /*
+ /**
* Constructor
+ * @param aWindow RWindow
+ * @param aCallBack MGlxGenCallback instance
+ * @param aEffectsOn if effects should be on
*/
CGlxHdmiSurfaceUpdater(RWindow* aWindow, MGlxGenCallback* aCallBack,TBool aEffectsOn);
- /*
- * ConstructL()
+ /**
+ * ConstructL
+ * @param aFsBitmap Fullscreen Bitmap
+ * @param aImageFile image file path
*/
void ConstructL(CFbsBitmap* aFsBitmap,const TDesC& aImageFile);
- /*
+ /**
* Create a New surface with given size
*/
void CreateSurfaceL();
- /*
- * @param1 size
+
+ /**
+ * MapSurfaceL
*/
void MapSurfaceL();
- /*
+ /**
* This fundtion wont be called , could be used if double buffering is planned in future
* to start the second decoder AO and update the surface with a new session.
*/
static TInt SurfBuffer0Ready(TAny* aObject);
- /*
+ /**
* Call a refresh on the screen
*/
void Refresh();
- /*
+ /**
* Dump the buffer on to the surface stride
*/
void SwapBuffers();
- /*
+ /**
* Release contents
*/
void ReleaseContent();
- /*
+ /**
* Create bitmap
*/
void CreateBitmapL();
- /*
+ /**
* Create an image decoder with given file
- * @param1 - Image file
*/
void CreateImageDecoderL();
- /*
+ /**
* Creating all enablers for HDMI
- * @param1 if creating a surface is required,
- * by default it is not required
+ * @param aCreateSurface if creating a surface is required,
+ * by default it is not required
*/
void CreateHdmiL(TBool aCreateSurface = ETrue);
- /*
+ /**
* Zoom in our out depending on parameter
+ * @param aZoom if should be zoomed
*/
void Zoom(TBool aZoom);
- /*
+ /**
* This if for zoom timer timeout
*/
static TInt TimeOut(TAny* aSelf);
- /*
+ /**
* Animation time out timer
*/
static TInt AnimationTimeOut(TAny* aSelf);
- /*
+ /**
* ModifySurface positions of the surface to be displayed on screen
*/
void ModifySurfacePostion();
- /*
+ /**
* Process the image for TV
*/
void ProcessTvImage();
- /*
+ /**
* Shows the FS thumbnail first before showing
* Decoded HD image
*/
void ShowFsThumbnailL();
- /*
+ /**
* Recalculate the size for png/bmp as decoder fails to
* decode for desired size
+ * @return the Size of the desired image supported by the decoder
*/
TSize ReCalculateSizeL();
- /*
+ /**
* If the image format is non jpeg, then we need to calculate as per
* reduction factor and reduced size as what the decoder is going to return us
* This function returns if that needs to be done.
+ *
+ * @return check the image mime type and return True if the recaulation of size needs
+ * to be done else return false
*/
TBool DoesMimeTypeNeedsRecalculateL();
- /*
+ /**
* If the image format is non jpeg, then we need to scale the bitmap after it is
- * decoded, as the return value would not fit the screen
+ * decoded, as the return value would not fit the screen
+ * @param
*/
void ScaleDecodedBitmapL(TInt aBitmapIndex);
- /*
+ /**
* InitiateHDMI
+ * @param aFsBitmap Fullscreen Bitmap
+ * @param aImageFile Image path
*/
void InitiateHdmiL(CFbsBitmap* aFsBitmap,const TDesC& aImageFile);
- /*
+ /**
* Animate untill loop is complete
*/
void Animate();
private:
- RWindow* iWindow; // window object
- CFbsBitmap* iFsBitmap; // FS bitmap
- MGlxGenCallback* iCallBack; // callback to the HdmiContainer window
- HBufC* iImagePath; // To store the image uri path
+ /// window object
+ RWindow* iWindow;
+ /// FS bitmap
+ CFbsBitmap* iFsBitmap;
+ /// callback to the HdmiContainer window
+ MGlxGenCallback* iCallBack;
+ /// To store the image uri path
+ HBufC* iImagePath;
TBool iEffectsOn;
- TBool iShwFsThumbnail; // If the Fs thumbnail is to be shown before decoding HD images
- TBool iIsNonJpeg; // If the item is non jpeg
- TBool iFadeIn; // If FadeIn or Out for only SLideshow animation
+ /// If the Fs thumbnail is to be shown before decoding HD images
+ TBool iShwFsThumbnail;
+ /// If the item is non jpeg
+ TBool iIsNonJpeg;
+ /// If FadeIn or Out for only SLideshow animation
+ TBool iFadeIn;
- // GCE Surface
+ /// GCE Surface
RSurfaceUpdateSession iSurfUpdateSession;
- TSurfaceId iSurfId; // TSurfaceId
- RSurfaceManager* iSurfManager; // RSurfaceManager
- RChunk* iSurfChunk; // RChunk
- TInt iSurfaceStride; // surface stride
- TSurfaceConfiguration iConfig; // surface configuration for zoom
+ /// TSurfaceId
+ TSurfaceId iSurfId;
+ /// RSurfaceManager
+ RSurfaceManager* iSurfManager;
+ /// RChunk
+ RChunk* iSurfChunk;
+ /// surface stride
+ TInt iSurfaceStride;
+ /// surface configuration for zoom
+ TSurfaceConfiguration iConfig;
- CFbsBitmap* iDecodedBitmap[3]; // Array of Decoded bitmaps of the focussed image
- // 1 - contains FS/Grid Thumbnail, 2- HD image,
- // (optional)3-Scaled png/bmp images
+ /** Array of Decoded bitmaps of the focussed image
+ * 1 - contains FS/Grid Thumbnail, 2- HD image,
+ * (optional)3-Scaled png/bmp images
+ */
+ CFbsBitmap* iDecodedBitmap[3];
- void* iSurfBuffer; // Surface buffer
- CGlxActiveCallBack* iSurfBufferAO; // Surface buffer AO
+ /// Surface buffer
+ void* iSurfBuffer;
+ /// Surface buffer AO
+ CGlxActiveCallBack* iSurfBufferAO;
CAlfCompositionSource* ialfCompositionSurface;
- //ICL
- CGlxHdmiDecoderAO* iGlxDecoderAO; // Internal Image decoder AO
- CImageDecoder* iImageDecoder; // Image Decoder
- RFs iFsSession; // RFs
+ /// Internal Image decoder AO
+ CGlxHdmiDecoderAO* iGlxDecoderAO;
+ /// Image Decoder
+ CImageDecoder* iImageDecoder;
+ /// RFs
+ RFs iFsSession;
- TPoint iLeftCornerForZoom; //
- CPeriodic* iTimer; // Timer for Zoom
- CPeriodic* iAnimTimer; // Timer for Animation
+ TPoint iLeftCornerForZoom;
+ /// Timer for Zoom
+ CPeriodic* iTimer;
+ /// Timer for Animation
+ CPeriodic* iAnimTimer;
TInt iAnimCounter;
- // Various objects to store sizes and count
- TSize iTvScreenSize; // to store the Tv screen size
- TSize iTargetBitmapSize; // To Store the target bitmap size to display(as per Aspect Ratio)
+ /// Various objects to store sizes and count
+ /// to store the Tv screen size
+ TSize iTvScreenSize;
+ /// To Store the target bitmap size to display(as per Aspect Ratio)
+ TSize iTargetBitmapSize;
- // Various flags to store values
- TBool iZoom; // Is zoomed
- TBool iBitmapReady; // If the bitmap is decoded and ready
- TBool iAutoZoomOut; // If the UI has asked for auto zoomout
- TBool iSurfSessionConnected; // If surface session is connected
+ /// Various flags to store values
+ /// Is zoomed
+ TBool iZoom;
+ /// If the bitmap is decoded and ready
+ TBool iBitmapReady;
+ /// If the UI has asked for auto zoomout
+ TBool iAutoZoomOut;
+ /// If surface session is connected
+ TBool iSurfSessionConnected;
+ /// If it is set to shift to cloning mode
TBool iShiftToCloning;
#ifdef _DEBUG
TTime iStartTime;
TTime iStopTime;
#endif
- // The bitmap index in the array of bitmaps
+ /// The bitmap index in the array of bitmaps
enum {
EFSBitmapIndex = 0,
EJpgDecodedBitmapIndex,
--- a/tvout/tvoutengine/inc/glxtv.h Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutengine/inc/glxtv.h Wed Aug 18 09:48:53 2010 +0300
@@ -68,7 +68,6 @@
/**
* Class Description
* A class that handles and propagates UI change notifications
- * @author Loughlin
*/
NONSHARABLE_CLASS (CGlxTv) : public CBase,
public MGlxWindowVisibilityObserver,
@@ -94,12 +93,12 @@
*/
CGlxTv(MGlxTvObserver& aTvObserver);
- /*
+ /**
* Symbian second stage construction
*/
void ConstructL();
-public: // class public method
+public: /// class public method
/**
* Get the current screen size
@@ -158,30 +157,30 @@
void StopMonitoringEnvironment();
private: // class member data
- // Not Owned: The TV out observer
+ /// Not Owned: The TV out observer
MGlxTvObserver& iTvObserver;
- // Owned: The Window visibility monitor
+ /// Owned: The Window visibility monitor
CGlxWindowVisibilityMonitor* iWindowVisibilityMonitor;
- // Owned: The TV connection monitor
+ /// Owned: The TV connection monitor
CGlxTvConnectionMonitor* iTvConnectionMonitor;
- // Size of the TV Out display size
+ /// Size of the TV Out display size
TSize iSzInPixels;
- // Owned: The central repository where TV display ratio is held.
+ /// Owned: The central repository where TV display ratio is held.
CRepository* iCenRep;
- // The implementation of the class, hidden from clients
+ /// The implementation of the class, hidden from clients
class CGlxTvOutCenRepMonitor;
- // Owned: Monitoring class for Tv Ratio Values
+ /// Owned: Monitoring class for Tv Ratio Values
CGlxTvOutCenRepMonitor* iTvDisplayAspectRatioMonitor;
- // The TV aspect ratio
+ /// The TV aspect ratio
TInt iAspectRatio;
};
-#endif // __GLXTV_H__
\ No newline at end of file
+#endif // __GLXTV_H__
--- a/tvout/tvoutengine/inc/glxtvconnectionmonitor.h Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutengine/inc/glxtvconnectionmonitor.h Wed Aug 18 09:48:53 2010 +0300
@@ -16,11 +16,6 @@
*/
-
-/**
- * @internal reviewed 24/08/2007 by D Holland
- */
-
#ifndef __GLX_WNDWCONNECTION_MONITOR_H__
#define __GLX_WNDWCONNECTION_MONITOR_H__
@@ -40,7 +35,6 @@
/**
* Class Description
* An Active object derived class is used to monitor the TV out connection
- * @author Loughlin
*/
NONSHARABLE_CLASS(CGlxTvConnectionMonitor) : public CActive
{
@@ -65,20 +59,20 @@
CGlxTvConnectionMonitor(
MGlxTvConnectionObserver& aConnectionObserver);
- /*
+ /**
* Symbian second stage construction
*/
void ConstructL();
public: // class member functions
- /*
+ /**
* Provides the caller with the current TV connetion state
* @return The TV connection state
*/
TBool IsConnected() const;
- /*
+ /**
* Provides the caller with the current HDMI connetion state
* @return The HDMI connection state
*/
@@ -120,30 +114,30 @@
private: // class member data
- // Not owned: TV connection observer
+ /// Not owned: TV connection observer
MGlxTvConnectionObserver& iConnectionObserver;
- // TVout The Connection state
+ /// TVout The Connection state
TBool iIsTvOutConnected;
- // TVout The Connection state
+ /// TVout The Connection state
TBool iIsHDMIConnected;
- // Headset The Connection state
+ /// Headset The Connection state
TBool iIsHeadSetConnected;
- // The (external device) Accessory Server
+ /// The (external device) Accessory Server
RAccessoryServer iTvAccServer;
- // Accessory mode
+ /// Accessory mode
RAccessoryMode iTvAccMode;
- // Accessory Connection - details the type of accessory
+ /// Accessory Connection - details the type of accessory
RAccessoryConnection iTvAccCon;
- //Class gives Generic ID
+ ///Class gives Generic ID
TAccPolGenericIDArray iCurrentAccArray;
};
-#endif // __GLX_WNDWCONNECTION_MONITOR_H__
\ No newline at end of file
+#endif // __GLX_WNDWCONNECTION_MONITOR_H__
--- a/tvout/tvoutengine/inc/glxwindowvisibilitymonitor.h Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutengine/inc/glxwindowvisibilitymonitor.h Wed Aug 18 09:48:53 2010 +0300
@@ -16,11 +16,6 @@
*/
-
-/**
- * @internal reviewed 24/08/2007 by D Holland
- */
-
#ifndef __GLXWINVISIBILITYMONITOR_H__
#define __GLXWINVISIBILITYMONITOR_H__
@@ -33,12 +28,10 @@
class MGlxWindowVisibilityObserver;
-
/**
* Class Description
* An Active object derived class is used to monitor the visibility of the
* TV out window.
- * @author Loughlin
*/
NONSHARABLE_CLASS(CGlxWindowVisibilityMonitor) : public CBase,
public MAknWsEventObserver
@@ -74,9 +67,9 @@
*/
void ConstructL();
-public: // class member functions
+public: /// class member functions
- /*
+ /**
* Provides the caller with the current visible state
* @return ETrue if the window is visible or false otherwise
*/
@@ -86,14 +79,14 @@
void HandleWsEventL( const TWsEvent& aEvent, CCoeControl* aDestination );
-private: // class member data
- // Not ownded: The Akn event monitor
+private: /// class member data
+ /// Not ownded: The Akn event monitor
CAknWsEventMonitor* iAknEventMonitor;
- // Not owned: Window visibility observer
+ /// Not owned: Window visibility observer
MGlxWindowVisibilityObserver& iVisibilityObserver;
- // The visible state
+ /// The visible state
TBool iIsVisible;
};
--- a/tvout/tvoutengine/src/glxhdmicontroller.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutengine/src/glxhdmicontroller.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -16,7 +16,6 @@
*/
#include <w32std.h>
-#include <alf/alfutil.h>
#include <glxtracer.h>
#include <glxlog.h>
@@ -28,10 +27,10 @@
// -----------------------------------------------------------------------------
// NewLC
// -----------------------------------------------------------------------------
-EXPORT_C CGlxHdmiController* CGlxHdmiController::NewL(TBool aEfectsOn)
+EXPORT_C CGlxHdmiController* CGlxHdmiController::NewL(TRect aRect ,TBool aEfectsOn)
{
TRACER("CGlxHdmiController* CGlxHdmiController::NewL()");
- CGlxHdmiController* self = new (ELeave) CGlxHdmiController(aEfectsOn);
+ CGlxHdmiController* self = new (ELeave) CGlxHdmiController(aRect,aEfectsOn);
CleanupStack::PushL(self);
self->ConstructL();
CleanupStack::Pop(self);
@@ -183,9 +182,10 @@
// -----------------------------------------------------------------------------
// Constructor
// -----------------------------------------------------------------------------
-CGlxHdmiController::CGlxHdmiController(TBool aEffectsOn):
+CGlxHdmiController::CGlxHdmiController(TRect aRect,TBool aEffectsOn):
iFsBitmap(NULL),
iStoredImagePath(NULL),
+ iRect(aRect),
iEffectsOn(aEffectsOn)
{
TRACER("CGlxHdmiController::CGlxHdmiController()");
@@ -233,8 +233,7 @@
void CGlxHdmiController::CreateHdmiContainerL()
{
TRACER("CGlxHdmiController::CreateHdmiContainer()");
- TRect rect = AlfUtil::ScreenSize();
- iHdmiContainer = CGlxHdmiContainer::NewL(rect);
+ iHdmiContainer = CGlxHdmiContainer::NewL(iRect);
}
// -----------------------------------------------------------------------------
--- a/tvout/tvoutengine/src/glxhdmisurfaceupdater.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutengine/src/glxhdmisurfaceupdater.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -595,7 +595,7 @@
TRACER("CGlxHdmiController::CreateImageDecoderL()");
// Create a decoder for the image in the named file
TRAPD(error,iImageDecoder = CImageDecoder::FileNewL(iFsSession,
- iImagePath->Des(), CImageDecoder::EOptionNone, KNullUid));
+ iImagePath->Des(), CImageDecoder::EOptionAlwaysThread, KNullUid));
GLX_LOG_INFO1("CreateImageDecoderL CImageDecoder:FileNewL error %d",error);
User::LeaveIfError(error);
}
--- a/tvout/tvoutengine/src/glxtvconnectionmonitor.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutengine/src/glxtvconnectionmonitor.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -21,16 +21,15 @@
#include "glxtvconnectionmonitor.h"
// EXTERNAL INCLUDES
+#include <AccPolGenericIdDefinitions.h>
+#include <AccPolSubblockNameArray.h>
// INTERNAL INCLUDES
-
#include <glxlog.h>
#include <glxtracer.h>
-
#include <glxpanic.h>
#include "glxtv.h"
-#include <AccPolGenericIdDefinitions.h>
-#include <AccPolSubblockNameArray.h>
+
//-----------------------------------------------------------------------------
// Return new object
//-----------------------------------------------------------------------------
--- a/tvout/tvoutengine/src/glxwindowvisibilitymonitor.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutengine/src/glxwindowvisibilitymonitor.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -17,10 +17,6 @@
-/**
- * @internal reviewed 24/08/2007 by D Holland
- */
-
// CLASS HEADER
#include "glxwindowvisibilitymonitor.h"
--- a/tvout/tvoutwrapper/inc/glxtvconnectionobserver.h Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutwrapper/inc/glxtvconnectionobserver.h Wed Aug 18 09:48:53 2010 +0300
@@ -25,41 +25,52 @@
class CGlxTv;
class GlxTvOutWrapperPrivate;
+/**
+ * Class Description This class basically obseves the connection changes
+ *
+ * Client shouldnt access this directly, meant to be used from GlxTvOutWrapperPrivate only
+ *
+ */
+
class CGlxConnectionObserver : public CBase,
public MGlxTvObserver
{
public:
- /*
+ /**
* NewL()
+ * @param aTvWrapperPrivate GlxTvOutWrapperPrivate instance
*/
static CGlxConnectionObserver* NewL(GlxTvOutWrapperPrivate* aTvWrapperPrivate);
- /*
+ /**
* destructor
*/
~CGlxConnectionObserver();
- /*
+ /**
* IsHdmiConnected()
*/
TBool IsHdmiConnected();
private:
- /*
+ /**
* ConstructL
*/
void ConstructL();
- /*
+ /**
* constructor
+ * @param aTvWrapperPrivate GlxTvOutWrapperPrivate Instance
*/
CGlxConnectionObserver(GlxTvOutWrapperPrivate* aTvWrapperPrivate);
-private:// From MGlxTvObserver
+private:/// @see MGlxTvObserver
void HandleTvStatusChangedL ( TTvChangeType aChangeType );
private:
+ /// TvOut instance
CGlxTv* iGlxTvOut;
+ /// wrapper private instance
GlxTvOutWrapperPrivate* iTvWrapperPrivate;
};
#endif // GLXTVCONNECTIONOBSERVER_H
--- a/tvout/tvoutwrapper/inc/glxtvoutwrapper.h Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutwrapper/inc/glxtvoutwrapper.h Wed Aug 18 09:48:53 2010 +0300
@@ -19,6 +19,7 @@
#define GLXTVOUTWRAPPER_H
#include <QAbstractItemModel>
+#include <QSize>
// forward decleration
class GlxTvOutWrapperPrivate;
@@ -29,70 +30,85 @@
#define GLX_TVOUTWRAPPER_EXPORT Q_DECL_IMPORT
#endif
+/**
+ * Class Description This is Wrapper entry point for Qt based classes for HDMI
+ *
+ * Client needs to create an instance of this class and setModel()
+ *
+ * To Shift from native to clone and vice versa, use setToNativeMode() and
+ * setToCloningMode() respectively
+ *
+ * For Not supported items, make sure to call itemNotSupported() API
+ */
+
class GLX_TVOUTWRAPPER_EXPORT GlxTvOutWrapper
{
public:
- /*
+ /**
* Constructor
*/
GlxTvOutWrapper();
- /*
+ /**
* Destructor
*/
~GlxTvOutWrapper();
- /*
+ /**
* Setting the model
* This also creates the private instance of the wrapper
* to pass the model
+ * @param Model datamodel
+ * @param screensize the size of the phone screen
+ * @param aEfectsOn if slideshow effects on tv needs to be on, off by default
*/
- void setModel(QAbstractItemModel* aModel,bool aEfectsOn = false);
+ void setModel(QAbstractItemModel* aModel,QSize aScreenSize,bool aEfectsOn = false);
- /*
+ /**
* Set the image on to HDMI
*/
void setImagetoHDMI();
- /*
+ /**
* Sets HDMI to cloning mode
*/
void setToCloningMode();
- /*
+ /**
* Sets HDMI to Native posting mode
*/
void setToNativeMode();
- /*
+ /**
* views should call this if for any item it doesnt want to move to
* HDMI posting mode
*/
void itemNotSupported();
- /*
+ /**
* Activate zoom in posting mode
* This can be called if the zoom animation in HDMI(bounce back effect)
* needs to be shown
- * @param1 - send true if want to auto zoom out on animation effect
+ * @param autoZoomOut send true if want to auto zoom out on animation effect
*/
void activateZoom(bool autoZoomOut);
- /*
+ /**
* Deactivate zoom in posting mode.
* This can be called when zoom animation needs to bounce back.
* Note : This function is not required if bounce back effect finishes automatically
*/
void deactivateZoom();
- /*
+ /**
* Fadeing of the Surface
- * @param1 ETrue - FadeIn ( as in gaining brightness )
- * EFalse - FadeOut ( as in loosing brightness )
+ * @param aFadeInOut ETrue - FadeIn ( as in gaining brightness )
+ * EFalse - FadeOut ( as in loosing brightness )
*/
void fadeSurface(bool aFadeInOut);
private:
+ /// Private wrapper handler according to PIMPL pattern
GlxTvOutWrapperPrivate* mTvOutWrapperPrivate;
};
--- a/tvout/tvoutwrapper/inc/glxtvoutwrapper_p.h Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutwrapper/inc/glxtvoutwrapper_p.h Wed Aug 18 09:48:53 2010 +0300
@@ -21,6 +21,7 @@
#include <QAbstractItemModel>
#include <fbs.h>
#include <QMetaType>
+#include <QSize>
class GlxTvOutWrapper;
class CGlxConnectionObserver;
@@ -29,88 +30,104 @@
// Converting the QVariant to CFbsBitmap*
Q_DECLARE_METATYPE(CFbsBitmap*)
+/**
+ * Class Description This is Private Wrapper class for HDMI
+ *
+ * Client shouldnt access this directly, instead access through GlxTvOutWrapper
+ *
+ */
+
class GlxTvOutWrapperPrivate
{
public:
- /*
+ /**
* Static method to create an instance
- * @param3 - to On the Effects of Slideshow - currently only fade in fade out
+ * @param aTvOutWrapper GlxTvOutWrapper Instance
+ * @param aModel item model
+ * @param aScreenSize screensize of the phone
+ * @param aEfectsOn to ON the Effects for Slideshow on TV- currently only
+ * fade in fade out is supported
+ *
+ * @return GlxTvOutWrapperPrivate Instance
*/
static GlxTvOutWrapperPrivate* Instance(GlxTvOutWrapper* aTvOutWrapper,
- QAbstractItemModel* aModel,bool aEfectsOn);
+ QAbstractItemModel* aModel,QSize aScreenSize,bool aEfectsOn);
- /*
+ /**
* destructor
*/
~GlxTvOutWrapperPrivate();
- /*
+ /**
* HandleConnectionChange
- * @param1 true if connected, false if disconnected
+ * @param aConnected true if connected, false if disconnected
* Note this is only being done for HDMI as there is no
* implementation for Analog TV.
*/
void HandleConnectionChange(bool aConnected);
- /*
- * SetImagetoHDMI()
+ /**
+ * SetImagetoHDMI
*/
void SetImagetoHDMI();
- /*
+ /**
* Sets HDMI to cloning mode
*/
void SetToCloningMode();
- /*
+ /**
* Sets HDMI to Native posting mode
*/
void SetToNativeMode();
- /*
+ /**
* views should call this if for any item it doesnt want to move to
* HDMI posting mode
*/
void ItemNotSupported();
- /*
+ /**
* Activate zoom in posting mode
*/
void ActivateZoom(bool autoZoomOut);
- /*
+ /**
* Deactivate zoom in posting mode.
*/
void DeactivateZoom();
- /*
+ /**
* Fadeing of the Surface
- * @param1 ETrue - FadeIn ( as in gaining brightness )
- * EFalse - FadeOut ( as in loosing brightness )
+ * @param aFadeInOut - ETrue - FadeIn ( as in gaining brightness )
+ * EFalse - FadeOut ( as in loosing brightness )
*/
void FadeSurface(bool aFadeInOut);
private:
- /*
+ /**
* constructor
+ * @param tvoutwrapper GlxTvOutWrapper instance
+ * @param model QAbstractItemModel instance
*/
GlxTvOutWrapperPrivate(GlxTvOutWrapper* aTvOutWrapper,
QAbstractItemModel* aModel);
- /*
+ /**
* constructL()
- * @param1 - to On the Effects of Slideshow - currently only fade in fade out
+ * @param aScreenSize screensize
+ * @param aEffectsOn to On the Effects of Slideshow - currently only fade in fade out
*/
- void ConstructL(bool aEfectsOn);
+ void ConstructL(QSize aScreenSize,bool aEfectsOn);
- /*
+ /**
* SetNewImage
* Get the uri and bmp from the media model
* and pass it to HDMI controller
*/
void SetNewImage();
- /*
+ /**
* getsubstate
*/
int getSubState();
--- a/tvout/tvoutwrapper/src/glxtvoutwrapper.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutwrapper/src/glxtvoutwrapper.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -43,11 +43,11 @@
// setModel
// and Create the private instance to pass the model
// -----------------------------------------------------------------------------
-void GlxTvOutWrapper::setModel(QAbstractItemModel* aModel,bool aEfectsOn)
+void GlxTvOutWrapper::setModel(QAbstractItemModel* aModel,QSize aScreenSize,bool aEfectsOn)
{
if (!mTvOutWrapperPrivate)
{
- mTvOutWrapperPrivate = GlxTvOutWrapperPrivate::Instance(this,aModel,aEfectsOn);
+ mTvOutWrapperPrivate = GlxTvOutWrapperPrivate::Instance(this,aModel,aScreenSize,aEfectsOn);
}
else
{
--- a/tvout/tvoutwrapper/src/glxtvoutwrapper_p.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/tvout/tvoutwrapper/src/glxtvoutwrapper_p.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -29,12 +29,12 @@
// Static method to create the private wrapper instance
// -----------------------------------------------------------------------------
GlxTvOutWrapperPrivate* GlxTvOutWrapperPrivate::Instance(GlxTvOutWrapper* aTvOutWrapper,
- QAbstractItemModel* aModel,bool aEfectsOn)
+ QAbstractItemModel* aModel,QSize aScreenSize,bool aEfectsOn)
{
TRACER("GlxTvOutWrapperPrivate::Instance()");
GlxTvOutWrapperPrivate* self = new GlxTvOutWrapperPrivate(aTvOutWrapper,aModel);
if (self){
- TRAPD(err,self->ConstructL(aEfectsOn));
+ TRAPD(err,self->ConstructL(aScreenSize,aEfectsOn));
if(err != KErrNone){
delete self;
self = NULL;
@@ -47,12 +47,14 @@
// ConstructL
// This creates the Connection observer and the Hdmi Controller
// -----------------------------------------------------------------------------
-void GlxTvOutWrapperPrivate::ConstructL(bool aEfectsOn)
+void GlxTvOutWrapperPrivate::ConstructL(QSize aScreenSize,bool aEfectsOn)
{
TRACER("GlxTvOutWrapperPrivate::ConstructL()");
iConnectionObserver = CGlxConnectionObserver::NewL(this);
if (!iHdmiController) {
- iHdmiController = CGlxHdmiController::NewL(aEfectsOn);
+ TRect rect(0,0,aScreenSize.width(),aScreenSize.height());
+ iHdmiController = CGlxHdmiController::NewL(rect,
+ aEfectsOn);
iHdmiConnected = iConnectionObserver->IsHdmiConnected();
}
}
--- a/ui/commandhandlers/bwins/glxcommoncommandhandlersu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/commandhandlers/bwins/glxcommoncommandhandlersu.def Wed Aug 18 09:48:53 2010 +0300
@@ -1,81 +1,76 @@
EXPORTS
- ?doHandleUserAction@GlxCommandHandlerRotateImage@@UBEXPAVGlxMediaModel@@V?$QList@VQModelIndex@@@@@Z @ 1 NONAME ; void GlxCommandHandlerRotateImage::doHandleUserAction(class GlxMediaModel *, class QList<class QModelIndex>) const
- ??_EGlxCommandHandlerRemoveFrom@@UAE@I@Z @ 2 NONAME ; GlxCommandHandlerRemoveFrom::~GlxCommandHandlerRemoveFrom(unsigned int)
- ?iSelectionCount@GlxCommandHandlerAddToContainer@@0HA @ 3 NONAME ; int GlxCommandHandlerAddToContainer::iSelectionCount
- ?RotateImageL@GlxCommandHandlerRotate@@AAEXV?$TBuf@$0BAA@@@@Z @ 4 NONAME ; void GlxCommandHandlerRotate::RotateImageL(class TBuf<256>)
- ?qt_metacall@GlxCommandHandlerNewMedia@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5 NONAME ; int GlxCommandHandlerNewMedia::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?doHandleUserAction@GlxCommandHandlerCropImage@@UBEXPAVGlxMediaModel@@V?$QList@VQModelIndex@@@@@Z @ 6 NONAME ; void GlxCommandHandlerCropImage::doHandleUserAction(class GlxMediaModel *, class QList<class QModelIndex>) const
- ?ProgressTextL@GlxCommandHandlerRemoveFrom@@EBE?AVQString@@XZ @ 7 NONAME ; class QString GlxCommandHandlerRemoveFrom::ProgressTextL(void) const
- ??0GlxCommandHandlerRename@@QAE@XZ @ 8 NONAME ; GlxCommandHandlerRename::GlxCommandHandlerRename(void)
- ??1GlxCommandHandlerAddToContainer@@UAE@XZ @ 9 NONAME ; GlxCommandHandlerAddToContainer::~GlxCommandHandlerAddToContainer(void)
- ?getStaticMetaObject@GlxCommandHandlerNewMedia@@SAABUQMetaObject@@XZ @ 10 NONAME ; struct QMetaObject const & GlxCommandHandlerNewMedia::getStaticMetaObject(void)
- ?SetImageOrientationL@GlxCommandHandlerRotate@@AAEXG@Z @ 11 NONAME ; void GlxCommandHandlerRotate::SetImageOrientationL(unsigned short)
- ?ConfirmationTextL@GlxCommandHandlerDelete@@EBE?AVQString@@_N@Z @ 12 NONAME ; class QString GlxCommandHandlerDelete::ConfirmationTextL(bool) const
- ??_EGlxCommandHandlerSend@@UAE@I@Z @ 13 NONAME ; GlxCommandHandlerSend::~GlxCommandHandlerSend(unsigned int)
- ?trUtf8@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0@Z @ 14 NONAME ; class QString GlxCommandHandlerNewMedia::trUtf8(char const *, char const *)
- ?HandleErrorL@GlxCommandHandlerNewMedia@@MAEXH@Z @ 15 NONAME ; void GlxCommandHandlerNewMedia::HandleErrorL(int)
- ??1GlxCommandHandlerCropImage@@UAE@XZ @ 16 NONAME ; GlxCommandHandlerCropImage::~GlxCommandHandlerCropImage(void)
- ?GetName@GlxCommandHandlerRename@@ABE?AVQString@@AAVMGlxMediaList@@@Z @ 17 NONAME ; class QString GlxCommandHandlerRename::GetName(class MGlxMediaList &) const
- ?tr@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0H@Z @ 18 NONAME ; class QString GlxCommandHandlerNewMedia::tr(char const *, char const *, int)
- ?DoExecuteCommandL@GlxCommandHandlerRotate@@UAEXHAAVMGlxMediaList@@AAH@Z @ 19 NONAME ; void GlxCommandHandlerRotate::DoExecuteCommandL(int, class MGlxMediaList &, int &)
- ?CompletionTextL@GlxCommandHandlerComment@@EBE?AVQString@@XZ @ 20 NONAME ; class QString GlxCommandHandlerComment::CompletionTextL(void) const
- ?metaObject@GlxCommandHandlerNewMedia@@UBEPBUQMetaObject@@XZ @ 21 NONAME ; struct QMetaObject const * GlxCommandHandlerNewMedia::metaObject(void) const
- ?CreateCommandL@GlxCommandHandlerDelete@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 22 NONAME ; class CMPXMedia * GlxCommandHandlerDelete::CreateCommandL(int, class MGlxMediaList &, int &) const
- ?CreateCommandL@GlxCommandHandlerAddToContainer@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 23 NONAME ; class CMPXMedia * GlxCommandHandlerAddToContainer::CreateCommandL(int, class MGlxMediaList &, int &) const
- ?CompletionTextL@GlxCommandHandlerDelete@@EBE?AVQString@@XZ @ 24 NONAME ; class QString GlxCommandHandlerDelete::CompletionTextL(void) const
- ?DoHandleCommandCompleteL@GlxCommandHandlerNewMedia@@MAEXPAXPAVCMPXMedia@@HPAVMGlxMediaList@@@Z @ 25 NONAME ; void GlxCommandHandlerNewMedia::DoHandleCommandCompleteL(void *, class CMPXMedia *, int, class MGlxMediaList *)
- ??0GlxCommandHandlerComment@@QAE@XZ @ 26 NONAME ; GlxCommandHandlerComment::GlxCommandHandlerComment(void)
- ?GenerateNewMediaItemTitleL@GlxCommandHandlerNewMedia@@ABE?AVQString@@V2@AAVMGlxMediaList@@@Z @ 27 NONAME ; class QString GlxCommandHandlerNewMedia::GenerateNewMediaItemTitleL(class QString, class MGlxMediaList &) const
- ??1GlxCommandHandlerRemoveFrom@@UAE@XZ @ 28 NONAME ; GlxCommandHandlerRemoveFrom::~GlxCommandHandlerRemoveFrom(void)
- ?qt_metacast@GlxCommandHandlerNewMedia@@UAEPAXPBD@Z @ 29 NONAME ; void * GlxCommandHandlerNewMedia::qt_metacast(char const *)
- ??0GlxCommandHandlerRemoveFrom@@QAE@XZ @ 30 NONAME ; GlxCommandHandlerRemoveFrom::GlxCommandHandlerRemoveFrom(void)
- ?HandleItemAddedL@GlxCommandHandlerNewMedia@@MAEXHHPAVMGlxMediaList@@@Z @ 31 NONAME ; void GlxCommandHandlerNewMedia::HandleItemAddedL(int, int, class MGlxMediaList *)
- ?tr@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0@Z @ 32 NONAME ; class QString GlxCommandHandlerNewMedia::tr(char const *, char const *)
- ?createNewMedia@GlxCommandHandlerAddToContainer@@ABEXXZ @ 33 NONAME ; void GlxCommandHandlerAddToContainer::createNewMedia(void) const
- ?ReadImageOrientationL@GlxCommandHandlerRotate@@AAEGXZ @ 34 NONAME ; unsigned short GlxCommandHandlerRotate::ReadImageOrientationL(void)
- ??_EGlxCommandHandlerComment@@UAE@I@Z @ 35 NONAME ; GlxCommandHandlerComment::~GlxCommandHandlerComment(unsigned int)
- ??1GlxCommandHandlerRotate@@UAE@XZ @ 36 NONAME ; GlxCommandHandlerRotate::~GlxCommandHandlerRotate(void)
- ?CreateCommandL@GlxCommandHandlerRename@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 37 NONAME ; class CMPXMedia * GlxCommandHandlerRename::CreateCommandL(int, class MGlxMediaList &, int &) const
- ??1GlxCommandHandlerNewMedia@@UAE@XZ @ 38 NONAME ; GlxCommandHandlerNewMedia::~GlxCommandHandlerNewMedia(void)
- ??_EGlxCommandHandlerNewMedia@@UAE@I@Z @ 39 NONAME ; GlxCommandHandlerNewMedia::~GlxCommandHandlerNewMedia(unsigned int)
- ?CompletionTextL@GlxCommandHandlerRemoveFrom@@EBE?AVQString@@XZ @ 40 NONAME ; class QString GlxCommandHandlerRemoveFrom::CompletionTextL(void) const
- ??_EGlxCommandHandlerDelete@@UAE@I@Z @ 41 NONAME ; GlxCommandHandlerDelete::~GlxCommandHandlerDelete(unsigned int)
- ?ProgressTextL@GlxCommandHandlerDelete@@EBE?AVQString@@XZ @ 42 NONAME ; class QString GlxCommandHandlerDelete::ProgressTextL(void) const
- ?CompletionTextL@GlxCommandHandlerRename@@EBE?AVQString@@XZ @ 43 NONAME ; class QString GlxCommandHandlerRename::CompletionTextL(void) const
- ?staticMetaObject@GlxCommandHandlerNewMedia@@2UQMetaObject@@B @ 44 NONAME ; struct QMetaObject const GlxCommandHandlerNewMedia::staticMetaObject
- ?DestroyExifWriter@GlxCommandHandlerRotate@@AAEXXZ @ 45 NONAME ; void GlxCommandHandlerRotate::DestroyExifWriter(void)
- ??0GlxCommandHandlerDelete@@QAE@XZ @ 46 NONAME ; GlxCommandHandlerDelete::GlxCommandHandlerDelete(void)
- ??1GlxCommandHandlerRename@@UAE@XZ @ 47 NONAME ; GlxCommandHandlerRename::~GlxCommandHandlerRename(void)
- ??0GlxCommandHandlerSend@@QAE@XZ @ 48 NONAME ; GlxCommandHandlerSend::GlxCommandHandlerSend(void)
- ?HandleError@GlxCommandHandlerNewMedia@@MAEXH@Z @ 49 NONAME ; void GlxCommandHandlerNewMedia::HandleError(int)
- ??0GlxCommandHandlerAddToContainer@@QAE@XZ @ 50 NONAME ; GlxCommandHandlerAddToContainer::GlxCommandHandlerAddToContainer(void)
- ??_EGlxCommandHandlerRename@@UAE@I@Z @ 51 NONAME ; GlxCommandHandlerRename::~GlxCommandHandlerRename(unsigned int)
- ?GetName@GlxCommandHandlerComment@@ABE?AVQString@@AAVMGlxMediaList@@@Z @ 52 NONAME ; class QString GlxCommandHandlerComment::GetName(class MGlxMediaList &) const
- ?HandleErrorL@GlxCommandHandlerRename@@EAEXH@Z @ 53 NONAME ; void GlxCommandHandlerRename::HandleErrorL(int)
- ??1GlxCommandHandlerRotateImage@@UAE@XZ @ 54 NONAME ; GlxCommandHandlerRotateImage::~GlxCommandHandlerRotateImage(void)
- ??0GlxCommandHandlerRotateImage@@QAE@XZ @ 55 NONAME ; GlxCommandHandlerRotateImage::GlxCommandHandlerRotateImage(void)
- ??_EGlxCommandHandlerRotate@@UAE@I@Z @ 56 NONAME ; GlxCommandHandlerRotate::~GlxCommandHandlerRotate(unsigned int)
- ??_EGlxCommandHandlerCropImage@@UAE@I@Z @ 57 NONAME ; GlxCommandHandlerCropImage::~GlxCommandHandlerCropImage(unsigned int)
- ?ProgressTextL@GlxCommandHandlerAddToContainer@@EBE?AVQString@@XZ @ 58 NONAME ; class QString GlxCommandHandlerAddToContainer::ProgressTextL(void) const
- ??1GlxCommandHandlerComment@@UAE@XZ @ 59 NONAME ; GlxCommandHandlerComment::~GlxCommandHandlerComment(void)
- ??1GlxCommandHandlerSend@@UAE@XZ @ 60 NONAME ; GlxCommandHandlerSend::~GlxCommandHandlerSend(void)
- ?CompletionTextL@GlxCommandHandlerAddToContainer@@EBE?AVQString@@XZ @ 61 NONAME ; class QString GlxCommandHandlerAddToContainer::CompletionTextL(void) const
- ??0GlxCommandHandlerNewMedia@@QAE@XZ @ 62 NONAME ; GlxCommandHandlerNewMedia::GlxCommandHandlerNewMedia(void)
- ?trUtf8@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0H@Z @ 63 NONAME ; class QString GlxCommandHandlerNewMedia::trUtf8(char const *, char const *, int)
- ?doHandleUserAction@GlxCommandHandlerSend@@UBEXPAVGlxMediaModel@@V?$QList@VQModelIndex@@@@@Z @ 64 NONAME ; void GlxCommandHandlerSend::doHandleUserAction(class GlxMediaModel *, class QList<class QModelIndex>) const
- ??_EGlxCommandHandlerAddToContainer@@UAE@I@Z @ 65 NONAME ; GlxCommandHandlerAddToContainer::~GlxCommandHandlerAddToContainer(unsigned int)
- ?ProgressTextL@GlxCommandHandlerNewMedia@@EBE?AVQString@@XZ @ 66 NONAME ; class QString GlxCommandHandlerNewMedia::ProgressTextL(void) const
- ?ExecuteLD@GlxCommandHandlerNewMedia@@QAEHAAVTGlxMediaId@@@Z @ 67 NONAME ; int GlxCommandHandlerNewMedia::ExecuteLD(class TGlxMediaId &)
- ?CreateCommandL@GlxCommandHandlerRotate@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 68 NONAME ; class CMPXMedia * GlxCommandHandlerRotate::CreateCommandL(int, class MGlxMediaList &, int &) const
- ?CreateCommandL@GlxCommandHandlerComment@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 69 NONAME ; class CMPXMedia * GlxCommandHandlerComment::CreateCommandL(int, class MGlxMediaList &, int &) const
- ?CompletionTextL@GlxCommandHandlerNewMedia@@EBE?AVQString@@XZ @ 70 NONAME ; class QString GlxCommandHandlerNewMedia::CompletionTextL(void) const
- ?executeCommand@GlxCommandHandlerRotateImage@@UAEXHHV?$QList@VQModelIndex@@@@@Z @ 71 NONAME ; void GlxCommandHandlerRotateImage::executeCommand(int, int, class QList<class QModelIndex>)
- ??_EGlxCommandHandlerRotateImage@@UAE@I@Z @ 72 NONAME ; GlxCommandHandlerRotateImage::~GlxCommandHandlerRotateImage(unsigned int)
- ?CreateCommandL@GlxCommandHandlerRemoveFrom@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 73 NONAME ; class CMPXMedia * GlxCommandHandlerRemoveFrom::CreateCommandL(int, class MGlxMediaList &, int &) const
- ?CalculateFinalOrientationL@GlxCommandHandlerRotate@@AAEGG@Z @ 74 NONAME ; unsigned short GlxCommandHandlerRotate::CalculateFinalOrientationL(unsigned short)
- ?InitializeExifWriterL@GlxCommandHandlerRotate@@AAEXV?$TBuf@$0BAA@@@@Z @ 75 NONAME ; void GlxCommandHandlerRotate::InitializeExifWriterL(class TBuf<256>)
- ??1GlxCommandHandlerDelete@@UAE@XZ @ 76 NONAME ; GlxCommandHandlerDelete::~GlxCommandHandlerDelete(void)
- ?CreateCommandL@GlxCommandHandlerNewMedia@@MBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 77 NONAME ; class CMPXMedia * GlxCommandHandlerNewMedia::CreateCommandL(int, class MGlxMediaList &, int &) const
- ??0GlxCommandHandlerCropImage@@QAE@XZ @ 78 NONAME ; GlxCommandHandlerCropImage::GlxCommandHandlerCropImage(void)
- ??0GlxCommandHandlerRotate@@QAE@XZ @ 79 NONAME ; GlxCommandHandlerRotate::GlxCommandHandlerRotate(void)
+ ??_EGlxCommandHandlerRemoveFrom@@UAE@I@Z @ 1 NONAME ; GlxCommandHandlerRemoveFrom::~GlxCommandHandlerRemoveFrom(unsigned int)
+ ?RotateImageL@GlxCommandHandlerRotate@@AAEXV?$TBuf@$0BAA@@@@Z @ 2 NONAME ; void GlxCommandHandlerRotate::RotateImageL(class TBuf<256>)
+ ?qt_metacall@GlxCommandHandlerNewMedia@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3 NONAME ; int GlxCommandHandlerNewMedia::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?ProgressTextL@GlxCommandHandlerRemoveFrom@@EBE?AVQString@@XZ @ 4 NONAME ; class QString GlxCommandHandlerRemoveFrom::ProgressTextL(void) const
+ ??0GlxCommandHandlerRename@@QAE@XZ @ 5 NONAME ; GlxCommandHandlerRename::GlxCommandHandlerRename(void)
+ ??1GlxCommandHandlerAddToContainer@@UAE@XZ @ 6 NONAME ; GlxCommandHandlerAddToContainer::~GlxCommandHandlerAddToContainer(void)
+ ?getStaticMetaObject@GlxCommandHandlerNewMedia@@SAABUQMetaObject@@XZ @ 7 NONAME ; struct QMetaObject const & GlxCommandHandlerNewMedia::getStaticMetaObject(void)
+ ?SetImageOrientationL@GlxCommandHandlerRotate@@AAEXG@Z @ 8 NONAME ; void GlxCommandHandlerRotate::SetImageOrientationL(unsigned short)
+ ?ConfirmationTextL@GlxCommandHandlerDelete@@EBE?AVQString@@_N@Z @ 9 NONAME ; class QString GlxCommandHandlerDelete::ConfirmationTextL(bool) const
+ ??_EGlxCommandHandlerSend@@UAE@I@Z @ 10 NONAME ; GlxCommandHandlerSend::~GlxCommandHandlerSend(unsigned int)
+ ?trUtf8@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0@Z @ 11 NONAME ; class QString GlxCommandHandlerNewMedia::trUtf8(char const *, char const *)
+ ?HandleErrorL@GlxCommandHandlerNewMedia@@MAEXH@Z @ 12 NONAME ; void GlxCommandHandlerNewMedia::HandleErrorL(int)
+ ?GetName@GlxCommandHandlerRename@@ABE?AVQString@@AAVMGlxMediaList@@@Z @ 13 NONAME ; class QString GlxCommandHandlerRename::GetName(class MGlxMediaList &) const
+ ?tr@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0H@Z @ 14 NONAME ; class QString GlxCommandHandlerNewMedia::tr(char const *, char const *, int)
+ ?DoExecuteCommandL@GlxCommandHandlerRotate@@UAEXHAAVMGlxMediaList@@AAH@Z @ 15 NONAME ; void GlxCommandHandlerRotate::DoExecuteCommandL(int, class MGlxMediaList &, int &)
+ ?CompletionTextL@GlxCommandHandlerComment@@EBE?AVQString@@XZ @ 16 NONAME ; class QString GlxCommandHandlerComment::CompletionTextL(void) const
+ ?metaObject@GlxCommandHandlerNewMedia@@UBEPBUQMetaObject@@XZ @ 17 NONAME ; struct QMetaObject const * GlxCommandHandlerNewMedia::metaObject(void) const
+ ?CreateCommandL@GlxCommandHandlerDelete@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 18 NONAME ; class CMPXMedia * GlxCommandHandlerDelete::CreateCommandL(int, class MGlxMediaList &, int &) const
+ ?CreateCommandL@GlxCommandHandlerAddToContainer@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 19 NONAME ; class CMPXMedia * GlxCommandHandlerAddToContainer::CreateCommandL(int, class MGlxMediaList &, int &) const
+ ?CompletionTextL@GlxCommandHandlerDelete@@EBE?AVQString@@XZ @ 20 NONAME ; class QString GlxCommandHandlerDelete::CompletionTextL(void) const
+ ?DoHandleCommandCompleteL@GlxCommandHandlerNewMedia@@MAEXPAXPAVCMPXMedia@@HPAVMGlxMediaList@@@Z @ 21 NONAME ; void GlxCommandHandlerNewMedia::DoHandleCommandCompleteL(void *, class CMPXMedia *, int, class MGlxMediaList *)
+ ??0GlxCommandHandlerComment@@QAE@XZ @ 22 NONAME ; GlxCommandHandlerComment::GlxCommandHandlerComment(void)
+ ?GenerateNewMediaItemTitleL@GlxCommandHandlerNewMedia@@ABE?AVQString@@V2@AAVMGlxMediaList@@@Z @ 23 NONAME ; class QString GlxCommandHandlerNewMedia::GenerateNewMediaItemTitleL(class QString, class MGlxMediaList &) const
+ ??1GlxCommandHandlerRemoveFrom@@UAE@XZ @ 24 NONAME ; GlxCommandHandlerRemoveFrom::~GlxCommandHandlerRemoveFrom(void)
+ ??_EGlxCommandHandlerEditImage@@UAE@I@Z @ 25 NONAME ; GlxCommandHandlerEditImage::~GlxCommandHandlerEditImage(unsigned int)
+ ?qt_metacast@GlxCommandHandlerNewMedia@@UAEPAXPBD@Z @ 26 NONAME ; void * GlxCommandHandlerNewMedia::qt_metacast(char const *)
+ ??0GlxCommandHandlerRemoveFrom@@QAE@XZ @ 27 NONAME ; GlxCommandHandlerRemoveFrom::GlxCommandHandlerRemoveFrom(void)
+ ?HandleItemAddedL@GlxCommandHandlerNewMedia@@MAEXHHPAVMGlxMediaList@@@Z @ 28 NONAME ; void GlxCommandHandlerNewMedia::HandleItemAddedL(int, int, class MGlxMediaList *)
+ ?tr@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0@Z @ 29 NONAME ; class QString GlxCommandHandlerNewMedia::tr(char const *, char const *)
+ ?createNewMedia@GlxCommandHandlerAddToContainer@@ABEXXZ @ 30 NONAME ; void GlxCommandHandlerAddToContainer::createNewMedia(void) const
+ ?ReadImageOrientationL@GlxCommandHandlerRotate@@AAEGXZ @ 31 NONAME ; unsigned short GlxCommandHandlerRotate::ReadImageOrientationL(void)
+ ??_EGlxCommandHandlerComment@@UAE@I@Z @ 32 NONAME ; GlxCommandHandlerComment::~GlxCommandHandlerComment(unsigned int)
+ ??1GlxCommandHandlerRotate@@UAE@XZ @ 33 NONAME ; GlxCommandHandlerRotate::~GlxCommandHandlerRotate(void)
+ ?CreateCommandL@GlxCommandHandlerRename@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 34 NONAME ; class CMPXMedia * GlxCommandHandlerRename::CreateCommandL(int, class MGlxMediaList &, int &) const
+ ??1GlxCommandHandlerNewMedia@@UAE@XZ @ 35 NONAME ; GlxCommandHandlerNewMedia::~GlxCommandHandlerNewMedia(void)
+ ??_EGlxCommandHandlerNewMedia@@UAE@I@Z @ 36 NONAME ; GlxCommandHandlerNewMedia::~GlxCommandHandlerNewMedia(unsigned int)
+ ?CompletionTextL@GlxCommandHandlerRemoveFrom@@EBE?AVQString@@XZ @ 37 NONAME ; class QString GlxCommandHandlerRemoveFrom::CompletionTextL(void) const
+ ??_EGlxCommandHandlerDelete@@UAE@I@Z @ 38 NONAME ; GlxCommandHandlerDelete::~GlxCommandHandlerDelete(unsigned int)
+ ?ProgressTextL@GlxCommandHandlerDelete@@EBE?AVQString@@XZ @ 39 NONAME ; class QString GlxCommandHandlerDelete::ProgressTextL(void) const
+ ?CompletionTextL@GlxCommandHandlerRename@@EBE?AVQString@@XZ @ 40 NONAME ; class QString GlxCommandHandlerRename::CompletionTextL(void) const
+ ?staticMetaObject@GlxCommandHandlerNewMedia@@2UQMetaObject@@B @ 41 NONAME ; struct QMetaObject const GlxCommandHandlerNewMedia::staticMetaObject
+ ?DestroyExifWriter@GlxCommandHandlerRotate@@AAEXXZ @ 42 NONAME ; void GlxCommandHandlerRotate::DestroyExifWriter(void)
+ ??0GlxCommandHandlerDelete@@QAE@XZ @ 43 NONAME ; GlxCommandHandlerDelete::GlxCommandHandlerDelete(void)
+ ??1GlxCommandHandlerRename@@UAE@XZ @ 44 NONAME ; GlxCommandHandlerRename::~GlxCommandHandlerRename(void)
+ ??0GlxCommandHandlerSend@@QAE@XZ @ 45 NONAME ; GlxCommandHandlerSend::GlxCommandHandlerSend(void)
+ ?HandleError@GlxCommandHandlerNewMedia@@MAEXH@Z @ 46 NONAME ; void GlxCommandHandlerNewMedia::HandleError(int)
+ ??0GlxCommandHandlerAddToContainer@@QAE@XZ @ 47 NONAME ; GlxCommandHandlerAddToContainer::GlxCommandHandlerAddToContainer(void)
+ ??_EGlxCommandHandlerRename@@UAE@I@Z @ 48 NONAME ; GlxCommandHandlerRename::~GlxCommandHandlerRename(unsigned int)
+ ?GetName@GlxCommandHandlerComment@@ABE?AVQString@@AAVMGlxMediaList@@@Z @ 49 NONAME ; class QString GlxCommandHandlerComment::GetName(class MGlxMediaList &) const
+ ?HandleErrorL@GlxCommandHandlerRename@@EAEXH@Z @ 50 NONAME ; void GlxCommandHandlerRename::HandleErrorL(int)
+ ?doHandleUserAction@GlxCommandHandlerEditImage@@UBEXPAVGlxMediaModel@@V?$QList@VQModelIndex@@@@@Z @ 51 NONAME ; void GlxCommandHandlerEditImage::doHandleUserAction(class GlxMediaModel *, class QList<class QModelIndex>) const
+ ??_EGlxCommandHandlerRotate@@UAE@I@Z @ 52 NONAME ; GlxCommandHandlerRotate::~GlxCommandHandlerRotate(unsigned int)
+ ?ExecuteLD@GlxCommandHandlerNewMedia@@QAEHAAVTGlxMediaId@@AAVQString@@@Z @ 53 NONAME ; int GlxCommandHandlerNewMedia::ExecuteLD(class TGlxMediaId &, class QString &)
+ ?ProgressTextL@GlxCommandHandlerAddToContainer@@EBE?AVQString@@XZ @ 54 NONAME ; class QString GlxCommandHandlerAddToContainer::ProgressTextL(void) const
+ ??1GlxCommandHandlerComment@@UAE@XZ @ 55 NONAME ; GlxCommandHandlerComment::~GlxCommandHandlerComment(void)
+ ??0GlxCommandHandlerEditImage@@QAE@XZ @ 56 NONAME ; GlxCommandHandlerEditImage::GlxCommandHandlerEditImage(void)
+ ??1GlxCommandHandlerSend@@UAE@XZ @ 57 NONAME ; GlxCommandHandlerSend::~GlxCommandHandlerSend(void)
+ ?CompletionTextL@GlxCommandHandlerAddToContainer@@EBE?AVQString@@XZ @ 58 NONAME ; class QString GlxCommandHandlerAddToContainer::CompletionTextL(void) const
+ ??0GlxCommandHandlerNewMedia@@QAE@XZ @ 59 NONAME ; GlxCommandHandlerNewMedia::GlxCommandHandlerNewMedia(void)
+ ?executeCommand@GlxCommandHandlerEditImage@@UAEXHHV?$QList@VQModelIndex@@@@@Z @ 60 NONAME ; void GlxCommandHandlerEditImage::executeCommand(int, int, class QList<class QModelIndex>)
+ ?trUtf8@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0H@Z @ 61 NONAME ; class QString GlxCommandHandlerNewMedia::trUtf8(char const *, char const *, int)
+ ?doHandleUserAction@GlxCommandHandlerSend@@UBEXPAVGlxMediaModel@@V?$QList@VQModelIndex@@@@@Z @ 62 NONAME ; void GlxCommandHandlerSend::doHandleUserAction(class GlxMediaModel *, class QList<class QModelIndex>) const
+ ??_EGlxCommandHandlerAddToContainer@@UAE@I@Z @ 63 NONAME ; GlxCommandHandlerAddToContainer::~GlxCommandHandlerAddToContainer(unsigned int)
+ ?ProgressTextL@GlxCommandHandlerNewMedia@@EBE?AVQString@@XZ @ 64 NONAME ; class QString GlxCommandHandlerNewMedia::ProgressTextL(void) const
+ ?CreateCommandL@GlxCommandHandlerRotate@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 65 NONAME ; class CMPXMedia * GlxCommandHandlerRotate::CreateCommandL(int, class MGlxMediaList &, int &) const
+ ?CreateCommandL@GlxCommandHandlerComment@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 66 NONAME ; class CMPXMedia * GlxCommandHandlerComment::CreateCommandL(int, class MGlxMediaList &, int &) const
+ ?CompletionTextL@GlxCommandHandlerNewMedia@@EBE?AVQString@@XZ @ 67 NONAME ; class QString GlxCommandHandlerNewMedia::CompletionTextL(void) const
+ ?CreateCommandL@GlxCommandHandlerRemoveFrom@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 68 NONAME ; class CMPXMedia * GlxCommandHandlerRemoveFrom::CreateCommandL(int, class MGlxMediaList &, int &) const
+ ??1GlxCommandHandlerEditImage@@UAE@XZ @ 69 NONAME ; GlxCommandHandlerEditImage::~GlxCommandHandlerEditImage(void)
+ ?CalculateFinalOrientationL@GlxCommandHandlerRotate@@AAEGG@Z @ 70 NONAME ; unsigned short GlxCommandHandlerRotate::CalculateFinalOrientationL(unsigned short)
+ ?InitializeExifWriterL@GlxCommandHandlerRotate@@AAEXV?$TBuf@$0BAA@@@@Z @ 71 NONAME ; void GlxCommandHandlerRotate::InitializeExifWriterL(class TBuf<256>)
+ ??1GlxCommandHandlerDelete@@UAE@XZ @ 72 NONAME ; GlxCommandHandlerDelete::~GlxCommandHandlerDelete(void)
+ ?CreateCommandL@GlxCommandHandlerNewMedia@@MBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 73 NONAME ; class CMPXMedia * GlxCommandHandlerNewMedia::CreateCommandL(int, class MGlxMediaList &, int &) const
+ ??0GlxCommandHandlerRotate@@QAE@XZ @ 74 NONAME ; GlxCommandHandlerRotate::GlxCommandHandlerRotate(void)
--- a/ui/commandhandlers/commandhandlerbase/inc/glxcommandhandler.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/commandhandlers/commandhandlerbase/inc/glxcommandhandler.h Wed Aug 18 09:48:53 2010 +0300
@@ -19,6 +19,7 @@
#define GLXCOMMANDHANDLER_H
#include <QObject>
+#include <QModelIndex>
#ifdef BUILD_COMMANDHANDLERBASE
#define GLX_COMMANDHANDLERBASE_EXPORT Q_DECL_EXPORT
@@ -26,7 +27,6 @@
#define GLX_COMMANDHANDLERBASE_EXPORT Q_DECL_IMPORT
#endif
-class QModelIndex;
class GLX_COMMANDHANDLERBASE_EXPORT GlxCommandHandler : public QObject
{
public:
--- a/ui/commandhandlers/commandhandlerbase/src/glxmpxcommandhandler.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/commandhandlers/commandhandlerbase/src/glxmpxcommandhandler.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -487,7 +487,7 @@
}
// (else) If error, assume confirmed anyway
CleanupStack::PopAndDestroy(attributeContext);
- HbMessageBox::question(qtText, this, SLOT(messageDialogClose(HbAction*)));
+ HbMessageBox::question(qtText, this, SLOT(messageDialogClose(HbAction*)),HbMessageBox::Ok | HbMessageBox::Cancel);
}
else{
executeMpxCommand(true);
@@ -499,7 +499,7 @@
QString qtText = ConfirmationTextL(true);
if(!qtText.isEmpty ())
{
- HbMessageBox::question(qtText, this, SLOT(messageDialogClose(HbAction*)));
+ HbMessageBox::question(qtText, this, SLOT(messageDialogClose(HbAction*)),HbMessageBox::Ok |HbMessageBox::Cancel);
}
else{
executeMpxCommand(true);
--- a/ui/commandhandlers/commoncommandhandlers/commoncommandhandlers.pro Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/commoncommandhandlers.pro Wed Aug 18 09:48:53 2010 +0300
@@ -71,8 +71,8 @@
HEADERS += inc/glxcommandhandlerrename.h
HEADERS += inc/glxcommondialogs.h
HEADERS += inc/glxcommandhandlercomment.h
-HEADERS += inc/glxcommandhandlercropimage.h
-HEADERS += inc/glxcommandhandlerrotateimage.h
+HEADERS += inc/glxcommandhandlereditimage.h
+
SOURCES += src/glxcommandhandlerdelete.cpp
SOURCES += src/glxcommandhandleraddtocontainer.cpp
@@ -83,8 +83,8 @@
SOURCES += src/glxcommandhandlerrename.cpp
SOURCES += src/glxcommondialogs.cpp
SOURCES += src/glxcommandhandlercomment.cpp
-SOURCES += src/glxcommandhandlercropimage.cpp
-SOURCES += src/glxcommandhandlerrotateimage.cpp
+SOURCES += src/glxcommandhandlereditimage.cpp
+
DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
--- a/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraddtocontainer.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraddtocontainer.h Wed Aug 18 09:48:53 2010 +0300
@@ -33,7 +33,6 @@
class QGraphicsGridLayout;
class GlxAlbumModel;
class QGraphicsItem;
-class HbDialog;
class QItemSelectionModel;
class QEventLoop;
@@ -51,9 +50,9 @@
void createNewMedia() const;
private:
- static TInt iSelectionCount;
mutable bool mNewMediaAdded ;
mutable CMPXCollectionPath* mTargetContainers ;
+ mutable QString mAlbumName;
};
class GlxAlbumSelectionPopup: public QObject
@@ -66,11 +65,9 @@
QModelIndexList GetSelectionList(GlxAlbumModel *model,bool *ok = 0) ;
private slots:
- void changeButtonText();
void dialogClosed( HbAction *action ) ;
private :
- HbDialog* mPopupDlg;
QItemSelectionModel * mSelectionModel; //no owner ship
QEventLoop *mEventLoop;
bool mResult;
--- a/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlercropimage.h Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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:
-*
-*/
-
-#ifndef GLXCOMMANDHANDLERCROPIMAGE_H_
-#define GLXCOMMANDHANDLERCROPIMAGE_H_
-
-
-#include "glxmodelcommandhandler.h"
-#include <xqappmgr.h> // for XQApplicationManager
-
-#ifdef BUILD_COMMONCOMMANDHANDLERS
-#define GLX_COMMONCOMMANDHANDLERS_EXPORT Q_DECL_EXPORT
-#else
-#define GLX_COMMONCOMMANDHANDLERS_EXPORT Q_DECL_IMPORT
-#endif
-
-//Forward Declaration
-class XQAiwRequest;
-
-class GLX_COMMONCOMMANDHANDLERS_EXPORT GlxCommandHandlerCropImage : public GlxModelCommandHandler
-{
-
-public:
- GlxCommandHandlerCropImage();
- ~GlxCommandHandlerCropImage();
- void doHandleUserAction(GlxMediaModel* model,QList<QModelIndex> indexList) const ;
-
-private:
- mutable XQAiwRequest* mReq;
- mutable XQApplicationManager mAppmgr;
-};
-
-
-#endif /* GLXCOMMANDHANDLERCROPIMAGE_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlereditimage.h Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* 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 GlxCommandHandlerEditImage_H_
+#define GlxCommandHandlerEditImage_H_
+
+
+#include <glxmodelcommandhandler.h>
+#include <xqappmgr.h> // for XQApplicationManager
+
+#ifdef BUILD_COMMONCOMMANDHANDLERS
+#define GLX_COMMONCOMMANDHANDLERS_EXPORT Q_DECL_EXPORT
+#else
+#define GLX_COMMONCOMMANDHANDLERS_EXPORT Q_DECL_IMPORT
+#endif
+
+//Forward Declaration
+class XQAiwRequest;
+
+class GLX_COMMONCOMMANDHANDLERS_EXPORT GlxCommandHandlerEditImage : public GlxModelCommandHandler
+{
+ Q_OBJECT
+
+public:
+ GlxCommandHandlerEditImage();
+ ~GlxCommandHandlerEditImage();
+ void executeCommand(int commandId,int collectionId, QList<QModelIndex> indexList = QList<QModelIndex>() );
+ void doHandleUserAction(GlxMediaModel* model,QList<QModelIndex> indexList) const ;
+
+public slots:
+ void handleOk(const QVariant& result);
+ void handleError(int errorCode, const QString& errorMessage);
+ void storeItems(const QModelIndex &parent, int start, int end);
+
+private:
+ void clearMediaModel();
+
+private:
+ XQAiwRequest* mReq;
+ XQApplicationManager mAppmgr;
+ GlxMediaModel* mMediaModel;
+};
+
+
+#endif /* GlxCommandHandlerEditImage_H_ */
--- a/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlernewmedia.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlernewmedia.h Wed Aug 18 09:48:53 2010 +0300
@@ -36,7 +36,7 @@
GlxCommandHandlerNewMedia();
~GlxCommandHandlerNewMedia();
- TInt ExecuteLD(TGlxMediaId& aNewMediaId);
+ TInt ExecuteLD(TGlxMediaId& aNewMediaId,QString& aTitle);
private:
QString CompletionTextL() const;
--- a/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerrotateimage.h Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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:
-*
-*/
-
-#ifndef GLXCOMMANDHANDLERROTATEIMAGE_H_
-#define GLXCOMMANDHANDLERROTATEIMAGE_H_
-
-
-#include <glxmodelcommandhandler.h>
-#include <xqappmgr.h> // for XQApplicationManager
-
-#ifdef BUILD_COMMONCOMMANDHANDLERS
-#define GLX_COMMONCOMMANDHANDLERS_EXPORT Q_DECL_EXPORT
-#else
-#define GLX_COMMONCOMMANDHANDLERS_EXPORT Q_DECL_IMPORT
-#endif
-
-//Forward Declaration
-class XQAiwRequest;
-
-class GLX_COMMONCOMMANDHANDLERS_EXPORT GlxCommandHandlerRotateImage : public GlxModelCommandHandler
-{
-
-public:
- GlxCommandHandlerRotateImage();
- ~GlxCommandHandlerRotateImage();
- void executeCommand(int commandId,int collectionId, QList<QModelIndex> indexList = QList<QModelIndex>() );
- void doHandleUserAction(GlxMediaModel* model,QList<QModelIndex> indexList) const ;
-
-private:
- XQAiwRequest* mReq;
- XQApplicationManager mAppmgr;
-};
-
-
-#endif /* GLXCOMMANDHANDLERROTATEIMAGE_H_ */
--- a/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandleraddtocontainer.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandleraddtocontainer.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -35,7 +35,8 @@
#include <hbview.h>
#include <hbpushbutton.h>
#include <QGraphicsGridLayout>
-#include <hbdialog.h>
+#include <hbselectiondialog.h>
+
#include <hbmessagebox.h>
#include <glxcommandhandlers.hrh>
@@ -47,14 +48,10 @@
#endif
-TInt GlxCommandHandlerAddToContainer::iSelectionCount = 0;
-
const TInt KSelectionPopupListHierarchy = 5;
-const TInt KListPrefferedHeight = 400;
GlxAlbumSelectionPopup::GlxAlbumSelectionPopup()
- : mPopupDlg( 0 ),
- mSelectionModel( 0 ),
+ : mSelectionModel( 0 ),
mEventLoop( 0 ),
mResult( false )
{
@@ -66,71 +63,44 @@
QModelIndexList GlxAlbumSelectionPopup::GetSelectionList(GlxAlbumModel *model, bool *ok)
{
- // Create a popup
- HbDialog popup;
+ HbSelectionDialog *dlg = new HbSelectionDialog;
+ dlg->setHeadingWidget(new HbLabel(GLX_ALBUM_SELECTION_TITLE));
+ dlg->setSelectionMode(HbAbstractItemView::SingleSelection);
+ dlg->setModel(model);
+ dlg->setAttribute(Qt::WA_DeleteOnClose);
+ dlg->clearActions();
+ HbAction *action;
+ action= new HbAction(GLX_BUTTON_NEW);
+ action->setObjectName( "ch_new_album_button" );
+ dlg->addAction(action);
+ action= new HbAction(GLX_BUTTON_CANCEL);
+ action->setObjectName( "ch_cancel_album_button" );
+ dlg->addAction(action);
+ dlg->open(this, SLOT(dialogClosed(HbAction*)));
+
QEventLoop eventLoop;
mEventLoop = &eventLoop;
-
- popup.setPreferredHeight( KListPrefferedHeight );
- // Set dismiss policy that determines what tap events will cause the popup
- // to be dismissed
- popup.setDismissPolicy(HbDialog::NoDismiss);
-
- // Set timeout to zero to wait user to either click Ok or Cancel
- popup.setTimeout(HbDialog::NoTimeout);
- popup.setHeadingWidget( new HbLabel("Select Album") );
-
- mPopupDlg = &popup;
- HbListView *listview = new HbListView();
- listview->setSelectionMode(HbAbstractItemView::MultiSelection);
- listview->setModel(model);
- mSelectionModel = listview->selectionModel() ;
- connect( mSelectionModel, SIGNAL( selectionChanged( const QItemSelection &, const QItemSelection& ) ), this, SLOT( changeButtonText() ) );
-
- HbAction *primary = new HbAction( "New" );
- primary->setObjectName( "Cmd New" );
- popup.addAction( primary ) ;
-
- HbAction *secondary = new HbAction( GLX_BUTTON_CANCEL );
- secondary->setObjectName( "Cmd Cancel" );
- popup.addAction( secondary );
-
- popup.setContentWidget( listview ); //ownership transfer
- listview->show();
-
- popup.open( this, SLOT( dialogClosed( HbAction* ) ) );
+
eventLoop.exec( );
mEventLoop = 0 ;
if ( ok ) {
*ok = mResult ;
}
- QModelIndexList selectedIndexes = mSelectionModel->selectedIndexes();
- disconnect( mSelectionModel, SIGNAL( selectionChanged( const QItemSelection &, const QItemSelection& ) ), this, SLOT( changeButtonText() ) );
- delete primary;
- delete secondary;
+ QModelIndexList selectedIndexes = dlg->selectedModelIndexes();
return selectedIndexes;
}
-void GlxAlbumSelectionPopup::changeButtonText()
-{
- if ( mSelectionModel->selectedIndexes().count() ) {
- mPopupDlg->actions().first()->setText( GLX_BUTTON_OK );
- }
- else {
- mPopupDlg->actions().first()->setText("New");
- }
-}
-
void GlxAlbumSelectionPopup::dialogClosed(HbAction *action)
{
- HbDialog *dlg = static_cast<HbDialog*>(sender());
- if( action == dlg->actions().first() ) {
- mResult = true ;
+ HbSelectionDialog *dlg = (HbSelectionDialog*)(sender());
+
+ if( action == dlg->actions().at(1) ) {
+ mResult = false ;
}
else {
- mResult = false ;
+ mResult = true ;
}
if ( mEventLoop && mEventLoop->isRunning( ) ) {
mEventLoop->exit( 0 );
@@ -138,7 +108,7 @@
}
GlxCommandHandlerAddToContainer::GlxCommandHandlerAddToContainer() :
- mNewMediaAdded(false)
+ mNewMediaAdded(false),mAlbumName(QString())
{
OstTraceFunctionEntry0( GLXCOMMANDHANDLERADDTOCONTAINER_GLXCOMMANDHANDLERADDTOCONTAINER_ENTRY );
mTargetContainers = NULL;
@@ -156,11 +126,11 @@
MGlxMediaList& aMediaList, TBool& /*aConsume*/) const
{
OstTraceFunctionEntry0( GLXCOMMANDHANDLERADDTOCONTAINER_CREATECOMMANDL_ENTRY );
- iSelectionCount = 0;
CMPXCommand* command = NULL;
-
+ mAlbumName.clear();
if(aCommandId == EGlxCmdAddToFav)
{
+ mAlbumName = GLX_ALBUM_FAV;
CMPXCollectionPath* targetCollection = CMPXCollectionPath::NewL();
CleanupStack::PushL(targetCollection);
// The target collection has to be appeneded with the albums plugin id
@@ -235,6 +205,10 @@
delete mTargetContainers;
mTargetContainers = NULL;
mTargetContainers = targetContainers;
+
+ const TGlxMedia& item = targetMediaList->Item(targetMediaList->SelectedItemIndex(0));
+ const TDesC& title = item.Title();
+ mAlbumName = QString::fromUtf16(title.Ptr(),title.Length());
}
command = TGlxCommandFactory::AddToContainerCommandLC(*sourceItems,
@@ -262,14 +236,14 @@
GlxCommandHandlerNewMedia* commandHandlerNewMedia =
new GlxCommandHandlerNewMedia();
TGlxMediaId newMediaId;
- TInt error = commandHandlerNewMedia->ExecuteLD(newMediaId);
+ QString newTitle;
+ TInt error = commandHandlerNewMedia->ExecuteLD(newMediaId,newTitle);
while (error == KErrAlreadyExists)
{
- HbMessageBox::warning("Name Already Exist!!!", new HbLabel(
- "New Album"));
+ HbMessageBox::warning(GLX_NAME_ALREADY_EXIST);
error = KErrNone;
- error = commandHandlerNewMedia->ExecuteLD(newMediaId);
+ error = commandHandlerNewMedia->ExecuteLD(newMediaId,newTitle);
}
if (error == KErrNone)
@@ -282,6 +256,7 @@
delete mTargetContainers;
mTargetContainers = NULL;
mTargetContainers = path;
+ mAlbumName = newTitle;
mNewMediaAdded = true;
}
OstTraceFunctionExit0( GLXCOMMANDHANDLERADDTOCONTAINER_CREATENEWMEDIA_EXIT );
@@ -289,10 +264,13 @@
QString GlxCommandHandlerAddToContainer::CompletionTextL() const
{
- return QString();
+ if(!mAlbumName.isNull()){
+ return (hbTrId(GLX_IMAGES_ADDED).arg(mAlbumName));
+ }
+ return QString();
}
QString GlxCommandHandlerAddToContainer::ProgressTextL() const
{
- return QString("Adding album...");
+ return GLX_ADDING_IMAGES;
}
--- a/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlercropimage.cpp Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +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:
-*
-*/
-
-#include "glxcommandhandlercropimage.h"
-
-#include <glxcommandfactory.h>
-#include <photoeditor_highway.hrh>
-#include <glxcommandhandlers.hrh>
-#include <XQServiceRequest.h>
-#include <XQAiwRequest.h>
-#include <glxmodelparm.h>
-#include <glxmediamodel.h>
-
-
-GlxCommandHandlerCropImage::GlxCommandHandlerCropImage() : mReq(NULL)
- {
- //Nothing to do here for now
- }
-
-GlxCommandHandlerCropImage::~GlxCommandHandlerCropImage()
- {
- delete mReq;
- mReq = NULL;
- }
-
-void GlxCommandHandlerCropImage::doHandleUserAction(GlxMediaModel* model,
- QList<QModelIndex> /*indexList*/) const
- {
- const QString interface = QLatin1String("com.nokia.symbian.imageeditor");
- const QString operation = QLatin1String("view(QString,int)");
- const QString service = QLatin1String("PhotoEditor");
-
- if(mReq == NULL)
- {
- //Connect to service provider
- mReq = mAppmgr.create(service, interface, operation, true);
- mReq->setEmbedded(true);
- mReq->setSynchronous(true);
- }
-
- if(mReq == NULL)
- {
- qDebug("QtSamplePhotos::launchPhotoEditor request not Created");
- return;
- }
-
- //Get the file path for the item selected
- QString imagePath = (model->data(model->index(model->data(model->index(0,0),GlxFocusIndexRole).value<int>(),0),GlxUriRole)).value<QString>();
-
- QList<QVariant> args;
- args << imagePath;
- args << EEditorHighwayFreeCrop;
- mReq->setArguments(args);
-
- // Send the request
- bool res = mReq->send();
- if (!res)
- {
- // Request failed.
- qDebug("QtSamplePhotos::launchPhotoEditor request cannot be send");
- }
-
- }
--- a/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlerdelete.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlerdelete.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -62,7 +62,7 @@
QString GlxCommandHandlerDelete::ProgressTextL() const
{
- return QString("Deleting...");
+ return (GLX_DELETE_PROGRESS);
}
QString GlxCommandHandlerDelete::ConfirmationTextL(bool multiSelection ) const
@@ -70,7 +70,7 @@
QString retString;
if(multiSelection)
{
- retString = QString("Delete selected images");
+ retString = GLX_MULTIPLE_DELETE;
}
else
{
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlereditimage.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,156 @@
+/*
+* 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: Handles command related to mediaeditors in fullscreen
+* for image Rotate, Crop & Set as Wallpaper
+*
+*/
+
+
+
+#include <glxcommandfactory.h>
+
+
+#ifdef FF_IMAGE_EDITOR
+ #include <photoeditor_highway.hrh>
+#endif //FF_IMAGE_EDITOR
+
+#include "glxcommandhandlereditimage.h"
+#include <glxcommandhandlers.hrh>
+#include <glxmodelparm.h>
+#include <glxmediamodel.h>
+#include <XQServiceRequest.h>
+#include <XQAiwRequest.h>
+
+GlxCommandHandlerEditImage::GlxCommandHandlerEditImage() :
+ mReq(NULL), mMediaModel(NULL)
+ {
+ //Nothing to do here
+ }
+
+GlxCommandHandlerEditImage::~GlxCommandHandlerEditImage()
+ {
+ delete mReq;
+ mReq = NULL;
+ clearMediaModel();
+ }
+
+void GlxCommandHandlerEditImage::executeCommand(int commandId,
+ int collectionId, QList<QModelIndex> /*indexList*/)
+ {
+ const QString service = QLatin1String("PhotoEditor");
+ const QString interface = QLatin1String("com.nokia.symbian.imageeditor");
+ const QString operation = QLatin1String("view(QString,int)");
+
+ //Connect to service provider
+ if(mReq == NULL)
+ {
+ mReq = mAppmgr.create(service, interface, operation, true);
+ mReq->setEmbedded(true);
+ mReq->setSynchronous(false);
+ }
+
+ if(mReq == NULL)
+ {
+ return;
+ }
+
+ connect(mReq, SIGNAL(requestOk(const QVariant&)), this, SLOT(handleOk(const QVariant&)));
+ connect(mReq, SIGNAL(requestError(int,const QString&)), this, SLOT(handleError(int,const QString&)));
+
+ GlxModelParm modelParm(collectionId, 0);
+ clearMediaModel();
+ mMediaModel = new GlxMediaModel(modelParm);
+ if (!mMediaModel)
+ {
+ return;
+ }
+
+ connect( mMediaModel, SIGNAL( rowsInserted( QModelIndex, int, int ) ), this, SLOT( storeItems( QModelIndex, int, int ) ) );
+
+ //Get the file path for the item selected
+ QString imagePath = (mMediaModel->data(
+ mMediaModel->index(mMediaModel->data(mMediaModel->index(0, 0),
+ GlxFocusIndexRole).value<int> (), 0), GlxUriRole)).value<
+ QString> ();
+ //delete mediaModel;
+
+ QList<QVariant> args;
+ args << imagePath;
+#ifdef FF_IMAGE_EDITOR
+ if(EGlxCmdSetWallpaper == commandId)
+ {
+ args << EEditorHighwayWallpaperCrop;
+ }
+ else if(EGlxCmdRotateImgCrop == commandId)
+ {
+ args << EEditorHighwayFreeCrop;
+ }
+ else if(EGlxCmdRotateImgCW == commandId)
+ {
+ args << EEditorHighwayRotateCW;
+ }
+ else // if(EGlxCmdRotateImgCCW == aCommandId)
+
+ {
+ args << EEditorHighwayRotateCCW;
+ }
+ mReq->setArguments(args);
+#endif //FF_IMAGE_EDITOR
+ // Send the request
+ bool res = mReq->send();
+ if (!res)
+ {
+ // Request failed.
+ }
+ }
+
+void GlxCommandHandlerEditImage::doHandleUserAction(GlxMediaModel* /*model*/,
+ QList<QModelIndex> /*indexList*/) const
+ {
+ //Dummy, to keepup with compiler error
+ }
+
+void GlxCommandHandlerEditImage::handleOk(const QVariant& result)
+ {
+ //Nothing to do for - Needs further implementation to refine setting
+ //default image in fullscreen view
+ }
+
+void GlxCommandHandlerEditImage::handleError(int errorCode,
+ const QString& errorMessage)
+ {
+ clearMediaModel();
+ }
+
+void GlxCommandHandlerEditImage::storeItems(const QModelIndex &parent,
+ int aStartRow, int aEndRow)
+ {
+ //This implementation assumes that we will be getting only one new
+ //image creation notification. Needs refined implementation
+ if (mMediaModel)
+ {
+ QModelIndex modelIndex = mMediaModel->index(aStartRow, 0);
+ mMediaModel->setData(modelIndex, modelIndex.row(), GlxFocusIndexRole);
+ }
+ }
+
+void GlxCommandHandlerEditImage::clearMediaModel()
+ {
+ if (mMediaModel)
+ {
+ disconnect(mMediaModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(storeItems(QModelIndex,int,int)));
+ delete mMediaModel;
+ mMediaModel = NULL;
+ }
+ }
--- a/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlernewmedia.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlernewmedia.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -95,7 +95,7 @@
}
-TInt GlxCommandHandlerNewMedia::ExecuteLD(TGlxMediaId& aNewMediaId)
+TInt GlxCommandHandlerNewMedia::ExecuteLD(TGlxMediaId& aNewMediaId,QString& aTitle)
{
OstTraceFunctionEntry0( GLXCOMMANDHANDLERNEWMEDIA_EXECUTELD_ENTRY );
GlxMpxCommandHandler::executeCommand(EGlxCmdAddMedia, KGlxCollectionPluginAlbumsImplementationUid);
@@ -108,6 +108,7 @@
if (iNewMediaCreationError == KErrNone)
{
aNewMediaId = iNewMediaId;
+ aTitle = QString::fromUtf16(iNewMediaItemTitle->Des().Ptr(),iNewMediaItemTitle->Length());
}
}
--- a/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlerremovefrom.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlerremovefrom.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -21,6 +21,7 @@
#include <glxcommandhandlerremovefrom.h>
#include <glxcollectionpluginalbums.hrh>
#include <glxcommandhandlers.hrh>
+#include "glxlocalisationstrings.h"
#include "OstTraceDefinitions.h"
#ifdef OST_TRACE_COMPILER_IN_USE
#include "glxcommandhandlerremovefromTraces.h"
@@ -74,5 +75,5 @@
QString GlxCommandHandlerRemoveFrom::ProgressTextL() const
{
- return QString("Removing...");
+ return GLX_REMOVE_IMAGES;
}
--- a/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlerrotateimage.cpp Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +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:
-*
-*/
-
-
-
-#include <glxcommandfactory.h>
-#include <photoeditor_highway.hrh>
-#include "glxcommandhandlerrotateimage.h"
-#include <glxcommandhandlers.hrh>
-#include <glxmodelparm.h>
-#include <glxmediamodel.h>
-#include <XQServiceRequest.h>
-#include <XQAiwRequest.h>
-
-GlxCommandHandlerRotateImage::GlxCommandHandlerRotateImage() : mReq(NULL)
- {
- //Nothing to do here
- }
-
-GlxCommandHandlerRotateImage::~GlxCommandHandlerRotateImage()
- {
- delete mReq;
- mReq = NULL;
- }
-
-void GlxCommandHandlerRotateImage::executeCommand(int commandId,int collectionId, QList<QModelIndex> /*indexList*/)
-//void GlxCommandHandlerRotateImage::doHandleUserAction(GlxMediaModel* model,QList<QModelIndex> indexList) const
- {
- const QString service = QLatin1String("PhotoEditor");
- const QString interface = QLatin1String("com.nokia.symbian.imageeditor");
- const QString operation = QLatin1String("view(QString,int)");
-
- //Connect to service provider
- if(mReq == NULL)
- {
- mReq = mAppmgr.create(service, interface, operation, true);
- mReq->setEmbedded(true);
- mReq->setSynchronous(true);
- }
-
- if(mReq == NULL)
- {
- return;
- }
-
- GlxModelParm modelParm (collectionId, 0);
- GlxMediaModel* mediaModel = new GlxMediaModel (modelParm);
-
- //Get the file path for the item selected
- QString imagePath = (mediaModel->data(mediaModel->index(mediaModel->data(mediaModel->index(0,0),GlxFocusIndexRole).value<int>(),0),GlxUriRole)).value<QString>();
- delete mediaModel;
-
- QList<QVariant> args;
- args << imagePath;
- if(EGlxCmdRotateImgCW == commandId)
- {
- args << EEditorHighwayRotateCW;
- }
- else // if(EGlxCmdRotateImgCCW == aCommandId)
- {
- args << EEditorHighwayRotateCCW;
- }
- mReq->setArguments(args);
-
- // Send the request
- bool res = mReq->send();
- if (!res)
- {
- // Request failed.
- qDebug("QtSamplePhotos::launchPhotoEditor request cannot be send");
- }
- }
-
-void GlxCommandHandlerRotateImage::doHandleUserAction(GlxMediaModel* /*model*/,QList<QModelIndex> /*indexList*/) const
- {
- //Dummy, to keepup with compiler errore
- }
--- a/ui/commandhandlers/eabi/glxcommoncommandhandlersu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/commandhandlers/eabi/glxcommoncommandhandlersu.def Wed Aug 18 09:48:53 2010 +0300
@@ -40,80 +40,71 @@
_ZN25GlxCommandHandlerNewMedia16staticMetaObjectE @ 39 NONAME DATA 16
_ZN25GlxCommandHandlerNewMedia19getStaticMetaObjectEv @ 40 NONAME
_ZN25GlxCommandHandlerNewMedia24DoHandleCommandCompleteLEPvP9CMPXMediaiP13MGlxMediaList @ 41 NONAME
- _ZN25GlxCommandHandlerNewMedia9ExecuteLDER11TGlxMediaId @ 42 NONAME
+ _ZN25GlxCommandHandlerNewMedia9ExecuteLDER11TGlxMediaIdR7QString @ 42 NONAME
_ZN25GlxCommandHandlerNewMediaC1Ev @ 43 NONAME
_ZN25GlxCommandHandlerNewMediaC2Ev @ 44 NONAME
_ZN25GlxCommandHandlerNewMediaD0Ev @ 45 NONAME
_ZN25GlxCommandHandlerNewMediaD1Ev @ 46 NONAME
_ZN25GlxCommandHandlerNewMediaD2Ev @ 47 NONAME
- _ZN26GlxCommandHandlerCropImageC1Ev @ 48 NONAME
- _ZN26GlxCommandHandlerCropImageC2Ev @ 49 NONAME
- _ZN26GlxCommandHandlerCropImageD0Ev @ 50 NONAME
- _ZN26GlxCommandHandlerCropImageD1Ev @ 51 NONAME
- _ZN26GlxCommandHandlerCropImageD2Ev @ 52 NONAME
- _ZN27GlxCommandHandlerRemoveFromC1Ev @ 53 NONAME
- _ZN27GlxCommandHandlerRemoveFromC2Ev @ 54 NONAME
- _ZN27GlxCommandHandlerRemoveFromD0Ev @ 55 NONAME
- _ZN27GlxCommandHandlerRemoveFromD1Ev @ 56 NONAME
- _ZN27GlxCommandHandlerRemoveFromD2Ev @ 57 NONAME
- _ZN28GlxCommandHandlerRotateImage14executeCommandEii5QListI11QModelIndexE @ 58 NONAME
- _ZN28GlxCommandHandlerRotateImageC1Ev @ 59 NONAME
- _ZN28GlxCommandHandlerRotateImageC2Ev @ 60 NONAME
- _ZN28GlxCommandHandlerRotateImageD0Ev @ 61 NONAME
- _ZN28GlxCommandHandlerRotateImageD1Ev @ 62 NONAME
- _ZN28GlxCommandHandlerRotateImageD2Ev @ 63 NONAME
- _ZN31GlxCommandHandlerAddToContainer15iSelectionCountE @ 64 NONAME DATA 4
- _ZN31GlxCommandHandlerAddToContainerC1Ev @ 65 NONAME
- _ZN31GlxCommandHandlerAddToContainerC2Ev @ 66 NONAME
- _ZN31GlxCommandHandlerAddToContainerD0Ev @ 67 NONAME
- _ZN31GlxCommandHandlerAddToContainerD1Ev @ 68 NONAME
- _ZN31GlxCommandHandlerAddToContainerD2Ev @ 69 NONAME
- _ZNK21GlxCommandHandlerSend18doHandleUserActionEP13GlxMediaModel5QListI11QModelIndexE @ 70 NONAME
- _ZNK23GlxCommandHandlerDelete13ProgressTextLEv @ 71 NONAME
- _ZNK23GlxCommandHandlerDelete14CreateCommandLEiR13MGlxMediaListRi @ 72 NONAME
- _ZNK23GlxCommandHandlerDelete15CompletionTextLEv @ 73 NONAME
- _ZNK23GlxCommandHandlerDelete17ConfirmationTextLEb @ 74 NONAME
- _ZNK23GlxCommandHandlerRename14CreateCommandLEiR13MGlxMediaListRi @ 75 NONAME
- _ZNK23GlxCommandHandlerRename15CompletionTextLEv @ 76 NONAME
- _ZNK23GlxCommandHandlerRename7GetNameER13MGlxMediaList @ 77 NONAME
- _ZNK23GlxCommandHandlerRotate14CreateCommandLEiR13MGlxMediaListRi @ 78 NONAME
- _ZNK24GlxCommandHandlerComment14CreateCommandLEiR13MGlxMediaListRi @ 79 NONAME
- _ZNK24GlxCommandHandlerComment15CompletionTextLEv @ 80 NONAME
- _ZNK24GlxCommandHandlerComment7GetNameER13MGlxMediaList @ 81 NONAME
- _ZNK25GlxCommandHandlerNewMedia10metaObjectEv @ 82 NONAME
- _ZNK25GlxCommandHandlerNewMedia13ProgressTextLEv @ 83 NONAME
- _ZNK25GlxCommandHandlerNewMedia14CreateCommandLEiR13MGlxMediaListRi @ 84 NONAME
- _ZNK25GlxCommandHandlerNewMedia15CompletionTextLEv @ 85 NONAME
- _ZNK25GlxCommandHandlerNewMedia26GenerateNewMediaItemTitleLE7QStringR13MGlxMediaList @ 86 NONAME
- _ZNK26GlxCommandHandlerCropImage18doHandleUserActionEP13GlxMediaModel5QListI11QModelIndexE @ 87 NONAME
- _ZNK27GlxCommandHandlerRemoveFrom13ProgressTextLEv @ 88 NONAME
- _ZNK27GlxCommandHandlerRemoveFrom14CreateCommandLEiR13MGlxMediaListRi @ 89 NONAME
- _ZNK27GlxCommandHandlerRemoveFrom15CompletionTextLEv @ 90 NONAME
- _ZNK28GlxCommandHandlerRotateImage18doHandleUserActionEP13GlxMediaModel5QListI11QModelIndexE @ 91 NONAME
- _ZNK31GlxCommandHandlerAddToContainer13ProgressTextLEv @ 92 NONAME
- _ZNK31GlxCommandHandlerAddToContainer14CreateCommandLEiR13MGlxMediaListRi @ 93 NONAME
- _ZNK31GlxCommandHandlerAddToContainer14createNewMediaEv @ 94 NONAME
- _ZNK31GlxCommandHandlerAddToContainer15CompletionTextLEv @ 95 NONAME
- _ZTI21GlxCommandHandlerSend @ 96 NONAME
- _ZTI23GlxCommandHandlerDelete @ 97 NONAME
- _ZTI23GlxCommandHandlerRename @ 98 NONAME
- _ZTI23GlxCommandHandlerRotate @ 99 NONAME
- _ZTI24GlxCommandHandlerComment @ 100 NONAME
- _ZTI25GlxCommandHandlerNewMedia @ 101 NONAME
- _ZTI26GlxCommandHandlerCropImage @ 102 NONAME
- _ZTI27GlxCommandHandlerRemoveFrom @ 103 NONAME
- _ZTI28GlxCommandHandlerRotateImage @ 104 NONAME
- _ZTI31GlxCommandHandlerAddToContainer @ 105 NONAME
- _ZTV21GlxCommandHandlerSend @ 106 NONAME
- _ZTV23GlxCommandHandlerDelete @ 107 NONAME
- _ZTV23GlxCommandHandlerRename @ 108 NONAME
- _ZTV23GlxCommandHandlerRotate @ 109 NONAME
- _ZTV24GlxCommandHandlerComment @ 110 NONAME
- _ZTV25GlxCommandHandlerNewMedia @ 111 NONAME
- _ZTV26GlxCommandHandlerCropImage @ 112 NONAME
- _ZTV27GlxCommandHandlerRemoveFrom @ 113 NONAME
- _ZTV28GlxCommandHandlerRotateImage @ 114 NONAME
- _ZTV31GlxCommandHandlerAddToContainer @ 115 NONAME
- _ZThn8_N25GlxCommandHandlerNewMedia11HandleErrorEi @ 116 NONAME
- _ZThn8_N25GlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 117 NONAME
+ _ZN26GlxCommandHandlerEditImage14executeCommandEii5QListI11QModelIndexE @ 48 NONAME
+ _ZN26GlxCommandHandlerEditImageC1Ev @ 49 NONAME
+ _ZN26GlxCommandHandlerEditImageC2Ev @ 50 NONAME
+ _ZN26GlxCommandHandlerEditImageD0Ev @ 51 NONAME
+ _ZN26GlxCommandHandlerEditImageD1Ev @ 52 NONAME
+ _ZN26GlxCommandHandlerEditImageD2Ev @ 53 NONAME
+ _ZN27GlxCommandHandlerRemoveFromC1Ev @ 54 NONAME
+ _ZN27GlxCommandHandlerRemoveFromC2Ev @ 55 NONAME
+ _ZN27GlxCommandHandlerRemoveFromD0Ev @ 56 NONAME
+ _ZN27GlxCommandHandlerRemoveFromD1Ev @ 57 NONAME
+ _ZN27GlxCommandHandlerRemoveFromD2Ev @ 58 NONAME
+ _ZN31GlxCommandHandlerAddToContainerC1Ev @ 59 NONAME
+ _ZN31GlxCommandHandlerAddToContainerC2Ev @ 60 NONAME
+ _ZN31GlxCommandHandlerAddToContainerD0Ev @ 61 NONAME
+ _ZN31GlxCommandHandlerAddToContainerD1Ev @ 62 NONAME
+ _ZN31GlxCommandHandlerAddToContainerD2Ev @ 63 NONAME
+ _ZNK21GlxCommandHandlerSend18doHandleUserActionEP13GlxMediaModel5QListI11QModelIndexE @ 64 NONAME
+ _ZNK23GlxCommandHandlerDelete13ProgressTextLEv @ 65 NONAME
+ _ZNK23GlxCommandHandlerDelete14CreateCommandLEiR13MGlxMediaListRi @ 66 NONAME
+ _ZNK23GlxCommandHandlerDelete15CompletionTextLEv @ 67 NONAME
+ _ZNK23GlxCommandHandlerDelete17ConfirmationTextLEb @ 68 NONAME
+ _ZNK23GlxCommandHandlerRename14CreateCommandLEiR13MGlxMediaListRi @ 69 NONAME
+ _ZNK23GlxCommandHandlerRename15CompletionTextLEv @ 70 NONAME
+ _ZNK23GlxCommandHandlerRename7GetNameER13MGlxMediaList @ 71 NONAME
+ _ZNK23GlxCommandHandlerRotate14CreateCommandLEiR13MGlxMediaListRi @ 72 NONAME
+ _ZNK24GlxCommandHandlerComment14CreateCommandLEiR13MGlxMediaListRi @ 73 NONAME
+ _ZNK24GlxCommandHandlerComment15CompletionTextLEv @ 74 NONAME
+ _ZNK24GlxCommandHandlerComment7GetNameER13MGlxMediaList @ 75 NONAME
+ _ZNK25GlxCommandHandlerNewMedia10metaObjectEv @ 76 NONAME
+ _ZNK25GlxCommandHandlerNewMedia13ProgressTextLEv @ 77 NONAME
+ _ZNK25GlxCommandHandlerNewMedia14CreateCommandLEiR13MGlxMediaListRi @ 78 NONAME
+ _ZNK25GlxCommandHandlerNewMedia15CompletionTextLEv @ 79 NONAME
+ _ZNK25GlxCommandHandlerNewMedia26GenerateNewMediaItemTitleLE7QStringR13MGlxMediaList @ 80 NONAME
+ _ZNK26GlxCommandHandlerEditImage18doHandleUserActionEP13GlxMediaModel5QListI11QModelIndexE @ 81 NONAME
+ _ZNK27GlxCommandHandlerRemoveFrom13ProgressTextLEv @ 82 NONAME
+ _ZNK27GlxCommandHandlerRemoveFrom14CreateCommandLEiR13MGlxMediaListRi @ 83 NONAME
+ _ZNK27GlxCommandHandlerRemoveFrom15CompletionTextLEv @ 84 NONAME
+ _ZNK31GlxCommandHandlerAddToContainer13ProgressTextLEv @ 85 NONAME
+ _ZNK31GlxCommandHandlerAddToContainer14CreateCommandLEiR13MGlxMediaListRi @ 86 NONAME
+ _ZNK31GlxCommandHandlerAddToContainer14createNewMediaEv @ 87 NONAME
+ _ZNK31GlxCommandHandlerAddToContainer15CompletionTextLEv @ 88 NONAME
+ _ZTI21GlxCommandHandlerSend @ 89 NONAME
+ _ZTI23GlxCommandHandlerDelete @ 90 NONAME
+ _ZTI23GlxCommandHandlerRename @ 91 NONAME
+ _ZTI23GlxCommandHandlerRotate @ 92 NONAME
+ _ZTI24GlxCommandHandlerComment @ 93 NONAME
+ _ZTI25GlxCommandHandlerNewMedia @ 94 NONAME
+ _ZTI26GlxCommandHandlerEditImage @ 95 NONAME
+ _ZTI27GlxCommandHandlerRemoveFrom @ 96 NONAME
+ _ZTI31GlxCommandHandlerAddToContainer @ 97 NONAME
+ _ZTV21GlxCommandHandlerSend @ 98 NONAME
+ _ZTV23GlxCommandHandlerDelete @ 99 NONAME
+ _ZTV23GlxCommandHandlerRename @ 100 NONAME
+ _ZTV23GlxCommandHandlerRotate @ 101 NONAME
+ _ZTV24GlxCommandHandlerComment @ 102 NONAME
+ _ZTV25GlxCommandHandlerNewMedia @ 103 NONAME
+ _ZTV26GlxCommandHandlerEditImage @ 104 NONAME
+ _ZTV27GlxCommandHandlerRemoveFrom @ 105 NONAME
+ _ZTV31GlxCommandHandlerAddToContainer @ 106 NONAME
+ _ZThn8_N25GlxCommandHandlerNewMedia11HandleErrorEi @ 107 NONAME
+ _ZThn8_N25GlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 108 NONAME
--- a/ui/detailscustomwidget/bwins/detailsdescriptioneditu.def Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-EXPORTS
- ?qt_metacall@GlxDetailsDescriptionEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1 NONAME ; int GlxDetailsDescriptionEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacast@GlxDetailsDescriptionEdit@@UAEPAXPBD@Z @ 2 NONAME ; void * GlxDetailsDescriptionEdit::qt_metacast(char const *)
- ??1GlxDetailsDescriptionEdit@@UAE@XZ @ 3 NONAME ; GlxDetailsDescriptionEdit::~GlxDetailsDescriptionEdit(void)
- ?staticMetaObject@GlxDetailsDescriptionEdit@@2UQMetaObject@@B @ 4 NONAME ; struct QMetaObject const GlxDetailsDescriptionEdit::staticMetaObject
- ??0GlxDetailsDescriptionEdit@@QAE@PAVQGraphicsItem@@@Z @ 5 NONAME ; GlxDetailsDescriptionEdit::GlxDetailsDescriptionEdit(class QGraphicsItem *)
- ?tr@GlxDetailsDescriptionEdit@@SA?AVQString@@PBD0H@Z @ 6 NONAME ; class QString GlxDetailsDescriptionEdit::tr(char const *, char const *, int)
- ??_EGlxDetailsDescriptionEdit@@UAE@I@Z @ 7 NONAME ; GlxDetailsDescriptionEdit::~GlxDetailsDescriptionEdit(unsigned int)
- ?labelPressed@GlxDetailsDescriptionEdit@@IAEXXZ @ 8 NONAME ; void GlxDetailsDescriptionEdit::labelPressed(void)
- ?metaObject@GlxDetailsDescriptionEdit@@UBEPBUQMetaObject@@XZ @ 9 NONAME ; struct QMetaObject const * GlxDetailsDescriptionEdit::metaObject(void) const
- ?focusInEvent@GlxDetailsDescriptionEdit@@MAEXPAVQFocusEvent@@@Z @ 10 NONAME ; void GlxDetailsDescriptionEdit::focusInEvent(class QFocusEvent *)
- ?trUtf8@GlxDetailsDescriptionEdit@@SA?AVQString@@PBD0H@Z @ 11 NONAME ; class QString GlxDetailsDescriptionEdit::trUtf8(char const *, char const *, int)
- ?focusOutEvent@GlxDetailsDescriptionEdit@@MAEXPAVQFocusEvent@@@Z @ 12 NONAME ; void GlxDetailsDescriptionEdit::focusOutEvent(class QFocusEvent *)
- ?tr@GlxDetailsDescriptionEdit@@SA?AVQString@@PBD0@Z @ 13 NONAME ; class QString GlxDetailsDescriptionEdit::tr(char const *, char const *)
- ?getStaticMetaObject@GlxDetailsDescriptionEdit@@SAABUQMetaObject@@XZ @ 14 NONAME ; struct QMetaObject const & GlxDetailsDescriptionEdit::getStaticMetaObject(void)
- ?setItemText@GlxDetailsDescriptionEdit@@QAEXABVQString@@@Z @ 15 NONAME ; void GlxDetailsDescriptionEdit::setItemText(class QString const &)
- ?trUtf8@GlxDetailsDescriptionEdit@@SA?AVQString@@PBD0@Z @ 16 NONAME ; class QString GlxDetailsDescriptionEdit::trUtf8(char const *, char const *)
-
--- a/ui/detailscustomwidget/bwins/detailsnamelabelu.def Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-EXPORTS
- ??_EGlxDetailsNameLabel@@UAE@I@Z @ 1 NONAME ; GlxDetailsNameLabel::~GlxDetailsNameLabel(unsigned int)
- ??1GlxDetailsNameLabel@@UAE@XZ @ 2 NONAME ; GlxDetailsNameLabel::~GlxDetailsNameLabel(void)
- ?tr@GlxDetailsNameLabel@@SA?AVQString@@PBD0@Z @ 3 NONAME ; class QString GlxDetailsNameLabel::tr(char const *, char const *)
- ?mousePressEvent@GlxDetailsNameLabel@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 4 NONAME ; void GlxDetailsNameLabel::mousePressEvent(class QGraphicsSceneMouseEvent *)
- ?metaObject@GlxDetailsNameLabel@@UBEPBUQMetaObject@@XZ @ 5 NONAME ; struct QMetaObject const * GlxDetailsNameLabel::metaObject(void) const
- ?getStaticMetaObject@GlxDetailsNameLabel@@SAABUQMetaObject@@XZ @ 6 NONAME ; struct QMetaObject const & GlxDetailsNameLabel::getStaticMetaObject(void)
- ?staticMetaObject@GlxDetailsNameLabel@@2UQMetaObject@@B @ 7 NONAME ; struct QMetaObject const GlxDetailsNameLabel::staticMetaObject
- ?qt_metacall@GlxDetailsNameLabel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8 NONAME ; int GlxDetailsNameLabel::qt_metacall(enum QMetaObject::Call, int, void * *)
- ??0GlxDetailsNameLabel@@QAE@PAVQGraphicsItem@@@Z @ 9 NONAME ; GlxDetailsNameLabel::GlxDetailsNameLabel(class QGraphicsItem *)
- ?labelPressed@GlxDetailsNameLabel@@IAEXXZ @ 10 NONAME ; void GlxDetailsNameLabel::labelPressed(void)
- ?setItemText@GlxDetailsNameLabel@@QAEXABVQString@@@Z @ 11 NONAME ; void GlxDetailsNameLabel::setItemText(class QString const &)
- ?mouseReleaseEvent@GlxDetailsNameLabel@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 12 NONAME ; void GlxDetailsNameLabel::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
- ?trUtf8@GlxDetailsNameLabel@@SA?AVQString@@PBD0H@Z @ 13 NONAME ; class QString GlxDetailsNameLabel::trUtf8(char const *, char const *, int)
- ?trUtf8@GlxDetailsNameLabel@@SA?AVQString@@PBD0@Z @ 14 NONAME ; class QString GlxDetailsNameLabel::trUtf8(char const *, char const *)
- ?tr@GlxDetailsNameLabel@@SA?AVQString@@PBD0H@Z @ 15 NONAME ; class QString GlxDetailsNameLabel::tr(char const *, char const *, int)
- ?qt_metacast@GlxDetailsNameLabel@@UAEPAXPBD@Z @ 16 NONAME ; void * GlxDetailsNameLabel::qt_metacast(char const *)
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/bwins/glxdetailscustomwidgetsu.def Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,34 @@
+EXPORTS
+ ?focusInEvent@GlxDetailsTextEdit@@MAEXPAVQFocusEvent@@@Z @ 1 NONAME ; void GlxDetailsTextEdit::focusInEvent(class QFocusEvent *)
+ ??1GlxDetailsIcon@@UAE@XZ @ 2 NONAME ; GlxDetailsIcon::~GlxDetailsIcon(void)
+ ??1GlxDetailsTextEdit@@UAE@XZ @ 3 NONAME ; GlxDetailsTextEdit::~GlxDetailsTextEdit(void)
+ ?trUtf8@GlxDetailsIcon@@SA?AVQString@@PBD0H@Z @ 4 NONAME ; class QString GlxDetailsIcon::trUtf8(char const *, char const *, int)
+ ?labelPressed@GlxDetailsTextEdit@@IAEXXZ @ 5 NONAME ; void GlxDetailsTextEdit::labelPressed(void)
+ ?qt_metacall@GlxDetailsIcon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6 NONAME ; int GlxDetailsIcon::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?metaObject@GlxDetailsIcon@@UBEPBUQMetaObject@@XZ @ 7 NONAME ; struct QMetaObject const * GlxDetailsIcon::metaObject(void) const
+ ?tr@GlxDetailsIcon@@SA?AVQString@@PBD0H@Z @ 8 NONAME ; class QString GlxDetailsIcon::tr(char const *, char const *, int)
+ ?staticMetaObject@GlxDetailsIcon@@2UQMetaObject@@B @ 9 NONAME ; struct QMetaObject const GlxDetailsIcon::staticMetaObject
+ ??_EGlxDetailsTextEdit@@UAE@I@Z @ 10 NONAME ; GlxDetailsTextEdit::~GlxDetailsTextEdit(unsigned int)
+ ?tr@GlxDetailsTextEdit@@SA?AVQString@@PBD0@Z @ 11 NONAME ; class QString GlxDetailsTextEdit::tr(char const *, char const *)
+ ?trUtf8@GlxDetailsIcon@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString GlxDetailsIcon::trUtf8(char const *, char const *)
+ ?getStaticMetaObject@GlxDetailsTextEdit@@SAABUQMetaObject@@XZ @ 13 NONAME ; struct QMetaObject const & GlxDetailsTextEdit::getStaticMetaObject(void)
+ ?updateFavourites@GlxDetailsIcon@@IAEXXZ @ 14 NONAME ; void GlxDetailsIcon::updateFavourites(void)
+ ?mousePressEvent@GlxDetailsIcon@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 15 NONAME ; void GlxDetailsIcon::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ?staticMetaObject@GlxDetailsTextEdit@@2UQMetaObject@@B @ 16 NONAME ; struct QMetaObject const GlxDetailsTextEdit::staticMetaObject
+ ?setItemText@GlxDetailsTextEdit@@QAEXABVQString@@@Z @ 17 NONAME ; void GlxDetailsTextEdit::setItemText(class QString const &)
+ ?tr@GlxDetailsIcon@@SA?AVQString@@PBD0@Z @ 18 NONAME ; class QString GlxDetailsIcon::tr(char const *, char const *)
+ ?getStaticMetaObject@GlxDetailsIcon@@SAABUQMetaObject@@XZ @ 19 NONAME ; struct QMetaObject const & GlxDetailsIcon::getStaticMetaObject(void)
+ ?qt_metacall@GlxDetailsTextEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 20 NONAME ; int GlxDetailsTextEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?trUtf8@GlxDetailsTextEdit@@SA?AVQString@@PBD0H@Z @ 21 NONAME ; class QString GlxDetailsTextEdit::trUtf8(char const *, char const *, int)
+ ?mouseReleaseEvent@GlxDetailsIcon@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 22 NONAME ; void GlxDetailsIcon::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ?qt_metacast@GlxDetailsIcon@@UAEPAXPBD@Z @ 23 NONAME ; void * GlxDetailsIcon::qt_metacast(char const *)
+ ??_EGlxDetailsIcon@@UAE@I@Z @ 24 NONAME ; GlxDetailsIcon::~GlxDetailsIcon(unsigned int)
+ ?trUtf8@GlxDetailsTextEdit@@SA?AVQString@@PBD0@Z @ 25 NONAME ; class QString GlxDetailsTextEdit::trUtf8(char const *, char const *)
+ ?metaObject@GlxDetailsTextEdit@@UBEPBUQMetaObject@@XZ @ 26 NONAME ; struct QMetaObject const * GlxDetailsTextEdit::metaObject(void) const
+ ?qt_metacast@GlxDetailsTextEdit@@UAEPAXPBD@Z @ 27 NONAME ; void * GlxDetailsTextEdit::qt_metacast(char const *)
+ ?tr@GlxDetailsTextEdit@@SA?AVQString@@PBD0H@Z @ 28 NONAME ; class QString GlxDetailsTextEdit::tr(char const *, char const *, int)
+ ??0GlxDetailsIcon@@QAE@PAVQGraphicsItem@@@Z @ 29 NONAME ; GlxDetailsIcon::GlxDetailsIcon(class QGraphicsItem *)
+ ?focusOutEvent@GlxDetailsTextEdit@@MAEXPAVQFocusEvent@@@Z @ 30 NONAME ; void GlxDetailsTextEdit::focusOutEvent(class QFocusEvent *)
+ ??0GlxDetailsTextEdit@@QAE@PAVQGraphicsItem@@@Z @ 31 NONAME ; GlxDetailsTextEdit::GlxDetailsTextEdit(class QGraphicsItem *)
+ ?setItemIcon@GlxDetailsIcon@@QAEXABVHbIcon@@@Z @ 32 NONAME ; void GlxDetailsIcon::setItemIcon(class HbIcon const &)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailscustomplugin/detailscustomplugin.pro Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,68 @@
+#/*
+#* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+#* All rights reserved.
+#* This component and the accompanying materials are made available
+#* under the terms of "Eclipse Public License v1.0"
+#* which accompanies this distribution, and is available
+#* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#*
+#* Initial Contributors:
+#* Nokia Corporation - initial contribution.
+#*
+#* Contributors:
+#*
+#* Description:
+#*
+#*/
+
+TEMPLATE = lib
+TARGET = glxdetailscustomplugin
+
+win32{
+CONFIG(release, debug|release){
+ TARGET = glxdetailscustomplugin
+ } else {
+ TARGET = glxdetailscustomplugind
+ }
+}
+
+CONFIG += hb plugin
+
+win32{
+CONFIG(release, debug|release){
+ DESTDIR = ../release # for easy plugin loading
+ LIBS += -L../release -lglxdetailscustomwidgets
+ } else {
+ DESTDIR = ../debug # for easy plugin loading
+ LIBS += -L../debug -lglxdetailscustomwidgetsd
+ }
+}
+
+SOURCES += \
+ main.cpp
+
+INCLUDEPATH += \
+ ../detailscustomwidgets
+
+symbian: {
+ TARGET.UID3 = 0x200071B7
+ TARGET.EPOCALLOWDLLDATA=1
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+ MMP_RULES += SMPSAFE
+
+
+ LIBS += \
+ -lglxdetailscustomwidgets.dll
+
+ pluginstub.sources = glxdetailscustomplugin.dll
+ pluginstub.path = /resource/plugins
+ DEPLOYMENT += pluginstub
+ DESTDIR = $$HB_PLUGINS_DIR
+}
+
+!local {
+ target.path = $$HB_PLUGINS_DIR
+ INSTALLS += target
+}
+
+# End of file --Don't remove this.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailscustomplugin/main.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,59 @@
+/*
+ * 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: Details custom widgets plugin
+ *
+ */
+
+#include "glxdetailstextedit.h"
+#include "glxdetailsicon.h"
+
+#include <QtPlugin>
+#include <hbdocumentloaderplugin.h>
+
+class GlxDetailsCustomPlugin : public HbDocumentLoaderPlugin
+{
+public:
+ QObject *createObject(const QString& type, const QString &name);
+ QList<const QMetaObject *> supportedObjects();
+};
+Q_EXPORT_PLUGIN(GlxDetailsCustomPlugin)
+
+QObject *GlxDetailsCustomPlugin::createObject(const QString& type, const QString &name )
+{
+
+ if( type == GlxDetailsTextEdit::staticMetaObject.className() ) {
+ QObject *object = new GlxDetailsTextEdit();
+ object->setObjectName(name);
+ return object;
+ }
+
+ if( type == GlxDetailsIcon::staticMetaObject.className() ) {
+ QObject *object = new GlxDetailsIcon();
+ object->setObjectName(name);
+ return object;
+ }
+
+ return 0;
+}
+
+QList<const QMetaObject *> GlxDetailsCustomPlugin::supportedObjects()
+{
+ QList<const QMetaObject *> result;
+ result.append( &GlxDetailsTextEdit::staticMetaObject );
+ result.append( &GlxDetailsIcon::staticMetaObject );
+ return result;
+}
+
+// end of file
+
--- a/ui/detailscustomwidget/detailscustomwidget.pro Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/detailscustomwidget/detailscustomwidget.pro Wed Aug 18 09:48:53 2010 +0300
@@ -17,8 +17,7 @@
TEMPLATE = subdirs
-SUBDIRS += detailsnamelabel
-SUBDIRS += detailsnamelabelplugin
-SUBDIRS += detailsdescriptionedit
-SUBDIRS += detailsdescriptioneditplugin
+
+SUBDIRS += detailscustomwidgets
+SUBDIRS += detailscustomplugin
CONFIG += ordered
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailscustomwidgets/detailscustomwidgets.pro Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,65 @@
+#/*
+#* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+#* All rights reserved.
+#* This component and the accompanying materials are made available
+#* under the terms of "Eclipse Public License v1.0"
+#* which accompanies this distribution, and is available
+#* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#*
+#* Initial Contributors:
+#* Nokia Corporation - initial contribution.
+#*
+#* Contributors:
+#*
+#* Description:
+#*
+#*/
+
+TEMPLATE = lib
+TARGET = glxdetailscustomwidgets
+CONFIG += hb
+DEFINES += BUILD_DETAILSCUSTOM
+
+win32{
+CONFIG(release, debug|release){
+ TARGET = glxdetailscustomwidgets
+ DESTDIR = ../release # for easy plugin loading
+}else{
+ TARGET = glxdetailscustomwidgetsd
+ DESTDIR = ../debug # for easy plugin loading
+ }
+}
+
+DEPENDPATH += ./inc \
+ ./src
+
+INCLUDEPATH += ./inc
+
+SOURCES += \
+ glxdetailsicon.cpp \
+ glxdetailstextedit.cpp
+
+HEADERS += \
+ glxdetailsicon.h \
+ glxdetailstextedit.h
+
+
+symbian {
+ TARGET.UID3 = 0x2000A7BC
+ TARGET.EPOCALLOWDLLDATA = 1
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+ MMP_RULES += SMPSAFE
+
+ LIBS += -lbafl
+}
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxdetailscustomwidgets.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxdetailscustomwidgets.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
+
+# End of file --Don't remove this
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailscustomwidgets/glxdetailsicon.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,75 @@
+/*
+* 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 <hbiconitem.h>
+#include <hbframeitem.h>
+#include "glxdetailsicon.h"
+#include <hbstackedlayout.h>
+#include <QEvent>
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//mousePressEvent
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsIcon::mousePressEvent(QGraphicsSceneMouseEvent *event)
+{
+ Q_UNUSED(event)
+}
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//clearCurrentModel
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsIcon::mouseReleaseEvent (QGraphicsSceneMouseEvent *event)
+{
+ Q_UNUSED(event)
+ emit updateFavourites();
+}
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//GlxDetailsIcon
+//--------------------------------------------------------------------------------------------------------------------------------------------
+GlxDetailsIcon::GlxDetailsIcon(QGraphicsItem *parent) : HbWidget(parent)
+{
+ mFavIcon = new HbIconItem(this);
+ //add the layout to the icon or else the icon is not showed.
+ HbStackedLayout *stackedLayout = new HbStackedLayout;
+ stackedLayout->addItem( mFavIcon );
+ setLayout( stackedLayout );
+
+ mFavIcon->setOpacity(0.7);
+ HbFrameItem* frame = new HbFrameItem(this);
+ frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
+ frame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
+ frame->graphicsItem()->setOpacity(0.1);
+ setBackgroundItem(frame->graphicsItem(),-1);
+}
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//~GlxDetailsIcon
+//--------------------------------------------------------------------------------------------------------------------------------------------
+GlxDetailsIcon::~GlxDetailsIcon()
+{
+ delete mFavIcon;
+ mFavIcon = NULL;
+}
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//setItemIcon
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsIcon::setItemIcon(const HbIcon &icon)
+{
+ mFavIcon->setIcon(icon);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailscustomwidgets/glxdetailsicon.h Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,57 @@
+/*
+* 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 GLXDETAILSICON_H
+#define GLXDETAILSICON_H
+
+#include <hbwidget.h>
+
+
+#ifdef BUILD_DETAILSCUSTOM
+#define MY_EXPORT Q_DECL_EXPORT
+#else
+#define MY_EXPORT Q_DECL_IMPORT
+#endif
+
+class HbIconItem;
+class HbIcon;
+
+class MY_EXPORT GlxDetailsIcon : public HbWidget
+{
+ Q_OBJECT
+
+public:
+ GlxDetailsIcon(QGraphicsItem *parent = NULL);
+ ~GlxDetailsIcon();
+
+ /*
+ * Sets the Icon of Favourite IconItem.
+ */
+ void setItemIcon(const HbIcon &icon);
+
+protected:
+ void mousePressEvent(QGraphicsSceneMouseEvent *event);
+ void mouseReleaseEvent (QGraphicsSceneMouseEvent *event);
+
+signals :
+ void updateFavourites();
+
+private:
+ HbIconItem *mFavIcon;
+};
+
+#endif // GLXDETAILSICON_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailscustomwidgets/glxdetailstextedit.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* 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: This is custom widget for details view in photos for displaying the description of image .
+*
+*/
+
+
+
+#include "glxdetailstextedit.h"
+#include <hbeditorinterface>
+#include <QEvent>
+
+
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//focusInEvent
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsTextEdit::focusInEvent (QFocusEvent *event)
+ {
+ if(event->reason() == Qt::MouseFocusReason )
+ {
+ event->setAccepted(TRUE);
+ emit labelPressed();
+ }
+
+ }
+
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//focusOutEvent
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsTextEdit::focusOutEvent (QFocusEvent *event)
+ {
+ event->setAccepted(TRUE);
+ }
+
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//GlxDetailsTextEdit
+//--------------------------------------------------------------------------------------------------------------------------------------------
+GlxDetailsTextEdit::GlxDetailsTextEdit(QGraphicsItem *parent) : HbTextEdit( parent )
+{
+ setAlignment(Qt::AlignLeft);
+ mDesc = new HbEditorInterface(this);
+ mDesc->setInputConstraints (HbEditorConstraintIgnoreFocus);
+}
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//~GlxDetailsTextEdit
+//--------------------------------------------------------------------------------------------------------------------------------------------
+GlxDetailsTextEdit::~GlxDetailsTextEdit()
+{
+ delete mDesc;
+ mDesc = NULL;
+}
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//setItemText
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsTextEdit::setItemText( const QString &text )
+{
+ setPlainText( text );
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailscustomwidgets/glxdetailstextedit.h Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* 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: This is custom widget for details view in photos for displaying the description of image .
+*
+*/
+
+#ifndef GlXDETAILSDESCEDIT_H
+#define GlXDETAILSDESCEDIT_H
+
+#include <hbtextedit.h>
+
+#ifdef BUILD_DETAILSCUSTOM
+#define MY_EXPORT Q_DECL_EXPORT
+#else
+#define MY_EXPORT Q_DECL_IMPORT
+#endif
+
+class HbEditorInterface;
+class MY_EXPORT GlxDetailsTextEdit : public HbTextEdit
+{
+ Q_OBJECT
+
+public:
+ GlxDetailsTextEdit(QGraphicsItem *parent = NULL);
+ ~GlxDetailsTextEdit();
+ void setItemText( const QString &text );
+
+protected:
+ void focusInEvent (QFocusEvent *event) ;
+ void focusOutEvent (QFocusEvent *event) ;
+
+
+signals :
+ void labelPressed();
+private:
+ HbEditorInterface *mDesc;
+};
+
+#endif // GlXDETAILSDESCEDIT_H
--- a/ui/detailscustomwidget/detailsdescriptionedit/detailsdescriptionedit.pro Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-#/*
-#* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-#* All rights reserved.
-#* This component and the accompanying materials are made available
-#* under the terms of "Eclipse Public License v1.0"
-#* which accompanies this distribution, and is available
-#* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#*
-#* Initial Contributors:
-#* Nokia Corporation - initial contribution.
-#*
-#* Contributors:
-#*
-#* Description:
-#*
-#*/
-
-
-TEMPLATE = lib
-TARGET = detailsdescriptionedit
-CONFIG += hb
-DEFINES += BUILD_DESCEDIT
-
-win32{
-CONFIG(release, debug|release){
- TARGET = detailsdescriptionedit
- DESTDIR = ../release # for easy plugin loading
-}else{
- TARGET = detailsdescriptioneditd
- DESTDIR = ../debug # for easy plugin loading
- }
-}
-
-DEPENDPATH += ./inc \
- ./src
-
-INCLUDEPATH += ./inc
-
-SOURCES += \
- glxdetailsdescriptionedit.cpp
-
-HEADERS += \
- glxdetailsdescriptionedit.h
-
-symbian {
- TARGET.UID3 = 0x200071B9
- TARGET.EPOCALLOWDLLDATA = 1
- TARGET.CAPABILITY = CAP_GENERAL_DLL
- MMP_RULES += SMPSAFE
- LIBS += -lbafl
-}
-
-defBlock = \
-"$${LITERAL_HASH}if defined(EABI)" \
-"DEFFILE ../eabi/detailsdescriptionedit.def" \
- "$${LITERAL_HASH}else" \
- "DEFFILE ../bwins/detailsdescriptionedit.def" \
- "$${LITERAL_HASH}endif"
-
-MMP_RULES += defBlock
-# End of file --Don't remove this
--- a/ui/detailscustomwidget/detailsdescriptionedit/inc/glxdetailsdescriptionedit.h Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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: This is custom widget for details view in photos for displaying the description of image .
-*
-*/
-
-#ifndef GlXDETAILSDESCEDIT_H
-#define GlXDETAILSDESCEDIT_H
-
-#include <hbtextedit.h>
-
-#ifdef BUILD_DESCEDIT
-#define MY_EXPORT Q_DECL_EXPORT
-#else
-#define MY_EXPORT Q_DECL_IMPORT
-#endif
-
-class HbEditorInterface;
-class MY_EXPORT GlxDetailsDescriptionEdit : public HbTextEdit
-{
- Q_OBJECT
-
-public:
- GlxDetailsDescriptionEdit(QGraphicsItem *parent = NULL);
- ~GlxDetailsDescriptionEdit();
- void setItemText( const QString &text );
-
-protected:
- void focusInEvent (QFocusEvent *event) ;
- void focusOutEvent (QFocusEvent *event) ;
-
-
-signals :
- void labelPressed();
-private:
- HbEditorInterface *mDesc;
-};
-
-#endif // GlXDETAILSDESCEDIT_H
--- a/ui/detailscustomwidget/detailsdescriptionedit/src/glxdetailsdescriptionedit.cpp Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +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: This is custom widget for details view in photos for displaying the description of image .
-*
-*/
-
-
-
-#include "glxdetailsdescriptionedit.h"
-#include <hbeditorinterface>
-#include <QEvent>
-
-
-
-void GlxDetailsDescriptionEdit::focusInEvent (QFocusEvent *event)
- {
- if(event->reason() == Qt::MouseFocusReason )
- {
- event->setAccepted(TRUE);
- emit labelPressed();
- }
-
- }
-void GlxDetailsDescriptionEdit::focusOutEvent (QFocusEvent *event)
- {
- event->setAccepted(TRUE);
- }
-
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//GlxDetailsDescLabel
-//--------------------------------------------------------------------------------------------------------------------------------------------
-GlxDetailsDescriptionEdit::GlxDetailsDescriptionEdit(QGraphicsItem *parent) : HbTextEdit( parent )
-{
- setAlignment(Qt::AlignLeft);
- mDesc = new HbEditorInterface(this);
- mDesc->setInputConstraints (HbEditorConstraintIgnoreFocus);
-}
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//~GlxDetailsDescLabel
-//--------------------------------------------------------------------------------------------------------------------------------------------
-GlxDetailsDescriptionEdit::~GlxDetailsDescriptionEdit()
-{
- delete mDesc;
- mDesc = NULL;
-}
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//setItemText
-//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsDescriptionEdit::setItemText( const QString &text )
-{
- setPlainText( text );
-}
--- a/ui/detailscustomwidget/detailsdescriptioneditplugin/detailsdescriptioneditplugin.pro Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-#/*
-#* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-#* All rights reserved.
-#* This component and the accompanying materials are made available
-#* under the terms of "Eclipse Public License v1.0"
-#* which accompanies this distribution, and is available
-#* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#*
-#* Initial Contributors:
-#* Nokia Corporation - initial contribution.
-#*
-#* Contributors:
-#*
-#* Description:
-#*
-#*/
-
-TEMPLATE = lib
-TARGET = detailsdescriptioneditplugin
-
-win32{
-CONFIG(release, debug|release){
- TARGET = detailsdescriptioneditplugin
- } else {
- TARGET = detailsdescriptioneditplugind
- }
-}
-
-CONFIG += hb plugin
-
-win32{
-CONFIG(release, debug|release){
- DESTDIR = ../release # for easy plugin loading
- LIBS += -L../release -ldetailsdescriptionedit
- } else {
- DESTDIR = ../debug # for easy plugin loading
- LIBS += -L../debug -ldetailsdescriptioneditd
- }
-}
-
-SOURCES += \
- main.cpp
-
-INCLUDEPATH += \
- ../detailsdescriptionedit \
- ../detailsdescriptionedit/inc
-
-symbian: {
- TARGET.UID3 = 0x2000A774
- TARGET.EPOCALLOWDLLDATA=1
- TARGET.CAPABILITY = CAP_GENERAL_DLL
- MMP_RULES += SMPSAFE
-
-
- LIBS += \
- -ldetailsdescriptionedit.dll
-
- pluginstub.sources = detailsdescriptioneditplugin.dll
- pluginstub.path = /resource/plugins
- DEPLOYMENT += pluginstub
- DESTDIR = $$HB_PLUGINS_DIR
-}
-
-!local {
- target.path = $$HB_PLUGINS_DIR
- INSTALLS += target
-}
-
-# End of file --Don't remove this.
--- a/ui/detailscustomwidget/detailsdescriptioneditplugin/main.cpp Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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: ??
-*
-*/
-
-
-#include "glxdetailsdescriptionedit.h"
-#include <QtPlugin>
-#include <hbdocumentloaderplugin.h>
-
-class GlxDetailsDescriptionEditPlugin : public HbDocumentLoaderPlugin
-{
-public:
- QObject *createObject(const QString& type, const QString &name);
- QList<const QMetaObject *> supportedObjects();
-};
-Q_EXPORT_PLUGIN(GlxDetailsDescriptionEditPlugin)
-
-QObject *GlxDetailsDescriptionEditPlugin::createObject(const QString& type, const QString &name )
-{
- if( type == GlxDetailsDescriptionEdit::staticMetaObject.className() ) {
- QObject *object = new GlxDetailsDescriptionEdit();
- object->setObjectName(name);
- return object;
- }
- return 0;
-}
-
-QList<const QMetaObject *> GlxDetailsDescriptionEditPlugin::supportedObjects()
-{
- QList<const QMetaObject *> result;
- result.append( &GlxDetailsDescriptionEdit::staticMetaObject );
- return result;
-}
-
-// end of file
-
--- a/ui/detailscustomwidget/detailsnamelabel/detailsnamelabel.pro Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-#/*
-#* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-#* All rights reserved.
-#* This component and the accompanying materials are made available
-#* under the terms of "Eclipse Public License v1.0"
-#* which accompanies this distribution, and is available
-#* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#*
-#* Initial Contributors:
-#* Nokia Corporation - initial contribution.
-#*
-#* Contributors:
-#*
-#* Description:
-#*
-#*/
-
-TEMPLATE = lib
-TARGET = detailsnamelabel
-CONFIG += hb
-DEFINES += BUILD_NAMELABEL
-
-win32{
-CONFIG(release, debug|release){
- TARGET = detailsnamelabel
- DESTDIR = ../release # for easy plugin loading
-}else{
- TARGET = detailsnamelabeld
- DESTDIR = ../debug # for easy plugin loading
- }
-}
-
-DEPENDPATH += ./inc \
- ./src
-
-INCLUDEPATH += ./inc
-
-SOURCES += \
- glxdetailsnamelabel.cpp
-
-HEADERS += \
- glxdetailsnamelabel.h
-
-symbian {
- TARGET.UID3 = 0x2000A7BC
- TARGET.EPOCALLOWDLLDATA = 1
- TARGET.CAPABILITY = CAP_GENERAL_DLL
- MMP_RULES += SMPSAFE
-
- LIBS += -lbafl
-}
-
-defBlock = \
-"$${LITERAL_HASH}if defined(EABI)" \
-"DEFFILE ../eabi/detailsnamelabel.def" \
- "$${LITERAL_HASH}else" \
- "DEFFILE ../bwins/detailsnamelabel.def" \
- "$${LITERAL_HASH}endif"
-
-MMP_RULES += defBlock
-
-# End of file --Don't remove this
--- a/ui/detailscustomwidget/detailsnamelabel/inc/glxdetailsnamelabel.h Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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 GlXDETAILSNAMELABEL_H
-#define GlXDETAILSNAMELABEL_H
-
-#include <hblabel.h>
-
-#ifdef BUILD_NAMELABEL
-#define MY_EXPORT Q_DECL_EXPORT
-#else
-#define MY_EXPORT Q_DECL_IMPORT
-#endif
-
-
-class MY_EXPORT GlxDetailsNameLabel : public HbLabel
-{
- Q_OBJECT
-
-public:
- GlxDetailsNameLabel(QGraphicsItem *parent = NULL);
- ~GlxDetailsNameLabel();
- void setItemText( const QString &text );
-
-protected:
- void mousePressEvent(QGraphicsSceneMouseEvent *event);
- void mouseReleaseEvent (QGraphicsSceneMouseEvent *event);
-
-signals :
- void labelPressed();
-
-};
-
-#endif // GlXDETAILSNAMELABEL_H
--- a/ui/detailscustomwidget/detailsnamelabel/src/glxdetailsnamelabel.cpp Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +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 <hblabel.h>
-#include "glxdetailsnamelabel.h"
-#include <QEvent>
-#include <QDebug>
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//mousePressEvent
-//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsNameLabel::mousePressEvent(QGraphicsSceneMouseEvent *event)
-{
- Q_UNUSED(event)
-}
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//mouseReleaseEvent
-//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsNameLabel::mouseReleaseEvent (QGraphicsSceneMouseEvent *event)
-{
- qDebug("GlxDetailsNameLabel::mouseReleaseEvent");
- Q_UNUSED(event)
- emit labelPressed();
-}
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//GlxDetailsNameLabel
-//--------------------------------------------------------------------------------------------------------------------------------------------
-GlxDetailsNameLabel::GlxDetailsNameLabel(QGraphicsItem *parent) : HbLabel( parent )
-{
- qDebug("GlxDetailsNameLabel::GlxDetailsNameLabel");
- setTextWrapping(Hb::TextWordWrap);
- setAlignment(Qt::AlignHCenter);
-}
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//~GlxDetailsCustomLabel
-//--------------------------------------------------------------------------------------------------------------------------------------------
-GlxDetailsNameLabel::~GlxDetailsNameLabel()
-{
-
-}
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//setItemText
-//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsNameLabel::setItemText( const QString &text )
-{
- qDebug("GlxDetailsNameLabel::setItemText");
- setHtml(text);
-}
--- a/ui/detailscustomwidget/detailsnamelabelplugin/detailsnamelabelplugin.pro Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-#/*
-#* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-#* All rights reserved.
-#* This component and the accompanying materials are made available
-#* under the terms of "Eclipse Public License v1.0"
-#* which accompanies this distribution, and is available
-#* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#*
-#* Initial Contributors:
-#* Nokia Corporation - initial contribution.
-#*
-#* Contributors:
-#*
-#* Description:
-#*
-#*/
-
-TEMPLATE = lib
-TARGET = detailsnamelabelplugin
-
-win32{
-CONFIG(release, debug|release){
- TARGET = detailsnamelabelplugin
- } else {
- TARGET = detailsnamelabelplugind
- }
-}
-
-CONFIG += hb plugin
-
-win32{
-CONFIG(release, debug|release){
- DESTDIR = ../release # for easy plugin loading
- LIBS += -L../release -ldetailsnamelabel
- } else {
- DESTDIR = ../debug # for easy plugin loading
- LIBS += -L../debug -ldetailsnamelabeld
- }
-}
-
-SOURCES += \
- main.cpp
-
-INCLUDEPATH += \
- ../detailsnamelabel \
- ../detailsnamelabel/inc
-
-symbian: {
- TARGET.UID3 = 0x200071B7
- TARGET.EPOCALLOWDLLDATA=1
- TARGET.CAPABILITY = CAP_GENERAL_DLL
- MMP_RULES += SMPSAFE
-
-
- LIBS += \
- -ldetailsnamelabel.dll
-
- pluginstub.sources = detailsnamelabelplugin.dll
- pluginstub.path = /resource/plugins
- DEPLOYMENT += pluginstub
- DESTDIR = $$HB_PLUGINS_DIR
-}
-
-!local {
- target.path = $$HB_PLUGINS_DIR
- INSTALLS += target
-}
-
-# End of file --Don't remove this.
--- a/ui/detailscustomwidget/detailsnamelabelplugin/main.cpp Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +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 "glxdetailsnamelabel.h"
-#include <QtPlugin>
-#include <hbdocumentloaderplugin.h>
-#include <QDebug>
-
-class GlxDetailsNameLabelPlugin : public HbDocumentLoaderPlugin
-{
-public:
- QObject *createObject(const QString& type, const QString &name);
- QList<const QMetaObject *> supportedObjects();
-};
-Q_EXPORT_PLUGIN(GlxDetailsNameLabelPlugin)
-
-QObject *GlxDetailsNameLabelPlugin::createObject(const QString& type, const QString &name )
-{
- qDebug("GlxDetailsNameLabelPlugin::createObject");
- if( type == GlxDetailsNameLabel::staticMetaObject.className() ) {
-
- qDebug("GlxDetailsNameLabelPlugin::createObject created");
- QObject *object = new GlxDetailsNameLabel();
- object->setObjectName(name);
- return object;
- }
- return 0;
-}
-
-QList<const QMetaObject *> GlxDetailsNameLabelPlugin::supportedObjects()
-{
- qDebug("GlxDetailsNameLabelPlugin::supportedObjects");
- QList<const QMetaObject *> result;
- result.append( &GlxDetailsNameLabel::staticMetaObject );
- return result;
-}
-
-// end of file
-
--- a/ui/detailscustomwidget/eabi/detailsdescriptioneditu.def Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-EXPORTS
- _ZN25GlxDetailsDescriptionEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
- _ZN25GlxDetailsDescriptionEdit11qt_metacastEPKc @ 2 NONAME
- _ZN25GlxDetailsDescriptionEdit11setItemTextERK7QString @ 3 NONAME
- _ZN25GlxDetailsDescriptionEdit12focusInEventEP11QFocusEvent @ 4 NONAME
- _ZN25GlxDetailsDescriptionEdit12labelPressedEv @ 5 NONAME
- _ZN25GlxDetailsDescriptionEdit13focusOutEventEP11QFocusEvent @ 6 NONAME
- _ZN25GlxDetailsDescriptionEdit16staticMetaObjectE @ 7 NONAME DATA 16
- _ZN25GlxDetailsDescriptionEdit19getStaticMetaObjectEv @ 8 NONAME
- _ZN25GlxDetailsDescriptionEditC1EP13QGraphicsItem @ 9 NONAME
- _ZN25GlxDetailsDescriptionEditC2EP13QGraphicsItem @ 10 NONAME
- _ZN25GlxDetailsDescriptionEditD0Ev @ 11 NONAME
- _ZN25GlxDetailsDescriptionEditD1Ev @ 12 NONAME
- _ZN25GlxDetailsDescriptionEditD2Ev @ 13 NONAME
- _ZNK25GlxDetailsDescriptionEdit10metaObjectEv @ 14 NONAME
- _ZTI25GlxDetailsDescriptionEdit @ 15 NONAME
- _ZTV25GlxDetailsDescriptionEdit @ 16 NONAME
- _ZThn16_N25GlxDetailsDescriptionEditD0Ev @ 17 NONAME
- _ZThn16_N25GlxDetailsDescriptionEditD1Ev @ 18 NONAME
- _ZThn8_N25GlxDetailsDescriptionEdit12focusInEventEP11QFocusEvent @ 19 NONAME
- _ZThn8_N25GlxDetailsDescriptionEdit13focusOutEventEP11QFocusEvent @ 20 NONAME
- _ZThn8_N25GlxDetailsDescriptionEditD0Ev @ 21 NONAME
- _ZThn8_N25GlxDetailsDescriptionEditD1Ev @ 22 NONAME
-
--- a/ui/detailscustomwidget/eabi/detailsnamelabelu.def Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-EXPORTS
- _ZN19GlxDetailsNameLabel11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
- _ZN19GlxDetailsNameLabel11qt_metacastEPKc @ 2 NONAME
- _ZN19GlxDetailsNameLabel11setItemTextERK7QString @ 3 NONAME
- _ZN19GlxDetailsNameLabel12labelPressedEv @ 4 NONAME
- _ZN19GlxDetailsNameLabel15mousePressEventEP24QGraphicsSceneMouseEvent @ 5 NONAME
- _ZN19GlxDetailsNameLabel16staticMetaObjectE @ 6 NONAME DATA 16
- _ZN19GlxDetailsNameLabel17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 7 NONAME
- _ZN19GlxDetailsNameLabel19getStaticMetaObjectEv @ 8 NONAME
- _ZN19GlxDetailsNameLabelC1EP13QGraphicsItem @ 9 NONAME
- _ZN19GlxDetailsNameLabelC2EP13QGraphicsItem @ 10 NONAME
- _ZN19GlxDetailsNameLabelD0Ev @ 11 NONAME
- _ZN19GlxDetailsNameLabelD1Ev @ 12 NONAME
- _ZN19GlxDetailsNameLabelD2Ev @ 13 NONAME
- _ZNK19GlxDetailsNameLabel10metaObjectEv @ 14 NONAME
- _ZTI19GlxDetailsNameLabel @ 15 NONAME
- _ZTV19GlxDetailsNameLabel @ 16 NONAME
- _ZThn16_N19GlxDetailsNameLabelD0Ev @ 17 NONAME
- _ZThn16_N19GlxDetailsNameLabelD1Ev @ 18 NONAME
- _ZThn8_N19GlxDetailsNameLabel15mousePressEventEP24QGraphicsSceneMouseEvent @ 19 NONAME
- _ZThn8_N19GlxDetailsNameLabel17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 20 NONAME
- _ZThn8_N19GlxDetailsNameLabelD0Ev @ 21 NONAME
- _ZThn8_N19GlxDetailsNameLabelD1Ev @ 22 NONAME
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/eabi/glxdetailscustomwidgetsu.def Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,46 @@
+EXPORTS
+ _ZN14GlxDetailsIcon11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+ _ZN14GlxDetailsIcon11qt_metacastEPKc @ 2 NONAME
+ _ZN14GlxDetailsIcon11setItemIconERK6HbIcon @ 3 NONAME
+ _ZN14GlxDetailsIcon15mousePressEventEP24QGraphicsSceneMouseEvent @ 4 NONAME
+ _ZN14GlxDetailsIcon16staticMetaObjectE @ 5 NONAME DATA 16
+ _ZN14GlxDetailsIcon16updateFavouritesEv @ 6 NONAME
+ _ZN14GlxDetailsIcon17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 7 NONAME
+ _ZN14GlxDetailsIcon19getStaticMetaObjectEv @ 8 NONAME
+ _ZN14GlxDetailsIconC1EP13QGraphicsItem @ 9 NONAME
+ _ZN14GlxDetailsIconC2EP13QGraphicsItem @ 10 NONAME
+ _ZN14GlxDetailsIconD0Ev @ 11 NONAME
+ _ZN14GlxDetailsIconD1Ev @ 12 NONAME
+ _ZN14GlxDetailsIconD2Ev @ 13 NONAME
+ _ZN18GlxDetailsTextEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 14 NONAME
+ _ZN18GlxDetailsTextEdit11qt_metacastEPKc @ 15 NONAME
+ _ZN18GlxDetailsTextEdit11setItemTextERK7QString @ 16 NONAME
+ _ZN18GlxDetailsTextEdit12focusInEventEP11QFocusEvent @ 17 NONAME
+ _ZN18GlxDetailsTextEdit12labelPressedEv @ 18 NONAME
+ _ZN18GlxDetailsTextEdit13focusOutEventEP11QFocusEvent @ 19 NONAME
+ _ZN18GlxDetailsTextEdit16staticMetaObjectE @ 20 NONAME DATA 16
+ _ZN18GlxDetailsTextEdit19getStaticMetaObjectEv @ 21 NONAME
+ _ZN18GlxDetailsTextEditC1EP13QGraphicsItem @ 22 NONAME
+ _ZN18GlxDetailsTextEditC2EP13QGraphicsItem @ 23 NONAME
+ _ZN18GlxDetailsTextEditD0Ev @ 24 NONAME
+ _ZN18GlxDetailsTextEditD1Ev @ 25 NONAME
+ _ZN18GlxDetailsTextEditD2Ev @ 26 NONAME
+ _ZNK14GlxDetailsIcon10metaObjectEv @ 27 NONAME
+ _ZNK18GlxDetailsTextEdit10metaObjectEv @ 28 NONAME
+ _ZTI14GlxDetailsIcon @ 29 NONAME
+ _ZTI18GlxDetailsTextEdit @ 30 NONAME
+ _ZTV14GlxDetailsIcon @ 31 NONAME
+ _ZTV18GlxDetailsTextEdit @ 32 NONAME
+ _ZThn16_N14GlxDetailsIconD0Ev @ 33 NONAME
+ _ZThn16_N14GlxDetailsIconD1Ev @ 34 NONAME
+ _ZThn16_N18GlxDetailsTextEditD0Ev @ 35 NONAME
+ _ZThn16_N18GlxDetailsTextEditD1Ev @ 36 NONAME
+ _ZThn8_N14GlxDetailsIcon15mousePressEventEP24QGraphicsSceneMouseEvent @ 37 NONAME
+ _ZThn8_N14GlxDetailsIcon17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 38 NONAME
+ _ZThn8_N14GlxDetailsIconD0Ev @ 39 NONAME
+ _ZThn8_N14GlxDetailsIconD1Ev @ 40 NONAME
+ _ZThn8_N18GlxDetailsTextEdit12focusInEventEP11QFocusEvent @ 41 NONAME
+ _ZThn8_N18GlxDetailsTextEdit13focusOutEventEP11QFocusEvent @ 42 NONAME
+ _ZThn8_N18GlxDetailsTextEditD0Ev @ 43 NONAME
+ _ZThn8_N18GlxDetailsTextEditD1Ev @ 44 NONAME
+
--- a/ui/inc/glxcommandhandlers.hrh Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/inc/glxcommandhandlers.hrh Wed Aug 18 09:48:53 2010 +0300
@@ -96,14 +96,19 @@
EGlxCmdShowImages,
EGlxCmdShowVideos,
EGlxCmdAllGridOpen,
+ EGlxCmdFetcherAllGridOpen, //open fetcher grid in all collection
EGlxCmdFullScreenOpen,
+ EGlxCmdFetcherFullScreenOpen, //open fetcher in fullscreen
EGlxCmdAlbumGridOpen,
+ EGlxCmdFetcherAlbumGridOpen, //open fetcher album grid
EGlxCmdAlbumListOpen,
+ EGlxCmdFetcherAlbumListOpen, //open fetcher album list
EGlxCmdCameraOpen,
EGlxCmdDetailsOpen,
EGlxCmdEmptyData,
EGlxCmdOviOpen,
EGlxCmdBack,
+ EGlxCmdSlideShowBack,
EGlxCmdSelect,
EGlxCmdCancel,
EGlxCmdMarkAll,
@@ -119,6 +124,11 @@
EGlxCmdRotateImgCW,
EGlxCmdRotateImgCCW,
EGlxCmdRotateImgCrop,
+ EGlxCmd3DEffectOn,
+ EGlxCmd3DEffectOff,
+ EGlxCmdSetWallpaper,
+ EGlxCmdPlayBackAnim,
+ EGlxCmdFetcherSelect,
EGlxCmdAiwBase = 0x6000
};
--- a/ui/inc/glxmodelroles.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/inc/glxmodelroles.h Wed Aug 18 09:48:53 2010 +0300
@@ -45,7 +45,8 @@
GlxSizeRole, //to get the size of the image
GlxDescRole, //to get the description of the images
GlxRemoveContextRole, //to remove the context
- GlxTempVisualWindowIndex //to store the visual index obtained from AM temporarily
+ GlxTempVisualWindowIndex, //to store the visual index obtained from AM temporarily
+ GlxImageCorruptRole //To get the corrupt image status
};
--- a/ui/inc/glxviewids.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/inc/glxviewids.h Wed Aug 18 09:48:53 2010 +0300
@@ -38,13 +38,17 @@
{
NO_GRID_S = 0,
ALL_ITEM_S,
- ALBUM_ITEM_S,
+ ALBUM_ITEM_S,
+ FETCHER_ITEM_S, // all grid fetcher
+ FETCHER_ALBUM_ITEM_S, //album grid getcher
MAX_GRID_S
} GridState;
typedef enum
{
NO_FULLSCREEN_S = MAX_GRID_S + 1,
+ ALL_FULLSCREEN_S,
+ ALBUM_FULLSCREEN_S,
EXTERNAL_S,
IMAGEVIEWER_S,
FETCHER_S,
@@ -65,5 +69,10 @@
IMAGEVIEWER_DETAIL_S,
MAX_DETAIL_S
} DetailState;
-
+typedef enum
+{
+ NO_LIST_S = MAX_DETAIL_S+1,
+ FETCHER_ALBUM_S, // album list fetcher
+ MAX_LIST_S
+} ListState;
#endif /* GLXVIEWIDS_H */
--- a/ui/uiengine/bwins/glxmedialistwrapperu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/bwins/glxmedialistwrapperu.def Wed Aug 18 09:48:53 2010 +0300
@@ -1,60 +1,61 @@
EXPORTS
?retrieveItemUri@GlxMLWrapper@@QAE?AVQString@@H@Z @ 1 NONAME ; class QString GlxMLWrapper::retrieveItemUri(int)
?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)
- ?retrieveItemSize@GlxMLWrapper@@QAEHH@Z @ 50 NONAME ; int GlxMLWrapper::retrieveItemSize(int)
- ?retrieveItemTime@GlxMLWrapper@@QAE?AVQTime@@H@Z @ 51 NONAME ; class QTime GlxMLWrapper::retrieveItemTime(int)
- ?retrieveListDesc@GlxMLWrapper@@QAE?AVQString@@H@Z @ 52 NONAME ; class QString GlxMLWrapper::retrieveListDesc(int)
- ?removeContextMode@GlxMLWrapper@@QAEXW4GlxContextMode@@@Z @ 53 NONAME ; void GlxMLWrapper::removeContextMode(enum GlxContextMode)
- ?updateDetails@GlxMLWrapper@@IAEXXZ @ 54 NONAME ; void GlxMLWrapper::updateDetails(void)
- ?handleDetailsItemAvailable@GlxMLWrapper@@QAEXH@Z @ 55 NONAME ; void GlxMLWrapper::handleDetailsItemAvailable(int)
- ?setDrmValid@GlxMLWrapper@@QAEXH_N@Z @ 56 NONAME ; void GlxMLWrapper::setDrmValid(int, bool)
- ?IsDrmProtected@GlxMLWrapper@@QAE_NH@Z @ 57 NONAME ; bool GlxMLWrapper::IsDrmProtected(int)
- ?IsDrmValid@GlxMLWrapper@@QAE_NH@Z @ 58 NONAME ; bool GlxMLWrapper::IsDrmValid(int)
+ ?removeContextMode@GlxMLWrapper@@QAEXW4GlxContextMode@@@Z @ 3 NONAME ; void GlxMLWrapper::removeContextMode(enum GlxContextMode)
+ ?itemCorrupted@GlxMLWrapper@@IAEXH@Z @ 4 NONAME ; void GlxMLWrapper::itemCorrupted(int)
+ ?populated@GlxMLWrapper@@IAEXXZ @ 5 NONAME ; void GlxMLWrapper::populated(void)
+ ?trUtf8@GlxMLWrapper@@SA?AVQString@@PBD0H@Z @ 6 NONAME ; class QString GlxMLWrapper::trUtf8(char const *, char const *, int)
+ ?retrieveItemSize@GlxMLWrapper@@QAEHH@Z @ 7 NONAME ; int GlxMLWrapper::retrieveItemSize(int)
+ ?handleGeneralError@GlxMLWrapper@@QAEXH@Z @ 8 NONAME ; void GlxMLWrapper::handleGeneralError(int)
+ ?setDrmValid@GlxMLWrapper@@QAEXH_N@Z @ 9 NONAME ; void GlxMLWrapper::setDrmValid(int, bool)
+ ?updateItem@GlxMLWrapper@@IAEXHW4GlxTBContextType@@@Z @ 10 NONAME ; void GlxMLWrapper::updateItem(int, enum GlxTBContextType)
+ ?removeItems@GlxMLWrapper@@IAEXHH@Z @ 11 NONAME ; void GlxMLWrapper::removeItems(int, int)
+ ?IsPopulated@GlxMLWrapper@@QAE_NXZ @ 12 NONAME ; bool GlxMLWrapper::IsPopulated(void)
+ ?getItemCount@GlxMLWrapper@@QAEHXZ @ 13 NONAME ; int GlxMLWrapper::getItemCount(void)
+ ?getVisibleWindowIndex@GlxMLWrapper@@QAEHXZ @ 14 NONAME ; int GlxMLWrapper::getVisibleWindowIndex(void)
+ ?setFocusIndex@GlxMLWrapper@@QAEXH@Z @ 15 NONAME ; void GlxMLWrapper::setFocusIndex(int)
+ ?retrieveItemDate@GlxMLWrapper@@QAE?AVQDate@@H@Z @ 16 NONAME ; class QDate GlxMLWrapper::retrieveItemDate(int)
+ ?qt_metacall@GlxMLWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 17 NONAME ; int GlxMLWrapper::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?updateDetails@GlxMLWrapper@@IAEXXZ @ 18 NONAME ; void GlxMLWrapper::updateDetails(void)
+ ?retrieveItemFrameCount@GlxMLWrapper@@QAEHH@Z @ 19 NONAME ; int GlxMLWrapper::retrieveItemFrameCount(int)
+ ?retrieveListTitle@GlxMLWrapper@@QAE?AVQString@@H@Z @ 20 NONAME ; class QString GlxMLWrapper::retrieveListTitle(int)
+ ?IsDrmProtected@GlxMLWrapper@@QAE_NH@Z @ 21 NONAME ; bool GlxMLWrapper::IsDrmProtected(int)
+ ?retrieveListItemCount@GlxMLWrapper@@QAEHH@Z @ 22 NONAME ; int GlxMLWrapper::retrieveListItemCount(int)
+ ?tr@GlxMLWrapper@@SA?AVQString@@PBD0@Z @ 23 NONAME ; class QString GlxMLWrapper::tr(char const *, char const *)
+ ?setVisibleWindowIndex@GlxMLWrapper@@QAEXH@Z @ 24 NONAME ; void GlxMLWrapper::setVisibleWindowIndex(int)
+ ?getStaticMetaObject@GlxMLWrapper@@SAABUQMetaObject@@XZ @ 25 NONAME ; struct QMetaObject const & GlxMLWrapper::getStaticMetaObject(void)
+ ?retrieveListSubTitle@GlxMLWrapper@@QAE?AVQString@@H@Z @ 26 NONAME ; class QString GlxMLWrapper::retrieveListSubTitle(int)
+ ?updateAlbumTitle@GlxMLWrapper@@IAEXVQString@@@Z @ 27 NONAME ; void GlxMLWrapper::updateAlbumTitle(class QString)
+ ?staticMetaObject@GlxMLWrapper@@2UQMetaObject@@B @ 28 NONAME ; struct QMetaObject const GlxMLWrapper::staticMetaObject
+ ?handleListItemAvailable@GlxMLWrapper@@QAEXH@Z @ 29 NONAME ; void GlxMLWrapper::handleListItemAvailable(int)
+ ?trUtf8@GlxMLWrapper@@SA?AVQString@@PBD0@Z @ 30 NONAME ; class QString GlxMLWrapper::trUtf8(char const *, char const *)
+ ?itemsRemoved@GlxMLWrapper@@QAEXHH@Z @ 31 NONAME ; void GlxMLWrapper::itemsRemoved(int, int)
+ ?handleTitleAvailable@GlxMLWrapper@@QAEXVQString@@@Z @ 32 NONAME ; void GlxMLWrapper::handleTitleAvailable(class QString)
+ ?retrieveItemTime@GlxMLWrapper@@QAE?AVQTime@@H@Z @ 33 NONAME ; class QTime GlxMLWrapper::retrieveItemTime(int)
+ ?metaObject@GlxMLWrapper@@UBEPBUQMetaObject@@XZ @ 34 NONAME ; struct QMetaObject const * GlxMLWrapper::metaObject(void) const
+ ?insertItems@GlxMLWrapper@@IAEXHH@Z @ 35 NONAME ; void GlxMLWrapper::insertItems(int, int)
+ ?isCorruptedImage@GlxMLWrapper@@QAE_NH@Z @ 36 NONAME ; bool GlxMLWrapper::isCorruptedImage(int)
+ ?isSystemItem@GlxMLWrapper@@QAE_NH@Z @ 37 NONAME ; bool GlxMLWrapper::isSystemItem(int)
+ ?getFocusIndex@GlxMLWrapper@@QBEHXZ @ 38 NONAME ; int GlxMLWrapper::getFocusIndex(void) const
+ ?handleIconCorrupt@GlxMLWrapper@@QAEXH@Z @ 39 NONAME ; void GlxMLWrapper::handleIconCorrupt(int)
+ ?retrieveItemDimension@GlxMLWrapper@@QAE?AVQSize@@H@Z @ 40 NONAME ; class QSize GlxMLWrapper::retrieveItemDimension(int)
+ ?RetrieveL@GlxAttributeRetriever@@SAHABVMGlxFetchContext@@AAVMGlxMediaList@@H@Z @ 41 NONAME ; int GlxAttributeRetriever::RetrieveL(class MGlxFetchContext const &, class MGlxMediaList &, int)
+ ?handleDetailsItemAvailable@GlxMLWrapper@@QAEXH@Z @ 42 NONAME ; void GlxMLWrapper::handleDetailsItemAvailable(int)
+ ?retrieveListDesc@GlxMLWrapper@@QAE?AVQString@@H@Z @ 43 NONAME ; class QString GlxMLWrapper::retrieveListDesc(int)
+ ?IsDrmValid@GlxMLWrapper@@QAE_NH@Z @ 44 NONAME ; bool GlxMLWrapper::IsDrmValid(int)
+ ?handleReceivedIcon@GlxMLWrapper@@QAEXHW4GlxTBContextType@@@Z @ 45 NONAME ; void GlxMLWrapper::handleReceivedIcon(int, enum GlxTBContextType)
+ ?retrieveViewTitle@GlxMLWrapper@@QAE?AVQString@@XZ @ 46 NONAME ; class QString GlxMLWrapper::retrieveViewTitle(void)
+ ?tr@GlxMLWrapper@@SA?AVQString@@PBD0H@Z @ 47 NONAME ; class QString GlxMLWrapper::tr(char const *, char const *, int)
+ ?setContextMode@GlxMLWrapper@@QAEXW4GlxContextMode@@@Z @ 48 NONAME ; void GlxMLWrapper::setContextMode(enum GlxContextMode)
+ ??_EGlxMLWrapper@@UAE@I@Z @ 49 NONAME ; GlxMLWrapper::~GlxMLWrapper(unsigned int)
+ ??1GlxMLWrapper@@UAE@XZ @ 50 NONAME ; GlxMLWrapper::~GlxMLWrapper(void)
+ ?RetrieveBitmap@GlxMLWrapper@@QAE?AVQVariant@@H@Z @ 51 NONAME ; class QVariant GlxMLWrapper::RetrieveBitmap(int)
+ ??1CGlxTitleFetcher@@UAE@XZ @ 52 NONAME ; CGlxTitleFetcher::~CGlxTitleFetcher(void)
+ ?HandleTitleAvailableL@GlxMLWrapperPrivate@@UAEXABVTDesC16@@@Z @ 53 NONAME ; void GlxMLWrapperPrivate::HandleTitleAvailableL(class TDesC16 const &)
+ ?qt_metacast@GlxMLWrapper@@UAEPAXPBD@Z @ 54 NONAME ; void * GlxMLWrapper::qt_metacast(char const *)
+ ?retrieveItemImage@GlxMLWrapper@@QAE?AVQImage@@HW4GlxTBContextType@@@Z @ 55 NONAME ; class QImage GlxMLWrapper::retrieveItemImage(int, enum GlxTBContextType)
+ ?setSelectedIndex@GlxMLWrapper@@QAEXH@Z @ 56 NONAME ; void GlxMLWrapper::setSelectedIndex(int)
+ ??0GlxMLWrapper@@QAE@HHW4TGlxFilterItemType@@VQString@@@Z @ 57 NONAME ; GlxMLWrapper::GlxMLWrapper(int, int, enum TGlxFilterItemType, class QString)
+ ?retrieveItemIcon@GlxMLWrapper@@QAEPAVHbIcon@@HW4GlxTBContextType@@@Z @ 58 NONAME ; class HbIcon * GlxMLWrapper::retrieveItemIcon(int, enum GlxTBContextType)
+ ?itemsAdded@GlxMLWrapper@@QAEXHH@Z @ 59 NONAME ; void GlxMLWrapper::itemsAdded(int, int)
--- a/ui/uiengine/eabi/glxmedialistwrapperu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/eabi/glxmedialistwrapperu.def Wed Aug 18 09:48:53 2010 +0300
@@ -1,57 +1,58 @@
EXPORTS
- _ZN12GlxMLWrapper10itemsAddedEii @ 1 NONAME
- _ZN12GlxMLWrapper10updateItemEi16GlxTBContextType @ 2 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
- _ZN12GlxMLWrapper16retrieveItemSizeEi @ 47 NONAME
- _ZN12GlxMLWrapper16retrieveItemTimeEi @ 48 NONAME
- _ZN12GlxMLWrapper16retrieveListDescEi @ 49 NONAME
- _ZN12GlxMLWrapper17removeContextModeE14GlxContextMode @ 50 NONAME
- _ZN12GlxMLWrapper13updateDetailsEv @ 51 NONAME
- _ZN12GlxMLWrapper26handleDetailsItemAvailableEi @ 52 NONAME
- _ZN12GlxMLWrapper10IsDrmValidEi @ 53 NONAME
- _ZN12GlxMLWrapper11setDrmValidEib @ 54 NONAME
- _ZN12GlxMLWrapper14IsDrmProtectedEi @ 55 NONAME
+ _ZN12GlxMLWrapper10IsDrmValidEi @ 1 NONAME
+ _ZN12GlxMLWrapper10itemsAddedEii @ 2 NONAME
+ _ZN12GlxMLWrapper10updateItemEi16GlxTBContextType @ 3 NONAME
+ _ZN12GlxMLWrapper11IsPopulatedEv @ 4 NONAME
+ _ZN12GlxMLWrapper11insertItemsEii @ 5 NONAME
+ _ZN12GlxMLWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 6 NONAME
+ _ZN12GlxMLWrapper11qt_metacastEPKc @ 7 NONAME
+ _ZN12GlxMLWrapper11removeItemsEii @ 8 NONAME
+ _ZN12GlxMLWrapper11setDrmValidEib @ 9 NONAME
+ _ZN12GlxMLWrapper12getItemCountEv @ 10 NONAME
+ _ZN12GlxMLWrapper12isSystemItemEi @ 11 NONAME
+ _ZN12GlxMLWrapper12itemsRemovedEii @ 12 NONAME
+ _ZN12GlxMLWrapper13itemCorruptedEi @ 13 NONAME
+ _ZN12GlxMLWrapper13setFocusIndexEi @ 14 NONAME
+ _ZN12GlxMLWrapper13updateDetailsEv @ 15 NONAME
+ _ZN12GlxMLWrapper14IsDrmProtectedEi @ 16 NONAME
+ _ZN12GlxMLWrapper14RetrieveBitmapEi @ 17 NONAME
+ _ZN12GlxMLWrapper14setContextModeE14GlxContextMode @ 18 NONAME
+ _ZN12GlxMLWrapper15handlepopulatedEv @ 19 NONAME
+ _ZN12GlxMLWrapper15retrieveItemUriEi @ 20 NONAME
+ _ZN12GlxMLWrapper16isCorruptedImageEi @ 21 NONAME
+ _ZN12GlxMLWrapper16retrieveItemDateEi @ 22 NONAME
+ _ZN12GlxMLWrapper16retrieveItemIconEi16GlxTBContextType @ 23 NONAME
+ _ZN12GlxMLWrapper16retrieveItemSizeEi @ 24 NONAME
+ _ZN12GlxMLWrapper16retrieveItemTimeEi @ 25 NONAME
+ _ZN12GlxMLWrapper16retrieveListDescEi @ 26 NONAME
+ _ZN12GlxMLWrapper16setSelectedIndexEi @ 27 NONAME
+ _ZN12GlxMLWrapper16staticMetaObjectE @ 28 NONAME DATA 16
+ _ZN12GlxMLWrapper16updateAlbumTitleE7QString @ 29 NONAME
+ _ZN12GlxMLWrapper17handleIconCorruptEi @ 30 NONAME
+ _ZN12GlxMLWrapper17removeContextModeE14GlxContextMode @ 31 NONAME
+ _ZN12GlxMLWrapper17retrieveItemImageEi16GlxTBContextType @ 32 NONAME
+ _ZN12GlxMLWrapper17retrieveListTitleEi @ 33 NONAME
+ _ZN12GlxMLWrapper17retrieveViewTitleEv @ 34 NONAME
+ _ZN12GlxMLWrapper18handleGeneralErrorEi @ 35 NONAME
+ _ZN12GlxMLWrapper18handleReceivedIconEi16GlxTBContextType @ 36 NONAME
+ _ZN12GlxMLWrapper19getStaticMetaObjectEv @ 37 NONAME
+ _ZN12GlxMLWrapper20handleTitleAvailableE7QString @ 38 NONAME
+ _ZN12GlxMLWrapper20retrieveListSubTitleEi @ 39 NONAME
+ _ZN12GlxMLWrapper21getVisibleWindowIndexEv @ 40 NONAME
+ _ZN12GlxMLWrapper21retrieveItemDimensionEi @ 41 NONAME
+ _ZN12GlxMLWrapper21retrieveListItemCountEi @ 42 NONAME
+ _ZN12GlxMLWrapper21setVisibleWindowIndexEi @ 43 NONAME
+ _ZN12GlxMLWrapper22retrieveItemFrameCountEi @ 44 NONAME
+ _ZN12GlxMLWrapper23handleListItemAvailableEi @ 45 NONAME
+ _ZN12GlxMLWrapper26handleDetailsItemAvailableEi @ 46 NONAME
+ _ZN12GlxMLWrapper9populatedEv @ 47 NONAME
+ _ZN12GlxMLWrapperC1Eii18TGlxFilterItemType7QString @ 48 NONAME
+ _ZN12GlxMLWrapperC2Eii18TGlxFilterItemType7QString @ 49 NONAME
+ _ZN12GlxMLWrapperD0Ev @ 50 NONAME
+ _ZN12GlxMLWrapperD1Ev @ 51 NONAME
+ _ZN12GlxMLWrapperD2Ev @ 52 NONAME
+ _ZNK12GlxMLWrapper10metaObjectEv @ 53 NONAME
+ _ZNK12GlxMLWrapper13getFocusIndexEv @ 54 NONAME
+ _ZTI12GlxMLWrapper @ 55 NONAME
+ _ZTV12GlxMLWrapper @ 56 NONAME
--- a/ui/uiengine/medialists/bwins/glxmedialistsu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/bwins/glxmedialistsu.def Wed Aug 18 09:48:53 2010 +0300
@@ -10,109 +10,109 @@
??0TGlxWindowIterator@@QAE@ABV0@@Z @ 9 NONAME ; TGlxWindowIterator::TGlxWindowIterator(class TGlxWindowIterator const &)
?NewL@CGlxDefaultAttributeContext@@SAPAV1@XZ @ 10 NONAME ; class CGlxDefaultAttributeContext * CGlxDefaultAttributeContext::NewL(void)
?SetRangeOffsets@TGlxFromFocusOutwardIterator@@QAEXHH@Z @ 11 NONAME ; void TGlxFromFocusOutwardIterator::SetRangeOffsets(int, int)
- ?GetSize@TGlxMedia@@QBEHAAH@Z @ 12 NONAME ; int TGlxMedia::GetSize(int &) const
- ??ETGlxWindowIterator@@QAEHH@Z @ 13 NONAME ; int TGlxWindowIterator::operator++(int)
- ?__DbgTestInvariant@CGlxListWindow@@QBEXXZ @ 14 NONAME ; void CGlxListWindow::__DbgTestInvariant(void) const
- ?NewL@CGlxDefaultListAttributeContext@@SAPAV1@XZ @ 15 NONAME ; class CGlxDefaultListAttributeContext * CGlxDefaultListAttributeContext::NewL(void)
- ?InstanceL@MGlxCache@@SAPAV1@XZ @ 16 NONAME ; class MGlxCache * MGlxCache::InstanceL(void)
- ?Reset@CGlxMedia@@QAEXXZ @ 17 NONAME ; void CGlxMedia::Reset(void)
- ?AddObjects@CGlxListWindow@@QAEXHHHH@Z @ 18 NONAME ; void CGlxListWindow::AddObjects(int, int, int, int)
- ??0CGlxThumbnailContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 19 NONAME ; CGlxThumbnailContext::CGlxThumbnailContext(class MGlxMediaListIterator *)
- ?SetRangeOffsetsL@CGlxListWindow@@QAEXHHHH@Z @ 20 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int, int, int)
- ??0TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 21 NONAME ; TGlxFromFocusOutwardBlockyIterator::TGlxFromFocusOutwardBlockyIterator(void)
- ?UnmarkAllL@MGlxMediaList@@SAXAAV1@@Z @ 22 NONAME ; void MGlxMediaList::UnmarkAllL(class MGlxMediaList &)
- ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 23 NONAME ; class TGlxId<class TGlxIdSpaceIdBase> TGlxMedia::IdSpaceId(void) const
- ??1TGlxSelectionIterator@@QAE@XZ @ 24 NONAME ; TGlxSelectionIterator::~TGlxSelectionIterator(void)
- ?SetGranularity@CGlxAttributeContext@@QAEXI@Z @ 25 NONAME ; void CGlxAttributeContext::SetGranularity(unsigned int)
- ??0TGlxSelectionIterator@@QAE@XZ @ 26 NONAME ; TGlxSelectionIterator::TGlxSelectionIterator(void)
- ??0TGlxFromFocusOutwardIterator@@QAE@XZ @ 27 NONAME ; TGlxFromFocusOutwardIterator::TGlxFromFocusOutwardIterator(void)
- ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 28 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const
- ??1TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 29 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::~TGlxFromManualIndexOutwardBlockyIterator(void)
- ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 30 NONAME ; int TGlxMedia::GetFrameCount(int &) const
- ??0TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 31 NONAME ; TGlxFromManualIndexBlockyIterator::TGlxFromManualIndexBlockyIterator(void)
- ?SetRangeOffsets@TGlxFromIndexOutwardBlockyIterator@@QAEXHH@Z @ 32 NONAME ; void TGlxFromIndexOutwardBlockyIterator::SetRangeOffsets(int, int)
- ?SetFocusIndex@CGlxListWindow@@QAEXH@Z @ 33 NONAME ; void CGlxListWindow::SetFocusIndex(int)
- ??1TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 34 NONAME ; TGlxFromFocusOutwardBlockyIterator::~TGlxFromFocusOutwardBlockyIterator(void)
- ??1CGlxDefaultThumbnailContext@@UAE@XZ @ 35 NONAME ; CGlxDefaultThumbnailContext::~CGlxDefaultThumbnailContext(void)
- ?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 36 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &)
- ??0TGlxFromIndexOutwardBlockyIterator@@QAE@ABVMGlxIndex@0@@Z @ 37 NONAME ; TGlxFromIndexOutwardBlockyIterator::TGlxFromIndexOutwardBlockyIterator(class TGlxFromIndexOutwardBlockyIterator::MGlxIndex const &)
- ?ConstructL@CGlxListWindow@@QAEXXZ @ 38 NONAME ; void CGlxListWindow::ConstructL(void)
- ?SetRange@TGlxSequentialIterator@@QAEXH@Z @ 39 NONAME ; void TGlxSequentialIterator::SetRange(int)
- ??1TGlxFromVisibleIndexOutwardListIterator@@QAE@XZ @ 40 NONAME ; TGlxFromVisibleIndexOutwardListIterator::~TGlxFromVisibleIndexOutwardListIterator(void)
- ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 41 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const
- ??0TGlxScrollingDirectionIterator@@QAE@XZ @ 42 NONAME ; TGlxScrollingDirectionIterator::TGlxScrollingDirectionIterator(void)
- ?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 43 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int)
- ?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 44 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int)
- ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 45 NONAME ; void CGlxMedia::HandleModified(class RArray<class TMPXAttribute> const &)
- ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 46 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const
- ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 47 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const
- ?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 48 NONAME ; void TGlxSelectionIterator::SetRange(int)
- ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 49 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const
- ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 50 NONAME ; int TGlxMedia::GetDate(class TTime &) const
- ?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 51 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const
- ?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 52 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &)
- ?SetDefaultSpec@CGlxAttributeContext@@QAEXHH@Z @ 53 NONAME ; void CGlxAttributeContext::SetDefaultSpec(int, int)
- ?IsStatic@TGlxMedia@@QBEHXZ @ 54 NONAME ; int TGlxMedia::IsStatic(void) const
- ??0CGlxListWindow@@QAE@AAVMGlxWindowObjectFactory@@@Z @ 55 NONAME ; CGlxListWindow::CGlxListWindow(class MGlxWindowObjectFactory &)
- ?AddSpecForItemL@CGlxThumbnailContext@@QAEXHHH@Z @ 56 NONAME ; void CGlxThumbnailContext::AddSpecForItemL(int, int, int)
- ??1CGlxDefaultAttributeContext@@UAE@XZ @ 57 NONAME ; CGlxDefaultAttributeContext::~CGlxDefaultAttributeContext(void)
- ?ThumbnailAttribute@TGlxMedia@@QBEPBVCGlxThumbnailAttribute@@AAVTMPXAttribute@@@Z @ 58 NONAME ; class CGlxThumbnailAttribute const * TGlxMedia::ThumbnailAttribute(class TMPXAttribute &) const
- ??1TGlxFirstThenLastIterator@@QAE@XZ @ 59 NONAME ; TGlxFirstThenLastIterator::~TGlxFirstThenLastIterator(void)
- ?Title@TGlxMedia@@QBEABVTDesC16@@XZ @ 60 NONAME ; class TDesC16 const & TGlxMedia::Title(void) const
- ??ETGlxSelectionIterator@@UAEHH@Z @ 61 NONAME ; int TGlxSelectionIterator::operator++(int)
- ?AddAttributeL@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 62 NONAME ; void CGlxAttributeContext::AddAttributeL(class TMPXAttribute const &)
- ?SetRangeOffsets@CGlxDefaultThumbnailContext@@QAEXHH@Z @ 63 NONAME ; void CGlxDefaultThumbnailContext::SetRangeOffsets(int, int)
- ?__DbgTestInvariant@CGlxStaticItemList@@QBEXXZ @ 64 NONAME ; void CGlxStaticItemList::__DbgTestInvariant(void) const
- ?GetDuration@TGlxMedia@@QBEHAAM@Z @ 65 NONAME ; int TGlxMedia::GetDuration(float &) const
- ?SetRangeOffsets@TGlxScrollingDirectionIterator@@QAEXHH@Z @ 66 NONAME ; void TGlxScrollingDirectionIterator::SetRangeOffsets(int, int)
- ?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 67 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &)
- ?InstanceL@MGlxMediaList@@SAPAV1@ABVCMPXCollectionPath@@ABV?$TGlxId@VTGlxIdHierarchyBase@@@@PAVCMPXMedia@@@Z @ 68 NONAME ; class MGlxMediaList * MGlxMediaList::InstanceL(class CMPXCollectionPath const &, class TGlxId<class TGlxIdHierarchyBase> const &, class CMPXMedia *)
- ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 69 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *)
- ?RemoveObjects@CGlxListWindow@@QAEXHHHH@Z @ 70 NONAME ; void CGlxListWindow::RemoveObjects(int, int, int, int)
- ?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 71 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const
- ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 72 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const
- ??0CGlxAttributeContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 73 NONAME ; CGlxAttributeContext::CGlxAttributeContext(class MGlxMediaListIterator *)
- ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 74 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const
- ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 75 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const
- ?AddObjects@CGlxListWindow@@QAEXHH@Z @ 76 NONAME ; void CGlxListWindow::AddObjects(int, int)
- ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 77 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const
- ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 78 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &)
- ??0TGlxSequentialIterator@@QAE@XZ @ 79 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void)
- ?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 80 NONAME ; int CGlxAttributeContext::AttributeCount(void)
- ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 81 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const
- ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 82 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const
- ?SetFocusIndex@CGlxListWindow@@QAEXHH@Z @ 83 NONAME ; void CGlxListWindow::SetFocusIndex(int, int)
- ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 84 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType)
- ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 85 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const
- ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 86 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &)
- ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 87 NONAME ; void TGlxMedia::DeleteLocationAttribute(void)
- ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 88 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const
- ??1CGlxMedia@@UAE@XZ @ 89 NONAME ; CGlxMedia::~CGlxMedia(void)
- ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 90 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const
- ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 91 NONAME ; int TGlxMedia::IsDrmProtected(void) const
- ??1CGlxThumbnailContext@@UAE@XZ @ 92 NONAME ; CGlxThumbnailContext::~CGlxThumbnailContext(void)
- ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 93 NONAME ; int TGlxMedia::GetDrmProtected(int &) const
- ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 94 NONAME ; int TGlxMedia::GetSystemItem(int &) const
- ?RemoveObjects@CGlxListWindow@@QAEXHH@Z @ 95 NONAME ; void CGlxListWindow::RemoveObjects(int, int)
- ?Close@TGlxFetchContextRemover@@QAEXXZ @ 96 NONAME ; void TGlxFetchContextRemover::Close(void)
- ?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 97 NONAME ; class CBase const * CGlxListWindow::At(int) const
- ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 98 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int)
- ?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 99 NONAME ; class CBase * CGlxListWindow::At(int)
- ??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 100 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void)
- ?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 101 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &)
- ??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 102 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void)
- ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 103 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int)
- ??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 104 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void)
- ?Cleanup@CGlxListWindow@@QAEXXZ @ 105 NONAME ; void CGlxListWindow::Cleanup(void)
- ??1TGlxScrollingDirectionIterator@@QAE@XZ @ 106 NONAME ; TGlxScrollingDirectionIterator::~TGlxScrollingDirectionIterator(void)
- ??1TGlxExclusionIterator@@QAE@XZ @ 107 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void)
- ??1CGlxDefaultListAttributeContext@@UAE@XZ @ 108 NONAME ; CGlxDefaultListAttributeContext::~CGlxDefaultListAttributeContext(void)
- ??1TGlxFetchContextRemover@@QAE@XZ @ 109 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void)
- ?SetRangeOffsets@TGlxFromVisibleIndexOutwardListIterator@@QAEXHH@Z @ 110 NONAME ; void TGlxFromVisibleIndexOutwardListIterator::SetRangeOffsets(int, int)
- ?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 111 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int)
+ ??ETGlxWindowIterator@@QAEHH@Z @ 12 NONAME ; int TGlxWindowIterator::operator++(int)
+ ?__DbgTestInvariant@CGlxListWindow@@QBEXXZ @ 13 NONAME ; void CGlxListWindow::__DbgTestInvariant(void) const
+ ?NewL@CGlxDefaultListAttributeContext@@SAPAV1@XZ @ 14 NONAME ; class CGlxDefaultListAttributeContext * CGlxDefaultListAttributeContext::NewL(void)
+ ?InstanceL@MGlxCache@@SAPAV1@XZ @ 15 NONAME ; class MGlxCache * MGlxCache::InstanceL(void)
+ ?Reset@CGlxMedia@@QAEXXZ @ 16 NONAME ; void CGlxMedia::Reset(void)
+ ??0CGlxThumbnailContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 17 NONAME ; CGlxThumbnailContext::CGlxThumbnailContext(class MGlxMediaListIterator *)
+ ?SetRangeOffsetsL@CGlxListWindow@@QAEXHHHH@Z @ 18 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int, int, int)
+ ??0TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 19 NONAME ; TGlxFromFocusOutwardBlockyIterator::TGlxFromFocusOutwardBlockyIterator(void)
+ ?UnmarkAllL@MGlxMediaList@@SAXAAV1@@Z @ 20 NONAME ; void MGlxMediaList::UnmarkAllL(class MGlxMediaList &)
+ ?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 21 NONAME ; class TGlxId<class TGlxIdSpaceIdBase> TGlxMedia::IdSpaceId(void) const
+ ??1TGlxSelectionIterator@@QAE@XZ @ 22 NONAME ; TGlxSelectionIterator::~TGlxSelectionIterator(void)
+ ?SetGranularity@CGlxAttributeContext@@QAEXI@Z @ 23 NONAME ; void CGlxAttributeContext::SetGranularity(unsigned int)
+ ??0TGlxSelectionIterator@@QAE@XZ @ 24 NONAME ; TGlxSelectionIterator::TGlxSelectionIterator(void)
+ ??0TGlxFromFocusOutwardIterator@@QAE@XZ @ 25 NONAME ; TGlxFromFocusOutwardIterator::TGlxFromFocusOutwardIterator(void)
+ ?AddObjectsL@CGlxListWindow@@QAEXHH@Z @ 26 NONAME ; void CGlxListWindow::AddObjectsL(int, int)
+ ?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 27 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const
+ ??1TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 28 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::~TGlxFromManualIndexOutwardBlockyIterator(void)
+ ?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 29 NONAME ; int TGlxMedia::GetFrameCount(int &) const
+ ??0TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 30 NONAME ; TGlxFromManualIndexBlockyIterator::TGlxFromManualIndexBlockyIterator(void)
+ ?SetRangeOffsets@TGlxFromIndexOutwardBlockyIterator@@QAEXHH@Z @ 31 NONAME ; void TGlxFromIndexOutwardBlockyIterator::SetRangeOffsets(int, int)
+ ??1TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 32 NONAME ; TGlxFromFocusOutwardBlockyIterator::~TGlxFromFocusOutwardBlockyIterator(void)
+ ??1CGlxDefaultThumbnailContext@@UAE@XZ @ 33 NONAME ; CGlxDefaultThumbnailContext::~CGlxDefaultThumbnailContext(void)
+ ?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 34 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &)
+ ??0TGlxFromIndexOutwardBlockyIterator@@QAE@ABVMGlxIndex@0@@Z @ 35 NONAME ; TGlxFromIndexOutwardBlockyIterator::TGlxFromIndexOutwardBlockyIterator(class TGlxFromIndexOutwardBlockyIterator::MGlxIndex const &)
+ ?ConstructL@CGlxListWindow@@QAEXXZ @ 36 NONAME ; void CGlxListWindow::ConstructL(void)
+ ?SetRange@TGlxSequentialIterator@@QAEXH@Z @ 37 NONAME ; void TGlxSequentialIterator::SetRange(int)
+ ??1TGlxFromVisibleIndexOutwardListIterator@@QAE@XZ @ 38 NONAME ; TGlxFromVisibleIndexOutwardListIterator::~TGlxFromVisibleIndexOutwardListIterator(void)
+ ?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 39 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const
+ ??0TGlxScrollingDirectionIterator@@QAE@XZ @ 40 NONAME ; TGlxScrollingDirectionIterator::TGlxScrollingDirectionIterator(void)
+ ?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 41 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int)
+ ?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 42 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int)
+ ?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 43 NONAME ; void CGlxMedia::HandleModified(class RArray<class TMPXAttribute> const &)
+ ?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 44 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const
+ ?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 45 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const
+ ?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 46 NONAME ; void TGlxSelectionIterator::SetRange(int)
+ ?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 47 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const
+ ?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 48 NONAME ; int TGlxMedia::GetDate(class TTime &) const
+ ?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 49 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const
+ ?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 50 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &)
+ ?SetDefaultSpec@CGlxAttributeContext@@QAEXHH@Z @ 51 NONAME ; void CGlxAttributeContext::SetDefaultSpec(int, int)
+ ?RemoveObjectsL@CGlxListWindow@@QAEXHH@Z @ 52 NONAME ; void CGlxListWindow::RemoveObjectsL(int, int)
+ ?IsStatic@TGlxMedia@@QBEHXZ @ 53 NONAME ; int TGlxMedia::IsStatic(void) const
+ ??0CGlxListWindow@@QAE@AAVMGlxWindowObjectFactory@@@Z @ 54 NONAME ; CGlxListWindow::CGlxListWindow(class MGlxWindowObjectFactory &)
+ ?AddSpecForItemL@CGlxThumbnailContext@@QAEXHHH@Z @ 55 NONAME ; void CGlxThumbnailContext::AddSpecForItemL(int, int, int)
+ ??1CGlxDefaultAttributeContext@@UAE@XZ @ 56 NONAME ; CGlxDefaultAttributeContext::~CGlxDefaultAttributeContext(void)
+ ?ThumbnailAttribute@TGlxMedia@@QBEPBVCGlxThumbnailAttribute@@AAVTMPXAttribute@@@Z @ 57 NONAME ; class CGlxThumbnailAttribute const * TGlxMedia::ThumbnailAttribute(class TMPXAttribute &) const
+ ??1TGlxFirstThenLastIterator@@QAE@XZ @ 58 NONAME ; TGlxFirstThenLastIterator::~TGlxFirstThenLastIterator(void)
+ ?Title@TGlxMedia@@QBEABVTDesC16@@XZ @ 59 NONAME ; class TDesC16 const & TGlxMedia::Title(void) const
+ ??ETGlxSelectionIterator@@UAEHH@Z @ 60 NONAME ; int TGlxSelectionIterator::operator++(int)
+ ?AddAttributeL@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 61 NONAME ; void CGlxAttributeContext::AddAttributeL(class TMPXAttribute const &)
+ ?SetRangeOffsets@CGlxDefaultThumbnailContext@@QAEXHH@Z @ 62 NONAME ; void CGlxDefaultThumbnailContext::SetRangeOffsets(int, int)
+ ?__DbgTestInvariant@CGlxStaticItemList@@QBEXXZ @ 63 NONAME ; void CGlxStaticItemList::__DbgTestInvariant(void) const
+ ?GetDuration@TGlxMedia@@QBEHAAM@Z @ 64 NONAME ; int TGlxMedia::GetDuration(float &) const
+ ?SetRangeOffsets@TGlxScrollingDirectionIterator@@QAEXHH@Z @ 65 NONAME ; void TGlxScrollingDirectionIterator::SetRangeOffsets(int, int)
+ ?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 66 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &)
+ ?InstanceL@MGlxMediaList@@SAPAV1@ABVCMPXCollectionPath@@ABV?$TGlxId@VTGlxIdHierarchyBase@@@@PAVCMPXMedia@@@Z @ 67 NONAME ; class MGlxMediaList * MGlxMediaList::InstanceL(class CMPXCollectionPath const &, class TGlxId<class TGlxIdHierarchyBase> const &, class CMPXMedia *)
+ ?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 68 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *)
+ ?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 69 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const
+ ?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 70 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const
+ ??0CGlxAttributeContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 71 NONAME ; CGlxAttributeContext::CGlxAttributeContext(class MGlxMediaListIterator *)
+ ?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 72 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const
+ ?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 73 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const
+ ?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 74 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const
+ ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 75 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &)
+ ??0TGlxSequentialIterator@@QAE@XZ @ 76 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void)
+ ?SetFocusIndexL@CGlxListWindow@@QAEXHH@Z @ 77 NONAME ; void CGlxListWindow::SetFocusIndexL(int, int)
+ ?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 78 NONAME ; int CGlxAttributeContext::AttributeCount(void)
+ ?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 79 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const
+ ?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 80 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const
+ ?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 81 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType)
+ ?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 82 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const
+ ??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 83 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &)
+ ?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 84 NONAME ; void TGlxMedia::DeleteLocationAttribute(void)
+ ?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 85 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const
+ ??1CGlxMedia@@UAE@XZ @ 86 NONAME ; CGlxMedia::~CGlxMedia(void)
+ ?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 87 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const
+ ?IsDrmProtected@TGlxMedia@@QBEHXZ @ 88 NONAME ; int TGlxMedia::IsDrmProtected(void) const
+ ?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 89 NONAME ; int TGlxMedia::GetSystemItem(int &) const
+ ??1CGlxThumbnailContext@@UAE@XZ @ 90 NONAME ; CGlxThumbnailContext::~CGlxThumbnailContext(void)
+ ?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 91 NONAME ; int TGlxMedia::GetDrmProtected(int &) const
+ ?Close@TGlxFetchContextRemover@@QAEXXZ @ 92 NONAME ; void TGlxFetchContextRemover::Close(void)
+ ?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 93 NONAME ; class CBase const * CGlxListWindow::At(int) const
+ ?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 94 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int)
+ ?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 95 NONAME ; class CBase * CGlxListWindow::At(int)
+ ??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 96 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void)
+ ?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 97 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &)
+ ??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 98 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void)
+ ?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 99 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int)
+ ??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 100 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void)
+ ?GetSize@TGlxMedia@@QBEHAAI@Z @ 101 NONAME ; int TGlxMedia::GetSize(unsigned int &) const
+ ??1TGlxScrollingDirectionIterator@@QAE@XZ @ 102 NONAME ; TGlxScrollingDirectionIterator::~TGlxScrollingDirectionIterator(void)
+ ?SetFocusIndexL@CGlxListWindow@@QAEXH@Z @ 103 NONAME ; void CGlxListWindow::SetFocusIndexL(int)
+ ??1TGlxExclusionIterator@@QAE@XZ @ 104 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void)
+ ??1CGlxDefaultListAttributeContext@@UAE@XZ @ 105 NONAME ; CGlxDefaultListAttributeContext::~CGlxDefaultListAttributeContext(void)
+ ??1TGlxFetchContextRemover@@QAE@XZ @ 106 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void)
+ ?RemoveObjectsL@CGlxListWindow@@QAEXHHHH@Z @ 107 NONAME ; void CGlxListWindow::RemoveObjectsL(int, int, int, int)
+ ?CleanupL@CGlxListWindow@@QAEXXZ @ 108 NONAME ; void CGlxListWindow::CleanupL(void)
+ ?SetRangeOffsets@TGlxFromVisibleIndexOutwardListIterator@@QAEXHH@Z @ 109 NONAME ; void TGlxFromVisibleIndexOutwardListIterator::SetRangeOffsets(int, int)
+ ?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 110 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int)
+ ?GetSlideshowPlayableContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 111 NONAME ; int TGlxMedia::GetSlideshowPlayableContainedItemCount(int &) const
??0TGlxFromVisibleIndexOutwardListIterator@@QAE@XZ @ 112 NONAME ; TGlxFromVisibleIndexOutwardListIterator::TGlxFromVisibleIndexOutwardListIterator(void)
??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 113 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId<class TGlxIdSpaceIdBase> const &, class TGlxMediaId)
- ?GetSlideshowPlayableContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 114 NONAME ; int TGlxMedia::GetSlideshowPlayableContainedItemCount(int &) const
+ ?AddObjectsL@CGlxListWindow@@QAEXHHHH@Z @ 114 NONAME ; void CGlxListWindow::AddObjectsL(int, int, int, int)
?MatchById@TGlxMedia@@SAHABV1@0@Z @ 115 NONAME ; int TGlxMedia::MatchById(class TGlxMedia const &, class TGlxMedia const &)
?SetRangeOffsetsL@CGlxListWindow@@QAEXHH@Z @ 116 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int)
?SetRangeOffsets@CGlxDefaultListAttributeContext@@QAEXHH@Z @ 117 NONAME ; void CGlxDefaultListAttributeContext::SetRangeOffsets(int, int)
--- a/ui/uiengine/medialists/eabi/glxmedialistsu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/eabi/glxmedialistsu.def Wed Aug 18 09:48:53 2010 +0300
@@ -1,17 +1,17 @@
EXPORTS
_ZN13MGlxMediaList10UnmarkAllLERS_ @ 1 NONAME
_ZN13MGlxMediaList9InstanceLERK18CMPXCollectionPathRK6TGlxIdI19TGlxIdHierarchyBaseEP9CMPXMedia @ 2 NONAME
- _ZN14CGlxListWindow10AddObjectsEii @ 3 NONAME
- _ZN14CGlxListWindow10AddObjectsEiiii @ 4 NONAME
- _ZN14CGlxListWindow10ConstructLEv @ 5 NONAME
- _ZN14CGlxListWindow13RemoveObjectsEii @ 6 NONAME
- _ZN14CGlxListWindow13RemoveObjectsEiiii @ 7 NONAME
- _ZN14CGlxListWindow13SetFocusIndexEi @ 8 NONAME
- _ZN14CGlxListWindow13SetFocusIndexEii @ 9 NONAME
+ _ZN14CGlxListWindow10ConstructLEv @ 3 NONAME
+ _ZN14CGlxListWindow11AddObjectsLEii @ 4 NONAME
+ _ZN14CGlxListWindow11AddObjectsLEiiii @ 5 NONAME
+ _ZN14CGlxListWindow14RemoveObjectsLEii @ 6 NONAME
+ _ZN14CGlxListWindow14RemoveObjectsLEiiii @ 7 NONAME
+ _ZN14CGlxListWindow14SetFocusIndexLEi @ 8 NONAME
+ _ZN14CGlxListWindow14SetFocusIndexLEii @ 9 NONAME
_ZN14CGlxListWindow16SetRangeOffsetsLEii @ 10 NONAME
_ZN14CGlxListWindow16SetRangeOffsetsLEiiii @ 11 NONAME
_ZN14CGlxListWindow2AtEi @ 12 NONAME
- _ZN14CGlxListWindow7CleanupEv @ 13 NONAME
+ _ZN14CGlxListWindow8CleanupLEv @ 13 NONAME
_ZN14CGlxListWindowC1ER23MGlxWindowObjectFactory @ 14 NONAME
_ZN14CGlxListWindowC2ER23MGlxWindowObjectFactory @ 15 NONAME
_ZN14CGlxListWindowD0Ev @ 16 NONAME
@@ -133,80 +133,85 @@
_ZN9MGlxCache9InstanceLEv @ 132 NONAME
_ZN9TGlxMedia23DeleteLocationAttributeEv @ 133 NONAME
_ZN9TGlxMedia9MatchByIdERKS_S1_ @ 134 NONAME
- _ZNK14CGlxListWindow2AtEi @ 135 NONAME
- _ZNK14CGlxListWindow8IteratorEv @ 136 NONAME
- _ZNK21TGlxSelectionIterator7InRangeEi @ 137 NONAME
- _ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 138 NONAME
- _ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 139 NONAME
- _ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 140 NONAME
- _ZNK9TGlxMedia11GetDurationERf @ 141 NONAME
- _ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 142 NONAME
- _ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 143 NONAME
- _ZNK9TGlxMedia13GetDimensionsER5TSize @ 144 NONAME
- _ZNK9TGlxMedia13GetFrameCountERi @ 145 NONAME
- _ZNK9TGlxMedia13GetSystemItemERi @ 146 NONAME
- _ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 147 NONAME
- _ZNK9TGlxMedia14IsDrmProtectedEv @ 148 NONAME
- _ZNK9TGlxMedia15GetDrmProtectedERi @ 149 NONAME
- _ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 150 NONAME
- _ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 151 NONAME
- _ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 152 NONAME
- _ZNK9TGlxMedia20GetStaticItemCommandERi @ 153 NONAME
- _ZNK9TGlxMedia21GetContainedItemCountERi @ 154 NONAME
- _ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 155 NONAME
- _ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 156 NONAME
- _ZNK9TGlxMedia3UriEv @ 157 NONAME
- _ZNK9TGlxMedia5TitleEv @ 158 NONAME
- _ZNK9TGlxMedia7CommentEv @ 159 NONAME
- _ZNK9TGlxMedia7GetDateER5TTime @ 160 NONAME
- _ZNK9TGlxMedia7GetSizeERi @ 161 NONAME
- _ZNK9TGlxMedia8CategoryEv @ 162 NONAME
- _ZNK9TGlxMedia8IsStaticEv @ 163 NONAME
- _ZNK9TGlxMedia8MimeTypeEv @ 164 NONAME
- _ZNK9TGlxMedia8SubTitleEv @ 165 NONAME
- _ZNK9TGlxMedia9IdSpaceIdEv @ 166 NONAME
- _ZTI13CGlxMediaList @ 167 NONAME
- _ZTI14CGlxListWindow @ 168 NONAME
- _ZTI15CGlxImageReader @ 169 NONAME
- _ZTI16CGlxCacheManager @ 170 NONAME
- _ZTI20CGlxAttributeContext @ 171 NONAME
- _ZTI20CGlxGarbageCollector @ 172 NONAME
- _ZTI20CGlxThumbnailContext @ 173 NONAME
- _ZTI21TGlxExclusionIterator @ 174 NONAME
- _ZTI21TGlxSelectionIterator @ 175 NONAME
- _ZTI22TGlxSequentialIterator @ 176 NONAME
- _ZTI22TGlxSpecificIdIterator @ 177 NONAME
- _ZTI25TGlxFirstThenLastIterator @ 178 NONAME
- _ZTI27CGlxDefaultAttributeContext @ 179 NONAME
- _ZTI27CGlxDefaultThumbnailContext @ 180 NONAME
- _ZTI28TGlxFromFocusOutwardIterator @ 181 NONAME
- _ZTI30TGlxScrollingDirectionIterator @ 182 NONAME
- _ZTI31CGlxDefaultListAttributeContext @ 183 NONAME
- _ZTI33TGlxFromManualIndexBlockyIterator @ 184 NONAME
- _ZTI34TGlxFromFocusOutwardBlockyIterator @ 185 NONAME
- _ZTI34TGlxFromIndexOutwardBlockyIterator @ 186 NONAME
- _ZTI39TGlxFromVisibleIndexOutwardListIterator @ 187 NONAME
- _ZTI40TGlxFromManualIndexOutwardBlockyIterator @ 188 NONAME
- _ZTV13CGlxMediaList @ 189 NONAME
- _ZTV14CGlxListWindow @ 190 NONAME
- _ZTV15CGlxImageReader @ 191 NONAME
- _ZTV16CGlxCacheManager @ 192 NONAME
- _ZTV20CGlxAttributeContext @ 193 NONAME
- _ZTV20CGlxGarbageCollector @ 194 NONAME
- _ZTV20CGlxThumbnailContext @ 195 NONAME
- _ZTV21TGlxExclusionIterator @ 196 NONAME
- _ZTV21TGlxSelectionIterator @ 197 NONAME
- _ZTV22TGlxSequentialIterator @ 198 NONAME
- _ZTV22TGlxSpecificIdIterator @ 199 NONAME
- _ZTV25TGlxFirstThenLastIterator @ 200 NONAME
- _ZTV27CGlxDefaultAttributeContext @ 201 NONAME
- _ZTV27CGlxDefaultThumbnailContext @ 202 NONAME
- _ZTV28TGlxFromFocusOutwardIterator @ 203 NONAME
- _ZTV30TGlxScrollingDirectionIterator @ 204 NONAME
- _ZTV31CGlxDefaultListAttributeContext @ 205 NONAME
- _ZTV33TGlxFromManualIndexBlockyIterator @ 206 NONAME
- _ZTV34TGlxFromFocusOutwardBlockyIterator @ 207 NONAME
- _ZTV34TGlxFromIndexOutwardBlockyIterator @ 208 NONAME
- _ZTV39TGlxFromVisibleIndexOutwardListIterator @ 209 NONAME
- _ZTV40TGlxFromManualIndexOutwardBlockyIterator @ 210 NONAME
+ _ZNK12CGlxItemList18__DbgTestInvariantEv @ 135 NONAME
+ _ZNK14CGlxListWindow18__DbgTestInvariantEv @ 136 NONAME
+ _ZNK14CGlxListWindow2AtEi @ 137 NONAME
+ _ZNK14CGlxListWindow8IteratorEv @ 138 NONAME
+ _ZNK17CGlxNavigableList18__DbgTestInvariantEv @ 139 NONAME
+ _ZNK18CGlxStaticItemList18__DbgTestInvariantEv @ 140 NONAME
+ _ZNK21TGlxSelectionIterator7InRangeEi @ 141 NONAME
+ _ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 142 NONAME
+ _ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 143 NONAME
+ _ZNK9CGlxMedia18__DbgTestInvariantEv @ 144 NONAME
+ _ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 145 NONAME
+ _ZNK9TGlxMedia11GetDurationERf @ 146 NONAME
+ _ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 147 NONAME
+ _ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 148 NONAME
+ _ZNK9TGlxMedia13GetDimensionsER5TSize @ 149 NONAME
+ _ZNK9TGlxMedia13GetFrameCountERi @ 150 NONAME
+ _ZNK9TGlxMedia13GetSystemItemERi @ 151 NONAME
+ _ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 152 NONAME
+ _ZNK9TGlxMedia14IsDrmProtectedEv @ 153 NONAME
+ _ZNK9TGlxMedia15GetDrmProtectedERi @ 154 NONAME
+ _ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 155 NONAME
+ _ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 156 NONAME
+ _ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 157 NONAME
+ _ZNK9TGlxMedia20GetStaticItemCommandERi @ 158 NONAME
+ _ZNK9TGlxMedia21GetContainedItemCountERi @ 159 NONAME
+ _ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 160 NONAME
+ _ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 161 NONAME
+ _ZNK9TGlxMedia3UriEv @ 162 NONAME
+ _ZNK9TGlxMedia5TitleEv @ 163 NONAME
+ _ZNK9TGlxMedia7CommentEv @ 164 NONAME
+ _ZNK9TGlxMedia7GetDateER5TTime @ 165 NONAME
+ _ZNK9TGlxMedia7GetSizeERj @ 166 NONAME
+ _ZNK9TGlxMedia8CategoryEv @ 167 NONAME
+ _ZNK9TGlxMedia8IsStaticEv @ 168 NONAME
+ _ZNK9TGlxMedia8MimeTypeEv @ 169 NONAME
+ _ZNK9TGlxMedia8SubTitleEv @ 170 NONAME
+ _ZNK9TGlxMedia9IdSpaceIdEv @ 171 NONAME
+ _ZTI13CGlxMediaList @ 172 NONAME
+ _ZTI14CGlxListWindow @ 173 NONAME
+ _ZTI15CGlxImageReader @ 174 NONAME
+ _ZTI16CGlxCacheManager @ 175 NONAME
+ _ZTI20CGlxAttributeContext @ 176 NONAME
+ _ZTI20CGlxGarbageCollector @ 177 NONAME
+ _ZTI20CGlxThumbnailContext @ 178 NONAME
+ _ZTI21TGlxExclusionIterator @ 179 NONAME
+ _ZTI21TGlxSelectionIterator @ 180 NONAME
+ _ZTI22TGlxSequentialIterator @ 181 NONAME
+ _ZTI22TGlxSpecificIdIterator @ 182 NONAME
+ _ZTI25TGlxFirstThenLastIterator @ 183 NONAME
+ _ZTI27CGlxDefaultAttributeContext @ 184 NONAME
+ _ZTI27CGlxDefaultThumbnailContext @ 185 NONAME
+ _ZTI28TGlxFromFocusOutwardIterator @ 186 NONAME
+ _ZTI30TGlxScrollingDirectionIterator @ 187 NONAME
+ _ZTI31CGlxDefaultListAttributeContext @ 188 NONAME
+ _ZTI33TGlxFromManualIndexBlockyIterator @ 189 NONAME
+ _ZTI34TGlxFromFocusOutwardBlockyIterator @ 190 NONAME
+ _ZTI34TGlxFromIndexOutwardBlockyIterator @ 191 NONAME
+ _ZTI39TGlxFromVisibleIndexOutwardListIterator @ 192 NONAME
+ _ZTI40TGlxFromManualIndexOutwardBlockyIterator @ 193 NONAME
+ _ZTV13CGlxMediaList @ 194 NONAME
+ _ZTV14CGlxListWindow @ 195 NONAME
+ _ZTV15CGlxImageReader @ 196 NONAME
+ _ZTV16CGlxCacheManager @ 197 NONAME
+ _ZTV20CGlxAttributeContext @ 198 NONAME
+ _ZTV20CGlxGarbageCollector @ 199 NONAME
+ _ZTV20CGlxThumbnailContext @ 200 NONAME
+ _ZTV21TGlxExclusionIterator @ 201 NONAME
+ _ZTV21TGlxSelectionIterator @ 202 NONAME
+ _ZTV22TGlxSequentialIterator @ 203 NONAME
+ _ZTV22TGlxSpecificIdIterator @ 204 NONAME
+ _ZTV25TGlxFirstThenLastIterator @ 205 NONAME
+ _ZTV27CGlxDefaultAttributeContext @ 206 NONAME
+ _ZTV27CGlxDefaultThumbnailContext @ 207 NONAME
+ _ZTV28TGlxFromFocusOutwardIterator @ 208 NONAME
+ _ZTV30TGlxScrollingDirectionIterator @ 209 NONAME
+ _ZTV31CGlxDefaultListAttributeContext @ 210 NONAME
+ _ZTV33TGlxFromManualIndexBlockyIterator @ 211 NONAME
+ _ZTV34TGlxFromFocusOutwardBlockyIterator @ 212 NONAME
+ _ZTV34TGlxFromIndexOutwardBlockyIterator @ 213 NONAME
+ _ZTV39TGlxFromVisibleIndexOutwardListIterator @ 214 NONAME
+ _ZTV40TGlxFromManualIndexOutwardBlockyIterator @ 215 NONAME
--- a/ui/uiengine/medialists/inc/glxlistwindow.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/inc/glxlistwindow.h Wed Aug 18 09:48:53 2010 +0300
@@ -108,7 +108,7 @@
* classes implement MGlxWindowObjectFactory, since vtable would not
* be valid in the destructor
*/
- IMPORT_C void Cleanup();
+ IMPORT_C void CleanupL();
/**
* Updates range offset. The range is the span of indexes that defined
@@ -128,16 +128,16 @@
* Sets the focus.
* @param aFocusIndex index of the object to be focused in the list
*/
- /* @todo depricated */ IMPORT_C void SetFocusIndex( TInt aFocusIndex );
- IMPORT_C void SetFocusIndex( TInt aFocusIndex, TInt aTotalSize );
+ /* @todo depricated */ IMPORT_C void SetFocusIndexL( TInt aFocusIndex );
+ IMPORT_C void SetFocusIndexL( TInt aFocusIndex, TInt aTotalSize );
/**
* Adds objects to the list. Updates window if necessary.
* The function assumes that the underlying data structure has
* already changed.
*/
- /* @todo depricated */ IMPORT_C void AddObjects( TInt aFirstNewIndex, TInt aLastNewIndex );
- IMPORT_C void AddObjects( TInt aFocusIndex, TInt aTotalSize,
+ /* @todo depricated */ IMPORT_C void AddObjectsL( TInt aFirstNewIndex, TInt aLastNewIndex );
+ IMPORT_C void AddObjectsL( TInt aFocusIndex, TInt aTotalSize,
TInt aFirstNewIndex, TInt aLastNewIndex );
/**
@@ -145,8 +145,8 @@
* The function assumes that the underlying data structure has
* already changed.
*/
- /* @todo depricated */ IMPORT_C void RemoveObjects( TInt aFirstRemovedIndex, TInt aLastRemovedIndex );
- IMPORT_C void RemoveObjects( TInt aFocusIndex, TInt aTotalSize,
+ /* @todo depricated */ IMPORT_C void RemoveObjectsL( TInt aFirstRemovedIndex, TInt aLastRemovedIndex );
+ IMPORT_C void RemoveObjectsL( TInt aFocusIndex, TInt aTotalSize,
TInt aFirstRemovedIndex, TInt aLastRemovedIndex );
/**
@@ -192,9 +192,9 @@
};
/** Update the window based on the change */
- void Update( const TChange& aChange );
+ void UpdateL( const TChange& aChange );
/** Move objects from main window to working window, or object pool if not needed */
- void PopulateExistingAndUnuseOld( const TChange& aChange );
+ void PopulateExistingAndUnuseOldL( const TChange& aChange );
/** Populate main window with items from object pool */
void PopulateNew();
/** Make working window the main window and vice versa */
--- a/ui/uiengine/medialists/inc/glxmedia.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/inc/glxmedia.h Wed Aug 18 09:48:53 2010 +0300
@@ -128,7 +128,7 @@
* @return EFalse if unable to get size - aSize is unchanged.
* ETrue if size successfully put in aSize.
*/
- IMPORT_C TBool GetSize(TInt& aSize) const;
+ IMPORT_C TBool GetSize(TUint& aSize) const;
/**
* Get the duration associated with the media.
--- a/ui/uiengine/medialists/inc/glxmedialist.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/inc/glxmedialist.h Wed Aug 18 09:48:53 2010 +0300
@@ -99,7 +99,10 @@
* @param aAttributes attributes to request for the items
* @param aDetailedSpecs attribute specifications
*/
- void AttributeRequestL(RArray<TInt>& aItemIndexes, RArray<TGlxMediaId>& aItemIds, RArray<TMPXAttribute>& aAttributes, CMPXAttributeSpecs*& aDetailedSpecs) const;
+ void AttributeRequestL(RArray<TInt>& aItemIndexes,
+ RArray<TGlxMediaId>& aItemIds,
+ RArray<TMPXAttribute>& aAttributes,
+ CMPXAttributeSpecs*& aDetailedSpecs) const;
/**
* Ordering function for attributes
--- a/ui/uiengine/medialists/src/glxattributecontext.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/src/glxattributecontext.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -236,12 +236,14 @@
return;
}
+ CleanupClosePushL(aAttributes);
// Just list all attributes specified for this context
TInt count = iAttributes.Count();
for (TInt i = 0; i < count; i++)
{
aAttributes.AppendL(iAttributes[i]);
}
+ CleanupStack::Pop(&aAttributes);
}
// -----------------------------------------------------------------------------
@@ -343,7 +345,7 @@
const TMPXAttribute& aAttribute) const
{
TRACER("CGlxAttributeContext::AddItemAttributeL");
-
+ CleanupClosePushL(aAttributes);
TIdentityRelation<TMPXAttribute> match(&TMPXAttribute::Match);
TInt index = aAttributes.Find(aAttribute, match);
@@ -351,6 +353,7 @@
{
aAttributes.AppendL(aAttribute);
}
+ CleanupStack::Pop(&aAttributes);
}
// -----------------------------------------------------------------------------
--- a/ui/uiengine/medialists/src/glxcache.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/src/glxcache.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -241,6 +241,7 @@
RArray<TMPXAttribute>& aNewAttributes)
{
TRACER("CGlxCache::CopyNewAndModifiedL");
+ CleanupClosePushL(aNewAttributes);
/// @todo This is all temporary until global chunk based CMPXMedia is available
TInt count = aSource.Count();
@@ -305,11 +306,14 @@
}
else if (attrib == KGlxMediaGeneralLastModifiedDate)
{
- aTarget.SetTObjectValueL(attrib, aSource.ValueTObjectL<TInt64>(attrib));
+ TTime modified = aSource.ValueTObjectL<TInt64>(attrib);
+ TTimeIntervalSeconds utcOffset = User::UTCOffset();
+ modified += utcOffset;
+ aTarget.SetTObjectValueL(attrib, modified);
}
else if (attrib == KMPXMediaGeneralSize)
{
- aTarget.SetTObjectValueL(attrib, aSource.ValueTObjectL<TInt>(attrib));
+ aTarget.SetTObjectValueL(attrib, aSource.ValueTObjectL<TUint>(attrib));
}
else if (attrib == KMPXMediaColDetailSpaceId)
{
@@ -373,6 +377,7 @@
}
}
}
+ CleanupStack::Pop(&aNewAttributes);
}
// -----------------------------------------------------------------------------
--- a/ui/uiengine/medialists/src/glxcachemanager.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/src/glxcachemanager.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -348,7 +348,7 @@
TInt userCount = item->UserCount();
for ( TInt userIndex = 0; userIndex < userCount; userIndex++ )
{
- users.InsertInAddressOrder( &item->User( userIndex ) );
+ users.InsertInAddressOrderL( &item->User( userIndex ) );
}
}
@@ -661,7 +661,9 @@
iThumbnailRequestIds.AppendL(TLoadingTN(iTnEngine->GetThumbnailL(itemId.Value()), spaceId, tnSize, itemId));
#else
CThumbnailObjectSource* source = CThumbnailObjectSource::NewLC(item.Uri(), 0);
- iThumbnailRequestIds.AppendL(TLoadingTN(iTnEngine->GetThumbnailL(*source), spaceId, tnSize, itemId));
+ iThumbnailRequestIds.AppendL(TLoadingTN(
+ iTnEngine->GetThumbnailL(*source),
+ spaceId, tnSize, itemId));
CleanupStack::PopAndDestroy(source);
#endif
}
@@ -738,7 +740,7 @@
RFile64& imageHandle = imageVwrMgr->ImageFileHandle();
if ( &imageHandle != NULL )
{
- fileName.Append(imageHandle.FullName(fileName));
+ imageHandle.FullName(fileName);
}
else
{
@@ -933,10 +935,7 @@
if(errInImage == KErrNone)
{
//need to fetch the original file dimensions
- if(errInImage == KErrNone)
- {
dimensions = iReader->GetDimensions();
- }
iMPXMedia->SetTObjectValueL(KGlxMediaGeneralDimensions, dimensions);
}
else
--- a/ui/uiengine/medialists/src/glxgarbagecollector.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/src/glxgarbagecollector.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -163,6 +163,7 @@
//
void CGlxGarbageCollector::FlushPagesL(TInt aCount)
{
+ TRACER("CGlxGarbageCollector::FlushPagesL");
TBool reachedEnd = CleanupCaches(aCount);
if ( reachedEnd )
--- a/ui/uiengine/medialists/src/glxitemlist.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/src/glxitemlist.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -538,7 +538,7 @@
// ---------------------------------------------------------------------------
// Test invariant
// ---------------------------------------------------------------------------
-void CGlxItemList::__DbgTestInvariant() const
+EXPORT_C void CGlxItemList::__DbgTestInvariant() const
{
#ifdef _DEBUG
--- a/ui/uiengine/medialists/src/glxlistwindow.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/src/glxlistwindow.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -52,7 +52,7 @@
}
/** Preparet the window to accept items */
- void Initialize( const CGlxListWindow::TRange& aRange, TInt aTotalSize )
+ void InitializeL( const CGlxListWindow::TRange& aRange, TInt aTotalSize )
{
__TEST_INVARIANT;
@@ -68,7 +68,7 @@
for ( TInt i = iObjects.Count(); i < aRange.iLength; i++ )
{
// Append cannot fail since reservation has been made
- ( void ) iObjects.Append( NULL );
+ ( void ) iObjects.AppendL( NULL );
}
// remove unnecessary pointers
@@ -276,12 +276,12 @@
// Cleans up remaining objects in the window
// -----------------------------------------------------------------------------
//
-EXPORT_C void CGlxListWindow::Cleanup()
+EXPORT_C void CGlxListWindow::CleanupL()
{
- TRACER("CGlxListWindow::Cleanup");
+ TRACER("CGlxListWindow::CleanupL");
// make the window empty. this will clean up all remaining objects.
- Update( TChange( KErrNotFound, 0, EChangeObjectsRemoved, 0, iWindow->TotalSize() - 1 ) );
+ UpdateL( TChange( KErrNotFound, 0, EChangeObjectsRemoved, 0, iWindow->TotalSize() - 1 ) );
}
// -----------------------------------------------------------------------------
@@ -326,10 +326,10 @@
for ( TInt i = iWindow->Size() + iUnusedObjects.Count(); i < maxObjectCount; i++ )
{
// cannot fail since reservation made above
- ( void ) iUnusedObjects.Append( iObjectFactory.CreateObjectL() );
+ ( void )iUnusedObjects.AppendL( iObjectFactory.CreateObjectL() );
}
- Update( TChange( aFocusIndex, aTotalSize, EChangeNone, 0, 0 ) );
+ UpdateL( TChange( aFocusIndex, aTotalSize, EChangeNone, 0, 0 ) );
}
// -----------------------------------------------------------------------------
@@ -347,27 +347,27 @@
// SetFocusIndexL
// -----------------------------------------------------------------------------
// DEPRICATED
-EXPORT_C void CGlxListWindow::SetFocusIndex( TInt aFocusIndex )
+EXPORT_C void CGlxListWindow::SetFocusIndexL( TInt aFocusIndex )
{
- TRACER("CGlxListWindow::SetFocusIndex");
+ TRACER("CGlxListWindow::SetFocusIndexL");
- SetFocusIndex( aFocusIndex, iWindow->TotalSize() );
+ SetFocusIndexL( aFocusIndex, iWindow->TotalSize() );
}
// -----------------------------------------------------------------------------
// SetFocusIndexL
// -----------------------------------------------------------------------------
//
-EXPORT_C void CGlxListWindow::SetFocusIndex( TInt aFocusIndex, TInt aTotalSize )
+EXPORT_C void CGlxListWindow::SetFocusIndexL( TInt aFocusIndex, TInt aTotalSize )
{
- TRACER("CGlxListWindow::SetFocusIndex");
+ TRACER("CGlxListWindow::SetFocusIndexL");
__ASSERT_DEBUG( ( 0 <= aFocusIndex && aFocusIndex < aTotalSize ) ||
( KErrNotFound == aFocusIndex && 0 == aTotalSize ),
Panic( EGlxPanicIllegalArgument ) );
__TEST_INVARIANT;
- Update( TChange( aFocusIndex, aTotalSize, EChangeNone, 0, 0 ) );
+ UpdateL( TChange( aFocusIndex, aTotalSize, EChangeNone, 0, 0 ) );
__TEST_INVARIANT;
}
@@ -376,9 +376,9 @@
// AddObjects
// -----------------------------------------------------------------------------
// DEPRICATED
-EXPORT_C void CGlxListWindow::AddObjects( TInt aFirstNewIndex, TInt aLastNewIndex )
+EXPORT_C void CGlxListWindow::AddObjectsL( TInt aFirstNewIndex, TInt aLastNewIndex )
{
- TRACER("CGlxListWindow::AddObjects");
+ TRACER("CGlxListWindow::AddObjectsL");
TInt newItemCount = aLastNewIndex - aFirstNewIndex + 1;
TInt newTotalSize = iWindow->TotalSize() + newItemCount;
@@ -398,17 +398,17 @@
newFocusIndex += newItemCount;
}
- AddObjects( newFocusIndex, newTotalSize, aFirstNewIndex, aLastNewIndex );
+ AddObjectsL( newFocusIndex, newTotalSize, aFirstNewIndex, aLastNewIndex );
}
// -----------------------------------------------------------------------------
// AddObjects
// -----------------------------------------------------------------------------
//
-EXPORT_C void CGlxListWindow::AddObjects( TInt aFocusIndex,
+EXPORT_C void CGlxListWindow::AddObjectsL( TInt aFocusIndex,
TInt aTotalSize, TInt aFirstNewIndex, TInt aLastNewIndex )
{
- TRACER("CGlxListWindow::AddObjects");
+ TRACER("CGlxListWindow::AddObjectsL");
__ASSERT_DEBUG( 0 <= aFirstNewIndex && aFirstNewIndex <= aLastNewIndex &&
aLastNewIndex < aTotalSize &&
@@ -416,7 +416,7 @@
Panic( EGlxPanicIllegalArgument ) );
__TEST_INVARIANT;
- Update( TChange( aFocusIndex, aTotalSize, EChangeObjectsAdded,
+ UpdateL( TChange( aFocusIndex, aTotalSize, EChangeObjectsAdded,
aFirstNewIndex, aLastNewIndex ) );
__TEST_INVARIANT;
@@ -426,9 +426,9 @@
// RemoveObjects
// -----------------------------------------------------------------------------
// DEPRICATED
-EXPORT_C void CGlxListWindow::RemoveObjects( TInt aFirstRemovedIndex, TInt aLastRemovedIndex )
+EXPORT_C void CGlxListWindow::RemoveObjectsL( TInt aFirstRemovedIndex, TInt aLastRemovedIndex )
{
- TRACER("CGlxListWindow::RemoveObjects");
+ TRACER("CGlxListWindow::RemoveObjectsL");
TInt itemsRemovedCount = aLastRemovedIndex - aFirstRemovedIndex + 1;
TInt newTotalSize = iWindow->TotalSize() - itemsRemovedCount;
@@ -461,17 +461,17 @@
}
}
- RemoveObjects( newFocusIndex, newTotalSize, aFirstRemovedIndex, aLastRemovedIndex );
+ RemoveObjectsL( newFocusIndex, newTotalSize, aFirstRemovedIndex, aLastRemovedIndex );
}
// -----------------------------------------------------------------------------
// RemoveObjects
// -----------------------------------------------------------------------------
//
-EXPORT_C void CGlxListWindow::RemoveObjects( TInt aFocusIndex,
+EXPORT_C void CGlxListWindow::RemoveObjectsL( TInt aFocusIndex,
TInt aTotalSize, TInt aFirstRemovedIndex, TInt aLastRemovedIndex )
{
- TRACER("CGlxListWindow::RemoveObjects");
+ TRACER("CGlxListWindow::RemoveObjectsL");
__ASSERT_DEBUG( 0 <= aFirstRemovedIndex && aFirstRemovedIndex <= aLastRemovedIndex &&
( ( 0 <= aFocusIndex && aFocusIndex < aTotalSize ) ||
@@ -479,7 +479,7 @@
Panic( EGlxPanicIllegalArgument ) );
__TEST_INVARIANT;
- Update( TChange( aFocusIndex, aTotalSize, EChangeObjectsRemoved,
+ UpdateL( TChange( aFocusIndex, aTotalSize, EChangeObjectsRemoved,
aFirstRemovedIndex, aLastRemovedIndex ) );
__TEST_INVARIANT;
@@ -489,9 +489,9 @@
// Update
// -----------------------------------------------------------------------------
//
-void CGlxListWindow::Update( const TChange& aChange )
+void CGlxListWindow::UpdateL( const TChange& aChange )
{
- TRACER("CGlxListWindow::Update");
+ TRACER("CGlxListWindow::UpdateL");
// (in a list of: |abcdefghijklm|
// iWindow: |----efghi----|
@@ -500,14 +500,14 @@
// is shorter than max window length)
// Prepare the working window to accept objects
- iWorkingWindow->Initialize( Range( aChange ), aChange.iNewTotalSize );
+ iWorkingWindow->InitializeL( Range( aChange ), aChange.iNewTotalSize );
// iWindow: |----efghi----|
// iWorkingWindow: |------00000--|
// iUnusedObjects: XXX
// move unused objects to pool, and reusable objects to working window
- PopulateExistingAndUnuseOld( aChange );
+ PopulateExistingAndUnuseOldL( aChange );
// iWindow: |----efghi----|
// iWorkingWindow: |------ghi00--|
@@ -537,9 +537,9 @@
// PopulateExistingAndUnuseOld
// -----------------------------------------------------------------------------
//
-void CGlxListWindow::PopulateExistingAndUnuseOld( const TChange& aChange )
+void CGlxListWindow::PopulateExistingAndUnuseOldL( const TChange& aChange )
{
- TRACER("CGlxListWindow::PopulateExistingAndUnuseOld");
+ TRACER("CGlxListWindow::PopulateExistingAndUnuseOldL");
// move objects that are needed after the change into the working window,
// and objects that are not needed into the object pool
@@ -563,7 +563,7 @@
iObjectFactory.CleanupObject( index, *( *iWindow )[ index ] );
// add the object to the unused objects pool
// cannot fail since reservation made
- ( void ) iUnusedObjects.Append( ( *iWindow )[ index ] );
+ ( void )iUnusedObjects.AppendL( ( *iWindow )[ index ] );
}
// clear the pointer in the existing window. it is not strictly necessary
@@ -732,7 +732,7 @@
// ---------------------------------------------------------------------------
// Test invariant
// ---------------------------------------------------------------------------
-void CGlxListWindow::__DbgTestInvariant() const
+EXPORT_C void CGlxListWindow::__DbgTestInvariant() const
{
TRACER("CGlxListWindow::__DbgTestInvariant");
--- a/ui/uiengine/medialists/src/glxmedia.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/src/glxmedia.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -153,7 +153,7 @@
// -----------------------------------------------------------------------------
// Gets the (file) size
// -----------------------------------------------------------------------------
-EXPORT_C TBool TGlxMedia::GetSize(TInt& aSize) const
+EXPORT_C TBool TGlxMedia::GetSize(TUint& aSize) const
{
TRACER("TGlxMedia::GetSize");
@@ -580,7 +580,7 @@
__DEBUG_ONLY( _iUserReservationCount-- );
- iUsers.Append( TMediaUser( &aUser, aIndex ) ); // Ignore error, cannot fail since reservation made
+ iUsers.AppendL( TMediaUser( &aUser, aIndex ) ); // Ignore error, cannot fail since reservation made
}
// -----------------------------------------------------------------------------
@@ -984,7 +984,7 @@
// ---------------------------------------------------------------------------
// Test invariant
// ---------------------------------------------------------------------------
-void CGlxMedia::__DbgTestInvariant() const
+EXPORT_C void CGlxMedia::__DbgTestInvariant() const
{
TRACER("CGlxMedia::__DbgTestInvariant");
--- a/ui/uiengine/medialists/src/glxmedialist.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/src/glxmedialist.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -39,6 +39,16 @@
#include "mglxmedialistobserver.h"
#include "glxmediastaticitemdefs.h"
+/**
+ * Min & Max wait interval for a modify event, in microseconds
+ * This is to allow thumbnail manager to procees the event first.
+ */
+const TInt KModifyEventMinWaitInterval = 2000000;
+const TInt KModifyEventMaxWaitInterval = 3000000;
+/**
+ * Maximum items count for minimum wait interval.
+ */
+const TInt KMaxItemsCount = 500;
namespace NGlxMediaList
{
/**
@@ -1327,7 +1337,7 @@
for (TInt level = 0; level < levels; level++)
{
TGlxMediaId id(aPath.Id(level));
- iPath.Append(id);
+ iPath.AppendL(id);
}
@@ -1530,6 +1540,28 @@
}
CleanupStack::PopAndDestroy(&itemIndices);
+ RPointerArray<CGlxMediaList>& mediaLists = iMediaListArray->Array();
+ TInt listCount = mediaLists.Count();
+ GLX_DEBUG2("ML:HandleItemModifiedL listCount=%d", listCount);
+ if (listCount > 0)
+ {
+ CGlxMediaList* mediaList = mediaLists[listCount-1];
+ if (mediaList == this)
+ {
+ GLX_DEBUG3("ML:HandleItemModifiedL(wait) listCount=%d, Id=%d",
+ listCount, id.Value());
+ TTimeIntervalMicroSeconds32 timeout;
+ timeout = (mediaList->Count() > KMaxItemsCount ?
+ KModifyEventMaxWaitInterval : KModifyEventMinWaitInterval );
+ RTimer timer;
+ CleanupClosePushL(timer);
+ TRequestStatus status;
+ timer.CreateLocal();
+ timer.After(status, timeout);
+ User::WaitForRequest(status);
+ CleanupStack::PopAndDestroy(&timer);
+ }
+ }
}
}
@@ -1757,6 +1789,7 @@
TRACER("CGlxMediaList::UpdateMedia");
TInt count = iItemList->Count();
+ GLX_DEBUG2("CGlxMediaList::UpdateMedia() count=%d", count);
for (TInt i = 0; i < count; ++i)
{
TGlxMedia& item = iItemList->Item( i );
@@ -1859,15 +1892,8 @@
{
TRACER("CGlxMediaList::CancelPreviousRequests");
- TInt focusIndex = FocusIndex();
- if(focusIndex >= KErrNone)
- {
- if(!Item(focusIndex).Properties())
- {
// If media is NULL, cancel the previous pending request.
// Place a new request for the item in focus, to fetch the media attributes
iManager->CancelPreviousRequest();
}
- }
- }
--- a/ui/uiengine/medialists/src/glxnavigablelist.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/src/glxnavigablelist.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -561,6 +561,7 @@
{
TRACER( "CGlxNavigableList::SelectionL");
+ CleanupClosePushL(aItemIds);
aItemIds.Reset();
// Reserve full required space to avoid reallocations during loop
@@ -571,6 +572,7 @@
{
aItemIds.AppendL( iItemList->Item( iSelectedItemIndices[ i ] ).Id() );
}
+ CleanupStack::Pop(&aItemIds);
}
// -----------------------------------------------------------------------------
@@ -924,7 +926,7 @@
// ---------------------------------------------------------------------------
// Test invariant
// ---------------------------------------------------------------------------
-void CGlxNavigableList::__DbgTestInvariant() const
+EXPORT_C void CGlxNavigableList::__DbgTestInvariant() const
{
TRACER( "CGlxNavigableList::__DbgTestInvariant");
--- a/ui/uiengine/medialists/src/glxstaticitemlist.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/src/glxstaticitemlist.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -720,7 +720,7 @@
// ---------------------------------------------------------------------------
// Test invariant
// ---------------------------------------------------------------------------
-void CGlxStaticItemList::__DbgTestInvariant() const
+EXPORT_C void CGlxStaticItemList::__DbgTestInvariant() const
{
TRACER( "CGlxStaticItemList::__DbgTestInvariant");
--- a/ui/uiengine/medialists/src/glxthumbnailcontext.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialists/src/glxthumbnailcontext.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -32,7 +32,6 @@
#include "glxmedialist.h"
#include "glxerrormanager.h"
#include "glxthumbnailutility.h"
-//#include "mglxcache.h"
#include "glxlistutils.h"
/**
@@ -80,10 +79,7 @@
void CGlxThumbnailContext::ConstructL()
{
TRACER( "CGlxThumbnailContext::ConstructL");
-
- //iCache = MGlxCache::InstanceL();
iResolutionUtility = CGlxResolutionUtility::InstanceL();
- // iResolutionUtility->AddObserverL( *this );
iDrmUtility = CGlxDRMUtility::InstanceL();
@@ -130,16 +126,9 @@
iSpecs.Close();
- if ( iResolutionUtility )
- {
- // iResolutionUtility->RemoveObserver( *this );
- iResolutionUtility->Close();
- }
+
- /*if ( iCache )
- {
- iCache->Close();
- }*/
+
}
// -----------------------------------------------------------------------------
@@ -363,17 +352,7 @@
return requestCount;
}
-// -----------------------------------------------------------------------------
-// HandleResolutionChanged
-// -----------------------------------------------------------------------------
-//
-/*void CGlxThumbnailContext::HandleResolutionChangedL()
- {
- TRACER( "CGlxThumbnailContext::HandleResolutionChanged");
-
- // Ask cache manager to refresh, to fetch thumbnails in new size
- iCache->RefreshL();
- }*/
+
// -----------------------------------------------------------------------------
// SelectItemL
--- a/ui/uiengine/medialistwrapper/inc/glxmlwrapper.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialistwrapper/inc/glxmlwrapper.h Wed Aug 18 09:48:53 2010 +0300
@@ -134,6 +134,7 @@
bool isSystemItem( int aItemIndex );
void handleTitleAvailable(QString aTitle);
+ bool isCorruptedImage( int index );
signals:
void updateItem(int index, GlxTBContextType tbContextType);
void insertItems(int startIndex,int endIndex);
--- a/ui/uiengine/medialistwrapper/inc/glxmlwrapper_p.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialistwrapper/inc/glxmlwrapper_p.h Wed Aug 18 09:48:53 2010 +0300
@@ -138,6 +138,7 @@
bool IsDrmProtected(int index );
bool IsDrmValid(int index);
void setDrmValid(int index,bool valid);
+ bool IsCorruptedImage( int aItemIndex );
private:
/**
--- a/ui/uiengine/medialistwrapper/src/glxmlwrapper.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialistwrapper/src/glxmlwrapper.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -308,7 +308,7 @@
//
void GlxMLWrapper::handleDetailsItemAvailable(int itemIndex)
{
-
+ Q_UNUSED( itemIndex )
emit updateDetails();
}
@@ -330,3 +330,7 @@
emit updateAlbumTitle(aTitle);
}
+bool GlxMLWrapper::isCorruptedImage( int index )
+{
+ return mMLWrapperPrivate->IsCorruptedImage( index );
+}
--- a/ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -41,6 +41,7 @@
#include "glxmlgenericobserver.h"
#include "glxattributeretriever.h"
#include "glxicondefs.h" //Contains the icon names/Ids
+#include "glxerrors.h"
//#define GLXPERFORMANCE_LOG
#include <glxperformancemacro.h>
@@ -94,8 +95,8 @@
iLsFsContextActivated(EFalse),
iPtFsContextActivated(EFalse),
iPtListContextActivated(EFalse),
- iSelectionListContextActivated(EFalse),
- iDetailsContextActivated(EFalse)
+ iDetailsContextActivated(EFalse),
+ iSelectionListContextActivated(EFalse)
{
TRACER("GlxMLWrapperPrivate::GlxMLWrapperPrivate");
iGridThumbnailContext = NULL;
@@ -700,12 +701,8 @@
{
GLX_LOG_INFO1("### GlxMLWrapperPrivate::HandleAttributesAvailableL GetIconInfo-Index is %d",aItemIndex);
}*/
- else if( tnError == KErrCANoRights) {
//handle DRM case
- }
- else if( tnError ) {
- return (new HbIcon(GLXICON_CORRUPT));
- }
+
GLX_LOG_INFO1("### GlxMLWrapperPrivate::RetrieveItemIcon value-Index is %d and have returned empty icon",aItemIndex);
return NULL;
@@ -884,7 +881,7 @@
int GlxMLWrapperPrivate::RetrieveItemSize(int aItemIndex)
{
const TGlxMedia& item = iMediaList->Item( aItemIndex );
- int itemSize ;
+ TUint itemSize ;
item.GetSize(itemSize);
return itemSize;
}
@@ -1187,7 +1184,7 @@
void GlxMLWrapperPrivate::CheckDetailsAttributes(TInt aItemIndex, const RArray<TMPXAttribute>& aAttributes)
{
qDebug("GlxMLWrapperPrivate::CheckDetailsAttributes");
- TBool attribPresent = EFalse;
+
TMPXAttribute titleAttrib(KMPXMediaGeneralComment);
TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match );
@@ -1196,7 +1193,7 @@
if (KErrNotFound != aAttributes.Find(titleAttrib, match))
{
qDebug("GlxMLWrapperPrivate::CheckDetailsAttributes TRUE");
- attribPresent = ETrue;
+
iMLWrapper->handleDetailsItemAvailable(aItemIndex);
GLX_LOG_INFO1("### GlxMLWrapperPrivate::CheckDetailsAttributes title present %d",aItemIndex);
}
@@ -1319,9 +1316,8 @@
QImage image(data, aBitmap->SizeInPixels().iWidth, aBitmap->SizeInPixels().iHeight, bytesPerLine, QImage::Format_RGB16);
QPixmap pixmap = QPixmap::fromImage(image);
- if ( aBitmap->SizeInPixels().iWidth > itemWidth || aBitmap->SizeInPixels().iHeight > itemHeight ) {
- pixmap = pixmap.scaled( itemWidth, itemHeight, Qt::KeepAspectRatio );
- }
+ pixmap = pixmap.scaled( itemWidth, itemHeight, Qt::KeepAspectRatio );
+
aBitmap->UnlockHeap();
HbIcon* targetIcon = new HbIcon( QIcon( pixmap ) );
@@ -1480,3 +1476,19 @@
}
}
+bool GlxMLWrapperPrivate::IsCorruptedImage( int aItemIndex )
+{
+ const TGlxMedia& item = iMediaList->Item( aItemIndex );
+ qDebug("GlxMLWrapperPrivate::IsCorruptedImage item property %u ", item.Properties() );
+ TInt tnError = GlxErrorManager::HasAttributeErrorL( item.Properties(), KGlxMediaIdThumbnail );
+ qDebug("GlxMLWrapperPrivate::IsCorruptedImage index %d error %d ", aItemIndex, tnError);
+ if ( KErrNone == tnError
+ || KErrNotSupported == tnError
+ || KErrCANoRights == tnError
+ || KErrGlxEmptyContainer == tnError ) {
+ return false ;
+ }
+ else {
+ return true ;
+ }
+}
--- a/ui/uiengine/model/bwins/glxlistmodelu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/model/bwins/glxlistmodelu.def Wed Aug 18 09:48:53 2010 +0300
@@ -29,4 +29,5 @@
?setData@GlxAlbumModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 28 NONAME ; bool GlxAlbumModel::setData(class QModelIndex const &, class QVariant const &, int)
?listPopulated@GlxAlbumModel@@IAEXXZ @ 29 NONAME ; void GlxAlbumModel::listPopulated(void)
?modelPopulated@GlxAlbumModel@@QAEXXZ @ 30 NONAME ; void GlxAlbumModel::modelPopulated(void)
+ ?getCorruptDefaultIcon@GlxAlbumModel@@ABEPAVHbIcon@@ABVQModelIndex@@@Z @ 31 NONAME ; class HbIcon * GlxAlbumModel::getCorruptDefaultIcon(class QModelIndex const &) const
--- a/ui/uiengine/model/bwins/glxmediamodelu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/model/bwins/glxmediamodelu.def Wed Aug 18 09:48:53 2010 +0300
@@ -1,42 +1,45 @@
EXPORTS
- ?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)
- ?updateDetailsView@GlxMediaModel@@IAEXXZ @ 38 NONAME ; void GlxMediaModel::updateDetailsView(void)
+ ?thumbnailPopulated@GlxMediaModel@@IAEXXZ @ 1 NONAME ; void GlxMediaModel::thumbnailPopulated(void)
+ ?metaObject@GlxMediaModel@@UBEPBUQMetaObject@@XZ @ 2 NONAME ; struct QMetaObject const * GlxMediaModel::metaObject(void) const
+ ?itemsAdded@GlxMediaModel@@QAEXHH@Z @ 3 NONAME ; void GlxMediaModel::itemsAdded(int, int)
+ ?getStaticMetaObject@GlxMediaModel@@SAABUQMetaObject@@XZ @ 4 NONAME ; struct QMetaObject const & GlxMediaModel::getStaticMetaObject(void)
+ ?updateItemIcon@GlxMediaModel@@AAEXHPAVHbIcon@@W4GlxTBContextType@@@Z @ 5 NONAME ; void GlxMediaModel::updateItemIcon(int, class HbIcon *, enum GlxTBContextType)
+ ?qt_metacast@GlxMediaModel@@UAEPAXPBD@Z @ 6 NONAME ; void * GlxMediaModel::qt_metacast(char const *)
+ ?rowCount@GlxMediaModel@@UBEHABVQModelIndex@@@Z @ 7 NONAME ; int GlxMediaModel::rowCount(class QModelIndex const &) const
+ ?setSelectedIndex@GlxMediaModel@@AAEXABVQModelIndex@@@Z @ 8 NONAME ; void GlxMediaModel::setSelectedIndex(class QModelIndex const &)
+ ?itemUpdated@GlxMediaModel@@QAEXHW4GlxTBContextType@@@Z @ 9 NONAME ; void GlxMediaModel::itemUpdated(int, enum GlxTBContextType)
+ ?setFocusIndex@GlxMediaModel@@AAEXABVQModelIndex@@@Z @ 10 NONAME ; void GlxMediaModel::setFocusIndex(class QModelIndex const &)
+ ?setContextMode@GlxMediaModel@@AAEXW4GlxContextMode@@@Z @ 11 NONAME ; void GlxMediaModel::setContextMode(enum GlxContextMode)
+ ?trUtf8@GlxMediaModel@@SA?AVQString@@PBD0H@Z @ 12 NONAME ; class QString GlxMediaModel::trUtf8(char const *, char const *, int)
+ ?staticMetaObject@GlxMediaModel@@2UQMetaObject@@B @ 13 NONAME ; struct QMetaObject const GlxMediaModel::staticMetaObject
+ ?GetGridIconItem@GlxMediaModel@@ABEPAVHbIcon@@HW4GlxTBContextType@@@Z @ 14 NONAME ; class HbIcon * GlxMediaModel::GetGridIconItem(int, enum GlxTBContextType) const
+ ??_EGlxMediaModel@@UAE@I@Z @ 15 NONAME ; GlxMediaModel::~GlxMediaModel(unsigned int)
+ ?getFocusIndex@GlxMediaModel@@ABE?AVQModelIndex@@XZ @ 16 NONAME ; class QModelIndex GlxMediaModel::getFocusIndex(void) const
+ ?getCorruptDefaultIcon@GlxMediaModel@@ABEPAVHbIcon@@ABVQModelIndex@@@Z @ 17 NONAME ; class HbIcon * GlxMediaModel::getCorruptDefaultIcon(class QModelIndex const &) const
+ ?tr@GlxMediaModel@@SA?AVQString@@PBD0H@Z @ 18 NONAME ; class QString GlxMediaModel::tr(char const *, char const *, int)
+ ?itemCorrupted@GlxMediaModel@@QAEXH@Z @ 19 NONAME ; void GlxMediaModel::itemCorrupted(int)
+ ?addExternalItems@GlxMediaModel@@QAEXPAV?$QList@UGlxInterfaceParams@@@@@Z @ 20 NONAME ; void GlxMediaModel::addExternalItems(class QList<struct GlxInterfaceParams> *)
+ ?modelpopulated@GlxMediaModel@@QAEXXZ @ 21 NONAME ; void GlxMediaModel::modelpopulated(void)
+ ?parent@GlxMediaModel@@UBE?AVQModelIndex@@ABV2@@Z @ 22 NONAME ; class QModelIndex GlxMediaModel::parent(class QModelIndex const &) const
+ ?tr@GlxMediaModel@@SA?AVQString@@PBD0@Z @ 23 NONAME ; class QString GlxMediaModel::tr(char const *, char const *)
+ ?itemsRemoved@GlxMediaModel@@QAEXHH@Z @ 24 NONAME ; void GlxMediaModel::itemsRemoved(int, int)
+ ?thumbnailPopulatedCheck@GlxMediaModel@@AAEXH@Z @ 25 NONAME ; void GlxMediaModel::thumbnailPopulatedCheck(int)
+ ?columnCount@GlxMediaModel@@UBEHABVQModelIndex@@@Z @ 26 NONAME ; int GlxMediaModel::columnCount(class QModelIndex const &) const
+ ?GetFsIconItem@GlxMediaModel@@ABEPAVHbIcon@@HW4GlxTBContextType@@@Z @ 27 NONAME ; class HbIcon * GlxMediaModel::GetFsIconItem(int, enum GlxTBContextType) const
+ ??1GlxMediaModel@@UAE@XZ @ 28 NONAME ; GlxMediaModel::~GlxMediaModel(void)
+ ?qt_metacall@GlxMediaModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 29 NONAME ; int GlxMediaModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?updateDetailsView@GlxMediaModel@@IAEXXZ @ 30 NONAME ; void GlxMediaModel::updateDetailsView(void)
+ ?albumTitleUpdated@GlxMediaModel@@QAEXVQString@@@Z @ 31 NONAME ; void GlxMediaModel::albumTitleUpdated(class QString)
+ ?setData@GlxMediaModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 32 NONAME ; bool GlxMediaModel::setData(class QModelIndex const &, class QVariant const &, int)
+ ?data@GlxMediaModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 33 NONAME ; class QVariant GlxMediaModel::data(class QModelIndex const &, int) const
+ ?clearExternalItems@GlxMediaModel@@QAEXXZ @ 34 NONAME ; void GlxMediaModel::clearExternalItems(void)
+ ?trUtf8@GlxMediaModel@@SA?AVQString@@PBD0@Z @ 35 NONAME ; class QString GlxMediaModel::trUtf8(char const *, char const *)
+ ?iconAvailable@GlxMediaModel@@IBEXHPAVHbIcon@@W4GlxTBContextType@@@Z @ 36 NONAME ; void GlxMediaModel::iconAvailable(int, class HbIcon *, enum GlxTBContextType) const
+ ?populated@GlxMediaModel@@IAEXXZ @ 37 NONAME ; void GlxMediaModel::populated(void)
+ ??0GlxMediaModel@@QAE@AAVGlxModelParm@@@Z @ 38 NONAME ; GlxMediaModel::GlxMediaModel(class GlxModelParm &)
?removeContextMode@GlxMediaModel@@AAEXW4GlxContextMode@@@Z @ 39 NONAME ; void GlxMediaModel::removeContextMode(enum GlxContextMode)
?updateDetailItems@GlxMediaModel@@QAEXXZ @ 40 NONAME ; void GlxMediaModel::updateDetailItems(void)
+ ?index@GlxMediaModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 41 NONAME ; class QModelIndex GlxMediaModel::index(int, int, class QModelIndex const &) const
+ ?GetExternalIconItem@GlxMediaModel@@ABEPAVHbIcon@@HW4GlxTBContextType@@@Z @ 42 NONAME ; class HbIcon * GlxMediaModel::GetExternalIconItem(int, enum GlxTBContextType) const
+ ?albumTitleAvailable@GlxMediaModel@@IAEXVQString@@@Z @ 43 NONAME ; void GlxMediaModel::albumTitleAvailable(class QString)
--- a/ui/uiengine/model/eabi/glxlistmodelu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/model/eabi/glxlistmodelu.def Wed Aug 18 09:48:53 2010 +0300
@@ -29,4 +29,5 @@
_ZTV13GlxAlbumModel @ 28 NONAME
_ZN13GlxAlbumModel13listPopulatedEv @ 29 NONAME
_ZN13GlxAlbumModel14modelPopulatedEv @ 30 NONAME
+ _ZNK13GlxAlbumModel21getCorruptDefaultIconERK11QModelIndex @ 31 NONAME
--- a/ui/uiengine/model/eabi/glxmediamodelu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/model/eabi/glxmediamodelu.def Wed Aug 18 09:48:53 2010 +0300
@@ -1,8 +1,8 @@
EXPORTS
_ZN13GlxMediaModel10itemsAddedEii @ 1 NONAME
- _ZN13GlxMediaModel11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
- _ZN13GlxMediaModel11qt_metacastEPKc @ 3 NONAME
- _ZN13GlxMediaModel12itemUpdated1Ei16GlxTBContextType @ 4 NONAME
+ _ZN13GlxMediaModel11itemUpdatedEi16GlxTBContextType @ 2 NONAME
+ _ZN13GlxMediaModel11qt_metacallEN11QMetaObject4CallEiPPv @ 3 NONAME
+ _ZN13GlxMediaModel11qt_metacastEPKc @ 4 NONAME
_ZN13GlxMediaModel12itemsRemovedEii @ 5 NONAME
_ZN13GlxMediaModel13itemCorruptedEi @ 6 NONAME
_ZN13GlxMediaModel13setFocusIndexERK11QModelIndex @ 7 NONAME
@@ -13,30 +13,33 @@
_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
- _ZN13GlxMediaModel17removeContextModeE14GlxContextMode @ 38 NONAME
- _ZN13GlxMediaModel17updateDetailItemsEv @ 39 NONAME
- _ZN13GlxMediaModel17updateDetailsViewEv @ 40 NONAME
+ _ZN13GlxMediaModel17removeContextModeE14GlxContextMode @ 15 NONAME
+ _ZN13GlxMediaModel17updateDetailItemsEv @ 16 NONAME
+ _ZN13GlxMediaModel17updateDetailsViewEv @ 17 NONAME
+ _ZN13GlxMediaModel18clearExternalItemsEv @ 18 NONAME
+ _ZN13GlxMediaModel18thumbnailPopulatedEv @ 19 NONAME
+ _ZN13GlxMediaModel19albumTitleAvailableE7QString @ 20 NONAME
+ _ZN13GlxMediaModel19getStaticMetaObjectEv @ 21 NONAME
+ _ZN13GlxMediaModel23thumbnailPopulatedCheckEi @ 22 NONAME
+ _ZN13GlxMediaModel7setDataERK11QModelIndexRK8QVarianti @ 23 NONAME
+ _ZN13GlxMediaModel9populatedEv @ 24 NONAME
+ _ZN13GlxMediaModelC1ER12GlxModelParm @ 25 NONAME
+ _ZN13GlxMediaModelC2ER12GlxModelParm @ 26 NONAME
+ _ZN13GlxMediaModelD0Ev @ 27 NONAME
+ _ZN13GlxMediaModelD1Ev @ 28 NONAME
+ _ZN13GlxMediaModelD2Ev @ 29 NONAME
+ _ZNK13GlxMediaModel10metaObjectEv @ 30 NONAME
+ _ZNK13GlxMediaModel11columnCountERK11QModelIndex @ 31 NONAME
+ _ZNK13GlxMediaModel13GetFsIconItemEi16GlxTBContextType @ 32 NONAME
+ _ZNK13GlxMediaModel13getFocusIndexEv @ 33 NONAME
+ _ZNK13GlxMediaModel13iconAvailableEiP6HbIcon16GlxTBContextType @ 34 NONAME
+ _ZNK13GlxMediaModel15GetGridIconItemEi16GlxTBContextType @ 35 NONAME
+ _ZNK13GlxMediaModel19GetExternalIconItemEi16GlxTBContextType @ 36 NONAME
+ _ZNK13GlxMediaModel21getCorruptDefaultIconERK11QModelIndex @ 37 NONAME
+ _ZNK13GlxMediaModel4dataERK11QModelIndexi @ 38 NONAME
+ _ZNK13GlxMediaModel5indexEiiRK11QModelIndex @ 39 NONAME
+ _ZNK13GlxMediaModel6parentERK11QModelIndex @ 40 NONAME
+ _ZNK13GlxMediaModel8rowCountERK11QModelIndex @ 41 NONAME
+ _ZTI13GlxMediaModel @ 42 NONAME
+ _ZTV13GlxMediaModel @ 43 NONAME
--- a/ui/uiengine/model/listmodel/inc/glxalbummodel.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/model/listmodel/inc/glxalbummodel.h Wed Aug 18 09:48:53 2010 +0300
@@ -64,6 +64,7 @@
void setSelectedIndex(const QModelIndex &index);
QModelIndex getFocusIndex() const;
HbIcon* GetPreviewIconItem(int itemIndex, GlxTBContextType tbContextType) const;
+ HbIcon *getCorruptDefaultIcon ( const QModelIndex &index ) const;
signals :
void iconAvailable(int itemIndex, HbIcon* itemIcon, GlxTBContextType tbContextType) const;
@@ -83,6 +84,8 @@
HbIcon* mDefaultIcon;
QCache<int, HbIcon> itemIconCache;
int mTempVisibleWindowIndex;
+ HbIcon* m_CorruptIcon;
+ int mSubState;
};
#endif /* GLXALBUMMODEL_H */
--- a/ui/uiengine/model/listmodel/src/glxalbummodel.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/model/listmodel/src/glxalbummodel.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -25,14 +25,10 @@
#include "glxicondefs.h" //Contains the icon names/Ids
-const QColor KListOddRowColor(211, 211, 211, 127);
-const QColor KListEvenRowColor(255, 250, 250, 127);
-
-
GlxAlbumModel::GlxAlbumModel(GlxModelParm & modelParm):mContextMode(GlxContextInvalid)
{
qDebug("GlxAlbumModel::GlxAlbumModel()");
-
+ mSubState = -1;
mMLWrapper = new GlxMLWrapper(modelParm.collection(),modelParm.depth(),modelParm.filterType());
// mMLWrapper->setContextMode(GlxContextPtList);
// mContextMode = GlxContextPtList;
@@ -41,6 +37,7 @@
//todo get this Default icon from some generic path and not directly.
mDefaultIcon = new HbIcon(GLXICON_DEFAULT);
+ m_CorruptIcon = new HbIcon( GLXICON_CORRUPT );
int err = connect(mMLWrapper, SIGNAL(updateItem(int, GlxTBContextType)), this, SLOT(itemUpdated1(int, GlxTBContextType)));
qDebug("updateItem() connection status %d", err);
@@ -61,6 +58,7 @@
qDebug("GlxAlbumModel::~GlxAlbumModel()");
delete mDefaultIcon;
mDefaultIcon = NULL;
+ delete m_CorruptIcon;
int err = disconnect(mMLWrapper, SIGNAL(updateItem(int, GlxTBContextType)), this, SLOT(itemUpdated1(int, GlxTBContextType)));
err = disconnect(mMLWrapper, SIGNAL(insertItems(int, int)), this, SLOT(itemsAdded(int, int)));
err = disconnect(mMLWrapper, SIGNAL(removeItems(int, int)), this, SLOT(itemsRemoved(int, int)));
@@ -103,6 +101,10 @@
HbIcon* itemIcon = NULL;
QModelIndex idx;
+ if ( role == GlxSubStateRole ){
+ return mSubState;
+ }
+
if ( (!index.isValid()) || (rowIndex >= rowCount()) ) {
return QVariant();
}
@@ -117,7 +119,7 @@
case Qt::DecorationRole :
if(mContextMode == GlxContextSelectionList){
- return HbIcon();
+ return QVariant();
}
else
{
@@ -128,21 +130,10 @@
}
else {
qDebug("GlxAlbumModel::data, Item inValid");
- itemIcon = mDefaultIcon;
+ itemIcon = getCorruptDefaultIcon( index ) ;;
return *itemIcon;
}
}
- case Qt::BackgroundRole:
- {
- if (rowIndex % 2 == 0)
- {
- return QBrush(KListEvenRowColor);
- }
- else
- {
- return QBrush(KListOddRowColor);
- }
- }
case GlxFocusIndexRole :
idx = getFocusIndex();
@@ -160,6 +151,13 @@
return QVariant();
}
}
+HbIcon * GlxAlbumModel::getCorruptDefaultIcon( const QModelIndex &index ) const
+{
+ if ( mMLWrapper->isCorruptedImage( index.row() ) ) {
+ return m_CorruptIcon ;
+ }
+ return mDefaultIcon ;
+}
bool GlxAlbumModel::setData ( const QModelIndex & idx, const QVariant & value, int role )
{
@@ -171,6 +169,11 @@
return TRUE;
}
}
+
+ if ( role == GlxSubStateRole && value.isValid() && value.canConvert <int> ()) {
+ mSubState = value.value <int> () ;
+ return TRUE;
+ }
if ( GlxFocusIndexRole == role ) {
if ( value.isValid() && value.canConvert <int> () ) {
@@ -247,11 +250,18 @@
void GlxAlbumModel::modelPopulated()
{
if ( mTempVisibleWindowIndex!=-1) {
+ //Set the visible Window index only ff the index stored in the activity manager is not out of range
+ if(rowCount() > mTempVisibleWindowIndex && mTempVisibleWindowIndex > 0) {
mMLWrapper->setVisibleWindowIndex(mTempVisibleWindowIndex);
+ }
+ else {
+ mMLWrapper->setVisibleWindowIndex(0);
+ }
mTempVisibleWindowIndex = -1;
+ }
emit listPopulated();
}
-}
+
void GlxAlbumModel::itemUpdated1(int mlIndex,GlxTBContextType tbContextType )
{
Q_UNUSED(tbContextType);
@@ -265,6 +275,7 @@
{
qDebug("GlxAlbumModel::itemsAdded %d %d", startIndex, endIndex);
beginInsertRows(QModelIndex(), startIndex, endIndex);
+ itemIconCache.clear();
endInsertRows();
}
@@ -272,6 +283,7 @@
{
qDebug("GlxAlbumModel::itemsRemoved %d %d", startIndex, endIndex);
beginRemoveRows(QModelIndex(), startIndex, endIndex);
+ itemIconCache.clear();
endRemoveRows();
//emit rowsRemoved(index(startIndex,0), startIndex, endIndex );
--- a/ui/uiengine/model/mediamodel/inc/glxmediamodel.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/model/mediamodel/inc/glxmediamodel.h Wed Aug 18 09:48:53 2010 +0300
@@ -43,76 +43,227 @@
{
Q_OBJECT
public :
-
- GlxMediaModel(GlxModelParm & modelParm);
- ~GlxMediaModel();
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- int columnCount(const QModelIndex &parent = QModelIndex()) const;
- QModelIndex parent(const QModelIndex &child) const;
- QVariant data(const QModelIndex &index, int role) const;
- bool setData ( const QModelIndex & index, const QVariant & value, int role = Qt::EditRole);
- QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
+ /**
+ * Constructor
+ * @param - model parm struct collectionID, depth, filter, context mode etc
+ */
+ GlxMediaModel( GlxModelParm & modelParm );
- /*
- *for setting external image data to the model.
+ /**
+ * Destructor
+ */
+ ~GlxMediaModel();
+
+ /**
+ * rowCount() - return the number of rows in the model.
+ * @param - parent model index, not used
+ */
+ int rowCount( const QModelIndex &parent = QModelIndex() ) const;
+
+ /**
+ * columnCount() - return 1
+ * @param - parent model index, not used
+ */
+ int columnCount( const QModelIndex &parent = QModelIndex() ) const;
+
+ /**
+ * parent() - return the model index of the child.
+ * It always return invalid model index since no there is no parent
+ */
+ QModelIndex parent( const QModelIndex &child ) const;
+
+ /**
+ * data() - return the data of corresponding role.
+ * @param - model index of interested item.
+ * @param - role of corresponding data.
+ */
+ QVariant data( const QModelIndex &index, int role ) const;
+
+ /**
+ * setData() - to set the data for corresponding item and role.
+ * @param - model index of interested item.
+ * @param - data of the item
+ * @param - role of corresponding data.
+ */
+ bool setData ( const QModelIndex & index, const QVariant & value, int role = Qt::EditRole );
+
+ /**
+ * index - create a new model index for an item.
+ * @param - row index of the item.
+ * @param - column index of the item, it is always one.
+ */
+ QModelIndex index( int row, int column, const QModelIndex &parent = QModelIndex() ) const;
+
+ /**
+ * addExternalItems() - for setting external image data to the model.
*/
- void addExternalItems(GlxExternalData* externalItems);
- /*
- *for removing all external image data from the model.
- */
+ void addExternalItems( GlxExternalData* externalItems );
+
+ /**
+ * clearExternalItems() - for removing all external image data from the model.
+ */
void clearExternalItems();
- /*
- * for checking if the item is editab
- */
signals :
- void albumTitleAvailable(QString aTitle);
+ /**
+ * albumTitleAvailable() - emit this signal when album title is available.
+ * @parma - album title
+ */
+ void albumTitleAvailable( QString aTitle );
+
+ /**
+ * populated() - emit this signal once medialist is populated
+ */
void populated();
+
+ /**
+ * thumbnailPopulated() - emit the signal once some initial page of thumbnail are loaded
+ * into cache.
+ */
+ void thumbnailPopulated();
+
+ /**
+ * iconAvailable() - emit the signal to update the icon in the cache.
+ * @param - item index
+ * @param - HbIcon
+ * @param - media list context type
+ */
+ void iconAvailable( int itemIndex, HbIcon* itemIcon, GlxTBContextType tbContextType ) const;
+
+ /**
+ * updateDetailsView() - emit the signal to update the details view
+ */
+ void updateDetailsView();
private:
- HbIcon* GetGridIconItem(int itemIndex, GlxTBContextType tbContextType) const;
- HbIcon* GetFsIconItem(int itemIndex,GlxTBContextType tbContextType)const;
- HbIcon* GetExternalIconItem(int itemIndex,GlxTBContextType tbContextType)const;
-/**
- * for setting the attribute context mode will be used mainly for retreiving thumbnail of different sizes.
- */
- void setContextMode(GlxContextMode contextMode);
- /*
- *Removes the context
+ /**
+ * GetGridIconItem() - To fetch the grid size thumbnail
+ * @param - item index
+ * @param - media list context type
+ * @return - return the hbicon of the item
+ */
+ HbIcon* GetGridIconItem( int itemIndex, GlxTBContextType tbContextType ) const;
+
+ /**
+ * GetFsIconItem() - To fetch the full screen size thumbnail
+ * @param - item index
+ * @param - media list context type
+ * @return - return the hbicon of the item
+ */
+ HbIcon* GetFsIconItem( int itemIndex,GlxTBContextType tbContextType )const;
+
+ /**
+ * GetExternalIconItem() - To fetch the grid size thumbnail of external item.
+ * @param - item index
+ * @param - media list context type
+ * @return - return the hbicon of the item
+ */
+ HbIcon* GetExternalIconItem( int itemIndex,GlxTBContextType tbContextType )const;
+
+ /**
+ * setContextMode() - for setting the attribute context mode will be used mainly for
+ * retreiving thumbnail of different sizes.
+ */
+ void setContextMode( GlxContextMode contextMode );
+
+ /**
+ *removeContextMode() - Removes the context
*/
- void removeContextMode(GlxContextMode contextMode);
- void setFocusIndex(const QModelIndex &index);
+ void removeContextMode( GlxContextMode contextMode );
+
+ /**
+ * setFocusIndex() - To set the focus index in medialist
+ * @param - selected item index( focus index )
+ */
+ void setFocusIndex( const QModelIndex &index );
+
+ /**
+ * getFocusIndex() - Retrun the focus index from the medialist.
+ * @return - focus index.
+ */
QModelIndex getFocusIndex() const;
- void setSelectedIndex(const QModelIndex &index);
-
+
+ /**
+ * setSelectedIndex() - To make the item as seleted in media list to perform some coomand.
+ * @param - selected item index
+ */
+ void setSelectedIndex( const QModelIndex &index );
-
-signals :
- void iconAvailable(int itemIndex, HbIcon* itemIcon, GlxTBContextType tbContextType) const;
- /*
- *signal to update the details view
- */
- void updateDetailsView();
+ /**
+ * getCorruptDefaultIcon() - IT will return the corrupt icon if item is corrupted else return the
+ * default item.
+ * @param - item index
+ */
+ HbIcon *getCorruptDefaultIcon ( const QModelIndex &index ) const;
+
+ /**
+ * thumbnailPopulatedCheck() - To check the some initial page of item is loaded into cache or not
+ * @param - loaded thumbnail image index in cache.
+ */
+ void thumbnailPopulatedCheck( int index );
+
public slots:
- void itemUpdated1(int mlIndex, GlxTBContextType tbContextType);
- void itemsAdded(int startIndex, int endIndex);
- void itemsRemoved(int startIndex, int endIndex);
- void itemCorrupted(int itemIndex);
- void albumTitleUpdated(QString aTitle);
+ /**
+ * itemUpdated() - call back fuction, when thumbnail is added into cache.
+ * It remove the icon from the local cache and emit the signal of data change.
+ * @param - item index
+ * @param - media list context type
+ */
+ void itemUpdated( int mlIndex, GlxTBContextType tbContextType );
+
+ /**
+ * itemsAdded() - call back function when new items are added into collection.
+ * @param - start index of the newly added item
+ * @param - end endex of the newlyadd item
+ */
+ void itemsAdded( int startIndex, int endIndex );
+
+ /**
+ * itemsRemoved() - call back function when some item are removed from the collection.
+ * @param - start index of the remove items
+ * @param - end endex of the remove items
+ */
+ void itemsRemoved( int startIndex, int endIndex );
+
+ /**
+ * itemCorrupted() - call back function, when a item is corrupted.
+ * @param - index of the corrupt item
+ */
+ void itemCorrupted( int itemIndex );
+
+ /**
+ * albumTitleUpdated() - call back function, when a album collection title is available.
+ * @param - title of the album.
+ */
+ void albumTitleUpdated( QString aTitle );
+
+ /**
+ * modelpopulated() - callback function, when meida list item is populated.
+ * It set the visual window index and emit the signal to view about it.
+ */
void modelpopulated();
- /*
- *Emits signal to update the details view
+
+ /**
+ * updateDetailItems() - Emits signal to update the details view
*/
void updateDetailItems();
-protected:
private slots:
- void updateItemIcon(int itemIndex, HbIcon* itemIcon, GlxTBContextType tbContextType);
+ /**
+ * updateItemIcon() - update the icon into local cache.
+ * @param - item index
+ * @param - HbIcon
+ * @param - media list context type
+ */
+ void updateItemIcon( int itemIndex, HbIcon* itemIcon, GlxTBContextType tbContextType );
+
private:
GlxMLWrapper* mMLWrapper;
QCache<int, HbIcon> itemIconCache;
QCache<int, HbIcon> itemFsIconCache;
HbIcon* m_DefaultIcon;
+ HbIcon* m_CorruptIcon;
+
GlxContextMode mContextMode;
//for external data to be populated by model
GlxExternalData* mExternalItems;
@@ -122,6 +273,7 @@
int mSubState;
GlxDRMUtilityWrapper* mDRMUtilityWrapper;
int mTempVisibleWindowIndex;
+ bool thumbnailPopulatedFlag;
};
--- a/ui/uiengine/model/mediamodel/src/glxmediamodel.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/model/mediamodel/src/glxmediamodel.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -33,17 +33,23 @@
#include <glxperformancemacro.h>
#include "glxicondefs.h" //Contains the icon names/Ids
-#include<glxviewids.h>
+#include "glxcollectionpluginall.hrh"
+#include "glxviewids.h"
+
+#define DELTA_IMAGE 5
+#define INITIAL_POPULATE_IMAGE_COUNT 30
GlxMediaModel::GlxMediaModel(GlxModelParm & modelParm)
{
qDebug("GlxMediaModel::GlxMediaModel");
+ thumbnailPopulatedFlag = modelParm.collection() == KGlxCollectionPluginAllImplementationUid ? false : true;
mMLWrapper = new GlxMLWrapper(modelParm.collection(),0,EGlxFilterImage);
mMLWrapper->setContextMode( modelParm.contextMode() );
mContextMode = modelParm.contextMode( ) ;
mDRMUtilityWrapper = new GlxDRMUtilityWrapper();
- int err = connect(mMLWrapper, SIGNAL(updateItem(int, GlxTBContextType)), this, SLOT(itemUpdated1(int, GlxTBContextType)));
+
+ int err = connect(mMLWrapper, SIGNAL(updateItem(int, GlxTBContextType)), this, SLOT(itemUpdated(int, GlxTBContextType)));
qDebug("updateItem() connection status %d", err);
err = connect(mMLWrapper, SIGNAL(itemCorrupted(int)), this, SLOT(itemCorrupted(int)));
qDebug("itemCorrupted() connection status %d", err);
@@ -62,8 +68,8 @@
itemFsIconCache.setMaxCost(5);
itemExternalIconCache.setMaxCost(0);
- //todo get this Default icon from some generic path and not directly.
- m_DefaultIcon = new HbIcon(GLXICON_DEFAULT);
+ m_DefaultIcon = new HbIcon( GLXICON_DEFAULT );
+ m_CorruptIcon = new HbIcon( GLXICON_CORRUPT );
mExternalItems = NULL;
externalDataCount = 0;
mFocusIndex = -1;
@@ -79,15 +85,9 @@
itemFsIconCache.clear();
delete m_DefaultIcon;
m_DefaultIcon = NULL;
+ delete m_CorruptIcon;
+ m_CorruptIcon = NULL;
clearExternalItems();
- int err = disconnect(mMLWrapper, SIGNAL(updateItem(int, GlxTBContextType)), this, SLOT(itemUpdated1(int, GlxTBContextType)));
- err = disconnect(mMLWrapper, SIGNAL(itemCorrupted(int)), this, SLOT(itemCorrupted(int)));
- err = disconnect(mMLWrapper, SIGNAL(insertItems(int, int)), this, SLOT(itemsAdded(int, int)));
- err = disconnect(mMLWrapper, SIGNAL(removeItems(int, int)), this, SLOT(itemsRemoved(int, int)));
- 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()));
- err = disconnect(mMLWrapper, SIGNAL(updateDetails()), this, SLOT(updateDetailItems()));
delete mMLWrapper;
delete mDRMUtilityWrapper;
}
@@ -177,12 +177,11 @@
//todo refactor this whole function ... too many return statements are not good
-QVariant GlxMediaModel::data(const QModelIndex &index, int role) const
+QVariant GlxMediaModel::data( const QModelIndex &index, int role ) const
{
- if (role == GlxViewTitle)
- {
+ if (role == GlxViewTitle) {
return mMLWrapper->retrieveViewTitle();
- }
+ }
if(role == GlxPopulated) {
return mMLWrapper->IsPopulated();
@@ -204,12 +203,11 @@
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);
- }
+ return m_DefaultIcon->pixmap().toImage().convertToFormat(QImage::Format_ARGB32_Premultiplied);
+ }
else {
return QImage();
- }
-
+ }
}
HbIcon* itemIcon = NULL;
@@ -220,31 +218,18 @@
return QVariant();
}
-//external data are always placed at the beginning of the Media List
-//Check if the index can be mapped to the external data
-//if not then map the index to Ml Index
- if(itemIndex < externalDataCount) {
- if(role == Qt::DecorationRole || role == GlxFsImageRole){
- return *(GetExternalIconItem(itemIndex,GlxTBContextExternal));
- }
- }
- else {
- itemIndex -= externalDataCount;
- }
-
-//retrieve Data from Media List
- if (role == Qt::DecorationRole) {
+ //retrieve Data from Media List
+ if ( role == Qt::DecorationRole ) {
itemIcon = GetGridIconItem(itemIndex,GlxTBContextGrid);
- if(itemIcon == NULL || itemIcon->isNull() ){
- itemIcon = m_DefaultIcon;
+ if( itemIcon == NULL || itemIcon->isNull() ) {
+ itemIcon = getCorruptDefaultIcon( index );
}
return *itemIcon;
}
- if (role == GlxQImageSmall)
- {
+ if (role == GlxQImageSmall) {
return mMLWrapper->retrieveItemImage(itemIndex, GlxTBContextGrid);
- }
+ }
if (role == GlxFsImageRole){
if(mContextMode == GlxContextLsFs){
@@ -254,14 +239,17 @@
itemIcon = GetFsIconItem(itemIndex,GlxTBContextPtFs);
}
- if ( itemIcon == NULL) {
- //itemIcon = GetGridIconItem(itemIndex,GlxTBContextGrid);
+ if ( itemIcon == NULL ) {
HbIcon* tempIcon = GetGridIconItem( itemIndex, GlxTBContextGrid );
if (tempIcon && !tempIcon->isNull()) {
qDebug("GlxMediaModel::scaling thumbnail");
QPixmap tempPixmap = tempIcon->qicon().pixmap(128, 128);
+ QSize itemSize = mMLWrapper->retrieveItemDimension(itemIndex);
QSize sz = ( mContextMode == GlxContextLsFs ) ? QSize ( 640, 360) : QSize ( 360, 640 );
- tempPixmap = tempPixmap.scaled(sz, Qt::KeepAspectRatio );
+ if( !( ( itemSize.width() < sz.width() ) && ( itemSize.height() < sz.height() ) ) ) {
+ itemSize.scale(sz, Qt::KeepAspectRatio);
+ }
+ tempPixmap = tempPixmap.scaled(itemSize, Qt::IgnoreAspectRatio );
HbIcon tmp = HbIcon( QIcon(tempPixmap)) ;
if(!tmp.isNull()){
return tmp;
@@ -270,79 +258,76 @@
}
if ( itemIcon == NULL || itemIcon->isNull() ) {
- itemIcon = m_DefaultIcon;
+ itemIcon = getCorruptDefaultIcon( index ) ;
}
return *itemIcon;
}
- if (role == GlxQImageLarge)
- {
- if(mContextMode == GlxContextLsFs)
- {
+ if (role == GlxQImageLarge) {
+ if(mContextMode == GlxContextLsFs) {
itemImage = mMLWrapper->retrieveItemImage(itemIndex, GlxTBContextLsFs);
- }
- else
- {
+ }
+ else {
itemImage = mMLWrapper->retrieveItemImage(itemIndex, GlxTBContextPtFs);
- }
- if(!itemImage.isNull())
- {
+ }
+ if(!itemImage.isNull()) {
return itemImage;
- }
- else
- {
+ }
+ else {
itemImage = mMLWrapper->retrieveItemImage(itemIndex, GlxTBContextGrid);
- if (!itemImage.isNull())
- {
+ if (!itemImage.isNull()) {
QSize sz = ( mContextMode == GlxContextLsFs ) ? QSize ( 640, 360) : QSize ( 360, 640 );
itemImage = itemImage.scaled(sz,Qt::KeepAspectRatio);
- }
- return itemImage;
}
+ return itemImage;
}
+ }
- if (role == GlxVisualWindowIndex)
- {
+ if (role == GlxVisualWindowIndex) {
return mMLWrapper->getVisibleWindowIndex();
- }
+ }
QModelIndex idx;
if ( GlxFocusIndexRole == role ) {
idx = getFocusIndex();
return idx.row();
}
+
if(role == GlxUriRole) {
return (mMLWrapper->retrieveItemUri(itemIndex));
}
+
if(role == GlxDimensionsRole) {
return (mMLWrapper->retrieveItemDimension(itemIndex));
}
if(role == GlxDateRole ) {
- qDebug("GlxMediaModel::data GlxDateRole ");
return (mMLWrapper->retrieveItemDate(itemIndex));
}
if (role == GlxFrameCount) {
- qDebug("GlxMediaModel:: GlxFrameCount ");
- return (mMLWrapper->retrieveItemFrameCount(itemIndex));
+ return (mMLWrapper->retrieveItemFrameCount(itemIndex));
}
if (role == GlxHdmiBitmap) {
return mMLWrapper->RetrieveBitmap(itemIndex);
}
+
+ if ( role == GlxImageCorruptRole ) {
+ return mMLWrapper->isCorruptedImage( itemIndex );
+ }
if (role == GlxTimeRole) {
return mMLWrapper->retrieveItemTime(itemIndex);
}
if (role == GlxSizeRole) {
- return mMLWrapper->retrieveItemSize(itemIndex);
- }
+ return mMLWrapper->retrieveItemSize(itemIndex);
+ }
- if (role == GlxDescRole) {
- return mMLWrapper->retrieveListDesc(itemIndex);
- }
+ if (role == GlxDescRole) {
+ return mMLWrapper->retrieveListDesc(itemIndex);
+ }
return QVariant();
}
@@ -411,32 +396,43 @@
}
-void GlxMediaModel::itemUpdated1(int mlIndex,GlxTBContextType tbContextType )
+void GlxMediaModel::itemUpdated(int mlIndex,GlxTBContextType tbContextType )
{
qDebug("GlxMediaModel::itemUpdated %d", mlIndex);
//clear the grid and FS cache if they have any icons with them for that index
- if(tbContextType == GlxTBContextGrid) {
- itemIconCache.remove(mlIndex);
+ if( tbContextType == GlxTBContextGrid ) {
+ if ( !thumbnailPopulatedFlag ) {
+ thumbnailPopulatedCheck( mlIndex );
+ }
+ itemIconCache.remove(mlIndex);
}
if(tbContextType == GlxTBContextLsFs || tbContextType == GlxTBContextPtFs) {
itemFsIconCache.remove(mlIndex);
}
- emit dataChanged(index(mlIndex+externalDataCount,0),index(mlIndex+externalDataCount,0));
-
+ emit dataChanged( index( mlIndex , 0 ), index( mlIndex, 0 ) );
}
void GlxMediaModel::itemCorrupted(int itemIndex)
{
qDebug("GlxMediaModel::itemCorrupted %d", itemIndex);
- emit dataChanged(index(itemIndex+externalDataCount,0),index(itemIndex+externalDataCount,0));
+ if ( !thumbnailPopulatedFlag ) {
+ thumbnailPopulatedCheck( itemIndex );
+ }
+ emit dataChanged( index( itemIndex , 0 ), index( itemIndex, 0 ) );
}
void GlxMediaModel::modelpopulated()
{
if ( mTempVisibleWindowIndex!=-1) {
- mMLWrapper->setVisibleWindowIndex(mTempVisibleWindowIndex);
+ //Set the visible Window index only ff the index stored in the activity manager is not out of range
+ if( rowCount() > mTempVisibleWindowIndex && mTempVisibleWindowIndex > 0 ) {
+ mMLWrapper->setVisibleWindowIndex(mTempVisibleWindowIndex);
+ }
+ else {
+ mMLWrapper->setVisibleWindowIndex(0);
+ }
mTempVisibleWindowIndex = -1;
- }
+ }
emit populated();
}
@@ -550,6 +546,24 @@
mMLWrapper->setSelectedIndex(itemIndex);
}
+HbIcon * GlxMediaModel::getCorruptDefaultIcon( const QModelIndex &index ) const
+{
+ if ( mMLWrapper->isCorruptedImage( index.row() ) ) {
+ return m_CorruptIcon ;
+ }
+ return m_DefaultIcon ;
+}
+
+void GlxMediaModel::thumbnailPopulatedCheck( int index )
+{
+ int count = rowCount() - DELTA_IMAGE ;
+ int maxRange = INITIAL_POPULATE_IMAGE_COUNT + DELTA_IMAGE ;
+ if ( index >= count || ( index >= INITIAL_POPULATE_IMAGE_COUNT && index < maxRange ) ) {
+ thumbnailPopulatedFlag = TRUE;
+ emit thumbnailPopulated();
+ }
+}
+
bool GlxMediaModel::setData ( const QModelIndex & idx, const QVariant & value, int role )
{
Q_UNUSED( idx )
--- a/ui/uiengine/model/modelwrapper/src/glxmodelwrapper.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/uiengine/model/modelwrapper/src/glxmodelwrapper.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -173,7 +173,20 @@
void GlxModelWrapper::dataChangedinModel(QModelIndex startIndex, QModelIndex endIndex)
{
- emit dataChanged(index(startIndex.row(),startIndex.column()),index(endIndex.row(),endIndex.column()));
+ int aStartRow = startIndex.row();
+
+ if((aStartRow == 14) || (aStartRow+1 == rowCount()))
+ {
+ emit dataChanged(index(0,0),index(endIndex.row(),0));
+ }
+ else if(aStartRow >= 15)
+ {
+ emit dataChanged(index(aStartRow,0),index(endIndex.row(),0));
+ }
+ else
+ {
+ // Do Nothing
+ }
}
void GlxModelWrapper::rowsAboutToBeInserted(const QModelIndex &parent,int start,int end)
--- a/ui/viewmanagement/bwins/glxstatehandleru.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/bwins/glxstatehandleru.def Wed Aug 18 09:48:53 2010 +0300
@@ -1,42 +1,46 @@
EXPORTS
- ?metaObject@GlxStateManager@@UBEPBUQMetaObject@@XZ @ 1 NONAME ; struct QMetaObject const * GlxStateManager::metaObject(void) const
- ?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)
- ?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)
- ?eventFilter@GlxStateManager@@UAE_NPAVQObject@@PAVQEvent@@@Z @ 36 NONAME ; bool GlxStateManager::eventFilter(class QObject *, class QEvent *)
- ?vanishProgressDialog@GlxStateManager@@AAEXXZ @ 37 NONAME ; void GlxStateManager::vanishProgressDialog(void)
- ?launchProgressDialog@GlxStateManager@@AAEXXZ @ 38 NONAME ; void GlxStateManager::launchProgressDialog(void)
- ?saveData@GlxStateManager@@QAEXXZ @ 39 NONAME ; void GlxStateManager::saveData(void)
- ?launchActivity@GlxStateManager@@AAE_NXZ @ 40 NONAME ; bool GlxStateManager::launchActivity(void)
+ ?launchFetcher@GlxStateManager@@QAEXXZ @ 1 NONAME ; void GlxStateManager::launchFetcher(void)
+ ?saveData@GlxStateManager@@QAEXXZ @ 2 NONAME ; void GlxStateManager::saveData(void)
+ ?metaObject@GlxStateManager@@UBEPBUQMetaObject@@XZ @ 3 NONAME ; struct QMetaObject const * GlxStateManager::metaObject(void) const
+ ?actionTriggered@GlxStateManager@@QAEXH@Z @ 4 NONAME ; void GlxStateManager::actionTriggered(int)
+ ?setupItemsSignal@GlxStateManager@@IAEXXZ @ 5 NONAME ; void GlxStateManager::setupItemsSignal(void)
+ ??_EGlxStateManager@@UAE@I@Z @ 6 NONAME ; GlxStateManager::~GlxStateManager(unsigned int)
+ ?updateTNProgress@GlxStateManager@@QAEXH@Z @ 7 NONAME ; void GlxStateManager::updateTNProgress(int)
+ ?goBack@GlxStateManager@@QAEXHH@Z @ 8 NONAME ; void GlxStateManager::goBack(int, int)
+ ?eventFilter@GlxStateManager@@UAE_NPAVQObject@@PAVQEvent@@@Z @ 9 NONAME ; bool GlxStateManager::eventFilter(class QObject *, class QEvent *)
+ ?enterMarkingMode@GlxStateManager@@QAEXXZ @ 10 NONAME ; void GlxStateManager::enterMarkingMode(void)
+ ??1GlxStateManager@@UAE@XZ @ 11 NONAME ; GlxStateManager::~GlxStateManager(void)
+ ?getStaticMetaObject@GlxStateManager@@SAABUQMetaObject@@XZ @ 12 NONAME ; struct QMetaObject const & GlxStateManager::getStaticMetaObject(void)
+ ?trUtf8@GlxStateManager@@SA?AVQString@@PBD0H@Z @ 13 NONAME ; class QString GlxStateManager::trUtf8(char const *, char const *, int)
+ ?eventHandler@GlxStateManager@@AAEXAAH@Z @ 14 NONAME ; void GlxStateManager::eventHandler(int &)
+ ?executeCommand@GlxStateManager@@QAE_NH@Z @ 15 NONAME ; bool GlxStateManager::executeCommand(int)
+ ?thumbnailPopulated@GlxStateManager@@QAEXXZ @ 16 NONAME ; void GlxStateManager::thumbnailPopulated(void)
+ ?setupItems@GlxStateManager@@QAEXXZ @ 17 NONAME ; void GlxStateManager::setupItems(void)
+ ?previousState@GlxStateManager@@QAEXXZ @ 18 NONAME ; void GlxStateManager::previousState(void)
+ ?createState@GlxStateManager@@AAEPAVGlxState@@H@Z @ 19 NONAME ; class GlxState * GlxStateManager::createState(int)
+ ?exitApplication@GlxStateManager@@AAEXXZ @ 20 NONAME ; void GlxStateManager::exitApplication(void)
+ ?changeState@GlxStateManager@@QAEXHH@Z @ 21 NONAME ; void GlxStateManager::changeState(int, int)
+ ?qt_metacall@GlxStateManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 22 NONAME ; int GlxStateManager::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0GlxStateManager@@QAE@XZ @ 23 NONAME ; GlxStateManager::GlxStateManager(void)
+ ?vanishProgressDialog@GlxStateManager@@AAEXXZ @ 24 NONAME ; void GlxStateManager::vanishProgressDialog(void)
+ ?saveImage@GlxStateManager@@AAEXXZ @ 25 NONAME ; void GlxStateManager::saveImage(void)
+ ?cleanupExternal@GlxStateManager@@QAEXXZ @ 26 NONAME ; void GlxStateManager::cleanupExternal(void)
+ ?gridItemSelected@GlxStateManager@@IAEXABVQModelIndex@@AAVQAbstractItemModel@@@Z @ 27 NONAME ; void GlxStateManager::gridItemSelected(class QModelIndex const &, class QAbstractItemModel &)
+ ?setFullScreenContext@GlxStateManager@@AAEXXZ @ 28 NONAME ; void GlxStateManager::setFullScreenContext(void)
+ ?trUtf8@GlxStateManager@@SA?AVQString@@PBD0@Z @ 29 NONAME ; class QString GlxStateManager::trUtf8(char const *, char const *)
+ ?cleanAllModel@GlxStateManager@@QAEXXZ @ 30 NONAME ; void GlxStateManager::cleanAllModel(void)
+ ?tr@GlxStateManager@@SA?AVQString@@PBD0H@Z @ 31 NONAME ; class QString GlxStateManager::tr(char const *, char const *, int)
+ ?staticMetaObject@GlxStateManager@@2UQMetaObject@@B @ 32 NONAME ; struct QMetaObject const GlxStateManager::staticMetaObject
+ ?qt_metacast@GlxStateManager@@UAEPAXPBD@Z @ 33 NONAME ; void * GlxStateManager::qt_metacast(char const *)
+ ?tr@GlxStateManager@@SA?AVQString@@PBD0@Z @ 34 NONAME ; class QString GlxStateManager::tr(char const *, char const *)
+ ?nextState@GlxStateManager@@QAEXHH@Z @ 35 NONAME ; void GlxStateManager::nextState(int, int)
+ ?launchFromExternal@GlxStateManager@@QAEXXZ @ 36 NONAME ; void GlxStateManager::launchFromExternal(void)
+ ?externalCommand@GlxStateManager@@IAEXH@Z @ 37 NONAME ; void GlxStateManager::externalCommand(int)
+ ?createGridModel@GlxStateManager@@AAEXHW4NavigationDir@@@Z @ 38 NONAME ; void GlxStateManager::createGridModel(int, enum NavigationDir)
+ ?launchApplication@GlxStateManager@@QAEXXZ @ 39 NONAME ; void GlxStateManager::launchApplication(void)
+ ?exitMarkingMode@GlxStateManager@@QAEXXZ @ 40 NONAME ; void GlxStateManager::exitMarkingMode(void)
+ ?removeCurrentModel@GlxStateManager@@QAEXXZ @ 41 NONAME ; void GlxStateManager::removeCurrentModel(void)
+ ?launchProgressDialog@GlxStateManager@@AAEXXZ @ 42 NONAME ; void GlxStateManager::launchProgressDialog(void)
+ ?launchActivity@GlxStateManager@@AAE_NXZ @ 43 NONAME ; bool GlxStateManager::launchActivity(void)
+ ?createModel@GlxStateManager@@AAEXHW4NavigationDir@@@Z @ 44 NONAME ; void GlxStateManager::createModel(int, enum NavigationDir)
--- a/ui/viewmanagement/bwins/glxviewmanageru.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/bwins/glxviewmanageru.def Wed Aug 18 09:48:53 2010 +0300
@@ -8,45 +8,46 @@
?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)
- ?applicationReady@GlxViewManager@@IAEXXZ @ 49 NONAME ; void GlxViewManager::applicationReady(void)
- ?handleReadyView@GlxViewManager@@QAEXXZ @ 50 NONAME ; void GlxViewManager::handleReadyView(void)
+ ?applicationReady@GlxViewManager@@IAEXXZ @ 10 NONAME ; void GlxViewManager::applicationReady(void)
+ ?findView@GlxViewManager@@AAEPAVGlxView@@H@Z @ 11 NONAME ; class GlxView * GlxViewManager::findView(int)
+ ?createActions@GlxViewManager@@AAEXXZ @ 12 NONAME ; void GlxViewManager::createActions(void)
+ ?staticMetaObject@GlxViewManager@@2UQMetaObject@@B @ 13 NONAME ; struct QMetaObject const GlxViewManager::staticMetaObject
+ ?handleAction@GlxViewManager@@QAEXXZ @ 14 NONAME ; void GlxViewManager::handleAction(void)
+ ?handleUserAction@GlxViewManager@@QAEXHH@Z @ 15 NONAME ; void GlxViewManager::handleUserAction(int, int)
+ ?metaObject@GlxViewManager@@UBEPBUQMetaObject@@XZ @ 16 NONAME ; struct QMetaObject const * GlxViewManager::metaObject(void) const
+ ?actionTriggered@GlxViewManager@@IAEXH@Z @ 17 NONAME ; void GlxViewManager::actionTriggered(int)
+ ?getSubState@GlxViewManager@@AAEHXZ @ 18 NONAME ; int GlxViewManager::getSubState(void)
+ ?launchView@GlxViewManager@@QAEXHPAVQAbstractItemModel@@W4GlxEffect@@W4GlxViewEffect@@@Z @ 19 NONAME ; void GlxViewManager::launchView(int, class QAbstractItemModel *, enum GlxEffect, enum GlxViewEffect)
+ ?handleMenuAction@GlxViewManager@@QAEXH@Z @ 20 NONAME ; void GlxViewManager::handleMenuAction(int)
+ ?externalCommand@GlxViewManager@@IAEXH@Z @ 21 NONAME ; void GlxViewManager::externalCommand(int)
+ ??0GlxViewManager@@QAE@XZ @ 22 NONAME ; GlxViewManager::GlxViewManager(void)
+ ?exitMarkingMode@GlxViewManager@@QAEXH@Z @ 23 NONAME ; void GlxViewManager::exitMarkingMode(int)
+ ?cancelTimer@GlxViewManager@@QAEXXZ @ 24 NONAME ; void GlxViewManager::cancelTimer(void)
+ ?setModel@GlxViewManager@@QAEXPAVQAbstractItemModel@@@Z @ 25 NONAME ; void GlxViewManager::setModel(class QAbstractItemModel *)
+ ?createToolBar@GlxViewManager@@AAEXXZ @ 26 NONAME ; void GlxViewManager::createToolBar(void)
+ ?removeConnection@GlxViewManager@@AAEXXZ @ 27 NONAME ; void GlxViewManager::removeConnection(void)
+ ?launchView@GlxViewManager@@QAEXHPAVQAbstractItemModel@@@Z @ 28 NONAME ; void GlxViewManager::launchView(int, class QAbstractItemModel *)
+ ?createMarkingModeActions@GlxViewManager@@AAEXXZ @ 29 NONAME ; void GlxViewManager::createMarkingModeActions(void)
+ ?qt_metacall@GlxViewManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 30 NONAME ; int GlxViewManager::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?deActivateView@GlxViewManager@@AAEXXZ @ 31 NONAME ; void GlxViewManager::deActivateView(void)
+ ?destroyView@GlxViewManager@@QAEXH@Z @ 32 NONAME ; void GlxViewManager::destroyView(int)
+ ?resolveView@GlxViewManager@@AAEPAVGlxView@@H@Z @ 33 NONAME ; class GlxView * GlxViewManager::resolveView(int)
+ ??1GlxViewManager@@UAE@XZ @ 34 NONAME ; GlxViewManager::~GlxViewManager(void)
+ ?getSelectionModel@GlxViewManager@@QAEPAVQItemSelectionModel@@H@Z @ 35 NONAME ; class QItemSelectionModel * GlxViewManager::getSelectionModel(int)
+ ?addConnection@GlxViewManager@@AAEXXZ @ 36 NONAME ; void GlxViewManager::addConnection(void)
+ ?hideProgressDialog@GlxViewManager@@AAEXXZ @ 37 NONAME ; void GlxViewManager::hideProgressDialog(void)
+ ?handleReadyView@GlxViewManager@@QAEXXZ @ 38 NONAME ; void GlxViewManager::handleReadyView(void)
+ ?orientation@GlxViewManager@@QBE?AW4Orientation@Qt@@XZ @ 39 NONAME ; enum Qt::Orientation GlxViewManager::orientation(void) const
+ ?createMarkingModeToolBar@GlxViewManager@@AAEXXZ @ 40 NONAME ; void GlxViewManager::createMarkingModeToolBar(void)
+ ?checkMarked@GlxViewManager@@AAEXXZ @ 41 NONAME ; void GlxViewManager::checkMarked(void)
+ ?itemSpecificMenuTriggered@GlxViewManager@@QAEXHVQPointF@@@Z @ 42 NONAME ; void GlxViewManager::itemSpecificMenuTriggered(int, class QPointF)
+ ?setupItems@GlxViewManager@@QAEXXZ @ 43 NONAME ; void GlxViewManager::setupItems(void)
+ ?enterMarkingMode@GlxViewManager@@QAEXH@Z @ 44 NONAME ; void GlxViewManager::enterMarkingMode(int)
+ ?actionProcess@GlxViewManager@@QAEXH@Z @ 45 NONAME ; void GlxViewManager::actionProcess(int)
+ ?deactivateCurrentView@GlxViewManager@@QAEXXZ @ 46 NONAME ; void GlxViewManager::deactivateCurrentView(void)
+ ?trUtf8@GlxViewManager@@SA?AVQString@@PBD0H@Z @ 47 NONAME ; class QString GlxViewManager::trUtf8(char const *, char const *, int)
+ ?trUtf8@GlxViewManager@@SA?AVQString@@PBD0@Z @ 48 NONAME ; class QString GlxViewManager::trUtf8(char const *, char const *)
+ ?launchApplication@GlxViewManager@@QAEXHPAVQAbstractItemModel@@@Z @ 49 NONAME ; void GlxViewManager::launchApplication(int, class QAbstractItemModel *)
+ ?tr@GlxViewManager@@SA?AVQString@@PBD0H@Z @ 50 NONAME ; class QString GlxViewManager::tr(char const *, char const *, int)
+ ?activateView@GlxViewManager@@AAEXXZ @ 51 NONAME ; void GlxViewManager::activateView(void)
--- a/ui/viewmanagement/eabi/glxstatehandleru.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/eabi/glxstatehandleru.def Wed Aug 18 09:48:53 2010 +0300
@@ -3,40 +3,44 @@
_ZN15GlxStateManager11changeStateEii @ 2 NONAME
_ZN15GlxStateManager11createModelEi13NavigationDir @ 3 NONAME
_ZN15GlxStateManager11createStateEi @ 4 NONAME
- _ZN15GlxStateManager11qt_metacallEN11QMetaObject4CallEiPPv @ 5 NONAME
- _ZN15GlxStateManager11qt_metacastEPKc @ 6 NONAME
- _ZN15GlxStateManager12eventHandlerERi @ 7 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
- _ZN15GlxStateManager11eventFilterEP7QObjectP6QEvent @ 36 NONAME
- _ZN15GlxStateManager20launchProgressDialogEv @ 37 NONAME
- _ZN15GlxStateManager20vanishProgressDialogEv @ 38 NONAME
- _ZN15GlxStateManager14launchActivityEv @ 39 NONAME
- _ZN15GlxStateManager8saveDataEv @ 40 NONAME
+ _ZN15GlxStateManager11eventFilterEP7QObjectP6QEvent @ 5 NONAME
+ _ZN15GlxStateManager11qt_metacallEN11QMetaObject4CallEiPPv @ 6 NONAME
+ _ZN15GlxStateManager11qt_metacastEPKc @ 7 NONAME
+ _ZN15GlxStateManager12eventHandlerERi @ 8 NONAME
+ _ZN15GlxStateManager13cleanAllModelEv @ 9 NONAME
+ _ZN15GlxStateManager13launchFetcherEv @ 10 NONAME
+ _ZN15GlxStateManager13previousStateEv @ 11 NONAME
+ _ZN15GlxStateManager14executeCommandEi @ 12 NONAME
+ _ZN15GlxStateManager14launchActivityEv @ 13 NONAME
+ _ZN15GlxStateManager15actionTriggeredEi @ 14 NONAME
+ _ZN15GlxStateManager15cleanupExternalEv @ 15 NONAME
+ _ZN15GlxStateManager15createGridModelEi13NavigationDir @ 16 NONAME
+ _ZN15GlxStateManager15exitApplicationEv @ 17 NONAME
+ _ZN15GlxStateManager15exitMarkingModeEv @ 18 NONAME
+ _ZN15GlxStateManager15externalCommandEi @ 19 NONAME
+ _ZN15GlxStateManager16enterMarkingModeEv @ 20 NONAME
+ _ZN15GlxStateManager16gridItemSelectedERK11QModelIndexR18QAbstractItemModel @ 21 NONAME
+ _ZN15GlxStateManager16setupItemsSignalEv @ 22 NONAME
+ _ZN15GlxStateManager16staticMetaObjectE @ 23 NONAME DATA 16
+ _ZN15GlxStateManager16updateTNProgressEi @ 24 NONAME
+ _ZN15GlxStateManager17launchApplicationEv @ 25 NONAME
+ _ZN15GlxStateManager18launchFromExternalEv @ 26 NONAME
+ _ZN15GlxStateManager18removeCurrentModelEv @ 27 NONAME
+ _ZN15GlxStateManager18thumbnailPopulatedEv @ 28 NONAME
+ _ZN15GlxStateManager19getStaticMetaObjectEv @ 29 NONAME
+ _ZN15GlxStateManager20launchProgressDialogEv @ 30 NONAME
+ _ZN15GlxStateManager20setFullScreenContextEv @ 31 NONAME
+ _ZN15GlxStateManager20vanishProgressDialogEv @ 32 NONAME
+ _ZN15GlxStateManager6goBackEii @ 33 NONAME
+ _ZN15GlxStateManager8saveDataEv @ 34 NONAME
+ _ZN15GlxStateManager9nextStateEii @ 35 NONAME
+ _ZN15GlxStateManager9saveImageEv @ 36 NONAME
+ _ZN15GlxStateManagerC1Ev @ 37 NONAME
+ _ZN15GlxStateManagerC2Ev @ 38 NONAME
+ _ZN15GlxStateManagerD0Ev @ 39 NONAME
+ _ZN15GlxStateManagerD1Ev @ 40 NONAME
+ _ZN15GlxStateManagerD2Ev @ 41 NONAME
+ _ZNK15GlxStateManager10metaObjectEv @ 42 NONAME
+ _ZTI15GlxStateManager @ 43 NONAME
+ _ZTV15GlxStateManager @ 44 NONAME
--- a/ui/viewmanagement/eabi/glxviewmanageru.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/eabi/glxviewmanageru.def Wed Aug 18 09:48:53 2010 +0300
@@ -5,48 +5,49 @@
_ZN14GlxViewManager11cancelTimerEv @ 4 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
- _ZN14GlxViewManager15handleReadyViewEv @ 49 NONAME
- _ZN14GlxViewManager16applicationReadyEv @ 50 NONAME
+ _ZN14GlxViewManager11getSubStateEv @ 7 NONAME
+ _ZN14GlxViewManager11qt_metacallEN11QMetaObject4CallEiPPv @ 8 NONAME
+ _ZN14GlxViewManager11qt_metacastEPKc @ 9 NONAME
+ _ZN14GlxViewManager11resolveViewEi @ 10 NONAME
+ _ZN14GlxViewManager12activateViewEv @ 11 NONAME
+ _ZN14GlxViewManager12handleActionEv @ 12 NONAME
+ _ZN14GlxViewManager13actionProcessEi @ 13 NONAME
+ _ZN14GlxViewManager13addConnectionEv @ 14 NONAME
+ _ZN14GlxViewManager13createActionsEv @ 15 NONAME
+ _ZN14GlxViewManager13createToolBarEv @ 16 NONAME
+ _ZN14GlxViewManager14deActivateViewEv @ 17 NONAME
+ _ZN14GlxViewManager14effectFinishedEv @ 18 NONAME
+ _ZN14GlxViewManager15actionTriggeredEi @ 19 NONAME
+ _ZN14GlxViewManager15exitMarkingModeEi @ 20 NONAME
+ _ZN14GlxViewManager15externalCommandEi @ 21 NONAME
+ _ZN14GlxViewManager15handleReadyViewEv @ 22 NONAME
+ _ZN14GlxViewManager16applicationReadyEv @ 23 NONAME
+ _ZN14GlxViewManager16enterMarkingModeEi @ 24 NONAME
+ _ZN14GlxViewManager16handleMenuActionEi @ 25 NONAME
+ _ZN14GlxViewManager16handleUserActionEii @ 26 NONAME
+ _ZN14GlxViewManager16removeConnectionEv @ 27 NONAME
+ _ZN14GlxViewManager16staticMetaObjectE @ 28 NONAME DATA 16
+ _ZN14GlxViewManager17getSelectionModelEi @ 29 NONAME
+ _ZN14GlxViewManager17launchApplicationEiP18QAbstractItemModel @ 30 NONAME
+ _ZN14GlxViewManager17updateToolBarIconEi @ 31 NONAME
+ _ZN14GlxViewManager18hideProgressDialogEv @ 32 NONAME
+ _ZN14GlxViewManager19getStaticMetaObjectEv @ 33 NONAME
+ _ZN14GlxViewManager20addBackSoftKeyActionEv @ 34 NONAME
+ _ZN14GlxViewManager20launchProgressDialogEi @ 35 NONAME
+ _ZN14GlxViewManager20updateProgressDialogEi @ 36 NONAME
+ _ZN14GlxViewManager21deactivateCurrentViewEv @ 37 NONAME
+ _ZN14GlxViewManager24createMarkingModeActionsEv @ 38 NONAME
+ _ZN14GlxViewManager24createMarkingModeToolBarEv @ 39 NONAME
+ _ZN14GlxViewManager25itemSpecificMenuTriggeredEi7QPointF @ 40 NONAME
+ _ZN14GlxViewManager8findViewEi @ 41 NONAME
+ _ZN14GlxViewManager8setModelEP18QAbstractItemModel @ 42 NONAME
+ _ZN14GlxViewManagerC1Ev @ 43 NONAME
+ _ZN14GlxViewManagerC2Ev @ 44 NONAME
+ _ZN14GlxViewManagerD0Ev @ 45 NONAME
+ _ZN14GlxViewManagerD1Ev @ 46 NONAME
+ _ZN14GlxViewManagerD2Ev @ 47 NONAME
+ _ZNK14GlxViewManager10metaObjectEv @ 48 NONAME
+ _ZNK14GlxViewManager11orientationEv @ 49 NONAME
+ _ZTI14GlxViewManager @ 50 NONAME
+ _ZTV14GlxViewManager @ 51 NONAME
--- a/ui/viewmanagement/statehandler/inc/glxactionhandler.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/statehandler/inc/glxactionhandler.h Wed Aug 18 09:48:53 2010 +0300
@@ -22,9 +22,9 @@
#include <QObject>
#include <QHash>
+#include <QModelIndex>
class GlxCommandHandler;
-class QModelIndex;
class GlxActionHandler : public QObject
{
--- a/ui/viewmanagement/statehandler/inc/glxdetailstate.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/statehandler/inc/glxdetailstate.h Wed Aug 18 09:48:53 2010 +0300
@@ -27,6 +27,11 @@
public :
GlxDetailState(GlxState *preState = NULL);
void eventHandler(qint32 &id);
+ int state() const { return (int) mState; }
+/*
+ * This Function set the internal state of details state
+ */
+ void setState(int internalState) { mState = (DetailState) internalState; }
/*
* This function set the transition parameter ( for animation) from full screen view to other view
*/
@@ -45,6 +50,7 @@
//Functions
private:
+ DetailState mState;
//Data Member
};
--- a/ui/viewmanagement/statehandler/inc/glxfullscreenstate.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/statehandler/inc/glxfullscreenstate.h Wed Aug 18 09:48:53 2010 +0300
@@ -21,11 +21,12 @@
#define GLXFULLSCREENSTATE_H
#include <glxbasestate.h>
+class GlxStateManager;
class GlxFullScreenState : public GlxState
{
public :
- GlxFullScreenState(GlxState *preState = NULL);
+ GlxFullScreenState( GlxStateManager *stateManager, GlxState *preState = NULL );
int state() const { return (int) mState; }
/*
* This Function set the internal state of full screen state
@@ -49,6 +50,7 @@
private:
FullScreenState mState;
+ GlxStateManager *mStateManager;
};
--- a/ui/viewmanagement/statehandler/inc/glxliststate.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/statehandler/inc/glxliststate.h Wed Aug 18 09:48:53 2010 +0300
@@ -20,12 +20,43 @@
#include <glxbasestate.h>
+/**
+ * class to manage list state
+ */
class GlxListState : public GlxState
{
public :
+ /**
+ * constructor
+ */
GlxListState(GlxState *preState = NULL);
+
+ /**
+ * return current state of list
+ * @return current state
+ */
+ int state() const { return (int) mState; }
+ /**
+ * set current state
+ * @param internalState substate of list to be set
+ */
+ void setState(int internalState) { mState = (ListState) internalState; }
+
+ /**
+ * event handler
+ */
void eventHandler(qint32 &id);
- void setTranstionParameter(NavigationDir dir, GlxEffect &effect, GlxViewEffect &viewEffect);
+ /**
+ * set transition parameter
+ * @param dir navigation direction
+ * @param effect effect to be run on view transition
+ * @param viewEffect
+ */
+ void setTranstionParameter(NavigationDir dir, GlxEffect &effect, GlxViewEffect &viewEffect);
+private:
+ ///list internal state
+ ListState mState;
+
};
#endif /* GLXLISTSTATE_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/viewmanagement/statehandler/inc/glxorientationsensorfilter.h Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,61 @@
+/*
+* 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 GLXORIENTATIONSENSORFILTER_H
+#define GLXORIENTATIONSENSORFILTER_H
+
+#include <QOrientationSensor>
+#include <QOrientationFilter>
+QTM_USE_NAMESPACE
+
+/**
+ * Class Description
+ * To read the current orientaion from the sensor
+ */
+class GlxOrientationSensorFilter : public QOrientationFilter
+{
+public :
+ /**
+ * Constructor
+ */
+ GlxOrientationSensorFilter();
+
+ /**
+ * Destructor
+ */
+ ~GlxOrientationSensorFilter();
+
+ /**
+ * filter() - callback function to get the current Orientation information
+ * @param QOrientationReading
+ * @return please look /// @see QOrientationFilter
+ */
+ bool filter( QOrientationReading *reading );
+
+ /**
+ * orientation() - return the current device orientation
+ */
+ int orientation() { return mOrient; }
+
+private :
+ int mOrient;
+ QOrientationSensor *m_orientation ;
+};
+
+/// for detail please @see QOrientationFilter
+
+#endif /* GLXORIENTATIONSENSORFILTER_H */
\ No newline at end of file
--- a/ui/viewmanagement/statehandler/inc/glxslideshowstate.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/statehandler/inc/glxslideshowstate.h Wed Aug 18 09:48:53 2010 +0300
@@ -21,21 +21,56 @@
#include <glxbasestate.h>
class GlxStateManager;
+class GlxOrientationSensorFilter;
+/**
+ * Class Description
+ * This is slide show state corresponding to slide show view.
+ */
class GlxSlideShowState : public GlxState
{
public :
+ /**
+ * constructor
+ * @param pointer of state manager.
+ * @param pointer of perivious state.
+ */
GlxSlideShowState(GlxStateManager *stateManager, GlxState *preState = NULL);
+
+ /**
+ * state()
+ * @return return the substate.
+ */
int state() const { return (int) mState; }
+
+ /**
+ * setState() - set the current substate
+ * @param substate of the this state
+ */
void setState(int internalState) { mState = (SlideShowState) internalState; }
- void eventHandler(qint32 &id);
+
+ /**
+ * eventHandler() - A command handler of this state
+ * @param command id
+ */
+ void eventHandler(qint32 &commandId);
+
+ /**
+ * albumItemEventHandler() - A command handle for album substate
+ * @param command id
+ */
void albumItemEventHandler( qint32 &id );
- ~GlxSlideShowState() {}
+
+ /**
+ * Destructor
+ */
+ ~GlxSlideShowState();
private:
//slide show internal state
SlideShowState mState;
GlxStateManager *mStateManager;
+ GlxOrientationSensorFilter *mOrientSensorFilter;
};
#endif /* GLXSLIDESHOWSTATE_H */
--- a/ui/viewmanagement/statehandler/inc/glxstatemanager.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/statehandler/inc/glxstatemanager.h Wed Aug 18 09:48:53 2010 +0300
@@ -25,6 +25,7 @@
#include <QList>
#include <glxbasestate.h>
#include <qmap.h>
+#include <QModelIndex>
class GlxState;
class GlxViewManager;
@@ -40,178 +41,236 @@
#define GLX_STATEMANAGER_EXPORT Q_DECL_IMPORT
#endif
+/**
+ * Class Description
+ * class to create and manage different states and view navigation
+ */
+
class GLX_STATEMANAGER_EXPORT GlxStateManager : public QObject
{
Q_OBJECT
friend class TestGlxStateManager;
public :
- /*
+ /**
* Constructor
*/
GlxStateManager();
- /*
+ /**
* Destructor
*/
virtual ~GlxStateManager();
-
- /*
- * Fuction to launch the application from some external world
+
+ /**
+ * launchFetcher() - launch image fetcher
+ */
+ void launchFetcher();
+
+ /**
+ * launchFromExternal() - Fuction to launch the application from some external world
*/
void launchFromExternal();
- /*
- * Clean the all externel data
+ /**
+ * cleanupExternal() - Clean the all externel data
*/
void cleanupExternal();
- /*
- * Move the views to the multiple item selection state
+ /**
+ * enterMarkingMode() - Move the views to the multiple item selection state
*/
void enterMarkingMode();
- /*
- * Exit from the multiselection state
+ /**
+ * exitMarkingMode() - Exit from the multiselection state
*/
void exitMarkingMode();
- /*
- * Execute the commant on multiple selected item
+ /**
+ * executeCommand() - Execute the commant on multiple selected item.
+ * @param - command Id to execute.
*/
- bool executeCommand(qint32 commandId);
+ bool executeCommand( qint32 commandId );
- /*
- * when application goes into background or come back to foreground
+ /**
+ * eventFilter() - when application goes into background or come back to foreground
* set and reset the background thumbnail generation property
+ * @param QObject
+ * @param QEvent
*/
- bool eventFilter(QObject *obj, QEvent *ev);
+ bool eventFilter( QObject *obj, QEvent *ev );
signals :
- /*
- * Send the user activities ( command ) to the external world
+ /**
+ * externalCommand() - Send the user activities ( command ) to the external world
+ * @param - command Id to execute.
*/
- void externalCommand(int cmdId);
+ void externalCommand( int cmdId );
- /*
- * TO send the signal to initialise the rest of items
+ /**
+ * setupItemsSignal() - TO send the signal to initialise the non critical resoruce
* which is not created in the launch sequence
*/
void setupItemsSignal();
+
+ /**
+ * gridItemSelected() - signal to send current model and selected index for fetcher service
+ * @param - selected item model index
+ * @param - model
+ */
+ void gridItemSelected( const QModelIndex &,QAbstractItemModel & );
public slots:
- /*
- * To launch the application
+ /**
+ * launchApplication() - To launch the application
*/
void launchApplication();
- /*
- * To handle the user action, view switching etc
+ /**
+ * actionTriggered() - To handle the user action, view switching etc
+ * @param - user action ID.
*/
- void actionTriggered(qint32 id);
+ void actionTriggered( qint32 id );
- /*
- * To create the items which is not created in the aluch sequence
+ /**
+ * setupItems() -To create the items which is not created in the aluch sequence
*/
void setupItems();
- /*
- * call back function to monitor the change in thumbnail manager
+ /**
+ * updateTNProgress() - call back function to monitor the change in thumbnail manager
+ * @param - number of item left to generate the thumbnail
*/
- void updateTNProgress( int count);
+ void updateTNProgress( int count );
+
+ /**
+ * thumbnailPopulated() - call back to get the information that some initial page are loaded
+ * into cache.
+ * It will vanish the progressbar dialog.
+ */
+ void thumbnailPopulated();
+
+ /**
+ * saveData() - To save the activity data
+ */
void saveData();
public :
- /*
- * It will create a new state and replace the current state with new state in the stack.
+ /**
+ * changeState() - It will create a new state and replace the current state with new state in the stack.
* It will use in the case of state switching.
* use -1 if state does not have internal state
+ * @param - new state id.
+ * @param - internal or substate of new state.
*/
- void changeState(qint32 newStateId, int internalState );
+ void changeState( qint32 newStateId, int internalState );
- /*
- * Go back to previous state
+ /**
+ * previousState() - Go back to previous state and if there is no state in the stack
+ * then exit the application.
*/
void previousState();
- /*
- * Go back to a state in hierarchy and pop all the state upto that level.
+ /**
+ * goBack() - Go back to a state in hierarchy and pop all the state upto that level.
* if state is not found, then all the state from the hierachy is removed and create a new state on level 0
* This function will be use in the case when more then one back is required in single event.
+ * @param - new state id.
+ * @param - internal or substate of new state.
*/
- void goBack(qint32 stateId, int internalState);
+ void goBack( qint32 stateId, int internalState );
- /*
- * Create a new state and current state should be pushed into stack.
+ /**
+ * nextState() - Create a new state and current state should be pushed into stack.
* use -1 if state does not have internal state
+ * @param - new state id.
+ * @param - internal or substate of new state.
*/
- void nextState(qint32 newStateId, int internalState );
+ void nextState( qint32 newStateId, int internalState );
- /*
- * It will delete the current model
+ /**
+ * removeCurrentModel() - It will delete the current model
*/
void removeCurrentModel();
- /*
- * It will delete the all model used by state manager
+ /**
+ * cleanAllModel() - It will delete the all model used by state manager
*/
void cleanAllModel();
-
private:
- /*
- * Launch the harvesting and TN generation progress bar dialog
+ /**
+ * launchProgressDialog() - Launch the harvesting and TN generation progress bar dialog
*/
void launchProgressDialog();
- /*
- * remove the harvesting and TN generation progress bar dialog
+ /**
+ * vanishProgressDialog() - create the grid view model and wait for loading of some initial page of data into
+ * cache.
*/
void vanishProgressDialog();
- /*
- * Factory function to create the state.
+ /**
+ * createState() - Factory function to create the state.
*/
- GlxState * createState(qint32 state);
+ GlxState * createState( qint32 state );
- /*
- * Factory function to create the model.
+ /**
+ * createModel() - Factory function to create the model.
+ * @param - state id of the state.
+ * @param - state navigation direction
*/
- void createModel(qint32 stateId, NavigationDir dir = NO_DIR);
+ void createModel( qint32 stateId, NavigationDir dir = NO_DIR );
- /*
- * Factory function to create the grid model.
+ /**
+ * createGridModel() - Factory function to create the grid model.
+ * @param - internal state of grid state.
+ * @param - state navigation direction.
*/
- void createGridModel(int internalState, NavigationDir dir = NO_DIR);
+ void createGridModel( int internalState, NavigationDir dir = NO_DIR );
- /*
- * To set the fullscreen context based on the currrent orientation
+ /**
+ * setFullScreenContext() - To set the fullscreen context based on the currrent orientation
*/
void setFullScreenContext();
- /*
- * Apllication event handler function
+ /**
+ * setFullScreenContext() - Apllication event handler function
+ * @param - event id
*/
- void eventHandler(qint32 &id);
+ void eventHandler( qint32 &id );
- /*
- * A function to care the exit for application, in the case when application launch from internal and external
+ /**
+ * exitApplication() - A function to care the exit for application, in the case when application launch from internal and external
*/
void exitApplication();
- /*Launch Application as an acitivyt.
+ /**
+ * launchActivity() -Launch Application as an activity.
* Return Value @0 : If launching an activity fails
* @1 : If launch activity passes
*/
bool launchActivity();
+
+ /**
+ * saveImage() - save current image if it is launched from private path.
+ */
+ void saveImage();
+
private:
GlxViewManager *mViewManager;
- GlxMediaModel *mAllMediaModel; // for all grid
- GlxMediaModel *mAlbumGridMediaModel; // for album grid
- GlxAlbumModel *mAlbumMediaModel; // for album list
- GlxMediaModel *mImageviewerMediaModel;// for image viewer
- QAbstractItemModel *mCurrentModel; // no owner ship
+ /// for all grid
+ GlxMediaModel *mAllMediaModel;
+ /// for album grid
+ GlxMediaModel *mAlbumGridMediaModel;
+ /// for album list
+ GlxAlbumModel *mAlbumMediaModel;
+ /// for image viewer
+ GlxMediaModel *mImageviewerMediaModel;
+ /// no owner ship
+ QAbstractItemModel *mCurrentModel;
GlxState *mCurrentState;
GlxActionHandler *mActionHandler;
GlxTNObserver *mTNObserver;
--- a/ui/viewmanagement/statehandler/src/glxcommandhandlerfactory.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/statehandler/src/glxcommandhandlerfactory.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -21,15 +21,13 @@
#include<glxcommandhandlerdelete.h>
#include <glxcommandhandleraddtocontainer.h>
#include <glxcommandhandlerrotate.h>
-#include <glxcommandhandlerrotateimage.h>
-#include <glxcommandhandlercropimage.h>
+#include <glxcommandhandlereditimage.h>
#include <glxcommandhandlerremovefrom.h>
#include <glxcommandhandlernewmedia.h>
#include <glxcommandhandlersend.h>
#include <glxcommandhandlerrename.h>
#include <glxcommandhandlercomment.h>
-
GlxCommandHandler* GlxCommandHandlerFactory::CreateCommandHandler(int commandId)
{
GlxCommandHandler* cmdHandler = NULL;
@@ -60,9 +58,9 @@
break;
case EGlxCmdRotateImgCW:
case EGlxCmdRotateImgCCW:
- cmdHandler = new GlxCommandHandlerRotateImage();
- break;
- case EGlxCmdRotateImgCrop: cmdHandler = new GlxCommandHandlerCropImage();
+ case EGlxCmdRotateImgCrop:
+ case EGlxCmdSetWallpaper:
+ cmdHandler = new GlxCommandHandlerEditImage();
break;
default:
break;
--- a/ui/viewmanagement/statehandler/src/glxdetailstate.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/statehandler/src/glxdetailstate.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -21,7 +21,7 @@
GlxDetailState::GlxDetailState(GlxState *preState) : GlxState(GLX_DETAILSVIEW_ID, preState)
{
-
+ mState = NO_DETAIL_S ;
}
--- a/ui/viewmanagement/statehandler/src/glxfullscreenstate.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/statehandler/src/glxfullscreenstate.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -18,15 +18,31 @@
#include <glxfullscreenstate.h>
+#include <glxstatemanager.h>
+#include <glxcommandhandlers.hrh>
-GlxFullScreenState::GlxFullScreenState(GlxState *preState) : GlxState(GLX_FULLSCREENVIEW_ID, preState)
+GlxFullScreenState::GlxFullScreenState(GlxStateManager *stateManager, GlxState *preState) : GlxState(GLX_FULLSCREENVIEW_ID, preState)
{
-
+ mStateManager = stateManager ;
}
void GlxFullScreenState::eventHandler(qint32 &id)
{
- Q_UNUSED(id);
+ switch ( id ){
+ case EGlxCmdDetailsOpen :
+ if ( mState == IMAGEVIEWER_S ) {
+
+ mStateManager->nextState( GLX_DETAILSVIEW_ID, IMAGEVIEWER_DETAIL_S );
+ }
+ else {
+
+ mStateManager->nextState( GLX_DETAILSVIEW_ID, NO_DETAIL_S );
+ }
+ id = EGlxCmdHandled;
+ break ;
+ default :
+ break ;
+ }
}
void GlxFullScreenState::setTranstionParameter(NavigationDir dir, GlxEffect &effect, GlxViewEffect &viewEffect)
--- a/ui/viewmanagement/statehandler/src/glxgridstate.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/statehandler/src/glxgridstate.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -43,10 +43,12 @@
switch ( mState ) {
case ALL_ITEM_S :
+ case FETCHER_ITEM_S :
allItemEventHandler ( id ) ;
break;
case ALBUM_ITEM_S :
+ case FETCHER_ALBUM_ITEM_S :
albumItemEventHandler ( id ) ;
break;
@@ -60,11 +62,10 @@
qDebug("GlxGridState::defaultEventHandler() action id = %d", id);
switch(id) {
- case EGlxCmdFullScreenOpen :
- id = EGlxCmdHandled;
- mStateManager->nextState( GLX_FULLSCREENVIEW_ID, -1 );
- break;
-
+ case EGlxCmdFetcherFullScreenOpen:
+ id = EGlxCmdHandled;
+ mStateManager->nextState( GLX_FULLSCREENVIEW_ID, FETCHER_S );
+ break;
case EGlxCmdAddToAlbum :
case EGlxCmdDelete :
case EGlxCmdRemoveFrom :
@@ -110,9 +111,13 @@
switch(id) {
case EGlxCmdAllGridOpen :
+ case EGlxCmdFetcherAllGridOpen :
id = EGlxCmdHandled;
break ;
-
+ case EGlxCmdFullScreenOpen :
+ mStateManager->nextState( GLX_FULLSCREENVIEW_ID, ALL_FULLSCREEN_S );
+ id = EGlxCmdHandled;
+ break;
default :
break;
}
@@ -128,14 +133,25 @@
mStateManager->goBack( GLX_GRIDVIEW_ID, ALL_ITEM_S );
id = EGlxCmdHandled;
break ;
+
+ case EGlxCmdFetcherAllGridOpen :
+ mStateManager->removeCurrentModel();
+ mStateManager->goBack( GLX_GRIDVIEW_ID, FETCHER_ITEM_S );
+ id = EGlxCmdHandled;
+ break ;
case EGlxCmdAlbumListOpen :
+ case EGlxCmdFetcherAlbumListOpen:
case EGlxCmdBack :
mStateManager->removeCurrentModel();
mStateManager->previousState();
id = EGlxCmdHandled;
break;
-
+
+ case EGlxCmdFullScreenOpen :
+ mStateManager->nextState( GLX_FULLSCREENVIEW_ID, ALBUM_FULLSCREEN_S );
+ id = EGlxCmdHandled;
+ break;
default :
break;
}
--- a/ui/viewmanagement/statehandler/src/glxliststate.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/statehandler/src/glxliststate.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -30,6 +30,7 @@
qDebug("GlxListState::eventHandler action id = %d", id);
switch(id) {
case EGlxCmdAlbumListOpen :
+ case EGlxCmdFetcherAlbumListOpen:
id = EGlxCmdHandled;
break ;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/viewmanagement/statehandler/src/glxorientationsensorfilter.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -0,0 +1,42 @@
+/*
+* 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 "glxorientationsensorfilter.h"
+
+GlxOrientationSensorFilter::GlxOrientationSensorFilter()
+{
+ qDebug("GlxOrientationSensorFilter::GlxOrientationSensor() enter" );
+ m_orientation = new QOrientationSensor();
+ m_orientation->addFilter( this );
+ m_orientation->start();
+ mOrient = QOrientationReading::Undefined ;
+ qDebug("GlxOrientationSensorFilter::GlxOrientationSensor() exit" );
+}
+
+GlxOrientationSensorFilter::~GlxOrientationSensorFilter()
+{
+ m_orientation->stop();
+ delete m_orientation;
+}
+
+bool GlxOrientationSensorFilter::filter( QOrientationReading *reading )
+{
+ qDebug("GlxOrientationSensorFilter::GlxOrientationSensor() filter " );
+ mOrient = reading->orientation() ;
+ qDebug("GlxOrientationSensorFilter::filter() orientation = %d", mOrient );
+ return false;
+}
--- a/ui/viewmanagement/statehandler/src/glxslideshowstate.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/statehandler/src/glxslideshowstate.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -15,37 +15,53 @@
*
*/
-#include <glxslideshowstate.h>
-#include <glxstatemanager.h>
-#include <glxcommandhandlers.hrh>
#include <QDebug>
+#include "glxslideshowstate.h"
+#include "glxstatemanager.h"
+#include "glxcommandhandlers.hrh"
+#include "glxorientationsensorfilter.h"
+
GlxSlideShowState::GlxSlideShowState(GlxStateManager *stateManager, GlxState *preState) : GlxState(GLX_SLIDESHOWVIEW_ID, preState)
{
mStateManager = stateManager;
+ mOrientSensorFilter = NULL;
+ //mOrientSensorFilter = new GlxOrientationSensorFilter();
mState = NO_SLIDESHOW_S;
}
void GlxSlideShowState::eventHandler( qint32 &id )
{
- qDebug("GlxSlideShowState::GlxSlideShowState() action id = %d", id);
+ qDebug("GlxSlideShowState::GlxSlideShowState() action id = %d", id);
+
+ /*switch ( id ) {
+ case EGlxCmdBack :
+ if ( mOrientSensorFilter->orientation() == QOrientationReading::TopUp ) {
+ id = EGlxCmdPlayBackAnim ;
+ }
+ break;
+
+ default :
+ break ;
+ }*/
if ( mState == SLIDESHOW_ALBUM_ITEM_S ) {
albumItemEventHandler( id );
}
}
-void GlxSlideShowState::albumItemEventHandler( qint32 &id )
+void GlxSlideShowState::albumItemEventHandler( qint32 &commandId )
{
- switch ( id ) {
+ switch ( commandId ) {
/* in the case of slide show play through list view item specfice menu option, a new model was
* created so first remove the current model and then go back to pervious state
*/
+ case EGlxCmdSlideShowBack :
case EGlxCmdBack :
case EGlxCmdEmptyData : //memory card was removed ( no data )
mStateManager->removeCurrentModel();
mStateManager->previousState();
- id = EGlxCmdHandled;
+ commandId = EGlxCmdHandled;
break;
default :
@@ -53,3 +69,8 @@
}
}
+GlxSlideShowState::~GlxSlideShowState()
+{
+ delete mOrientSensorFilter;
+}
+
--- a/ui/viewmanagement/statehandler/src/glxstatemanager.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/statehandler/src/glxstatemanager.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -51,7 +51,7 @@
#include "glxplugincommandid.hrh"
#include "glxlog.h"
#include "glxtracer.h"
-
+#include <glximageviewermanager.h>
GlxStateManager::GlxStateManager()
: mAllMediaModel( NULL ),
@@ -69,7 +69,6 @@
mViewManager = new GlxViewManager();
}
mTNObserver = new GlxTNObserver();
- mSaveActivity.clear();
connect ( this, SIGNAL( setupItemsSignal() ), this, SLOT( setupItems() ), Qt::QueuedConnection );
connect ( mViewManager, SIGNAL(actionTriggered( qint32 )), this, SLOT(actionTriggered( qint32 )), Qt::QueuedConnection );
@@ -122,39 +121,50 @@
return QObject::eventFilter(obj, event);
}
+void GlxStateManager::launchFetcher()
+{
+ qDebug("GlxStateManager::launchFetcher");
+ mCurrentState = createState(GLX_GRIDVIEW_ID);
+ mCurrentState->setState(FETCHER_ITEM_S);
+
+ createModel(GLX_GRIDVIEW_ID);
+ mViewManager->launchApplication( GLX_GRIDVIEW_ID, mCurrentModel);
+}
+
void GlxStateManager::launchApplication()
{
qDebug("GlxStateManager::launchApplication");
- bool activitySuccess = false;
+ bool activitySuccess = false;
//To:Do use it in future once performance code is removed nextState(GLX_GRIDVIEW_ID, ALL_ITEM_S)
- HbApplication* app = qobject_cast<HbApplication*>(qApp);
- if(app->activateReason() == Hb::ActivationReasonActivity) {
- activitySuccess = launchActivity();
- }
- if( !activitySuccess ) {
- mCurrentState = createState( GLX_GRIDVIEW_ID );
- mCurrentState->setState( ALL_ITEM_S );
-
- int leftCount = mTNObserver->getTNLeftCount() ;
- if ( leftCount > 0 ) {
- mViewManager->launchApplication( GLX_GRIDVIEW_ID, mCurrentModel);
- launchProgressDialog();
- }
- else {
- createModel( GLX_GRIDVIEW_ID );
- mViewManager->launchApplication( GLX_GRIDVIEW_ID, mCurrentModel);
+ HbApplication* app = qobject_cast<HbApplication*>(qApp);
+ if(app->activateReason() == Hb::ActivationReasonActivity) {
+ activitySuccess = launchActivity();
}
- mTNObserver->startTNObserving() ;
- }
- //Remove the previous activity
- HbActivityManager* activityManager = app->activityManager();
- bool ok = activityManager->removeActivity("PhotosMainView");
- if ( !ok )
- {
+ if( !activitySuccess ) {
+ mCurrentState = createState( GLX_GRIDVIEW_ID );
+ mCurrentState->setState( ALL_ITEM_S );
+
+ int leftCount = mTNObserver->getTNLeftCount() ;
+ if ( leftCount > 0 ) {
+ mViewManager->launchApplication( GLX_GRIDVIEW_ID, mCurrentModel );
+ launchProgressDialog();
+ }
+ else {
+ createModel( GLX_GRIDVIEW_ID );
+ mViewManager->launchApplication( GLX_GRIDVIEW_ID, mCurrentModel );
+ }
+ mTNObserver->startTNObserving() ;
+ }
+
+ HbActivityManager* activityManager = app->activityManager();
+ bool ok = activityManager->removeActivity("PhotosMainView");
+ if ( !ok )
+ {
qDebug("launchapplication::Remove activity failed" );
- }
+ }
}
+
bool GlxStateManager::launchActivity()
{
HbApplication* app = qobject_cast<HbApplication*>(qApp);
@@ -162,30 +172,29 @@
if ( !ok )
{
qDebug("subscribing to activity manager failed" );
- //return false; TBD: waitActivity is always returning false. Could be some issue with AM.
}
QVariant data = app->activityManager()->activityData( "PhotosMainView" );
QByteArray serializedModel = data.toByteArray();
QDataStream stream(&serializedModel, QIODevice::ReadOnly);
+
//Fetch the data from the activity Manager
- QMap<QString, qint32> fetchActivity;
- stream >> fetchActivity;
- qint32 stateId = fetchActivity.value("ID");
+ stream >> mSaveActivity;
+ qint32 stateId = mSaveActivity.value("ID");
mCurrentState = createState(stateId);
- mCurrentState->setState( fetchActivity.value("InternalState") );
+ mCurrentState->setState( mSaveActivity.value("InternalState") );
createModel( stateId);
/*Model might not be populated yet to set the visibleWindowIndex right away.
*So, let us store the visible index as a temporary Variable, so that visible Window Index
*is set once the model is populated.
*/
- mCurrentModel->setData(QModelIndex(), fetchActivity.value("VisibleIndex") , GlxTempVisualWindowIndex );
+ mCurrentModel->setData(QModelIndex(), mSaveActivity.value("VisibleIndex") , GlxTempVisualWindowIndex );
mViewManager->launchApplication(stateId, mCurrentModel);
return true;
}
void GlxStateManager::launchFromExternal()
{
- qDebug("GlxStateManager::launchApplication");
+ qDebug("GlxStateManager::launchFromExternal");
mCurrentState = createState(GLX_FULLSCREENVIEW_ID);
mCurrentState->setState(IMAGEVIEWER_S);
@@ -210,17 +219,23 @@
mActionHandler = new GlxActionHandler();
connect ( mViewManager, SIGNAL(externalCommand(int )), this, SIGNAL(externalCommand(int )) );
mViewManager->setupItems();
- mViewManager->updateToolBarIcon(GLX_ALL_ACTION_ID);
+ switch( mSaveActivity.value( "ID" ) ){
+ case GLX_LISTVIEW_ID:
+ mViewManager->updateToolBarIcon(GLX_ALBUM_ACTION_ID);
+ break;
+
+ case GLX_GRIDVIEW_ID:
+ default:
+ mViewManager->updateToolBarIcon(GLX_ALL_ACTION_ID);
+ }
}
void GlxStateManager::updateTNProgress( int count)
{
TRACER("GlxStateManager::updateTNProgress() ");
-// mCurrentModel ------------this is case when progress bar is not showing
-// count > 5 ----------------in the case of rename of an image or capture the single item
-// it is also launching the progress bar, to avoid this scenario add the check of count more than 5
-// count == KErrNotReady ----A case when memory card is inserted but it is not harvest so it is given an error
-// In that case also user should be block to browse the images
+ // this is case when progress bar is not showing
+ // in the case of rename of an image or capture the single item
+ // it is also launching the progress bar, to avoid this scenario add the check of count more than 5
if ( mCurrentModel && ( count > 5 ) ) {
goBack( GLX_GRIDVIEW_ID, ALL_ITEM_S ) ;
cleanAllModel();
@@ -229,8 +244,6 @@
if ( isProgressbarRunning ){
if ( count == 0 ) {
- createModel( mCurrentState->id() );
- mViewManager->setModel( mCurrentModel );
vanishProgressDialog();
}
else {
@@ -239,43 +252,46 @@
}
}
+void GlxStateManager::thumbnailPopulated()
+{
+ mViewManager->setModel( mCurrentModel );
+ isProgressbarRunning = false;
+ mViewManager->updateProgressDialog( 0 );
+ disconnect ( mCurrentModel, SIGNAL( thumbnailPopulated() ), this, SLOT( thumbnailPopulated() ) );
+}
+
void GlxStateManager::saveData()
{
if( (mCurrentState->id() == GLX_GRIDVIEW_ID && mCurrentState->state() == ALL_ITEM_S) || mCurrentState->id() == GLX_LISTVIEW_ID ) {
- mSaveActivity.insert("ID",mCurrentState->id());
- mSaveActivity.insert("InternalState",mCurrentState->state());
-
- //Store the visual Index
- if(mCurrentModel)
- {
- QVariant variant = mCurrentModel->data( mCurrentModel->index(0,0), GlxVisualWindowIndex );
- if ( variant.isValid() && variant.canConvert<int> () ) {
- mSaveActivity.insert("VisibleIndex",variant.value<int>());
- }
+ mSaveActivity.insert("ID",mCurrentState->id());
+ mSaveActivity.insert("InternalState",mCurrentState->state());
+ if(mCurrentModel) {
+ QVariant variant = mCurrentModel->data( mCurrentModel->index(0,0), GlxVisualWindowIndex );
+ if ( variant.isValid() && variant.canConvert<int> () ) {
+ mSaveActivity.insert("VisibleIndex",variant.value<int>());
+ }
}
- else
- mSaveActivity.insert("VisibleIndex",0);
-
- HbActivityManager* activityManager = qobject_cast<HbApplication*>(qApp)->activityManager();
+ else {
+ mSaveActivity.insert("VisibleIndex",0);
+ }
- //Take a screenshot
- QVariantHash metadata;
- HbMainWindow *window = hbInstance->allMainWindows().first();
- metadata.insert("screenshot", QPixmap::grabWidget(window, window->rect()));
-
- QByteArray serializedModel;
- QDataStream stream(&serializedModel, QIODevice::WriteOnly | QIODevice::Append);
- stream << mSaveActivity;
- //Add the activity
- bool ok = activityManager->addActivity("PhotosMainView", serializedModel, metadata);
- if ( !ok )
- {
- qDebug("SaveData::Add activity failed" );
+ HbActivityManager* activityManager = qobject_cast<HbApplication*>(qApp)->activityManager();
+ QVariantHash metadata;
+ HbMainWindow *window = hbInstance->allMainWindows().first();
+ metadata.insert("screenshot", QPixmap::grabWidget(window, window->rect()));
+
+ QByteArray serializedModel;
+ QDataStream stream(&serializedModel, QIODevice::WriteOnly | QIODevice::Append);
+ stream << mSaveActivity;
+
+ bool ok = activityManager->addActivity("PhotosMainView", serializedModel, metadata);
+ if ( !ok )
+ {
+ qDebug("SaveData::Add activity failed" );
+ }
}
- }
}
-
void GlxStateManager::nextState(qint32 state, int internalState)
{
qDebug("GlxStateManager::nextState next state = %u", state);
@@ -309,6 +325,7 @@
GlxState *state = mCurrentState; // To delete the current state later
if ( mCurrentState->previousState() == NULL ) { //In the case only one state in stack then exit from the application
+ saveImage(); // save image if it is in private folder
exitApplication() ;
return ;
}
@@ -327,7 +344,34 @@
}
delete state;
}
-
+
+void GlxStateManager::saveImage()
+ {
+ CGlxImageViewerManager *imageViewerInstance = CGlxImageViewerManager::InstanceL();
+ if(imageViewerInstance->IsPrivate())
+ {
+ HBufC* imagePath = imageViewerInstance->ImageUri();
+ QString srcPath = QString::fromUtf16(imagePath->Des().Ptr(),imagePath->Length());
+ QString imageName = srcPath.section('\\', -1);
+ QString imagesFolderPath("c:/data/images/");
+ QString destPath;
+ destPath.append(imagesFolderPath);
+ destPath.append(imageName);
+ int cnt = 1;
+ qDebug() << "GlxStateManager::saveImage path before while = "<< destPath;
+ while(!QFile::copy(srcPath,destPath))
+ {
+ QString filename = imageName.section('.', 0,0);
+ QString ext = imageName.section('.', -1);
+ destPath.clear();
+ destPath = imagesFolderPath + filename + QString::number(cnt) + "." + ext;
+ qDebug() << "GlxStateManager::saveImage path = "<< destPath;
+ cnt++;
+ }
+ }
+ imageViewerInstance->Close();
+ }
+
void GlxStateManager::goBack(qint32 stateId, int internalState)
{
qDebug("GlxStateManager::goBack()");
@@ -428,23 +472,23 @@
void GlxStateManager::launchProgressDialog()
{
TRACER("GlxStateManager::launchProgressDialog() ");
- //HbMainWindow *window = hbInstance->allMainWindows().first();
- //window->setAutomaticOrientationEffectEnabled( true );
QCoreApplication::instance()->installEventFilter( this );
- mViewManager->launchProgressDialog( mTNObserver->getTNLeftCount() );
+ if ( isProgressbarRunning ) {
+ mViewManager->updateProgressDialog( mTNObserver->getTNLeftCount() );
+ }
+ else {
+ mViewManager->launchProgressDialog( mTNObserver->getTNLeftCount() );
+ }
isProgressbarRunning = true ;
}
void GlxStateManager::vanishProgressDialog()
{
TRACER("GlxStateManager::vanishProgressDialog() ");
- //HbMainWindow *window = hbInstance->allMainWindows().first();
- //window->setAutomaticOrientationEffectEnabled( false );
-
QCoreApplication::instance()->removeEventFilter( this );
- isProgressbarRunning = false;
- mViewManager->updateProgressDialog( 0 );
+ createModel( mCurrentState->id() );
+ connect ( mCurrentModel, SIGNAL( thumbnailPopulated() ), this, SLOT( thumbnailPopulated() ) );
}
GlxState * GlxStateManager::createState(qint32 stateId)
@@ -459,7 +503,7 @@
return new GlxListState( mCurrentState );
case GLX_FULLSCREENVIEW_ID :
- return new GlxFullScreenState( mCurrentState );
+ return new GlxFullScreenState( this, mCurrentState );
case GLX_DETAILSVIEW_ID:
return new GlxDetailState( mCurrentState );
@@ -544,6 +588,7 @@
switch( internalState) {
case ALL_ITEM_S :
+ case FETCHER_ITEM_S:
if ( mAllMediaModel == NULL ) {
modelParm.setCollection( KGlxCollectionPluginAllImplementationUid );
modelParm.setDepth(0);
@@ -556,6 +601,7 @@
break;
case ALBUM_ITEM_S :
+ case FETCHER_ALBUM_ITEM_S :
if ( dir != BACKWARD_DIR ) {
modelParm.setCollection( KGlxAlbumsMediaId );
modelParm.setDepth(0);
@@ -592,17 +638,30 @@
changeState( GLX_GRIDVIEW_ID, ALL_ITEM_S );
id = EGlxCmdHandled;
break;
+
+ case EGlxCmdFetcherAllGridOpen :
+ changeState( GLX_GRIDVIEW_ID, FETCHER_ITEM_S );
+ id = EGlxCmdHandled;
+ break;
case EGlxCmdAlbumListOpen:
changeState( GLX_LISTVIEW_ID, -1 );
id = EGlxCmdHandled;
break;
-
+ case EGlxCmdFetcherAlbumListOpen:
+ changeState( GLX_LISTVIEW_ID, FETCHER_ALBUM_S );
+ id = EGlxCmdHandled;
+ break;
+
case EGlxCmdAlbumGridOpen:
nextState( GLX_GRIDVIEW_ID, ALBUM_ITEM_S );
id = EGlxCmdHandled;
break;
-
+ case EGlxCmdFetcherAlbumGridOpen:
+ nextState( GLX_GRIDVIEW_ID, FETCHER_ALBUM_ITEM_S );
+ id = EGlxCmdHandled;
+ break;
+
case EGlxCmdFirstSlideshow :
//play the slide show with first item
mCurrentModel->setData( mCurrentModel->index(0, 0), 0, GlxFocusIndexRole );
@@ -645,6 +704,7 @@
}
case EGlxCmdBack :
+ case EGlxCmdSlideShowBack :
previousState();
id = EGlxCmdHandled;
break;
@@ -684,17 +744,28 @@
}
break;
- case EGlxCmdMarkAll:
- case EGlxCmdUnMarkAll:
- mViewManager->handleUserAction(mCurrentState->id(), id);
+ case EGlxCmdMarkAll :
+ case EGlxCmdUnMarkAll :
+ case EGlxCmd3DEffectOn :
+ case EGlxCmd3DEffectOff :
+ case EGlxCmdPlayBackAnim :
+ mViewManager->handleUserAction( mCurrentState->id(), id );
id = EGlxCmdHandled;
break;
case EGlxCmdSetupItem :
emit setupItemsSignal();
break;
+
+ case EGlxCmdFetcherSelect:
+ {
+ QModelIndex selectedIndex = mCurrentModel->index(mCurrentModel->data(mCurrentModel->index(0,0),GlxFocusIndexRole).value<int>(),0);
+ emit gridItemSelected(selectedIndex,*mCurrentModel);
+ id = EGlxCmdHandled;
+ }
+ break;
- default :
+ default :
mActionHandler->handleAction(id,mCollectionId);
break;
}
@@ -713,6 +784,7 @@
{
qDebug("GlxStateManager::~GlxStateManager");
cleanAllModel();
+ mSaveActivity.clear();
delete mActionHandler;
qDebug("GlxStateManager::~GlxStateManager delete Model");
--- a/ui/viewmanagement/statehandler/statehandler.pro Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/statehandler/statehandler.pro Wed Aug 18 09:48:53 2010 +0300
@@ -19,6 +19,8 @@
DEPENDPATH += . inc src
CONFIG += hb
+CONFIG += mobility
+MOBILITY += sensors
INCLUDEPATH += . \
../../inc \
@@ -30,8 +32,8 @@
../../uiengine/model/mediamodel/inc \
../../uiengine/model/listmodel/inc \
../viewmanager/inc \
- ../../commandhandlers\commandhandlerbase\inc \
- ../../commandhandlers\commoncommandhandlers\inc
+ ../../commandhandlers/commandhandlerbase/inc \
+ ../../commandhandlers/commoncommandhandlers/inc
DEFINES += BUILD_STATEMANAGER
@@ -50,7 +52,9 @@
-lglxloggerqt.dll \
-lglxcommoncommandhandlers.dll \
-lglxlogging.dll \
- -lglxcommon.dll
+ -lglxcommon.dll \
+ -lglximageviewermanager.dll
+
# Input
HEADERS += inc/glxbasestate.h \
@@ -63,7 +67,8 @@
inc/glxslideshowstate.h \
inc/glxactionhandler.h \
inc/glxcommandhandlerfactory.h \
- inc/glxtnobserver.h
+ inc/glxtnobserver.h \
+ inc/glxorientationsensorfilter.h
SOURCES += src/glxbasestate.cpp \
src/glxfullscreenstate.cpp \
@@ -75,7 +80,8 @@
src/glxslideshowstate.cpp \
src/glxactionhandler.cpp \
src/glxcommandhandlerfactory.cpp \
- src/glxtnobserver.cpp
+ src/glxtnobserver.cpp \
+ src/glxorientationsensorfilter.cpp
DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
--- a/ui/viewmanagement/viewmanager/inc/glxmainwindoweventfilter.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/viewmanager/inc/glxmainwindoweventfilter.h Wed Aug 18 09:48:53 2010 +0300
@@ -23,4 +23,4 @@
};
-#endif
\ No newline at end of file
+#endif
--- a/ui/viewmanagement/viewmanager/inc/glxmenumanager.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/viewmanager/inc/glxmenumanager.h Wed Aug 18 09:48:53 2010 +0300
@@ -21,6 +21,7 @@
class QAbstractItemModel;
class QAction;
class HbMainWindow;
+class GlxSettingInterface;
//Grid view option menu
@@ -29,7 +30,21 @@
GlxGridViewSlideShow,
GlxGridViewAddToAlbum,
GlxGridViewRemoveFromAlbum,
- GlxGridViewDelete
+ GlxGridViewDelete,
+ GlxGridView3DEffect
+};
+
+//Fullscreen view option menu
+enum {
+ GlxFullScreenViewSend,
+ GlxFullScreenViewSlideShow,
+#ifndef __WINSCW__
+ GlxFullScreenViewUseImage,
+ GlxFullScreenViewMenuRotate,
+ GlxFullScreenViewCrop,
+#endif
+ GlxFullScreenViewAddToAlbum,
+ GlxFullScreenViewRemoveoAlbum
};
class GlxMenuManager : public QObject
@@ -37,22 +52,23 @@
Q_OBJECT
public :
- GlxMenuManager(HbMainWindow* mainWindow);
+ GlxMenuManager( HbMainWindow* mainWindow );
~GlxMenuManager();
- void createMarkingModeMenu(HbMenu* menu);
- void ShowItemSpecificMenu(qint32 viewId,QPointF pos);
- void setModel(QAbstractItemModel *model) { mModel = model ; }
- void addMenu(qint32 viewId, HbMenu* menu);
- void removeMenu(qint32 viewId, HbMenu* menu);
- void disableAction(HbMenu* menu,bool disable);
+ void createMarkingModeMenu( HbMenu* menu );
+ void ShowItemSpecificMenu( qint32 viewId,QPointF pos );
+ void setModel( QAbstractItemModel *model ) { mModel = model ; }
+ void addMenu( qint32 viewId, HbMenu* menu );
+ void removeMenu( qint32 viewId, HbMenu* menu );
+ void disableAction( HbMenu* menu,bool disable );
signals :
- void commandTriggered(qint32 commandId);
+ void commandTriggered( qint32 commandId );
private:
- void CreateGridMenu(HbMenu* menu);
- void CreateListMenu(HbMenu* menu);
- void CreateFullscreenMenu(HbMenu* menu);
+ void CreateGridMenu( HbMenu* menu );
+ void CreateListMenu( HbMenu* menu );
+ void CreateFullscreenMenu( HbMenu* menu );
+ void createSlideShowMenu( HbMenu* menu );
void setAllActionVisibility( QList<QAction*> actionList, bool visible );
int viewSubState();
@@ -67,4 +83,8 @@
HbMainWindow* mMainWindow;
HbMenu *mContextMenu;
HbMenu* mSubMenu;
+ HbMenu* m3DEffectSubMenu;
+ HbMenu* mRotateSubMenu;
+ HbMenu* mUseImgSubMenu;
+ GlxSettingInterface *mSettings;
};
--- a/ui/viewmanagement/viewmanager/inc/glxviewmanager.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/viewmanager/inc/glxviewmanager.h Wed Aug 18 09:48:53 2010 +0300
@@ -24,6 +24,7 @@
#include <QList>
#include <hbeffect.h>
#include "glxuistd.h"
+#include <QModelIndex>
class GlxView;
class HbMainWindow;
@@ -54,97 +55,132 @@
GLX_ALL_ID = 0xFF
} glxToolBarActionIds;
+/**
+ * view manager class
+ */
class GLX_VIEWMANAGER_EXPORT GlxViewManager : public QObject
{
Q_OBJECT
public :
+ /**
+ * Constructor
+ */
GlxViewManager();
+ /**
+ * Destructor
+ */
~GlxViewManager();
+
void setupItems( );
+
+ /**
+ * launch application
+ * @param id viewId
+ * @param model model to be used for the view
+ */
void launchApplication(qint32 id, QAbstractItemModel *model);
+
+ /**
+ * add back key action
+ */
void addBackSoftKeyAction();
-/*
- * This will return the orientation of main window
- */
+
+ /**
+ * This will return the orientation of main window
+ */
Qt::Orientation orientation() const;
-/*
- * This will deactivate the current function
- * to be used only in cases where External launch was done
- */
+
+ /**
+ * This will deactivate the current function
+ * to be used only in cases where External launch was done
+ */
void deactivateCurrentView();
-/*
- * To update the tool bar enable and disable icon
- * id = This should be selected toolbar tab id
- */
+
+ /**
+ * To update the tool bar enable and disable icon
+ * id = This should be selected toolbar tab id
+ */
void updateToolBarIcon(int id);
-/*
- * Enable the marking mode of the view to select multiple item
- */
+
+ /**
+ * Enable the marking mode of the view to select multiple item
+ */
void enterMarkingMode(qint32 viewId);
-/*
- * Enable the normal mode of the view
- */
+
+ /**
+ * Enable the normal mode of the view
+ */
void exitMarkingMode(qint32 viewId);
-/*
- * Pass the user action to the view
- */
+
+ /**
+ * Pass the user action to the view
+ */
void handleUserAction(qint32 viewId, qint32 commandId);
-/*
- * Return the selection model to the user
- */
+
+ /**
+ * Return the selection model to the user
+ */
QItemSelectionModel * getSelectionModel(qint32 viewId);
-/*
- * To set the model of current view
- */
+
+ /**
+ * To set the model of current view
+ */
void setModel( QAbstractItemModel *model );
signals :
-/*
- * emit the user action
- */
+ /**
+ * emit the user action
+ */
void actionTriggered(qint32 id);
void externalCommand(int cmdId);
void applicationReady();
public slots:
-/*
- * This public slot is used to launch the view
- */
+ /**
+ * This public slot is used to launch the view
+ */
void launchView (qint32 id, QAbstractItemModel *model);
-/*
- * It is over load slot and used to run the animation for view transition and launch the view
- */
+
+ /**
+ * 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.
- */
+
+ /**
+ * It will removed and deleted the view.
+ * Currently It is not used so may be in future, It will be removed.
+ */
void destroyView (qint32 id);
-/*
- * It will pass the user action to the state manager
- */
+
+ /**
+ * It will pass the user action to the state manager
+ */
void actionProcess(qint32 id);
-/*
- * It will pass the user selected menu action to state manager
- * check for depricated with actionProcess api
- */
+
+ /**
+ * It will pass the user selected menu action to state manager
+ * check for depricated with actionProcess api
+ */
void handleMenuAction(qint32 commandId);
-/*
- * It will pass the user action ( tool bar + back ) to state manager
- */
+
+ /**
+ * It will pass the user action ( tool bar + back ) to state manager
+ */
void handleAction();
void cancelTimer();
-/*
- * This is slot used for the animation finished call back
- */
+
+ /**
+ * This is slot used for the animation finished call back
+ */
void effectFinished( );
-/*
- * This will open the item specifc Menu
- */
+
+ /**
+ * This will open the item specifc Menu
+ */
void itemSpecificMenuTriggered(qint32,QPointF );
void handleReadyView();
@@ -156,46 +192,60 @@
void hideProgressDialog();
private:
-/*
- * It will create and return the view
- */
+ /**
+ * It will create and return the view
+ */
GlxView * resolveView (qint32 id);
-/*
- * It will find a view from the view list and return it
- */
+
+ /**
+ * It will find a view from the view list and return it
+ */
GlxView * findView (qint32 id);
-/*
- * It will deativate the current view
- */
+
+ /**
+ * It will deativate the current view
+ */
void deActivateView();
-/*
- * It will activate and show the view
- */
+
+ /**
+ * It will activate and show the view
+ */
void activateView();
-/*
- * It will create the grid and list view tool bar action
- */
+
+ /**
+ * It will create the grid and list view tool bar action
+ */
void createActions();
-/*
- * It will create the marking mode toll bar action
- */
+
+ /**
+ * It will create the marking mode toll bar action
+ */
void createMarkingModeActions();
-/*
- * It will create the grid and list view tool bar
- */
+
+ /**
+ * It will create the grid and list view tool bar
+ */
void createToolBar();
-/*
- * It will create the marking mode tool bar
- */
+
+ /**
+ * It will create the marking mode tool bar
+ */
void createMarkingModeToolBar();
-/*
- * It will add all the view manager related connection
- */
+
+ /**
+ * It will add all the view manager related connection
+ */
void addConnection();
-/*
- * It will remove all the view manager releted connection
- */
+
+ /**
+ * It will remove all the view manager releted connection
+ */
void removeConnection();
+
+ /**
+ *
+ */
+ int getSubState();
private:
QList<GlxView *> mViewList; //It contains all the view created by it self.
--- a/ui/viewmanagement/viewmanager/src/glxmenumanager.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/viewmanager/src/glxmenumanager.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -28,6 +28,7 @@
#include "glxcommandhandlers.hrh"
#include "glxmodelparm.h"
#include "glxlocalisationstrings.h"
+#include "glxsettinginterface.h"
GlxMenuManager::GlxMenuManager(HbMainWindow* mainWindow)
@@ -35,6 +36,7 @@
mMainWindow( mainWindow ),
mContextMenu( 0 )
{
+ mSettings = GlxSettingInterface::instance();
}
GlxMenuManager::~GlxMenuManager()
@@ -71,10 +73,14 @@
void GlxMenuManager::addMenu(qint32 viewId, HbMenu* menu)
{
+ int curState = viewSubState();
+ if( curState == FETCHER_ITEM_S || curState == FETCHER_S || curState == FETCHER_ALBUM_S || curState == IMAGEVIEWER_S)
+ return;
+
switch(viewId) {
case GLX_GRIDVIEW_ID:
+ CreateGridMenu( menu );
connect( menu, SIGNAL( aboutToShow() ), this, SLOT( updateGridMenu() ) );
- CreateGridMenu( menu );
break;
case GLX_LISTVIEW_ID:
@@ -82,9 +88,13 @@
break;
case GLX_FULLSCREENVIEW_ID:
+ CreateFullscreenMenu( menu );
connect( menu, SIGNAL( aboutToShow() ), this, SLOT( updateFullscreenMenu() ) );
- CreateFullscreenMenu( menu );
break;
+
+ case GLX_SLIDESHOWVIEW_ID :
+ createSlideShowMenu( menu );
+ break ;
default:
break;
@@ -145,6 +155,22 @@
action->setData(EGlxCmdDelete);
action->setObjectName( "GridMenu Delete" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+
+ m3DEffectSubMenu = menu->addMenu(GLX_GRID_OPT_EFFECT);
+ m3DEffectSubMenu->setObjectName( "GridMenu 3DEffect" );
+
+ action = m3DEffectSubMenu->addAction(GLX_GRID_OPT_ON);
+ action->setCheckable(ETrue);
+ action->setData(EGlxCmd3DEffectOn);
+ action->setObjectName( "GridMenu 3DOn" );
+ connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+
+ action = m3DEffectSubMenu->addAction(GLX_GRID_OPT_OFF);
+ action->setCheckable(ETrue);
+ action->setData(EGlxCmd3DEffectOff);
+ action->setObjectName( "GridMenu 3DOff" );
+ connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+
}
void GlxMenuManager::CreateListMenu(HbMenu* menu)
@@ -186,15 +212,21 @@
CFeatureDiscovery* featManager = CFeatureDiscovery::NewL();
if(featManager->IsFeatureSupportedL(KFeatureIdFfImageEditor))
{
- mSubMenu = menu->addMenu(QString("Rotate"));
- action = mSubMenu->addAction(QString("90 CW"));
+ mUseImgSubMenu = menu->addMenu(GLX_MENU_USE_IMAGE);
+ action = mUseImgSubMenu->addAction(GLX_MENU_SET_WALLPAPER);
+ action->setData(EGlxCmdSetWallpaper);
+ connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+
+
+ mRotateSubMenu = menu->addMenu(GLX_MENU_ROTATE);
+ action = mRotateSubMenu->addAction(GLX_MENU_90_CW);
action->setData(EGlxCmdRotateImgCW);
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
- action = mSubMenu->addAction(QString("90 CCW"));
+ action = mRotateSubMenu->addAction(GLX_MENU_90_CCW);
action->setData(EGlxCmdRotateImgCCW);
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
- action = menu->addAction(QString("Crop"));
+ action = menu->addAction(GLX_MENU_CROP);
action->setData(EGlxCmdRotateImgCrop);
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
}
@@ -205,6 +237,21 @@
action->setData(EGlxCmdAddToAlbum);
action->setObjectName( "FSMenu AddToAlbum" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+ action = menu->addAction( GLX_OPTION_REMOVE_FROM_ALBUM );
+ action->setData( EGlxCmdRemoveFrom );
+ action->setObjectName( "FSMenu RemoveAlbum" );
+ connect( action, SIGNAL( triggered() ), this, SLOT( menuItemSelected() ) );
+}
+
+void GlxMenuManager::createSlideShowMenu( HbMenu* menu )
+{
+ HbAction *action = NULL;
+ menu->setObjectName( "SSMenu" );
+
+ action = menu->addAction( GLX_OPTION_SS_SETTINGS );
+ action->setData( EGlxCmdSlideshowSettings );
+ action->setObjectName( "SSMenu Setting" );
+ connect( action, SIGNAL( triggered() ), this, SLOT( menuItemSelected() ) );
}
void GlxMenuManager::setAllActionVisibility( QList<QAction*> actionList, bool visible )
@@ -217,9 +264,11 @@
int GlxMenuManager::viewSubState()
{
- QVariant variant = mModel->data( mModel->index(0,0), GlxSubStateRole );
- if ( variant.isValid() && variant.canConvert<int> () ) {
- return variant.value<int>() ;
+ if(mModel){
+ QVariant variant = mModel->data( mModel->index(0,0), GlxSubStateRole );
+ if ( variant.isValid() && variant.canConvert<int> () ) {
+ return variant.value<int>() ;
+ }
}
return -1;
}
@@ -257,6 +306,26 @@
actionList.at(GlxGridViewRemoveFromAlbum)->setVisible( FALSE );
break ;
}
+
+ if(mMainWindow->orientation() == Qt::Horizontal)
+ {
+ actionList.at(GlxGridView3DEffect)->setVisible( TRUE );
+ QList<QAction*> subActionList = m3DEffectSubMenu->actions();
+ if(mSettings->mediaWall3DEffect())
+ {
+ subActionList.at(0)->setChecked(ETrue);
+ subActionList.at(1)->setChecked(EFalse);
+ }
+ else
+ {
+ subActionList.at(0)->setChecked(EFalse);
+ subActionList.at(1)->setChecked(ETrue);
+ }
+ }
+ else
+ {
+ actionList.at(GlxGridView3DEffect)->setVisible( FALSE );
+ }
}
}
@@ -276,6 +345,34 @@
setAllActionVisibility( actionList, TRUE );
isAllActionDisable = FALSE;
}
+
+
+
+#ifndef __WINSCW__
+ if ( state != IMAGEVIEWER_S)
+ {
+ int frameCount = (mModel->data(mModel->index((
+ mModel->data(mModel->index(0, 0),GlxFocusIndexRole)).value<int> (), 0),
+ GlxFrameCount)).value<int>();
+ bool setVisible = true;
+ if (frameCount > 1)
+ {
+ //Check for animated image, if found hide editor specific menu
+ setVisible = false;
+ }
+ //If Use Image contains any sub menu item other then related to Editor
+ //then individual sub menu item needs to be hidden rather then
+ //complete "Use Image"menu
+ actionList[GlxFullScreenViewUseImage]->setVisible(setVisible);
+ actionList[GlxFullScreenViewMenuRotate]->setVisible(setVisible);
+ actionList[GlxFullScreenViewCrop]->setVisible(setVisible);
+ }
+#endif
+ if( state != ALBUM_FULLSCREEN_S ){
+ actionList[GlxFullScreenViewRemoveoAlbum]->setVisible(false);
+ }else{
+ actionList[GlxFullScreenViewRemoveoAlbum]->setVisible(true);
+ }
}
void GlxMenuManager::menuItemSelected()
@@ -292,62 +389,87 @@
mContextMenu = new HbMenu();
mContextMenu->setObjectName( "ContextMenu" );
HbAction *action = NULL;
-
switch ( viewId ) {
case GLX_GRIDVIEW_ID :
- action = mContextMenu->addAction(GLX_MENU_SHARE);
- action->setData(EGlxCmdContextSend);
+ if ( viewSubState() == FETCHER_ITEM_S || viewSubState() == FETCHER_ALBUM_ITEM_S) {
+ action = mContextMenu->addAction( GLX_MENU_OPEN );
+ action->setData( EGlxCmdFetcherFullScreenOpen );
+ action->setObjectName( "CM Open1" );
+ connect( action, SIGNAL( triggered() ), this, SLOT( menuItemSelected() ) );
+ break;
+ }
+
+ action = mContextMenu->addAction( GLX_MENU_OPEN );
+ action->setData( EGlxCmdFullScreenOpen );
+ action->setObjectName( "CM Open" );
+ connect( action, SIGNAL( triggered() ), this, SLOT( menuItemSelected() ) );
+
+ action = mContextMenu->addAction( GLX_MENU_SHARE );
+ action->setData( EGlxCmdContextSend );
action->setObjectName( "CM Send" );
- connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+ connect( action, SIGNAL( triggered() ), this, SLOT( menuItemSelected() ) );
- action = mContextMenu->addAction(GLX_MENU_SLIDESHOW);
- action->setData(EGlxCmdSelectSlideshow);
+ action = mContextMenu->addAction( GLX_MENU_SLIDESHOW );
+ action->setData( EGlxCmdSelectSlideshow );
action->setObjectName( "CM SlideShow" );
- connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+ connect( action, SIGNAL( triggered() ), this, SLOT( menuItemSelected() ) );
+ action = mContextMenu->addAction( GLX_MENU_ADD_TO_ALBUM );
+ action->setData( EGlxCmdContextAddToAlbum );
+ action->setObjectName( "CM AddToAlbum" );
+ connect( action, SIGNAL( triggered() ), this, SLOT( menuItemSelected() ) );
+
if ( viewSubState() == ALBUM_ITEM_S ) {
- action = mContextMenu->addAction(GLX_OPTION_REMOVE_FROM_ALBUM);
- action->setData(EGlxCmdContextRemoveFrom);
+ action = mContextMenu->addAction( GLX_OPTION_REMOVE_FROM_ALBUM );
+ action->setData( EGlxCmdContextRemoveFrom );
action->setObjectName( "CM RemoveAlbum" );
- connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+ connect( action, SIGNAL( triggered() ), this, SLOT( menuItemSelected() ) );
}
- action = mContextMenu->addAction(GLX_MENU_ADD_TO_ALBUM);
- action->setData(EGlxCmdContextAddToAlbum);
- action->setObjectName( "CM AddToAlbum" );
- connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
-
- action = mContextMenu->addAction(GLX_MENU_DELETE);
- action->setData(EGlxCmdContextDelete);
+ action = mContextMenu->addAction( GLX_MENU_DELETE );
+ action->setData( EGlxCmdContextDelete );
action->setObjectName( "CM Delete" );
- connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+ connect( action, SIGNAL( triggered() ), this, SLOT( menuItemSelected() ) );
break;
case GLX_LISTVIEW_ID : {
+ if ( viewSubState() == FETCHER_ALBUM_S ) {
+ action = mContextMenu->addAction( GLX_MENU_OPEN );
+ action->setData( EGlxCmdFetcherAlbumGridOpen );
+ action->setObjectName( "CM Open1" );
+ connect( action, SIGNAL( triggered() ), this, SLOT( menuItemSelected() ) );
+ break;
+ }
+
int count = 0;
QVariant variant = mModel->data( mModel->index(0,0), GlxListItemCount );
if ( variant.isValid() && variant.canConvert<int> () ) {
count = variant.value<int>();
- }
+ }
+
+ action = mContextMenu->addAction( GLX_MENU_OPEN );
+ action->setData( EGlxCmdAlbumGridOpen );
+ action->setObjectName( "CM Album Open" );
+ connect( action, SIGNAL( triggered() ), this, SLOT( menuItemSelected() ) );
if ( count ) {
- action = mContextMenu->addAction(GLX_MENU_SLIDESHOW);
- action->setData(EGlxCmdAlbumSlideShow);
+ action = mContextMenu->addAction( GLX_MENU_SLIDESHOW );
+ action->setData( EGlxCmdAlbumSlideShow );
action->setObjectName( "CM Album SlideShow" );
- connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+ connect( action, SIGNAL( triggered() ), this, SLOT( menuItemSelected() ) );
}
variant = mModel->data( mModel->index(0,0), GlxSystemItemRole );
if ( variant.isValid() && variant.canConvert<bool> () && ( variant.value<bool>() == false ) ) {
- action = mContextMenu->addAction(GLX_MENU_RENAME);
- action->setData(EGlxCmdContextRename);
+ action = mContextMenu->addAction( GLX_MENU_RENAME );
+ action->setData( EGlxCmdContextRename );
action->setObjectName( "CM Rename" );
- connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+ connect( action, SIGNAL( triggered() ), this, SLOT( menuItemSelected() ) );
- action = mContextMenu->addAction(GLX_MENU_DELETE);
- action->setData(EGlxCmdContextAlbumDelete);
+ action = mContextMenu->addAction( GLX_MENU_DELETE );
+ action->setData( EGlxCmdContextAlbumDelete );
action->setObjectName( "CM Album Delete" );
- connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+ connect( action, SIGNAL( triggered() ), this, SLOT( menuItemSelected() ) );
}
}
break;
--- a/ui/viewmanagement/viewmanager/src/glxviewmanager.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/viewmanager/src/glxviewmanager.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -40,7 +40,8 @@
#include <glxmainwindoweventfilter.h>
#include <xqsettingsmanager.h>
#include <xqsettingskey.h>
-
+#include <glxviewids.h>
+#include "glxmodelroles.h"
GlxViewManager::GlxViewManager()
: mBackAction( NULL ),
@@ -52,22 +53,23 @@
mProgressDialog( NULL )
{
qDebug("GlxViewManager::GlxViewManager() ");
- PERFORMANCE_ADV ( viewMgrD1, "main window creation time" ) {
- //check the case when application launch through some other application (view plugin)
- mMainWindow = GlxExternalUtility::instance()->getMainWindow();
- if(mMainWindow == NULL) {
- mMainWindow = new HbMainWindow();
- connect(mMainWindow, SIGNAL( viewReady() ), this, SLOT( handleReadyView() ));
- }
- //Without this Zoom Does not work
- mWindowEventFilter = new GlxMainWindowEventFilter;
- mMainWindow->scene()->installEventFilter(mWindowEventFilter);
- mMainWindow->viewport()->setAttribute(Qt::WA_AcceptTouchEvents);
- mMainWindow->viewport()->grabGesture(Qt::PinchGesture);
+ //check the case when application launch through some other application (view plugin)
+ mMainWindow = GlxExternalUtility::instance()->getMainWindow();
+ if(mMainWindow == NULL) {
+ mMainWindow = new HbMainWindow();
}
+ connect(mMainWindow, SIGNAL( viewReady() ), this, SLOT( handleReadyView() ));
+ //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::handleReadyView()
{
emit actionTriggered( EGlxCmdSetupItem );
@@ -77,21 +79,18 @@
void GlxViewManager::setupItems( )
{
- mMenuManager = new GlxMenuManager(mMainWindow);
addBackSoftKeyAction();
- addConnection();
- mMenuManager->addMenu( mView->viewId(), mView->menu() );
- mMenuManager->setModel( mModel );
+ addConnection();
}
void GlxViewManager::launchApplication(qint32 id, QAbstractItemModel *model)
{
mModel = model;
- PERFORMANCE_ADV ( viewMgrD1, "View Creation time" ) {
- mView = resolveView(id);
- }
+ mMenuManager = new GlxMenuManager( mMainWindow ); //menu manager should be created before view.
+ mMenuManager->setModel( mModel );
+ mView = resolveView( id );
+
createToolBar();
- mView->addToolBar(mViewToolBar);
/* We are showing the toolBar before activating the
* view. This is done to avoid the animation effect seen otherwise
@@ -103,14 +102,11 @@
*
*/
mView->activate();
-
- PERFORMANCE_ADV ( viewMgrD3, "Set Model time")
- mView->setModel(mModel);
-
- PERFORMANCE_ADV( viewMgrD4, "View Display time") {
- mMainWindow->setCurrentView(mView, false);
- mMainWindow->showFullScreen();
- }
+ mView->setModel( mModel );
+ //visibility of tool bar dependes of view internal state so add the toolbar after setting model
+ mView->addToolBar( mViewToolBar );
+ mMainWindow->setCurrentView( mView, false );
+ mMainWindow->showFullScreen();
}
void GlxViewManager::handleMenuAction(qint32 commandId)
@@ -121,6 +117,7 @@
void GlxViewManager::handleAction()
{
HbAction *action = qobject_cast<HbAction*>(sender());
+ action->setChecked( TRUE );
qint32 commandId = action->data().toInt();
emit actionTriggered(commandId);
}
@@ -129,8 +126,8 @@
{
qDebug("GlxViewManager::addBackSoftKeyAction ");
//create the back soft key action and set the data
- mBackAction = new HbAction(Hb::BackNaviAction, this);
- mBackAction->setData(EGlxCmdBack);
+ mBackAction = new HbAction( Hb::BackNaviAction, this );
+ mBackAction->setData( EGlxCmdBack );
mBackAction->setObjectName( "App Back" );
mView->setNavigationAction( mBackAction );
}
@@ -140,16 +137,13 @@
return mMainWindow->orientation();
}
-void GlxViewManager::launchView(qint32 id, QAbstractItemModel *model)
+void GlxViewManager::launchView( qint32 id, QAbstractItemModel *model )
{
- qDebug("GlxViewManager::launchView Id = %d ", id);
+ qDebug( "GlxViewManager::launchView Id = %d ", id );
mModel = model;
deActivateView();
-
- PERFORMANCE_ADV ( viewMgrD1, "View Creation time" ) {
- mView = resolveView(id);
- }
-
+ mMenuManager->setModel( mModel ); //set the model to get the item type info and row count info
+ mView = resolveView( id );
activateView();
}
@@ -176,10 +170,11 @@
//partially clean the view so that animation run smoothly
GlxView *curr_view = (GlxView *) mMainWindow->currentView();
curr_view->resetView();
-
+
+ mMenuManager->setModel( model ); //set the model to get the item type info and row count info
mView = resolveView(id);
//partially initialise the view so that animation run smoothly
- mView->initializeView( model);
+ mView->initializeView( model, curr_view );
mModel = model;
if ( viewEffect == CURRENT_VIEW || viewEffect == BOTH_VIEW ) {
@@ -201,6 +196,10 @@
}
}
+ if ( effect == GRID_TO_FULLSCREEN ) {
+ mViewToolBar->setZValue( item->zValue() - 5 );
+ }
+
//error check
if ( itemList.count() > 0 ) {
mEffectEngine->runEffect(itemList, effect);
@@ -247,38 +246,8 @@
//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;
- }
+ icon = HbIcon( QString( ":/data/Wait/qgn_graf_ring_wait_%1.svg" ).arg( i + 1, 2, 10, QChar( '0' ) ) );
+ mProgressDialog->setIcon(icon);
int max = mProgressDialog->maximum() ;
if ( currentValue > max ) {
@@ -286,10 +255,8 @@
max = currentValue ;
}
- mProgressDialog->setIcon(icon);
-
if ( currentValue < 0 ) {
- mProgressDialog->setText( QString( "Refreshing" ) ); //To:Do string will change later
+ mProgressDialog->setText( QString( GLX_REFRESHING ) ); //To:Do string will change later
mProgressDialog->setProgressValue( 0 );
}
else {
@@ -317,22 +284,18 @@
qDebug("GlxViewManager::updateToolBarIcon() action ID list %d count %d", id, count);
- for ( int i = 0; i < count ; i++ )
- {
+ for ( int i = 0; i < count ; i++ ) {
qDebug("GlxViewManager::updateToolBarIcon() toolBarActionId %d value %d", toolBarActionId, ( id & toolBarActionId ) );
//check and get the icon path
- if ( ( id & toolBarActionId ) == toolBarActionId )
- {
- mActionList[i]->setCheckable(TRUE);
+ if ( ( id & toolBarActionId ) == toolBarActionId ) {
mActionList[i]->setChecked(TRUE);
- }
- else
- {
+ }
+ else {
mActionList[i]->setChecked(FALSE);
- }
+ }
//to get it the next action id to verify it is selecter or not
toolBarActionId = toolBarActionId << 1;
- }
+ }
}
void GlxViewManager::checkMarked()
@@ -343,7 +306,6 @@
if( mMarkingActionList.at(i)->data()==EGlxCmdSelect) {
bool noSelection=selectedModelIndex.empty();
mMarkingActionList.at(i)->setDisabled(noSelection);
- mMenuManager->disableAction(mView->menu(),noSelection);
break;
}
}
@@ -417,23 +379,22 @@
}
}
-GlxView * GlxViewManager::resolveView(qint32 id)
+GlxView * GlxViewManager::resolveView( qint32 id )
{
- qDebug("GlxViewManager::resolveView %d", id);
+ qDebug("GlxViewManager::resolveView %d", id );
GlxView *view = findView ( id );
if ( view ) {
return view ;
}
- view = GlxViewsFactory::createView(id, mMainWindow);
+ view = GlxViewsFactory::createView( id, mMainWindow );
if ( view ) {
- connect ( view, SIGNAL(actionTriggered(qint32 )), this, SLOT(actionProcess(qint32 )), Qt::QueuedConnection );
- connect ( view, SIGNAL(itemSpecificMenuTriggered(qint32,QPointF ) ), this, SLOT( itemSpecificMenuTriggered(qint32,QPointF ) ), Qt::QueuedConnection );
- mViewList.append(view);
- mMainWindow->addView(view);
- if ( mMenuManager ) {
- mMenuManager->addMenu( id, view->menu());
- }
+ connect ( view, SIGNAL( actionTriggered( qint32 ) ), this, SLOT( actionProcess( qint32 ) ), Qt::QueuedConnection );
+ connect ( view, SIGNAL( itemSpecificMenuTriggered( qint32, QPointF ) ), this, SLOT( itemSpecificMenuTriggered( qint32, QPointF ) ), Qt::QueuedConnection );
+ mViewList.append( view );
+ mMainWindow->addView( view );
+ mMenuManager->addMenu( id, view->menu() );
+
if ( mBackAction ) {
view->setNavigationAction( mBackAction );
}
@@ -488,42 +449,53 @@
void GlxViewManager::activateView()
{
qDebug("GlxViewManager::activateView()");
-
- PERFORMANCE_ADV ( viewMgrD2, "View Activation time") {
- mView->addToolBar(mViewToolBar);
- mView->activate();
- mView->show();
- mMenuManager->setModel( mModel ); //set the model to get the item type info and row count info
- }
-
- PERFORMANCE_ADV ( viewMgrD3, "Set Model time")
- mView->setModel(mModel);
-
- PERFORMANCE_ADV( viewMgrD4, "View Display time") {
- mMainWindow->setCurrentView(mView, false);
- mMainWindow->showFullScreen();
- }
+
+ mView->activate();
+ mView->show();
+ mView->setModel( mModel );
+ //visibility of tool bar dependes of view internal state so add the toolbar after setting model
+ mView->addToolBar( mViewToolBar );
+ mMainWindow->setCurrentView(mView, false);
+ mMainWindow->showFullScreen();
}
void GlxViewManager::createActions()
{
qDebug("GlxViewManager::createActions() " );
mActionList.clear();
+
+ int curSubstate = getSubState();
//create the All tool bar button action
HbAction* allAction = new HbAction( this );
- allAction->setData( EGlxCmdAllGridOpen );
+
+ if( curSubstate == FETCHER_ITEM_S ) {
+ allAction->setData( EGlxCmdFetcherAllGridOpen );
+ }else{
+ allAction->setData( EGlxCmdAllGridOpen );
+ }
+
mActionList.append( allAction );
allAction->setIcon( HbIcon( GLXICON_ALL ) ) ;
allAction->setObjectName( "All Action" );
//create the Album tool bar button action
HbAction* albumAction = new HbAction( this );
- albumAction->setData( EGlxCmdAlbumListOpen );
+
+ if( curSubstate == FETCHER_ITEM_S ) {
+ albumAction->setData( EGlxCmdFetcherAlbumListOpen );
+ }else{
+ albumAction->setData( EGlxCmdAlbumListOpen );
+ }
+
mActionList.append( albumAction );
albumAction->setIcon( HbIcon( GLXICON_ALBUMS ) ) ;
albumAction->setObjectName( "Album Action" );
-
+
+ //in case of fetcher no need to create other actions
+ if( curSubstate == FETCHER_ITEM_S ) {
+ return;
+ }
//create the album tool bar button action
HbAction* cameraAction = new HbAction( this );
cameraAction->setData( EGlxCmdCameraOpen );
@@ -607,6 +579,7 @@
int count = mActionList.count();
for ( int i = 0; i < count; i++ ) {
connect( mActionList.at(i), SIGNAL(triggered( )), this, SLOT(handleAction( )) );
+ mActionList.at(i)->setCheckable( TRUE );
mViewToolBar->addAction( mActionList.at(i) );
}
qDebug("GlxViewManager::createToolBar() exit" );
@@ -705,7 +678,7 @@
}
if( mMainWindow != GlxExternalUtility::instance()->getMainWindow() ){
- qDebug("GlxViewManager::~GlxViewManager remove view");
+ qDebug("GlxViewManager::~GlxViewManager delete mainwindow");
delete mMainWindow;
}
delete mWindowEventFilter;
@@ -713,3 +686,15 @@
qDebug("GlxViewManager::~GlxViewManager Exit");
}
+int GlxViewManager::getSubState()
+{
+ int curSubstate = NO_GRID_S;
+
+ if ( mModel ) {
+ QVariant variant = mModel->data( mModel->index(0,0), GlxSubStateRole );
+ if ( variant.isValid() && variant.canConvert<int> () ) {
+ curSubstate = variant.value<int>();
+ }
+ }
+ return curSubstate;
+}
--- a/ui/viewmanagement/viewmanager/viewmanager.pro Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewmanagement/viewmanager/viewmanager.pro Wed Aug 18 09:48:53 2010 +0300
@@ -25,6 +25,7 @@
../../../loggers/loggerqt/inc \
../../../commonutilities/externalutility/inc \
../../viewutilities/effectengine/inc \
+ ../../viewutilities/settingutility/inc
CONFIG += hb
--- a/ui/views/detailsview/inc/glxdetailscustomicon.h Tue Jul 06 14:16:16 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 GLXDETAILSCUSTOMICON_H
-#define GLXDETAILSCUSTOMICON_H
-
-#include <hbwidget.h>
-class HbIconItem;
-class HbIcon;
-
-class GlxDetailsCustomIcon : public HbWidget
-{
- Q_OBJECT
-
-public:
- GlxDetailsCustomIcon(QGraphicsItem *parent);
- ~GlxDetailsCustomIcon();
- /*
- * Sets the Geometry of the Custom Widget
- */
- void setItemGeometry(QRect screenRect);
-
- /*
- * Sets the Size of the Favourite Icon
- */
- void setItemSize(const QSizeF &size);
-
- /*
- * Sets the Position of the Favourite Icon
- */
- void setItemPos(qreal ax, qreal ay);
-
- /*
- * Sets the Icon of Favourite IconItem.
- */
- void setItemIcon(const HbIcon &icon);
-
-protected:
- void mousePressEvent(QGraphicsSceneMouseEvent *event);
- void mouseReleaseEvent (QGraphicsSceneMouseEvent *event);
-
-signals :
- void updateFavourites();
-
-private:
- HbIconItem *mFavIcon;
-};
-
-#endif // GLXDETAILSCUSTOMICON_H
--- a/ui/views/detailsview/inc/glxdetailsview.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/detailsview/inc/glxdetailsview.h Wed Aug 18 09:48:53 2010 +0300
@@ -29,8 +29,9 @@
class HbDocumentLoader;
class HbLabel;
class HbPushButton;
-class GlxDetailsNameLabel;
-class GlxDetailsDescriptionEdit;
+class GlxDetailsTextEdit;
+class GlxDetailsIcon;
+
class GlxDetailsViewDocLoader;
class GlxDetailsView : public GlxView
@@ -61,7 +62,7 @@
/*
* This is called from the view manager before the view is going to Activated.
*/
- void initializeView(QAbstractItemModel *model);
+ void initializeView( QAbstractItemModel *model, GlxView *preView );
/*
* This is called from the view manager before the view is going to de-activated.
@@ -82,6 +83,7 @@
void updateLayout(Qt::Orientation);
void rowsRemoved(const QModelIndex &parent, int start, int end);
void dataChanged(QModelIndex startIndex, QModelIndex endIndex);
+ void modelDestroyed();
void updateFavourites();
void UpdateDescription();
void FillDetails();
@@ -146,13 +148,14 @@
*/
void clearConnections();
+ int getSubState();
private:
//Contains the thumbnail shown in teh details view.
HbLabel *mDetailsIcon;
//Contains the favourite icon which adds or removes the image to favourite folder
- HbPushButton *mFavIcon;
+ GlxDetailsIcon *mFavIcon;
//The media Model to acess the attributes; not owned,dont delete.
QAbstractItemModel *mModel;
@@ -169,10 +172,10 @@
GlxDetailsViewDocLoader *mDocLoader;
//Shows the Images
- GlxDetailsNameLabel *mImageName;
+ GlxDetailsTextEdit *mImageName;
//Shows the descriptions
- GlxDetailsDescriptionEdit *mDescriptions;
+ GlxDetailsTextEdit *mDescriptions;
//Shows the Date
HbLabel *mDateLabel;
@@ -182,5 +185,8 @@
//Shows the time
HbLabel *mTimeLabel;
+
+ HbIcon mFavIconEnabled;
+ HbIcon mFavIconDisabled;
};
#endif //GLXDETAILSVIEW_H
--- a/ui/views/detailsview/src/glxdetailscustomicon.cpp Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +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 <hbiconitem.h>
-#include <hbframeitem.h>
-#include <glxdetailscustomicon.h>
-#include <QEvent>
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//mousePressEvent
-//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsCustomIcon::mousePressEvent(QGraphicsSceneMouseEvent *event)
-{
- Q_UNUSED(event)
-}
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//clearCurrentModel
-//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsCustomIcon::mouseReleaseEvent (QGraphicsSceneMouseEvent *event)
-{
- Q_UNUSED(event)
- emit updateFavourites();
-}
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//GlxDetailsCustomIcon
-//--------------------------------------------------------------------------------------------------------------------------------------------
-GlxDetailsCustomIcon::GlxDetailsCustomIcon(QGraphicsItem *parent) : HbWidget(parent)
-{
- mFavIcon = new HbIconItem(this);
- HbFrameItem* frame = new HbFrameItem(this);
- frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
- frame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
- frame->graphicsItem()->setOpacity(0.2);
- setBackgroundItem(frame->graphicsItem(),-1);
-
-}
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//~GlxDetailsCustomIcon
-//--------------------------------------------------------------------------------------------------------------------------------------------
-GlxDetailsCustomIcon::~GlxDetailsCustomIcon()
-{
- delete mFavIcon;
- mFavIcon = NULL;
-}
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//setItemGeometry
-//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsCustomIcon::setItemGeometry(QRect screenRect)
-{
- setGeometry(screenRect);
-}
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//setItemSize
-//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsCustomIcon::setItemSize(const QSizeF &size)
-{
- mFavIcon->setSize(size);
-}
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//setItemPos
-//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsCustomIcon::setItemPos(const qreal ax,const qreal ay)
-{
- //place the FavIcon with respect to the parent i.e HbWidget
- mFavIcon->setPos(ax ,ay);
-}
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//setItemIcon
-//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsCustomIcon::setItemIcon(const HbIcon &icon)
-{
- mFavIcon->setIcon(icon);
-}
--- a/ui/views/detailsview/src/glxdetailscustomwidgets.cpp Tue Jul 06 14:16:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +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 "glxdetailscustomwidgets.h"
-#include <hbdataform.h>
-#include <hbdataformmodelitem.h>
-#include <hbdataformmodel.h>
-#include <hbdataformviewitem.h>
-
-#include <hblineedit.h>
-#include <hblabel.h>
-//#include "hbsettingformitem_p.h"
-#include <hbpushbutton.h>
-#include <hbiconitem.h>
-#include <QDir>
-#include <QGraphicsLinearLayout>
-
-GlxDetailsCustomWidgets::GlxDetailsCustomWidgets(QGraphicsItem *parent):
-HbDataFormViewItem(parent)
- {
- }
-
-GlxDetailsCustomWidgets::~GlxDetailsCustomWidgets()
- {
- }
-
-HbAbstractViewItem* GlxDetailsCustomWidgets::createItem()
- {
- return new GlxDetailsCustomWidgets(*this);
- }
-
-HbWidget* GlxDetailsCustomWidgets::createCustomWidget()
- {
- qDebug("GlxDetailsCustomWidgets::createCustomWidget");
- HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
- modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
- switch(itemType)
- {
-
- case DateLabelItem :
- {
- qDebug("GlxDetailsCustomWidgets::createCustomWidget:DateLabelItem");
- HbLabel *dateLabel = new HbLabel();
- return dateLabel;
- }
-
-
-
- default:
- return 0;
-
- }
- }
-
-bool GlxDetailsCustomWidgets::canSetModelIndex(const QModelIndex &index) const
-{
- HbDataFormModelItem::DataItemType itemType =
- static_cast<HbDataFormModelItem::DataItemType>(
- index.data(HbDataFormModelItem::ItemTypeRole).toInt());
-
- if(itemType >= ImageNameItem &&
- itemType <= CommentsItem )
- {
- return true;
- }
- return false;
-}
-
-//EOF
--- a/ui/views/detailsview/src/glxdetailsview.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/detailsview/src/glxdetailsview.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -34,7 +34,7 @@
#include <hbdocumentloader.h>
#include <hbdataformmodelitem.h>
#include <hbdataformviewitem.h>
-
+#include <hbparameterlengthlimiter.h>
//--------------------------------------------------------------------------------------------------------------------------------------------
#include "glxviewids.h"
#include "glxicondefs.h" //Contains the icon names/Ids
@@ -44,8 +44,9 @@
#include "glxfavmediamodel.h"
#include "glxdocloaderdefs.h"
#include <glxcommandhandlers.hrh>
-#include "glxdetailsdescriptionedit.h"
-#include "glxdetailsnamelabel.h"
+#include "glxlocalisationstrings.h"
+#include "glxdetailstextedit.h"
+#include "glxdetailsicon.h"
#include "glxviewdocloader.h"
@@ -61,7 +62,8 @@
#endif
//SIZE OF THE IMAGE , LAYOUTS TEAM NEED TO GIVER THE SIZE IN UNITS
-#define GLX_IMAGE_SIZE 215
+#define GLX_IMAGE_WIDTH 333
+#define GLX_IMAGE_HEIGHT 215
const int KBytesInKB = 1024;
const int KBytesInMB = 1024 * 1024;
const int KBytesInGB = 1024 * 1024 * 1024;
@@ -69,29 +71,39 @@
//--------------------------------------------------------------------------------------------------------------------------------------------
//GlxDetailsView
//--------------------------------------------------------------------------------------------------------------------------------------------
-GlxDetailsView::GlxDetailsView(HbMainWindow *window) :
-GlxView(GLX_DETAILSVIEW_ID), mDetailsIcon(NULL), mFavIcon(NULL), mModel(
- NULL), mFavModel(NULL), mWindow(window),
- mSelIndex(0),mDocLoader(NULL),mImageName(NULL),mDescriptions(NULL),mDateLabel(NULL),mSizeLabel(NULL),mTimeLabel(NULL)
- {
+GlxDetailsView::GlxDetailsView(HbMainWindow *window)
+ : GlxView( GLX_DETAILSVIEW_ID ),
+ mDetailsIcon( NULL ),
+ mFavIcon( NULL ),
+ mModel( NULL ),
+ mFavModel( NULL ),
+ mWindow( window ),
+ mSelIndex( 0 ),
+ mDocLoader( NULL ),
+ mImageName( NULL ),
+ mDescriptions( NULL ),
+ mDateLabel( NULL ),
+ mSizeLabel( NULL ),
+ mTimeLabel( NULL )
+{
GLX_LOG_INFO("GlxDetailsView::GlxDetailsView");
OstTraceFunctionEntry0( GLXDETAILSVIEW_GLXDETAILSVIEW_ENTRY );
setContentFullScreen(true);//for smooth transtion between grid to full screen and vice versa
OstTraceFunctionExit0( GLXDETAILSVIEW_GLXDETAILSVIEW_EXIT );
- }
+}
//--------------------------------------------------------------------------------------------------------------------------------------------
//~GlxDetailsView
//--------------------------------------------------------------------------------------------------------------------------------------------
GlxDetailsView::~GlxDetailsView()
- {
+{
OstTrace0( TRACE_IMPORTANT, GLXDETAILSVIEW_GLXDETAILSVIEW, "GlxDetailsView::~GlxDetailsView" );
delete mDocLoader;
mDocLoader = NULL;
cleanUp();
- }
+}
//--------------------------------------------------------------------------------------------------------------------------------------------
//activate
@@ -100,7 +112,9 @@
{
OstTraceFunctionEntry0( GLXDETAILSVIEW_ACTIVATE_ENTRY );
//create and set the Favourite Model
- setFavModel();
+ if(getSubState() != IMAGEVIEWER_DETAIL_S) {
+ setFavModel();
+ }
//fill the data
FillDetails();
@@ -120,34 +134,33 @@
//--------------------------------------------------------------------------------------------------------------------------------------------
//initializeView
//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsView::initializeView(QAbstractItemModel *model)
- {
+void GlxDetailsView::initializeView( QAbstractItemModel *model, GlxView *preView)
+{
+ Q_UNUSED( preView )
OstTraceFunctionEntry0( GLXDETAILSVIEW_INITIALIZEVIEW_ENTRY );
bool loaded = false;
-
+
if(!mDocLoader)
{
mDocLoader = new GlxDetailsViewDocLoader();
}
-
+
//Load the docml
mDocLoader->load(GLX_DETAILSVIEW_DOCMLPATH, &loaded);
-
+
HbView *mView = static_cast<HbView*> (mDocLoader->findWidget(
GLX_DETAILSVIEW_VIEW));
- HbWidget *mwidget = static_cast<HbWidget*> (mDocLoader->findWidget(
- "MainWidget"));
-
mDetailsIcon = static_cast<HbLabel*> (mDocLoader->findWidget(
GLX_DETAILSVIEW_IMAGE));
- mFavIcon = static_cast<HbPushButton*> (mDocLoader->findWidget(
+ mFavIcon = static_cast<GlxDetailsIcon*> (mDocLoader->findWidget(
GLX_DETAILSVIEW_FAVICON));
- mDescriptions = static_cast<GlxDetailsDescriptionEdit*> (mDocLoader->findWidget(
+
+ mDescriptions = static_cast<GlxDetailsTextEdit*> (mDocLoader->findWidget(
GLX_DETAILSVIEW_DESCRPTIONTEXT));
- mImageName = static_cast<GlxDetailsNameLabel*> (mDocLoader->findWidget(
+ mImageName = static_cast<GlxDetailsTextEdit*> (mDocLoader->findWidget(
GLX_DETAILSVIEW_IMGNAME));
mDateLabel = static_cast<HbLabel*> (mDocLoader->findWidget(
@@ -159,25 +172,24 @@
mSizeLabel = static_cast<HbLabel*> (mDocLoader->findWidget(
GLX_DETAILSVIEW_SIZETEXT));
- //set the frame graphics to the background of the fav icon
- HbFrameItem* frame = new HbFrameItem(this);
- frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
- frame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
- frame->graphicsItem()->setOpacity(0.2);
- mFavIcon->setBackgroundItem(frame->graphicsItem(), -1);
- mFavIcon->setBackground(HbIcon("qtg_fr_multimedia_trans"));
- mFavIcon->setIcon(HbIcon(GLXICON_REMOVE_FAV));
-
- setWidget(mView);
-
+ mFavIconEnabled = HbIcon(GLXICON_ADD_TO_FAV);
+ mFavIconDisabled = HbIcon(GLXICON_REMOVE_FAV);
+
//Set the Model
mModel = model;
-
+ if(getSubState() == IMAGEVIEWER_DETAIL_S) {
+ mFavIcon->hide();
+ }
+ else
+ {
+ mFavIcon->setItemIcon(HbIcon(GLXICON_REMOVE_FAV));
+ }
+
+ setWidget(mView);
+
//Set the Layout Correspondingly.
updateLayout(mWindow->orientation());
- //Shows the Image
- showImage();
OstTraceFunctionExit0( GLXDETAILSVIEW_INITIALIZEVIEW_EXIT );
}
@@ -211,14 +223,15 @@
//--------------------------------------------------------------------------------------------------------------------------------------------
void GlxDetailsView::cleanUp()
{
+ qDebug("GlxDetailsView::cleanUp Enter");
+ //clear the connections
+ clearConnections();
+
clearCurrentModel();
- //clear the connections
- clearConnections();
-
delete mFavModel;
mFavModel = NULL;
-
+
delete mFavIcon;
mFavIcon = NULL;
@@ -251,80 +264,80 @@
mModel->index(0, 0), GlxFocusIndexRole).value<int> (), 0),
GlxUriRole)).value<QString> ();
- if (mFavModel == NULL)
- {
+ if (mFavModel == NULL) {
modelParm.setCollection(KGlxCollectionPluginFavoritesAlbumId);
modelParm.setContextMode(GlxContextFavorite);
modelParm.setPath(imagePath);
mFavModel = new GlxFavMediaModel(modelParm);
- }
+ }
}
//--------------------------------------------------------------------------------------------------------------------------------------------
//initializeNewModel
//--------------------------------------------------------------------------------------------------------------------------------------------
void GlxDetailsView::initializeNewModel()
- {
+{
OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_INITIALIZENEWMODEL, "GlxDetailsView::initializeNewModel" );
-
- if (mModel)
- {
- connect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this,
- SLOT(rowsRemoved(QModelIndex,int,int)));
- }
+
+ if (mModel) {
+ connect( mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(rowsRemoved(QModelIndex,int,int)));
+ connect( mModel, SIGNAL( updateDetailsView() ), this, SLOT( FillDetails() ));
+ connect( mModel, SIGNAL( destroyed() ), this, SLOT( modelDestroyed() ) );
}
+}
//--------------------------------------------------------------------------------------------------------------------------------------------
//clearCurrentModel
//--------------------------------------------------------------------------------------------------------------------------------------------
void GlxDetailsView::clearCurrentModel()
- {
+{
OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_CLEARCURRENTMODEL, "GlxDetailsView::clearCurrentModel" );
- if (mModel)
- {
- disconnect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this,
- SLOT(rowsRemoved(QModelIndex,int,int)));
+ if (mModel) {
+ disconnect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(rowsRemoved(QModelIndex,int,int)));
+ disconnect(mModel, SIGNAL( updateDetailsView() ), this, SLOT( FillDetails() ));
+ disconnect( mModel, SIGNAL( destroyed() ), this, SLOT( modelDestroyed() ) );
mModel = NULL;
- }
}
+}
//--------------------------------------------------------------------------------------------------------------------------------------------
//setConnections
//--------------------------------------------------------------------------------------------------------------------------------------------
void GlxDetailsView::setConnections()
- {
+{
connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this,
SLOT(updateLayout(Qt::Orientation)));
- connect(mFavIcon, SIGNAL(clicked()), this, SLOT(updateFavourites()));
+
+ if(getSubState() != IMAGEVIEWER_DETAIL_S) {
+ connect(mFavIcon, SIGNAL(updateFavourites()), this, SLOT(updateFavourites()));
connect(mDescriptions, SIGNAL(labelPressed()), this,
SLOT(UpdateDescription()));
- connect(mModel, SIGNAL( updateDetailsView() ), this, SLOT( FillDetails() ));
-
connect(mFavModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ),
- this, SLOT( dataChanged(QModelIndex,QModelIndex) ));
+ this, SLOT( dataChanged(QModelIndex,QModelIndex) ));
}
+}
//--------------------------------------------------------------------------------------------------------------------------------------------
//clearConnections
//--------------------------------------------------------------------------------------------------------------------------------------------
void GlxDetailsView::clearConnections()
- {
+{
+
+ qDebug("GlxDetailsView:: clearConnections");
disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this,
SLOT(updateLayout(Qt::Orientation)));
-
- disconnect(mFavIcon, SIGNAL(clicked()), this, SLOT(updateFavourites()));
-
+
+ if(mModel && getSubState() != IMAGEVIEWER_DETAIL_S) {
+ disconnect(mFavIcon, SIGNAL(updateFavourites()), this, SLOT(updateFavourites()));
disconnect(mDescriptions, SIGNAL(labelPressed()), this,
SLOT(UpdateDescription()));
-
- disconnect(mModel, SIGNAL( updateDetailsView() ), this, SLOT( FillDetails() ));
-
disconnect(mFavModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ),
- this, SLOT( dataChanged(QModelIndex,QModelIndex) ));
+ this, SLOT( dataChanged(QModelIndex,QModelIndex) ));
}
+}
//--------------------------------------------------------------------------------------------------------------------------------------------
//getAnimationItem
@@ -363,11 +376,11 @@
//Load the Sections
mDocLoader->load(GLX_DETAILSVIEW_DOCMLPATH, section, &loaded);
- //This is just to over come the bug in docloader,once that is fixed we can remove the
+ showImage();
+ //This is just to over come the bug in docloader,once that is fixed we can remove the
//below lines of code
- setImageName();
- setDate();
-
+ FillDetails();
+
GLX_LOG_INFO1("GlxDetailsView::updateLayout =%d\n",loaded);
}
@@ -393,6 +406,11 @@
}
}
+void GlxDetailsView::modelDestroyed()
+{
+ mModel = NULL;
+}
+
//--------------------------------------------------------------------------------------------------------------------------------------------
//FillData
//--------------------------------------------------------------------------------------------------------------------------------------------
@@ -421,7 +439,7 @@
//showImage
//--------------------------------------------------------------------------------------------------------------------------------------------
void GlxDetailsView::showImage()
- {
+ {
OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_SHOWIMAGE, "GlxDetailsView::showImage" );
QVariant variant = mModel->data(mModel->index(0, 0), GlxFocusIndexRole);
@@ -431,17 +449,12 @@
}
variant = mModel->data(mModel->index(mSelIndex, 0), GlxFsImageRole);
+
if (variant.isValid() && variant.canConvert<HbIcon> ())
{
- QIcon itemIcon = variant.value<HbIcon> ().qicon();
- QPixmap itemPixmap = itemIcon.pixmap(GLX_IMAGE_SIZE, GLX_IMAGE_SIZE);
- QSize sz(GLX_IMAGE_SIZE, GLX_IMAGE_SIZE);
- itemPixmap = itemPixmap.scaled(sz, Qt::IgnoreAspectRatio);
-
- HbIcon tmp = HbIcon(QIcon(itemPixmap));
- mDetailsIcon->setIcon(tmp);
+ mDetailsIcon->setIcon(variant.value<HbIcon> ());
}
- }
+ }
//--------------------------------------------------------------------------------------------------------------------------------------------
//setImageName
@@ -449,15 +462,12 @@
void GlxDetailsView::setImageName()
{
OstTraceFunctionEntry0( GLXDETAILSVIEW_SETIMAGENAME_ENTRY );
- QString temp = "<u>";
QString imagePath = (mModel->data(mModel->index(mModel->data(
mModel->index(0, 0), GlxFocusIndexRole).value<int> (), 0),
GlxUriRole)).value<QString> ();
QString imageName = imagePath.section('\\', -1);
- temp.append(imageName);
- temp.append("</u>");
- mImageName->setItemText(temp);
+ mImageName->setItemText(imageName);
OstTraceFunctionExit0( GLXDETAILSVIEW_SETIMAGENAME_EXIT );
}
@@ -466,10 +476,15 @@
//--------------------------------------------------------------------------------------------------------------------------------------------
void GlxDetailsView::setDesc()
{
+
+ //This is a hack , Initialize to some characters and then set the text
+ //as of know if the description text is Null , we cant see the Description edit box
+ //The issue has been informed to Application designer team.
+ mDescriptions->setItemText("a");
QString description = (mModel->data(mModel->index(mModel->data(
mModel->index(0, 0), GlxFocusIndexRole).value<int> (), 0),
GlxDescRole)).value<QString> ();
- mDescriptions->setItemText(description);
+ mDescriptions->setItemText(description);
}
//--------------------------------------------------------------------------------------------------------------------------------------------
@@ -484,12 +499,12 @@
QDate date = (mModel->data(mModel->index(mModel->data(
mModel->index(0, 0), GlxFocusIndexRole).value<int> (), 0),
GlxDateRole)).value<QDate> ();
-
- datestring = QString("Date: ");
+
if (date.isNull() == FALSE)
{
OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_SETDATE, "GlxDetailsView::setDate is not NULL" );
- datestring.append(date.toString(dateFormat));
+ QString dateStringValue = date.toString(dateFormat);
+ datestring = hbTrId(GLX_DETAILS_DATE).arg(dateStringValue);
}
mDateLabel->setPlainText(datestring);
@@ -507,13 +522,14 @@
QTime timevalue = (mModel->data(mModel->index(mModel->data(mModel->index(
0, 0), GlxFocusIndexRole).value<int> (), 0), GlxTimeRole)).value<
QTime> ();
- timestring = QString("Time: ");
+
if (timevalue.isNull() == FALSE)
{
OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_SETDATE, "GlxDetailsView::setTime is not NULL" );
- timestring.append(timevalue.toString(timeFormat));
+ QString timeStringValue = timevalue.toString(timeFormat);
+ timestring = hbTrId(GLX_DETAILS_TIME).arg(timeStringValue);
}
- mTimeLabel->setPlainText(timestring);
+ mTimeLabel->setPlainText(timestring);
}
//--------------------------------------------------------------------------------------------------------------------------------------------
@@ -524,12 +540,10 @@
int size = 0;
size = (mModel->data(mModel->index(mModel->data(mModel->index(0, 0),
GlxFocusIndexRole).value<int> (), 0), GlxSizeRole)).value<int> ();
- QString sizelabel;
- QString sizestring;
- sizelabel = QString("Size : ");
- sizestring = sizeinStrings(size);
- sizelabel.append(sizestring);
- mSizeLabel->setPlainText(sizelabel);
+
+ QString sizeString;
+ sizeString = sizeinStrings(size);
+ mSizeLabel->setPlainText(sizeString);
}
@@ -545,11 +559,11 @@
{
if (variant.value<bool> ())
{
- mFavIcon->setIcon(HbIcon(GLXICON_ADD_TO_FAV));
+ mFavIcon->setItemIcon(mFavIconEnabled);
}
else
{
- mFavIcon->setIcon(HbIcon(GLXICON_REMOVE_FAV));
+ mFavIcon->setItemIcon(mFavIconDisabled);
}
}
}
@@ -592,25 +606,38 @@
if (size >= KBytesInGB)
{
int gbSize = size / KBytesInGB; // Size in GB
- sizeString.setNum(gbSize);
- sizeString.append("GB");
+ sizeString = HbParameterLengthLimiter(GLX_DETAILS_SIZE_GB, gbSize);
}
else if (size >= KBytesInMB)
{
int mbSize = size / KBytesInMB; // Size in MB
- sizeString.setNum(mbSize);
- sizeString.append("MB");
+ sizeString = HbParameterLengthLimiter(GLX_DETAILS_SIZE_MB, mbSize);
}
else if (size >= KBytesInKB)
{
- TInt kBsize = size / KBytesInKB; // bytes to kB
- sizeString.setNum(kBsize);
- sizeString.append("KB");
+ int kbSize = size / KBytesInKB; // Size in KB
+ sizeString = HbParameterLengthLimiter(GLX_DETAILS_SIZE_KB, kbSize);
}
else
{
- sizeString.setNum(size);
- sizeString.append("Bytes");
+ sizeString = HbParameterLengthLimiter(GLX_DETAILS_SIZE_BYTES, size);
}
return sizeString;
}
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//getSubState
+//--------------------------------------------------------------------------------------------------------------------------------------------
+int GlxDetailsView::getSubState()
+ {
+ int substate = NO_DETAIL_S;
+
+ if (mModel) {
+ QVariant variant = mModel->data(mModel->index(0, 0), GlxSubStateRole);
+
+ if (variant.isValid() && variant.canConvert<int> ()) {
+ substate = variant.value<int> ();
+ }
+ }
+ return substate;
+ }
--- a/ui/views/docloaders/src/glxviewdocloader.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/docloaders/src/glxviewdocloader.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -30,8 +30,9 @@
#include "glxslideshowwidget.h"
#include "glxslideshowview.h"
#include "glxzoomwidget.h"
-#include "glxdetailsnamelabel.h"
-#include "glxdetailsdescriptionedit.h"
+
+#include "glxdetailstextedit.h"
+#include "glxdetailsicon.h"
//----------------------------------------------------------------------------------------
// createObject:creates the custom widget and views of fullscreen view
@@ -112,7 +113,7 @@
{
qDebug() << "GlxDetailsViewDocLoader::createObject:GLX_DETAILSVIEW_IMGNAME -->";
- QObject *object = new GlxDetailsNameLabel();
+ QObject *object = new GlxDetailsTextEdit();
object->setObjectName(name);
return object;
}
@@ -121,12 +122,21 @@
{
qDebug() << "GlxDetailsViewDocLoader::createObject:GLX_DETAILSVIEW_DESCRPTIONTEXT -->";
- QObject *object = new GlxDetailsDescriptionEdit();
+ QObject *object = new GlxDetailsTextEdit();
object->setObjectName(name);
return object;
}
-
+ if (GLX_DETAILSVIEW_FAVICON == name)
+ {
+ qDebug() << "GlxDetailsViewDocLoader::createObject:ICON -->";
+
+ QObject *object = new GlxDetailsIcon();
+ object->setObjectName(name);
+ return object;
+ }
+
+
return HbDocumentLoader::createObject(type, name);
}
--- a/ui/views/fullscreenview/inc/glxcoverflow.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/fullscreenview/inc/glxcoverflow.h Wed Aug 18 09:48:53 2010 +0300
@@ -44,7 +44,8 @@
{
TAP_EVENT, //send the signal when user tap on full screen
PANNING_START_EVENT, //send the signal when panning of full screen start
- EMPTY_ROW_EVENT //send the signal when model have no data
+ EMPTY_ROW_EVENT, //send the signal when model have no data
+ ZOOM_START_EVENT
} GlxCoverFlowEvent;
class GlxCoverFlow : public HbWidget
@@ -59,10 +60,20 @@
void indexChanged (int index);
void setUiOn(bool uiOn) { mUiOn = uiOn; }
void partiallyClean();
- void partiallyCreate(QAbstractItemModel *model, QSize itemSize);
+ void partiallyCreate(QAbstractItemModel *model, QSize itemSize, int posY = 0 );
void setCoverFlow();
void ClearCoverFlow();
void setMultitouchFilter(QGraphicsItem* multitouchFilter);
+
+ /*
+ * To get the focus index
+ */
+ int getFocusIndex( );
+
+ /*
+ * To get the full screen icon of the image
+ */
+ HbIcon getIcon( int index );
public slots:
void zoomStarted(int index);
@@ -121,16 +132,6 @@
void resetCoverFlow();
int getSubState();
void timerEvent(QTimerEvent *event);
-
- /*
- * To get the focus index
- */
- int getFocusIndex( );
-
- /*
- * To get the full screen icon of the image
- */
- HbIcon getIcon( int index );
/*
* To get the URI of the image
@@ -159,6 +160,7 @@
bool mZoomOn;
QGraphicsItem* mMultitouchFilter;
int mTimerId;
+ bool mIsInit;
};
#endif /* GLXCOVERFLOW_H_ */
--- a/ui/views/fullscreenview/inc/glxfullscreenview.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/fullscreenview/inc/glxfullscreenview.h Wed Aug 18 09:48:53 2010 +0300
@@ -26,6 +26,9 @@
//User Defined Includes
#include <glxview.h>
#include <glxcoverflow.h>
+
+#define NBR_ANIM_ITEM 2
+
//Orbit/Qt forward declartion
class QTimer;
class HbAction;
@@ -40,83 +43,261 @@
class GlxZoomWidget;
class GlxTvOutWrapper;
+/**
+ * Class Description
+ * This is full screen view class to show the image in fullscreen, zoom the image and
+ * browse the image through coverflow and imagstrip
+ */
class GlxFullScreenView : public GlxView
{
Q_OBJECT
public :
+ /**
+ * Constructor
+ * @param - HbMainWindow object
+ * @param - fullscreen docloader object
+ */
GlxFullScreenView(HbMainWindow *window,HbDocumentLoader *DocLoader);
+
+ /**
+ * Destructor
+ */
~GlxFullScreenView();
+
+ /**
+ * activate()
+ * ///From GlxView
+ */
void activate() ;
+
+ /**
+ * deActivate()
+ * ///From GlxView
+ */
void deActivate();
- /*
- * Initialize the coverflow and partially creates the coverflow with one image
+ /**
+ * initializeView() - Initialize the coverflow and partially creates the coverflow with one image
* to make the widget light weight in order to make transition smooth
* and also loads the widgets.
+ * @param - pointer of model to retreive the view releted data
+ * @parm - previous view pointer to get the staus of fullscreen mode of the view
*/
- void initializeView(QAbstractItemModel *model);
+ void initializeView( QAbstractItemModel *model, GlxView *preView );
- /*
- * resets the view, with just one icon being present in the widget
- * to make the widget light weight in order to make
- * transition smooth
+ /**
+ * resetView() - resets the view, with just one icon being present in the widget
+ * to make the widget light weight in order to make transition smooth
*/
void resetView();
+
+ /**
+ * setmodel()
+ * ///from GlxView
+ */
void setModel(QAbstractItemModel *model);
+
+ /**
+ * setModelContext() - to set the context mode of the model.
+ */
void setModelContext ( );
+
+ /**
+ * cleanUp() - To clean the custom widgets.
+ */
void cleanUp();
+
+ /**
+ * getAnimationItem() - To return the animation object to play the view transition animation.
+ * @return pointer of widget on which animation are suppose to play.
+ */
QGraphicsItem * getAnimationItem(GlxEffect transitionEffect);
public slots:
- void orientationChanged(Qt::Orientation);
+ /**
+ * orientationChanged() - Slot to upadte the layout when orientation of device has changed
+ * @param new orientation
+ */
+ void orientationChanged( Qt::Orientation );
+
+ /**
+ * activateUI() - To show the ui content like status bar, toolbar, and imzge strip.
+ */
void activateUI();
+
+ /**
+ * hideUi() - To hide the ui content like status bar, toolbar, and imzge strip.
+ */
void hideUi();
+
+ /**
+ * changeSelectedIndex() - Call back when index is chnaged due to browsing of images in coverflow
+ * It will update the selected index in model and notify other widget about index changed.
+ * @param - index of new selected item.
+ */
void changeSelectedIndex(const QModelIndex &index);
+
+ /**
+ * indexChanged() - call back when index is changed from the image strip.
+ * It will update the selected index in model and notify other widget about index changed.
+ * @param - index of new selected item.
+ */
void indexChanged(const QModelIndex &index );
+
+ /**
+ * scrollingStarted() - Call back function to get notification of when scrolling of
+ * image strip is start.
+ */
void scrollingStarted();
+
+ /**
+ * scrollingEnded() - Call back function to get notification of when scrolling of
+ * image strip is stop.
+ */
void scrollingEnded();
+
+ /**
+ * pressed() - Call back function to get notification of user pressed mouse key or touch the fingure.
+ * @param - index of selected item.
+ */
void pressed(const QModelIndex &index );
+
+ /**
+ * released() - Call back function to get notification of user released mouse key or released the fingure.
+ * @param - index of new selected item.
+ */
void released(const QModelIndex &index );
- void setVisvalWindowIndex();
+
+ /**
+ * setVisvalWindowIndex() - Set the viisual window index of medialist.
+ */
+ void setVisvalWindowIndex();
+
+ /**
+ * coverFlowEventHandle() - Handle the event generated by cover flow.
+ * @param - cover flow event type
+ */
void coverFlowEventHandle( GlxCoverFlowEvent e);
+
+ /**
+ * effectFinished() - call back when ui on\off effect has finished.
+ * @param - staus of effect
+ */
void effectFinished( const HbEffect::EffectStatus );
+
+ /**
+ * imageSelectionEffectFinished() - call back when ui image strip selection effect has been finished.
+ * @param - staus of effect
+ */
void imageSelectionEffectFinished( const HbEffect::EffectStatus );
+
+ /**
+ * orientChangeAnimFinished() - call back when custom orientation change effect has been finished.
+ * @param - staus of effect
+ */
+ void orientChangeAnimFinished( const HbEffect::EffectStatus );
+
+ /**
+ * effectFinished - call back when ui on\off effect has finished
+ * @param - staus of effect
+ */
void handleToolBarAction();
+
+ /**
+ * In case of image fetcher handle select command and emit selected index and model
+ */
+ void handleFSSelect();
protected :
+ /**
+ * eventFilter - To handle the application foregrond and background event
+ * ///From HbView
+ */
bool eventFilter(QObject *obj, QEvent *ev);
-private:
- /*
- * The widgets are retrieved from the docml
+private:
+ /**
+ * loadWidgets() - The widgets are retrieved from the docml
*/
void loadWidgets();
- /*
- * Loads the corresponding sections in the docml while the orentation is changed.
+ /**
+ * loadViewSection() - Loads the corresponding sections in the docml while the orentation is changed.
*/
void loadViewSection();
+ /**
+ * setLayout() - To set the widgets laout.
+ */
void setLayout();
+
+ /**
+ * addConnection() - Add the call back of the widgets.
+ */
void addConnection();
- void addImageStripConnection();
+
+ /**
+ * removeConnection() - Remove the call back of widgets.
+ */
void removeConnection();
- void createUiControl();
+
+ /**
+ * setImageStripModel() - set the image strip model.
+ */
void setImageStripModel();
+ /**
+ * loadFullScreenToolBar() - load the fullscreen tool bar from the docml.
+ */
void loadFullScreenToolBar();
+
+ /**
+ * addToolBarAction() - Crete and add the toolbar acton in toolbar.
+ * @param - coomand id to recognise the action.
+ * @param - toolbar action icon.
+ * @param - action name it is used for automation of test cases.
+ */
void addToolBarAction( int commandId, const QString &iconName, const QString &name) ;
+
+ /**
+ * initAnimationItem() - Initialise the custom animation item.
+ */
+ void initAnimationItem();
+
+ /**
+ * imageSelectionAnimation() - To trigger the image setection animtaion form the imge strip.
+ */
void imageSelectionAnimation( const QModelIndex &index );
+
+ /**
+ * cancelSelectionAnimation()- To cancel the image selection animation.
+ */
+ void cancelSelectionAnimation( );
+
+ /**
+ * playOrientChangeAnim() - To trigger the custom orientation change animation.
+ */
+ void playOrientChangeAnim();
+
+ /**
+ * get the substate of fullscreen state.
+ */
int getSubState();
+
+ /**
+ * setHdmiModel() - set the image strip model.
+ * @param - model
+ */
void setHdmiModel( QAbstractItemModel *model );
+
private:
QAbstractItemModel *mModel; //no ownership
HbMainWindow *mWindow; //no ownership
GlxCoverFlow *mCoverFlow;
HbGridView *mImageStrip;
QTimer *mUiOffTimer; //use for ui off after 30 sec
- HbIconItem *mIconItem ; //temporary item for play the image strip select animation
+ HbIconItem *mIconItems[ NBR_ANIM_ITEM ] ; //temporary item for play the image strip select animation
GlxTvOutWrapper *mTvOutWrapper;
HbToolBar *mFullScreenToolBar; //Fullscreen Toolbar
//for Zoom
--- a/ui/views/fullscreenview/src/glxcoverflow.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/fullscreenview/src/glxcoverflow.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -24,6 +24,7 @@
#include <QGesture>
#include <hbpangesture.h>
#include <hbiconanimator.h>
+#include <hbinstance.h>
//User Includes
#include <glxmodelparm.h>
@@ -34,25 +35,25 @@
#define GLX_BOUNCEBACK_SPEED 16
#define GLX_BOUNCEBACK_DELTA 8
-GlxCoverFlow::GlxCoverFlow(QGraphicsItem *parent )
- : HbWidget(parent),
- mSelItemIndex (0),
- mRows(0),
- mSelIndex (0),
- mStripLen (0),
- mCurrentPos(0),
- mItemSize (QSize(0,0)),
- mModel ( NULL),
- mMoveDir(NO_MOVE),
+GlxCoverFlow::GlxCoverFlow( QGraphicsItem *parent )
+ : HbWidget( parent ),
+ mSelItemIndex ( 0 ),
+ mRows( 0 ),
+ mSelIndex ( 0 ),
+ mStripLen ( 0 ),
+ mCurrentPos( 0 ),
+ mItemSize ( QSize( 0, 0 ) ),
+ mModel ( NULL ),
+ mMoveDir( NO_MOVE ),
mSpeed ( GLX_COVERFLOW_SPEED ),
- mZoomOn(false),
- mMultitouchFilter(NULL),
- mTimerId(0)
+ mZoomOn( false ),
+ mMultitouchFilter( NULL ),
+ mTimerId( 0 ),
+ mIsInit( false )
{
-//TO:DO through exception
- qDebug("GlxCoverFlow::GlxCoverFlow");
- grabGesture(Qt::PanGesture);
- grabGesture(Qt::TapGesture);
+ qDebug( "GlxCoverFlow::GlxCoverFlow" );
+ grabGesture( Qt::PanGesture );
+ grabGesture( Qt::TapGesture );
connect( this, SIGNAL( autoLeftMoveSignal() ), this, SLOT( autoLeftMove() ), Qt::QueuedConnection );
connect( this, SIGNAL( autoRightMoveSignal() ), this, SLOT( autoRightMove() ), Qt::QueuedConnection );
}
@@ -61,6 +62,7 @@
{
mMultitouchFilter = mtFilter;
}
+
void GlxCoverFlow::setCoverFlow()
{
qDebug("GlxCoverFlow::setCoverFlow");
@@ -74,7 +76,8 @@
mIconItem[i]->setObjectName( QString( "Cover%1" ).arg( i ) );
}
- mUiOn = FALSE;
+ mIsInit = true;
+ mUiOn = false;
mBounceBackDeltaX = GLX_BOUNCEBACK_DELTA;
}
@@ -119,7 +122,7 @@
else {
killTimer(mTimerId);
mTimerId = 0;
- emit doubleTapEventReceived(gesture->position());
+ emit doubleTapEventReceived(hbInstance->allMainWindows().first()->mapToScene(gesture->position().toPoint()));
}
event->accept(gesture);
}
@@ -160,10 +163,11 @@
void GlxCoverFlow::panGesture ( const QPointF & delta )
{
qDebug("GlxCoverFlow::panGesture deltaX= %d", (int)delta.x());
- if(getSubState() == IMAGEVIEWER_S || getSubState() == FETCHER_S ) {
+
+ if( !mIsInit || getSubState() == IMAGEVIEWER_S || getSubState() == FETCHER_S ) {
return;
}
- move((int) delta.x());
+ move( ( int ) delta.x() );
if( delta.x() > 0 ) {
mMoveDir = RIGHT_MOVE;
}
@@ -238,8 +242,11 @@
int width = mItemSize.width() ;
qDebug("GlxCoverFlow::autoLeftMove current pos = %d mBounceBackDeltaX x = %d", mCurrentPos, mBounceBackDeltaX);
+ if ( !mIsInit ) {
+ return;
+ }
- if ( mSelIndex == ( mRows -1 )) {
+ if ( mSelIndex == ( mRows -1 ) ) {
mSpeed = GLX_BOUNCEBACK_SPEED;
}
//for bounce back effect for last image ( it will do the back)
@@ -288,9 +295,12 @@
void GlxCoverFlow::autoRightMove()
{
qDebug("GlxCoverFlow::autoRightMove ");
+ if ( !mIsInit ) {
+ return;
+ }
int width = mItemSize.width() ;
int diffX = mStripLen - mCurrentPos ;
-
+
//slow the speed for bounce back effect
if ( mSelIndex == 0 ) {
mSpeed = GLX_BOUNCEBACK_SPEED;
@@ -400,6 +410,11 @@
void GlxCoverFlow::loadIconItems()
{
qDebug("GlxCoverFlow::loadIconItems ");
+
+ if ( !mIsInit ) {
+ return ;
+ }
+
int index = 0;
stopAnimation();
mSelIndex = getFocusIndex();
@@ -429,6 +444,7 @@
void GlxCoverFlow::stopAnimation()
{
mIconItem[ mSelItemIndex ]->animator().stopAnimation();
+ mIconItem[ mSelItemIndex ]->setIcon( getIcon( mSelIndex ) );
}
void GlxCoverFlow::updateIconItem (qint16 selIndex, qint16 selItemIndex, qint16 posX)
@@ -478,6 +494,7 @@
{
qDebug("GlxCoverFlow::partiallyClean Enter");
clearCurrentModel(); //during the animation data update will not cause the crash
+ mIsInit = false;
for ( qint8 i = 0; i < NBR_ICON_ITEM ; i++ ) {
if ( mSelItemIndex != i){
delete mIconItem[i] ;
@@ -486,11 +503,11 @@
}
}
-void GlxCoverFlow::partiallyCreate(QAbstractItemModel *model, QSize itemSize)
+void GlxCoverFlow::partiallyCreate( QAbstractItemModel *model, QSize itemSize, int posY )
{
- qDebug("GlxCoverFlow::resetpartiallyCreated");
+ qDebug("GlxCoverFlow::resetpartiallyCreated poxY %d", posY );
mIconItem[2]->setSize ( itemSize );
- mIconItem[2]->setPos ( QPointF ( 0, 0) );
+ mIconItem[2]->setPos ( QPointF ( 0, posY ) );
mModel = model ;
mSelIndex = getFocusIndex();
mIconItem[2]->setIcon( getIcon( mSelIndex ) ) ;
@@ -508,6 +525,7 @@
void GlxCoverFlow::ClearCoverFlow()
{
qDebug("GlxCoverFlow::ClearCoverFlow " );
+ mIsInit = false;
clearCurrentModel();
for ( qint8 i = 0; i < NBR_ICON_ITEM ; i++ ) {
if(mIconItem[i] != NULL ) {
@@ -530,6 +548,7 @@
void GlxCoverFlow::zoomStarted(int index)
{
Q_UNUSED(index)
+ emit coverFlowEvent( ZOOM_START_EVENT );
stopAnimation();
mZoomOn = true;
}
--- a/ui/views/fullscreenview/src/glxfullscreenview.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/fullscreenview/src/glxfullscreenview.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -30,7 +30,7 @@
#include <hbabstractviewitem.h>
#include <hbiconitem.h>
#include <QCoreApplication>
-
+#include <xqserviceutil.h>
//User Includes
#include "glxlog.h"
#include "glxtracer.h"
@@ -44,7 +44,7 @@
#include "glxfullscreenview.h"
#include "glxcommandhandlers.hrh"
#include "glxzoomwidget.h"
-
+#include "glxlocalisationstrings.h"
#include "OstTraceDefinitions.h"
#ifdef OST_TRACE_COMPILER_IN_USE
#include "glxfullscreenviewTraces.h"
@@ -54,29 +54,34 @@
const int KUiOffTime = 3000;
GlxFullScreenView::GlxFullScreenView(HbMainWindow *window,HbDocumentLoader *DocLoader) :
- GlxView ( GLX_FULLSCREENVIEW_ID),
- mModel(NULL),
- mWindow( window),
- mCoverFlow(NULL) ,
- mImageStrip (NULL),
- mUiOffTimer(NULL),
- mIconItem(NULL),
- mTvOutWrapper(NULL),
- mFullScreenToolBar(NULL),
- mZoomWidget(NULL)
+ GlxView ( GLX_FULLSCREENVIEW_ID ),
+ mModel( NULL ),
+ mWindow( window ),
+ mCoverFlow( NULL ) ,
+ mImageStrip( NULL ),
+ mUiOffTimer( NULL ),
+ mTvOutWrapper( NULL ),
+ mFullScreenToolBar( NULL ),
+ mZoomWidget( NULL ),
+ mUiOff ( false)
{
OstTraceFunctionEntry0( GLXFULLSCREENVIEW_GLXFULLSCREENVIEW_ENTRY );
-
+ mIconItems[0] = NULL;
+ mIconItems[1] = NULL;
mDocLoader = DocLoader;
setContentFullScreen( true );
- HbEffect::add( QString("HbGridView"), QString(":/data/transitionup.fxml"), QString( "TapShow" ));
- HbEffect::add( QString("HbGridView"), QString(":/data/transitiondown.fxml"), QString( "TapHide" ));
- HbEffect::add( QString("HbGridViewItem"), QString(":/data/gridtofullscreenhide.fxml"), QString( "Select" ));
+
+ HbEffect::add( QString( "HbGridView" ), QString( ":/data/transitionup.fxml" ), QString( "TapShow" ) );
+ HbEffect::add( QString( "HbGridView" ), QString( ":/data/transitiondown.fxml" ), QString( "TapHide" ) );
+ HbEffect::add( QString( "HbGridViewItem" ), QString( ":/data/zoomin.fxml" ), QString( "SelectHide" ) );
+ HbEffect::add( QString( "HbGridViewItem" ), QString( ":/data/zoomout.fxml" ), QString( "SelectShow" ) );
+ HbEffect::add( QString( "HbIconItem" ), QString( ":/data/rotatefslandscape.fxml" ), QString( "RotateFSLS" ) );
+ HbEffect::add( QString( "HbIconItem" ), QString( ":/data/rotatefsprotrait.fxml" ), QString( "RotateFSPT" ) );
OstTraceFunctionExit0( GLXFULLSCREENVIEW_GLXFULLSCREENVIEW_EXIT );
}
-void GlxFullScreenView::initializeView(QAbstractItemModel *model)
+void GlxFullScreenView::initializeView( QAbstractItemModel *model, GlxView *preView )
{
OstTraceFunctionEntry0( GLXFULLSCREENVIEW_INITIALIZEVIEW_ENTRY );
@@ -87,9 +92,23 @@
setHdmiModel(model);
loadWidgets();
- // Initialize the coverflow and partially creates the coverflow with one image
- // to make the widget light weight in order to make transition smooth
- mCoverFlow->partiallyCreate( model, screenSize() );
+ /*
+ * Initialize the coverflow and partially creates the coverflow with one image
+ * to make the widget light weight in order to make transition smooth
+ */
+ /*
+ * Grid view is not in full screen mode so this view have some flicker after transtion is finshed
+ * and some cases in grid view status bar is visible and some cases it is not
+ * so adjust the initial postion of fullscreen base on status bar visiblity.
+ */
+ if ( preView->compare( GLX_GRIDVIEW_ID ) && preView->isItemVisible ( Hb::StatusBarItem ) ) {
+ qreal chromeHeight = 0;
+ style()->parameter( "hb-param-widget-chrome-height", chromeHeight );
+ mCoverFlow->partiallyCreate( model, screenSize(), -chromeHeight );
+ }
+ else {
+ mCoverFlow->partiallyCreate( model, screenSize() );
+ }
OstTraceFunctionExit0( GLXFULLSCREENVIEW_INITIALIZEVIEW_EXIT );
}
@@ -113,6 +132,7 @@
mImageStrip->hide();
mImageStrip->setLayoutName( QString( "ImageStrip" ) ); // To distinguish in CSS file
mImageStrip->setEnabledAnimations( HbAbstractItemView::None );
+ mImageStrip->setHorizontalScrollBarPolicy( HbScrollArea::ScrollBarAlwaysOff );
OstTraceFunctionExit0( GLXFULLSCREENVIEW_LOADWIDGETS_EXIT );
}
@@ -166,23 +186,47 @@
}
//Loads the widgets corresponding to the orientation.
loadViewSection();
-
- setStatusBarVisible(FALSE);
- setTitleBarVisible(FALSE);
+
+ HbView::HbViewFlags flags( HbView::ViewTitleBarTransparent | HbView::ViewStatusBarTransparent);
+ setViewFlags(flags);
+
+ // In case of fetcher don't hide status pane and title bar
+ if(!(XQServiceUtil::isService() && (0 == XQServiceUtil::interfaceName().compare(QLatin1String("com.nokia.symbian.IImageFetch"))))) {
+ setViewFlags( viewFlags() | HbView::ViewTitleBarHidden | HbView::ViewStatusBarHidden );
+ mUiOff = true;
+ }
+ else
+ {
+ HbAction* selectAction = new HbAction(GLX_BUTTON_SELECT);
+ selectAction->setObjectName( "FS Select" );
+
+ connect(selectAction, SIGNAL(triggered()), this, SLOT(handleFSSelect()));
+ HbToolBar* toolBar = new HbToolBar();
+ toolBar->setOrientation( Qt::Horizontal );
+ toolBar->setVisible(true);
+ toolBar->addAction(selectAction);
+ setToolBar(toolBar);
+ }
mUiOffTimer = new QTimer();
- mUiOff = true;
mUiOffTimer->stop();
mCoverFlow->setUiOn(FALSE);
addConnection();
setLayout();
- if (!mTvOutWrapper){
+ if (!mTvOutWrapper) {
mTvOutWrapper = new GlxTvOutWrapper();
}
+
+ mWindow->setAutomaticOrientationEffectEnabled( false );
OstTraceFunctionExit0( GLXFULLSCREENVIEW_ACTIVATE_EXIT );
}
+void GlxFullScreenView::handleFSSelect()
+{
+ emit actionTriggered( EGlxCmdFetcherSelect );
+}
+
void GlxFullScreenView::loadViewSection()
{
OstTraceFunctionEntry0( GLXFULLSCREENVIEW_LOADVIEWSECTION_ENTRY );
@@ -204,6 +248,7 @@
{
OstTraceFunctionEntry0( GLXFULLSCREENVIEW_RESETVIEW_ENTRY );
+ cancelSelectionAnimation(); //cancel the image selection effect before cleaning the view
//Clean up the rest of the resources allocated
cleanUp();
@@ -217,6 +262,7 @@
{
OstTraceFunctionEntry0( GLXFULLSCREENVIEW_DEACTIVATE_ENTRY );
+ cancelSelectionAnimation(); //cancel the image selection effect before cleaning the view
//Clean up the rest of the resources allocated
cleanUp();
QCoreApplication::instance()->removeEventFilter(this);
@@ -227,7 +273,7 @@
//the coverflow is initialised to null
//to just reset to the initial state
mCoverFlow = NULL;
-
+ mWindow->setAutomaticOrientationEffectEnabled( true );
OstTraceFunctionExit0( GLXFULLSCREENVIEW_DEACTIVATE_EXIT );
}
@@ -246,6 +292,7 @@
if(mFullScreenToolBar) {
mFullScreenToolBar->clearActions();
+ mFullScreenToolBar->hide();
mFullScreenToolBar = NULL;
}
@@ -285,11 +332,10 @@
mCoverFlow->setModel(mModel);
setImageStripModel();
if(getSubState() == IMAGEVIEWER_S) {
- setTitle("Image Viewer");
+ setTitle(GLX_IMAGE_VIEWER);
}
- else if(getSubState() == FETCHER_S){
- setStatusBarVisible(TRUE);
- setTitleBarVisible(TRUE);
+ else if(getSubState() == FETCHER_S){ //do not zoom in case of fetcher
+ disconnect(mCoverFlow,SIGNAL( doubleTapEventReceived(QPointF) ), mZoomWidget, SLOT( animateZoomIn(QPointF) ) );
}
OstTraceFunctionExit0( GLXFULLSCREENVIEW_SETMODEL_EXIT );
}
@@ -297,7 +343,7 @@
void GlxFullScreenView::setHdmiModel(QAbstractItemModel* model)
{
if (mTvOutWrapper) {
- mTvOutWrapper->setModel(model);
+ mTvOutWrapper->setModel(model, screenSize());
mTvOutWrapper->setImagetoHDMI(); // for the first image on screen
}
}
@@ -332,6 +378,7 @@
setModelContext();
loadViewSection();
setLayout();
+ playOrientChangeAnim();
OstTraceFunctionExit0( GLXFULLSCREENVIEW_ORIENTATIONCHANGED_EXIT );
}
@@ -340,7 +387,7 @@
{
OstTraceFunctionEntry0( GLXFULLSCREENVIEW_ACTIVATEUI_ENTRY );
- if ( mUiOff && getSubState() != FETCHER_S){
+ if ( mUiOff && getSubState() != FETCHER_S ){
if( !mFullScreenToolBar ) {
loadFullScreenToolBar();
}
@@ -351,18 +398,18 @@
mImageStrip->setCurrentIndex ( mModel->index( variant.value<int>(), 0) );
mImageStrip->scrollTo( mModel->index( variant.value<int>(), 0), HbGridView::PositionAtTop );
}
-
- mFullScreenToolBar->show();
- setStatusBarVisible(TRUE);
- setTitleBarVisible(TRUE);
+
+ setItemVisible( Hb::AllItems, TRUE );
+ setViewFlags( viewFlags() &~ HbView::ViewTitleBarHidden &~ HbView::ViewStatusBarHidden );
if ( mImageStrip && getSubState() != IMAGEVIEWER_S) {
mImageStrip->show();
HbEffect::start(mImageStrip, QString("HbGridView"), QString("TapShow"), this, "effectFinished" );
}
else if( getSubState() == IMAGEVIEWER_S){
- setTitle("Image Viewer");
+ setTitle(GLX_IMAGE_VIEWER);
}
+ mFullScreenToolBar->show();
}
else {
hideUi();
@@ -384,11 +431,10 @@
mUiOff = TRUE;
if ( getSubState() != FETCHER_S ) {
- setStatusBarVisible(FALSE);
- setTitleBarVisible(FALSE);
+ setViewFlags( viewFlags() | HbView::ViewTitleBarHidden | HbView::ViewStatusBarHidden );
}
- if ( mImageStrip && ( getSubState() != IMAGEVIEWER_S && getSubState() != FETCHER_S )) {
- HbEffect::start(mImageStrip, QString("HbGridView"), QString("TapHide"), this, "effectFinished" );
+ if ( mImageStrip && ( getSubState() != IMAGEVIEWER_S && getSubState() != FETCHER_S ) ) {
+ HbEffect::start( mImageStrip, QString("HbGridView"), QString("TapHide"), this, "effectFinished" );
}
if(mFullScreenToolBar) {
@@ -419,6 +465,7 @@
mModel->setData( index, index.row(), GlxFocusIndexRole );
mModel->setData( index, index.row(), GlxVisualWindowIndex );
mZoomWidget->indexChanged(index.row());
+
if (mTvOutWrapper){
// for the image changed on swipe
mTvOutWrapper->setImagetoHDMI();
@@ -435,16 +482,17 @@
OstTraceFunctionExit0( GLXFULLSCREENVIEW_INDEXCHANGED_EXIT );
return;
}
- mModel->setData( index, index.row(), GlxFocusIndexRole );
- mZoomWidget->indexChanged(index.row());
- mCoverFlow->indexChanged(index.row());
- mImageStrip->scrollTo(index, HbGridView::EnsureVisible );
+
if (mTvOutWrapper){
- // for the indexchnaged through filmstrip
- mTvOutWrapper->setImagetoHDMI();
+ // for the indexchnaged through filmstrip
+ mTvOutWrapper->setImagetoHDMI();
}
//disable the animation for the time being
- //imageSelectionAnimation( index );
+ imageSelectionAnimation( index );
+
+ mModel->setData( index, index.row(), GlxFocusIndexRole );
+ mZoomWidget->indexChanged(index.row());
+ mZoomWidget->setVisible( false );
OstTraceFunctionExit0( DUP1_GLXFULLSCREENVIEW_INDEXCHANGED_EXIT );
}
@@ -531,6 +579,18 @@
hideUi();
break ;
+ //hide the ui component without animation
+ case ZOOM_START_EVENT : {
+ HbEffect::EffectStatus e;
+ mUiOff = TRUE;
+ if( mFullScreenToolBar ) {
+ mFullScreenToolBar->hide();
+ }
+ setViewFlags( viewFlags() | HbView::ViewTitleBarHidden | HbView::ViewStatusBarHidden );
+ effectFinished( e );
+ }
+ break;
+
case EMPTY_ROW_EVENT :
emit actionTriggered( EGlxCmdEmptyData );
break ;
@@ -554,6 +614,7 @@
mUiOffTimer->stop();
mCoverFlow->setUiOn(FALSE);
mImageStrip->hide();
+ setItemVisible( Hb::AllItems, FALSE );
}
else {
mUiOffTimer->start(KUiOffTime);
@@ -567,17 +628,30 @@
{
OstTraceFunctionEntry0( GLXFULLSCREENVIEW_IMAGESELECTIONEFFECTFINISHED_ENTRY );
- mIconItem->resetTransform();
- mIconItem->setVisible( false );
+ for ( int i = 0; i < NBR_ANIM_ITEM; i++ ) {
+ mIconItems[ i ]->resetTransform();
+ mIconItems[ i ]->setVisible( false );
+ }
QVariant variant = mModel->data( mModel->index(0,0), GlxFocusIndexRole );
if ( variant.isValid() && variant.canConvert<int> () ) {
mCoverFlow->indexChanged( variant.value<int>() ) ;
}
+ mCoverFlow->setVisible( true );
+ mZoomWidget->setVisible( true );
OstTraceFunctionExit0( GLXFULLSCREENVIEW_IMAGESELECTIONEFFECTFINISHED_EXIT );
}
+void GlxFullScreenView::orientChangeAnimFinished( const HbEffect::EffectStatus status )
+{
+ qDebug( "GlxFullScreenView::LsOrientChangeAnimFinished reason %d ", status.reason );
+ mIconItems[ 0 ]->resetTransform();
+ mIconItems[ 0 ]->setVisible( false );
+ mCoverFlow->setVisible( true );
+ mZoomWidget->setVisible( true );
+}
+
void GlxFullScreenView::setLayout()
{
OstTraceFunctionEntry0( GLXFULLSCREENVIEW_SETLAYOUT_ENTRY );
@@ -596,28 +670,28 @@
if ( mCoverFlow ) {
connect( mCoverFlow, SIGNAL( coverFlowEvent( GlxCoverFlowEvent ) ), this, SLOT( coverFlowEventHandle( GlxCoverFlowEvent ) ) );
- connect( mCoverFlow, SIGNAL(changeSelectedIndex(const QModelIndex &)), this, SLOT( changeSelectedIndex( const QModelIndex & )));
+ connect( mCoverFlow, SIGNAL( changeSelectedIndex( const QModelIndex & ) ), this, SLOT( changeSelectedIndex( const QModelIndex & ) ) );
}
if ( mImageStrip ) {
- connect(mImageStrip, SIGNAL( activated(const QModelIndex &) ), this, SLOT( indexChanged(const QModelIndex &) ));
- connect(mImageStrip, SIGNAL( scrollingStarted()), this, SLOT( scrollingStarted()));
- connect(mImageStrip, SIGNAL( scrollingEnded()), this, SLOT( scrollingEnded()));
- connect(mImageStrip, SIGNAL( pressed(const QModelIndex &) ), this, SLOT( pressed(const QModelIndex &) ));
- connect(mImageStrip, SIGNAL( released(const QModelIndex &) ), this, SLOT( released(const QModelIndex &) ));
+ connect( mImageStrip, SIGNAL( activated(const QModelIndex &) ), this, SLOT( indexChanged(const QModelIndex &) ) );
+ connect( mImageStrip, SIGNAL( scrollingStarted()), this, SLOT( scrollingStarted() ) );
+ connect( mImageStrip, SIGNAL( scrollingEnded()), this, SLOT( scrollingEnded() ) );
+ connect( mImageStrip, SIGNAL( pressed( const QModelIndex & ) ), this, SLOT( pressed( const QModelIndex & ) ) );
+ connect( mImageStrip, SIGNAL( released( const QModelIndex & ) ), this, SLOT( released( const QModelIndex & ) ) );
}
if ( mUiOffTimer ) {
- connect(mUiOffTimer, SIGNAL(timeout()), this, SLOT(hideUi()));
+ 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(mCoverFlow,SIGNAL( doubleTapEventReceived(QPointF) ), mZoomWidget, SLOT( animateZoomIn(QPointF) ) );
+ if( mCoverFlow && mZoomWidget ) {
+ connect( mZoomWidget, SIGNAL( pinchGestureReceived( int ) ), mCoverFlow, SLOT( zoomStarted( int ) ) );
+ connect( mZoomWidget, SIGNAL( zoomWidgetMovedBackground( int ) ), mCoverFlow, SLOT( zoomFinished( int ) ) );
+ connect( mCoverFlow, SIGNAL( doubleTapEventReceived( QPointF ) ), mZoomWidget, SLOT( animateZoomIn( QPointF ) ) );
}
- connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationChanged(Qt::Orientation)));
+ connect( mWindow, SIGNAL( orientationChanged( Qt::Orientation ) ), this, SLOT( orientationChanged( Qt::Orientation ) ) );
OstTraceFunctionExit0( GLXFULLSCREENVIEW_ADDCONNECTION_EXIT );
}
@@ -675,8 +749,9 @@
OstTraceFunctionEntry0( DUP1_GLXFULLSCREENVIEW_GLXFULLSCREENVIEW_ENTRY );
cleanUp();
-
- delete mIconItem ;
+ for ( int i = 0; i < NBR_ANIM_ITEM; i++ ) {
+ delete mIconItems[ i ] ;
+ }
delete mImageStrip;
delete mFullScreenToolBar;
delete mCoverFlow;
@@ -689,36 +764,73 @@
HbEffect::remove( QString("HbGridView"), QString(":/data/transitionup.fxml"), QString( "TapShow" ));
HbEffect::remove( QString("HbGridView"), QString(":/data/transitiondown.fxml"), QString( "TapHide" ));
- HbEffect::remove( QString("HbGridViewItem"), QString(":/data/gridtofullscreenhide.fxml"), QString( "Select" ));
+ HbEffect::remove( QString( "HbGridViewItem" ), QString( ":/data/zoomin.fxml" ), QString( "SelectHide" ) );
+ HbEffect::remove( QString( "HbGridViewItem" ), QString( ":/data/zoomout.fxml" ), QString( "SelectShow" ) );
+ HbEffect::remove( QString( "HbIconItem" ), QString( ":/data/rotatefslandscape.fxml" ), QString( "RotateFSLS" ) );
+ HbEffect::remove( QString( "HbIconItem" ), QString( ":/data/rotatefsprotrait.fxml" ), QString( "RotateFSPT" ) );
+
+ OstTraceFunctionExit0( DUP1_GLXFULLSCREENVIEW_GLXFULLSCREENVIEW_EXIT );
+}
- OstTraceFunctionExit0( DUP1_GLXFULLSCREENVIEW_GLXFULLSCREENVIEW_EXIT );
+void GlxFullScreenView::initAnimationItem()
+{
+ if( mIconItems[0] == NULL ) {
+ for( int i = 0; i < NBR_ANIM_ITEM; i++ ) {
+ mIconItems[ i ] = new HbIconItem( mImageStrip->parentItem() );
+ mIconItems[ i ]->setBrush( QBrush( Qt::black ) );
+ mIconItems[ i ]->setZValue( mImageStrip->zValue() - 2 );
+ mIconItems[ i ]->setPos( 0, 0 );
+ mIconItems[ i ]->setAlignment( Qt::AlignCenter );
+ }
+ }
}
void GlxFullScreenView::imageSelectionAnimation(const QModelIndex &index)
{
OstTraceFunctionEntry0( GLXFULLSCREENVIEW_IMAGESELECTIONANIMATION_ENTRY );
-
- if ( mIconItem == NULL ) {
- mIconItem = new HbIconItem( mCoverFlow );
- mIconItem->setBrush( QBrush( Qt::black ) );
- mIconItem->setZValue( mCoverFlow->zValue() );
+
+ initAnimationItem();
+ for ( int i = 0; i < NBR_ANIM_ITEM; i++ ) {
+ mIconItems[ i ]->setVisible( true );
+ mIconItems[ i ]->setSize( screenSize() );
}
- HbAbstractViewItem *mItem = mImageStrip->itemByIndex( index );
- mIconItem->setSize( mItem->size() );
- mIconItem->setPos( mItem->sceneTransform().map( QPoint(0,0)).x() , screenSize().height() - 2 * mItem->size().height() );
- mIconItem->setVisible( true );
+ mIconItems[ 0 ]->setIcon( mCoverFlow->getIcon( mCoverFlow->getFocusIndex() ) );
+ mIconItems[ 1 ]->setIcon( mCoverFlow->getIcon( index.row() ) );
+ mCoverFlow->setVisible( false );
+ mZoomWidget->setVisible( false );
- QVariant variant = mModel->data( index, Qt::DecorationRole );
- if ( variant.isValid() && variant.canConvert<HbIcon> () ) {
- mIconItem->setIcon ( variant.value<HbIcon>() ) ;
+ HbEffect::start( mIconItems[ 0 ], QString( "HbGridViewItem" ), QString( "SelectHide" ) );
+ HbEffect::start( mIconItems[ 1 ], QString( "HbGridViewItem" ), QString( "SelectShow" ), this, "imageSelectionEffectFinished" );
+
+ OstTraceFunctionExit0( GLXFULLSCREENVIEW_IMAGESELECTIONANIMATION_EXIT );
+}
+
+void GlxFullScreenView::cancelSelectionAnimation()
+{
+ if ( mIconItems[0] && HbEffect::effectRunning( mIconItems[1], QString( "SelectShow" ) ) ) {
+ HbEffect::cancel( mIconItems[0], QString( "SelectHide" ), false, false, true );
+ HbEffect::cancel( mIconItems[1], QString( "SelectShow" ), false, true, true );
+ }
+}
+
+void GlxFullScreenView::playOrientChangeAnim()
+{
+ qDebug("GlxFullScreenView::playOrientChangeAnim()");
+ initAnimationItem();
+ mIconItems[ 0 ]->setOpacity( 1 );
+ mIconItems[ 0 ]->setSize( screenSize() );
+ mIconItems[ 0 ]->setVisible( true );
+ mIconItems[ 0 ]->setIcon( mCoverFlow->getIcon( mCoverFlow->getFocusIndex() ) );
+
+ mCoverFlow->setVisible( false );
+ mZoomWidget->setVisible( false );
+ if ( mWindow->orientation() == Qt::Horizontal ) {
+ HbEffect::start( mIconItems[0], QString( "HbIconItem" ), QString( "RotateFSLS" ), this, "orientChangeAnimFinished" );
}
else {
- mIconItem->setIcon( HbIcon() );
- }
- HbEffect::start( mIconItem, QString("HbGridViewItem"), QString("Select"), this, "imageSelectionEffectFinished" );
-
- OstTraceFunctionExit0( GLXFULLSCREENVIEW_IMAGESELECTIONANIMATION_EXIT );
+ HbEffect::start( mIconItems[0], QString( "HbIconItem" ), QString( "RotateFSPT" ), this, "orientChangeAnimFinished" );
+ }
}
void GlxFullScreenView::handleToolBarAction()
@@ -752,9 +864,15 @@
GLX_LOG_INFO("GlxFullScreenView::event() shift to native - CGlxHdmi");
mTvOutWrapper->setToNativeMode();
}
- if ( ev->type() == QEvent::ApplicationDeactivate && mTvOutWrapper) {
- GLX_LOG_INFO("GlxFullScreenView::event() shift to Clone - CGlxHdmi");
- mTvOutWrapper->setToCloningMode();
+ if (ev->type() == QEvent::ApplicationDeactivate)
+ {
+ if(mZoomWidget) {
+ mZoomWidget->forceZoomToBackground();
+ }
+ if (mTvOutWrapper) {
+ GLX_LOG_INFO("GlxFullScreenView::event() shift to Clone - CGlxHdmi");
+ mTvOutWrapper->setToCloningMode();
+ }
}
return HbView::eventFilter(obj,ev);
}
--- a/ui/views/gridview/inc/glxgridview.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/gridview/inc/glxgridview.h Wed Aug 18 09:48:53 2010 +0300
@@ -26,12 +26,15 @@
//Qt/Orbit forward declarations
class HbMainWindow;
class QAbstractItemModel;
-class HgWidget;
+class HgGrid;
class GlxModelWrapper;
class HbPushButton;
class HbIconItem;
class HbCheckBox;
class HbLabel;
+class GlxSettingInterface;
+class HbGroupBox;
+class QGraphicsLinearLayout;
class GlxGridView : public GlxView
{
@@ -42,7 +45,7 @@
~GlxGridView();
void activate() ;
void deActivate();
- void initializeView(QAbstractItemModel *model);
+ void initializeView( QAbstractItemModel *model, GlxView *preView );
void setModel(QAbstractItemModel *model);
void addToolBar( HbToolBar *toolBar );
void enableMarking() ;
@@ -86,22 +89,28 @@
void showHbItems();
int getSubState();
void showNoImageString();
+
+ //It is used to hide and show the toolbar
+ //In album grid it is not required to show the tool bar
+ void updateToolBar();
HbMainWindow *mWindow; // no ownership
QAbstractItemModel *mModel ;
- HgWidget *mWidget; // HG Grid Widget
+ HgGrid *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
+ HbPushButton *mUiOnButton;
bool mScrolling;
HbIconItem *mIconItem;
HbCheckBox *mMarkCheckBox; // Mark All checkbox
- HbLabel *mCountItem; // Item count of the grid
- HbLabel *mMainLabel;
- HbLabel *mCountLabel; // Marked item count
+ HbGroupBox *mTotalImagesCount; // Item count of the grid
+ HbGroupBox *mMarkSelectHeading;
+ HbLabel *mMarkCountLabel; // Marked item count
HbLabel *mZeroItemLabel; // zero itemcount
- HbLabel *mAlbumName;
+ HbGroupBox *mAlbumNameHeading;
+ QGraphicsLinearLayout *mMarkContainer;
+ GlxSettingInterface *mSettings;
+ HbWidget *mMarkingWidget;
};
#endif /* GLXGRIDVIEW_H_ */
--- a/ui/views/gridview/src/glxgridview.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/gridview/src/glxgridview.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -30,6 +30,9 @@
#include <hblabel.h>
#include <QString>
#include <hbframeitem.h>
+#include <hbgroupbox.h>
+#include <hbparameterlengthlimiter.h>
+#include <QGraphicsLinearLayout>
//User Includes
#include "glxviewids.h"
@@ -38,6 +41,8 @@
#include "glxcommandhandlers.hrh"
#include "glxicondefs.h"
#include "glxlocalisationstrings.h"
+#include "glxsettinginterface.h"
+
#include "OstTraceDefinitions.h"
#ifdef OST_TRACE_COMPILER_IN_USE
@@ -51,21 +56,31 @@
mWidget(NULL),
mSelectionModel(NULL),
mModelWrapper(NULL),
- mUiOnButton(NULL),
- mCameraButton(NULL),
+ mUiOnButton(NULL),
mScrolling(FALSE),
mIconItem(NULL),
mMarkCheckBox(NULL),
- mCountItem(NULL),
- mMainLabel(NULL),
- mCountLabel(NULL),
+ mTotalImagesCount(NULL),
+ mMarkSelectHeading(NULL),
+ mMarkCountLabel(NULL),
mZeroItemLabel(NULL),
- mAlbumName(NULL)
+ mAlbumNameHeading(NULL),
+ mMarkContainer(NULL),
+ mMarkingWidget(NULL)
{
OstTraceFunctionEntry0( GLXGRIDVIEW_GLXGRIDVIEW_ENTRY );
mModelWrapper = new GlxModelWrapper();
mModelWrapper->setRoles(GlxQImageSmall);
mIconItem = new HbIconItem(this);
+ mSettings = GlxSettingInterface::instance() ;
+
+ mUiOnButton = new HbPushButton(this);
+ connect(mUiOnButton, SIGNAL(clicked(bool)), this, SLOT(uiButtonClicked(bool)));
+ mUiOnButton->setGeometry(QRectF(590,0,40,40));
+ mUiOnButton->setZValue(1);
+ mUiOnButton->setIcon(HbIcon(GLXICON_WALL_UI_ON));
+ mUiOnButton->setObjectName( "UiOn Button" );
+
OstTraceFunctionExit0( GLXGRIDVIEW_GLXGRIDVIEW_EXIT );
}
@@ -74,15 +89,10 @@
OstTraceFunctionEntry0( GLXGRIDVIEW_ACTIVATE_ENTRY );
loadGridView();
connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationchanged(Qt::Orientation)),Qt::UniqueConnection);
- if(mCountItem == NULL) {
- mCountItem = new HbLabel(this);
- mCountItem->setObjectName( "Count" );
- 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);
- mCountItem->hide();
+ if(mTotalImagesCount == NULL) {
+ mTotalImagesCount = new HbGroupBox(this);
+ mTotalImagesCount->setObjectName( "Count" );
+ mTotalImagesCount->hide();
}
OstTraceFunctionExit0( GLXGRIDVIEW_ACTIVATE_EXIT );
}
@@ -100,24 +110,23 @@
mIconItem->setOpacity(0);
mIconItem->setZValue(mIconItem->zValue()-20);
}
- if (mCountItem) {
- mCountItem->hide();
+ if (mTotalImagesCount) {
+ mTotalImagesCount->hide();
}
- if (mAlbumName) {
- mAlbumName->hide();
+ if (mAlbumNameHeading) {
+ mAlbumNameHeading->hide();
}
if(mZeroItemLabel) {
mZeroItemLabel->hide();
}
- if(mCameraButton) {
- mCameraButton->hide();
- }
+
disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationchanged(Qt::Orientation)));
OstTraceFunctionExit0( GLXGRIDVIEW_DEACTIVATE_EXIT );
}
-void GlxGridView::initializeView(QAbstractItemModel *model)
+void GlxGridView::initializeView( QAbstractItemModel *model, GlxView *preView )
{
+ Q_UNUSED( preView )
activate();
setModel(model);
}
@@ -140,7 +149,9 @@
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)));
+ if(getSubState() == ALBUM_ITEM_S){
+ connect(mModel, SIGNAL(albumTitleAvailable(QString)), this, SLOT(showAlbumTitle(QString)));
+ }
connect(mModel, SIGNAL(populated()), this, SLOT( populated()));
}
}
@@ -188,7 +199,7 @@
{
OstTraceFunctionEntry0( GLXGRIDVIEW_ADDTOOLBAR_ENTRY );
setToolBar(toolBar);
- hideorshowitems(mWindow->orientation());
+ showHbItems();
OstTraceFunctionExit0( GLXGRIDVIEW_ADDTOOLBAR_EXIT );
}
@@ -196,33 +207,27 @@
{
OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ENABLEMARKING, "GlxGridView::enableMarking" );
mWidget->setSelectionMode(HgWidget::MultiSelection);
- if (mMainLabel == NULL) {
- mMainLabel = new HbLabel("Select Photos", this);
- mMainLabel->setObjectName( "Select Photos");
- 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);
- mMarkCheckBox->setObjectName( "CheckB MarkAll" );
- 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);
- mCountLabel->setObjectName( "MarkCount" );
- 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);
- }
+
+ if (mMarkingWidget == NULL)
+ {
+ mMarkingWidget = new HbWidget(this);
+ mMarkContainer = new QGraphicsLinearLayout(Qt::Horizontal, 0);
+ mMarkingWidget->setLayout(mMarkContainer);
+
+ mMarkSelectHeading = new HbGroupBox(this);
+ mMarkSelectHeading->setHeading(GLX_SELECT_IMAGES);
+ mMarkSelectHeading->setObjectName("Select Photos");
+
+ mMarkCountLabel = new HbLabel(mMarkingWidget);
+ mMarkCountLabel->setObjectName("MarkCount");
+ mMarkCountLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
+
+ mMarkCheckBox = new HbCheckBox(GLX_LABEL_MARK_ALL, mMarkingWidget);
+ mMarkCheckBox->setObjectName("CheckB MarkAll");
+
+ mMarkContainer->addItem(mMarkCheckBox);
+ mMarkContainer->addItem(mMarkCountLabel);
+ }
hideorshowitems(mWindow->orientation());
@@ -237,18 +242,16 @@
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();
+
+ if (mMarkSelectHeading) {
+ mMarkSelectHeading->hide();
}
- hideorshowitems(mWindow->orientation());
+ if (mMarkingWidget) {
+ mMarkingWidget->hide();
+ }
+
+ showHbItems();
}
void GlxGridView::stateChanged(int state)
@@ -264,9 +267,10 @@
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 );
+
+ QString text= HbParameterLengthLimiter(GLX_LABEL_MARK_COUNT).arg(markItemCount).arg(count);
+
+ mMarkCountLabel->setPlainText( text );
}
void GlxGridView::showItemCount()
@@ -281,27 +285,24 @@
if(mZeroItemLabel) {
mZeroItemLabel->hide();
}
- if(mCameraButton) {
- mCameraButton->hide();
- }
+
if(isItemVisible(Hb::TitleBarItem)) {
QString text;
if(XQServiceUtil::isService())
{
- showAlbumTitle(GLX_FETCHER_TITLE);
+ showAlbumTitle(GLX_SELECT_IMAGE);
}
else if (getSubState() == ALL_ITEM_S) {
- if (mAlbumName) {
- mAlbumName->hide();
+ if (mAlbumNameHeading) {
+ mAlbumNameHeading->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();
+ mTotalImagesCount->setGeometry(QRectF(0,0,screenSize.width(),deviceSize.height()/24));
+ text = HbParameterLengthLimiter(GLX_GRID_VIEW_COUNT_LABEL, count);
+ mTotalImagesCount->setHeading ( text );
+ mTotalImagesCount->show();
}
else if (getSubState() == ALBUM_ITEM_S) {
- mCountItem->hide();
+ mTotalImagesCount->hide();
QVariant variant = mModel->data(mModel->index(0,0),GlxViewTitle);
if (variant.toString() != NULL) {
showAlbumTitle(variant.toString());
@@ -309,11 +310,11 @@
}
}
else {
- if (mCountItem) {
- mCountItem->hide();
+ if (mTotalImagesCount) {
+ mTotalImagesCount->hide();
}
- if (mAlbumName) {
- mAlbumName->hide();
+ if (mAlbumNameHeading) {
+ mAlbumNameHeading->hide();
}
}
@@ -326,11 +327,11 @@
populated = variant.value<bool>();
}
if(populated) {
- if (mCountItem) {
- mCountItem->hide();
+ if (mTotalImagesCount) {
+ mTotalImagesCount->hide();
}
- if (mAlbumName) {
- mAlbumName->hide();
+ if (mAlbumNameHeading) {
+ mAlbumNameHeading->hide();
}
showNoImageString();
@@ -352,42 +353,29 @@
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);
- mAlbumName->setObjectName( "Album Name" );
- 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 fetcher service set only title text
- if((XQServiceUtil::isService() ) && isItemVisible(Hb::TitleBarItem)) {
- mAlbumName->setGeometry(QRectF(0,0,screenSize.width(),deviceSize.height()/24));
- QString text = QString(aTitle);
- mAlbumName->setPlainText( text );
- mAlbumName->show();
- }
- else{ //handle album tiltle and count display logic here
- 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();
- }
- }
+ if (mAlbumNameHeading == NULL)
+ {
+ mAlbumNameHeading = new HbGroupBox(this);
+ mAlbumNameHeading->setObjectName("Album Name");
+ }
+
+ //If fetcher service set only title text
+ if ((XQServiceUtil::isService()) && isItemVisible(Hb::TitleBarItem))
+ {
+ mAlbumNameHeading->setGeometry(QRectF(0, 0, screenSize.width(),deviceSize.height() / 24));
+ mAlbumNameHeading->setHeading(aTitle);
+ mAlbumNameHeading->show();
+ }
+ else
+ { //handle album tiltle and count display logic here
+ if (count && isItemVisible(Hb::TitleBarItem))
+ {
+ mAlbumNameHeading->setGeometry(QRectF(0, 0, screenSize.width(),deviceSize.height() / 24));
+ QString text = HbParameterLengthLimiter(GLX_ALBUM_NAME_COUNT_LABEL).arg(aTitle).arg(count);
+ mAlbumNameHeading->setHeading(text);
+ mAlbumNameHeading->show();
+ }
+ }
}
void GlxGridView::showNoImageString()
@@ -403,28 +391,13 @@
}
if (mZeroItemLabel == NULL) {
QString displayText(GLX_GRID_NO_IMAGE);
- if(!XQServiceUtil::isService())
- {
- displayText.append(GLX_GRID_OPEN_CAMERA);
- }
mZeroItemLabel = new HbLabel(displayText, this);
mZeroItemLabel->setObjectName( "No Image" );
}
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->setObjectName( "Camera Button" );
- mCameraButton->setIcon(HbIcon(GLXICON_CAMERA));
- mCameraButton->hide();
- connect(mCameraButton, SIGNAL(clicked(bool)), this, SLOT(cameraButtonClicked(bool)));
- }
- if(!XQServiceUtil::isService())
- {
- 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()
@@ -450,6 +423,18 @@
mWidget->clearSelection();
break;
+ case EGlxCmd3DEffectOn:
+ mSettings->setmediaWall3DEffect(1);
+ if(mWidget && !mWidget->effect3dEnabled())
+ mWidget->setEffect3dEnabled(ETrue);
+ break;
+
+ case EGlxCmd3DEffectOff:
+ mSettings->setmediaWall3DEffect(0);
+ if(mWidget && mWidget->effect3dEnabled())
+ mWidget->setEffect3dEnabled(EFalse);
+ break;
+
default :
break;
}
@@ -528,17 +513,28 @@
mWidget->setObjectName( "Media Wall" );
mWidget->setLongPressEnabled(true);
mWidget->setScrollBarPolicy(HgWidget::ScrollBarAutoHide);
+ if(XQServiceUtil::isService())
+ {
+ mWidget->setEffect3dEnabled(EFalse);
+ }
+ else
+ {
+ mWidget->setEffect3dEnabled(mSettings->mediaWall3DEffect());
+ }
setWidget( mWidget );
addViewConnection();
- hideorshowitems(orient);
}
OstTraceFunctionExit0( GLXGRIDVIEW_LOADGRIDVIEW_EXIT );
}
void GlxGridView::orientationchanged(Qt::Orientation orient)
{
- hideorshowitems(orient);
+ if (mWidget && mWidget->selectionMode() == HgWidget::MultiSelection) {
+ hideorshowitems(orient);
+ }
+ showHbItems();
}
+
void GlxGridView::hideorshowitems(Qt::Orientation orient)
{
if ( mWidget && mWidget->selectionMode() == HgWidget::NoSelection ) {
@@ -561,27 +557,30 @@
}
}
else if (mWidget && mWidget->selectionMode() == HgWidget::MultiSelection) {
- setItemVisible(Hb::TitleBarItem, FALSE) ;
+ setItemVisible(Hb::AllItems, FALSE) ;
+ setViewFlags(viewFlags() | HbView::ViewTitleBarHidden | HbView::ViewStatusBarHidden);
if (mUiOnButton) {
mUiOnButton->hide();
}
- if (mCountItem) {
- mCountItem->hide();
+ if (mTotalImagesCount) {
+ mTotalImagesCount->hide();
}
- if (mAlbumName) {
- mAlbumName->hide();
+ if (mAlbumNameHeading) {
+ mAlbumNameHeading->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();
+
+ mMarkSelectHeading->setGeometry(QRectF(0,0,screenSize.width(),deviceSize.height()/24));
+ mMarkingWidget->setGeometry(QRectF(0,deviceSize.height()/24,screenSize.width(),deviceSize.height()/72));
+
+ mMarkSelectHeading->show();
+ mMarkingWidget->show();
+
showMarkedItemCount();
+
}
}
@@ -631,21 +630,22 @@
if ( mWidget->selectionMode() == HgWidget::MultiSelection ) {
return ;
}
- if(XQServiceUtil::isService()){
- emit gridItemSelected(index);
- return;
- }
OstTraceEventStart0( EVENT_DUP1_GLXGRIDVIEW_ITEMSELECTED_START, "Fullscreen Launch Time" );
if ( mModel ) {
mModel->setData( index, index.row(), GlxFocusIndexRole );
}
+ if(XQServiceUtil::isService()){
+ qDebug("GlxGridView::itemSelected actionTriggered( EGlxCmdFetcherSelect )" );
+ emit actionTriggered( EGlxCmdFetcherSelect );
+ return;
+ }
emit actionTriggered( EGlxCmdFullScreenOpen );
OstTraceEventStop( EVENT_DUP1_GLXGRIDVIEW_ITEMSELECTED_STOP, "Fullscreen Launch Time", EVENT_DUP1_GLXGRIDVIEW_ITEMSELECTED_START );
}
void GlxGridView::scrollingStarted()
{
- if ((mWindow->orientation() == Qt::Horizontal) && mWidget->selectionMode() == HgWidget::NoSelection)
+ if ((mWindow->orientation() == Qt::Horizontal)/* && mWidget->selectionMode() == HgWidget::NoSelection*/)
{
setItemVisible(Hb::AllItems, FALSE) ;
setViewFlags(viewFlags() | HbView::ViewTitleBarHidden | HbView::ViewStatusBarHidden);
@@ -653,11 +653,11 @@
{
mUiOnButton->hide();
}
- if (mCountItem) {
- mCountItem->hide();
+ if (mTotalImagesCount) {
+ mTotalImagesCount->hide();
}
- if (mAlbumName) {
- mAlbumName->hide();
+ if (mAlbumNameHeading) {
+ mAlbumNameHeading->hide();
}
}
@@ -703,17 +703,16 @@
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 mTotalImagesCount;
+ delete mAlbumNameHeading;
+ delete mMarkSelectHeading;
delete mMarkCheckBox;
- delete mCountLabel;
+ delete mMarkCountLabel;
+ delete mMarkingWidget;
delete mZeroItemLabel;
+
OstTraceFunctionExit0( DUP1_GLXGRIDVIEW_GLXGRIDVIEW_EXIT );
}
@@ -739,15 +738,16 @@
void GlxGridView::showHbItems()
{
- setItemVisible(Hb::AllItems, TRUE) ;
- setViewFlags(viewFlags() &~ HbView::ViewTitleBarHidden &~ HbView::ViewStatusBarHidden);
+ if(mWidget && mWidget->selectionMode() == HgWidget::NoSelection) {
+ setItemVisible( Hb::TitleBarItem, TRUE );
+ setItemVisible( Hb::StatusBarItem, TRUE );
+ setViewFlags(viewFlags() &~ HbView::ViewTitleBarHidden &~ HbView::ViewStatusBarHidden);
showItemCount();
- toolBar()->resetTransform(); // Temp, this is for HbToolbar issue to get fixed
- toolBar()->show();
- if (mUiOnButton)
- {
+ }
+ updateToolBar();
+ if (mUiOnButton) {
mUiOnButton->hide();
- }
+ }
}
void GlxGridView::cameraButtonClicked(bool /*checked*/)
@@ -758,10 +758,30 @@
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>();
+ if ( mModel ) {
+ QVariant variant = mModel->data( mModel->index(0,0), GlxSubStateRole );
+ if ( variant.isValid() && variant.canConvert<int> () ) {
+ substate = variant.value<int>();
+ }
}
return substate;
}
+void GlxGridView::updateToolBar()
+{
+ //In the case of multiselection show the tool bar.
+ if ( mWidget && mWidget->selectionMode() == HgWidget::MultiSelection ) {
+ setItemVisible( Hb::ToolBarItem, TRUE ) ;
+ return ;
+ }
+
+ //In Album grid it is not required to show tool bar
+ int subState = getSubState();
+ if ( subState == ALBUM_ITEM_S || subState == FETCHER_ALBUM_ITEM_S ) {
+ setItemVisible( Hb::ToolBarItem, FALSE ) ;
+ }
+ else {
+ setItemVisible( Hb::ToolBarItem, TRUE );
+ }
+}
+
--- a/ui/views/listview/inc/glxlistview.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/listview/inc/glxlistview.h Wed Aug 18 09:48:53 2010 +0300
@@ -38,7 +38,7 @@
void deActivate();
void setModel(QAbstractItemModel *model);
void addToolBar( HbToolBar *toolBar );
- void initializeView(QAbstractItemModel *model);
+ void initializeView( QAbstractItemModel *model, GlxView *preView );
QGraphicsItem * getAnimationItem( GlxEffect transtionEffect );
public slots:
--- a/ui/views/listview/src/glxlistview.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/listview/src/glxlistview.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -57,7 +57,6 @@
void GlxListView::deActivate()
{
qDebug("GlxListView::deActivate()");
- disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationChanged(Qt::Orientation)));
}
void GlxListView::setModel(QAbstractItemModel *model)
@@ -76,13 +75,14 @@
setToolBar(toolBar) ;
}
-void GlxListView::initializeView(QAbstractItemModel *model)
+void GlxListView::initializeView( QAbstractItemModel *model, GlxView *preView )
{
+ Q_UNUSED( preView )
qDebug("GlxListView::initializeView()");
- if (mListView == NULL) {
+ if ( mListView == NULL ) {
createListView();
}
- setModel(model);
+ setModel( model );
}
QGraphicsItem * GlxListView::getAnimationItem( GlxEffect transtionEffect )
@@ -205,7 +205,19 @@
if ( mModel ) {
mModel->setData( index, index.row(), GlxFocusIndexRole );
}
- emit actionTriggered( EGlxCmdAlbumGridOpen );
+
+ int curstate = NO_LIST_S;
+ qDebug() << "GlxListView::itemSelected READING STATE ";
+ QVariant variant = mModel->data( mModel->index(0,0), GlxSubStateRole );
+ if ( variant.isValid() && variant.canConvert<int> () ) {
+ curstate = variant.value<int>();
+ }
+ qDebug() << "GlxMenuManager::viewSubState = " << curstate ;
+ if(curstate == FETCHER_ALBUM_S ){
+ emit actionTriggered( EGlxCmdFetcherAlbumGridOpen );
+ }else {
+ emit actionTriggered( EGlxCmdAlbumGridOpen );
+ }
}
--- a/ui/views/slideshowview/inc/glxslideshowview.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/slideshowview/inc/glxslideshowview.h Wed Aug 18 09:48:53 2010 +0300
@@ -33,29 +33,115 @@
class GlxSlideShowWidget;
class GlxTvOutWrapper;
+/**
+ * Class Description
+ * This is Slideshow view class used to play the slide show on set of images.
+ */
class GlxSlideShowView : public GlxView
{
Q_OBJECT
public:
- GlxSlideShowView(HbMainWindow *window,HbDocumentLoader *Docloader);
+ /**
+ * Constructor
+ * @param - HbMainWindow object
+ * @param - fullscreen docloader object
+ */
+ GlxSlideShowView( HbMainWindow *window, HbDocumentLoader *Docloader );
+
+ /**
+ * Destructor
+ */
~GlxSlideShowView();
+
+ /**
+ * activate()
+ * ///From GlxView
+ */
void activate() ;
+
+ /**
+ * deActivate()
+ * ///From GlxView
+ */
void deActivate();
- void setModel(QAbstractItemModel *model);
+
+ /**
+ * setmodel()
+ * ///from GlxView
+ */
+ void setModel( QAbstractItemModel *model );
+
+ /**
+ * setModelContext() - to set the context mode of the model.
+ */
void setModelContext();
+
+ /**
+ * handleUserAction() - To handle the used action like back to paly the orientation change animation.
+ */
+ void handleUserAction( qint32 commandId );
public slots :
- void orientationChanged(Qt::Orientation);
- void slideShowEventHandler( GlxSlideShowEvent e);
+ /**
+ * orientationChanged() - Slot to upadte the layout when orientation of device has changed
+ * @param new orientation
+ */
+ void orientationChanged( Qt::Orientation ) ;
+
+ /**
+ * slideShowEventHandler() - to handle the widget events like ui on / off, empty data etc
+ * @param slide show widget event type
+ */
+ void slideShowEventHandler( GlxSlideShowEvent e );
+
+ /**
+ * indexchanged() - call back to handle the selected image change.
+ */
void indexchanged();
+
+ /**
+ * modelDestroyed() - call back to monitor the model destroy.
+ */
void modelDestroyed();
+ /**
+ * playLsOrientChangeAnim() - To play the protrait to landscape orientation animation.
+ */
+ void playLsOrientChangeAnim();
+
+ /**
+ * playLsOrientChangeAnim() - To play the landscape to protrait orientation animation.
+ */
+ void playPtOrientChangeAnim();
+
+ /**
+ * LsOrientChangeAnimFinished() - Call back fuction when protrait to landscape orientation animation
+ * has been finished.
+ * @param - staus of effect
+ */
+ void LsOrientChangeAnimFinished( const HbEffect::EffectStatus );
+
+ /**
+ * PtOrientChangeAnimFinished() - Call back fuction when landscape to protrait orientation animation
+ * has been finished.
+ * @param - staus of effect
+ */
+ void PtOrientChangeAnimFinished( const HbEffect::EffectStatus );
+
protected :
- bool eventFilter(QObject *obj, QEvent *ev);
+ /**
+ * eventFilter - To handle the application foregrond and background event
+ * ///From HbView
+ */
+ bool eventFilter( QObject *obj, QEvent *ev );
private:
+ /**
+ * loadWidgets() - The widgets are retrieved from the docml
+ */
void loadObjects();
+
private:
QAbstractItemModel *mModel;
HbMainWindow *mWindow;
--- a/ui/views/slideshowview/inc/glxslideshowwidget.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/slideshowview/inc/glxslideshowwidget.h Wed Aug 18 09:48:53 2010 +0300
@@ -34,6 +34,7 @@
class QGraphicsItem;
class HbDocumentLoader;
class HbAbstractDataModel;
+class HbLabel;
//User Forward Declarations
class GlxEffectEngine;
@@ -48,83 +49,273 @@
EFFECT_STARTED // sends the signal when effect is started.
} GlxSlideShowEvent;
-typedef enum
-{
- MOVE_FORWARD,
- MOVE_BACKWARD,
-} GlxSlideShowMoveDir;
-
+/**
+ * Class Description
+ * This is Slideshow widget class used to play the slide show animation and ahndle the user action like pause and play.
+ */
class GlxSlideShowWidget : public HbWidget
{
Q_OBJECT
public :
- GlxSlideShowWidget (QGraphicsItem *parent = NULL);
+ /**
+ * Constructor
+ * @param - QGraphicsItem
+ */
+ GlxSlideShowWidget ( QGraphicsItem *parent = NULL );
+
+ /**
+ * Destructor
+ */
~GlxSlideShowWidget ();
- void setModel (QAbstractItemModel *model);
- void setItemGeometry(QRect screenRect);
+
+ /**
+ * setmodel() - To set the model of the widget.
+ * @param - QAbstractItemModel.
+ */
+ void setModel ( QAbstractItemModel *model );
+
+ /**
+ * setItemGeometry() - To Set the layout data of widgets item.
+ * @param scrren gemoetry
+ */
+ void setItemGeometry( QRect screenRect );
+
+ /**
+ * startSlideShow() - To start the slide show timer to run the slide show.
+ */
void startSlideShow();
+
+ /**
+ * stopSlideShow() - To stop slide show timer.
+ */
void stopSlideShow();
- /*
- * Initialise the slideshow widget
- * creation of the icons are done here
- */
- void setSlideShowWidget(HbDocumentLoader *DocLoader);
/*
- * Cleans up the slide show widget
+ * setSlideShowWidget() - Initialise the slideshow widget and creation of the icons are done here.
+ * @param - docloader
+ */
+ void setSlideShowWidget( HbDocumentLoader *DocLoader );
+
+ /*
+ * cleanUp() -Cleans up the slide show widget
*/
void cleanUp();
+ /*
+ * animationItem() - Return the icon to use for some transition effect
+ */
+ QGraphicsItem * animationItem();
+
+ /**
+ * updateAnimationItem() - upadte the z value of anition item for smooth effect.
+ */
+ void updateAnimationItem();
+
+
signals:
- void slideShowEvent(GlxSlideShowEvent e);
+ /**
+ * slideShowEvent() - This signal is emitted when slide show event happend lide ui on/off
+ * @param - GlxSlideShowEvent.
+ */
+ void slideShowEvent( GlxSlideShowEvent e );
+
+ /**
+ * indexchanged() - This signal is emmitted when image selected index is changed.
+ */
void indexchanged();
public slots :
+ /**
+ * triggeredEffect() - To start the slide show animation.
+ */
void triggeredEffect();
+
+ /**
+ * continueSlideShow() - Play the slide show.
+ * @param - From HbAbstractButton.
+ */
+ void continueSlideShow( bool check );
+
+ /**
+ * effectFinshed() - Call back to get notification of slide show animation has been finshed.
+ */
void effectFinshed();
- void cancelEffect();
- void pauseSlideShow();
- void continueSlideShow(bool check);
- void dataChanged(QModelIndex startIndex, QModelIndex endIndex);
- void rowsInserted(const QModelIndex &parent, int start, int end);
- void rowsRemoved(const QModelIndex &parent, int start, int end);
+
+ /**
+ * dataChanged() - call back to monitor the widget data changed.
+ * @param - start index of data changed.
+ * @param - end index of data changed.
+ */
+ void dataChanged( QModelIndex startIndex, QModelIndex endIndex );
+
+ /**
+ * rowsInserted() - call back of new row inserted in the model.
+ * @param - Items are inserted under parent.
+ * @param - start index of items inserted.
+ * @param - end index of items removed.
+ */
+ void rowsInserted( const QModelIndex &parent, int start, int end );
+
+ /**
+ * rowsRemoved() - call back of new row removed in the model.
+ * @param - Items are removed from parent item.
+ * @param - start index of items inserted.
+ * @param - end index of items removed.
+ */
+ void rowsRemoved( const QModelIndex &parent, int start, int end );
+
+ /**
+ * modelDestroyed() - call back to monitor the model destroy.
+ */
void modelDestroyed();
- void orientationChanged(QRect screenRect);
+
+ /**
+ * orientationChanged() - relayout the data when orientation has been changed
+ * @param - Screen Geometry
+ */
+ void orientationChanged( QRect screenRect );
+ /**
+ * leftMoveEffectFinished() - call back, when animation of browse the image in forward direction
+ * has been finished.
+ * @param - staus of effect
+ */
void leftMoveEffectFinished( const HbEffect::EffectStatus &status );
+
+ /**
+ * leftMoveEffectFinished() - call back, when animation of browse the image in backward direction
+ * has been finished.
+ * @param - staus of effect
+ */
void rightMoveEffectFinished( const HbEffect::EffectStatus &status );
protected slots :
- void leftGesture (int value);
- void rightGesture (int value);
+ /**
+ * leftGesture() - To handle the left move event
+ * @parma number of pixel move.
+ */
+ void leftGesture ( int value );
+
+ /**
+ * rightGesture() - To handle the right move event
+ * @parma number of pixel move.
+ */
+ void rightGesture ( int value );
protected :
- void gestureEvent(QGestureEvent *event);
+ /**
+ * gestureEvent() - gesture event handler.
+ * @param - QGestureEvent
+ */
+ void gestureEvent( QGestureEvent *event );
private :
- //clear all the model connection
+ /**
+ * clearCurrentModel() - clear all the model call backs
+ */
void clearCurrentModel();
- //add the connection to the model
+
+ /**
+ * initializeNewModel() - register the model data change call backs
+ */
void initializeNewModel();
+
+ /**
+ * resetSlideShow() - Reinitialise the widget property.
+ */
void resetSlideShow();
- void setIconItems( int moveDir );
+
+ /**
+ * moveImage() - Sopport function to handle the user browsing.
+ * @param - next selected image index.
+ * @param - position of next image index.
+ * @param - effect event
+ * @param - animation finished callback function
+ */
void moveImage( int nextIndex, int posX, const QString & move, char * callBack );
+
+ /**
+ * addConnections() - register the internal and effect engine callback.
+ */
void addConnections();
+
+ /**
+ * removeConnections() - deregister the internal and effect engine callback.
+ */
void removeConnections();
+
+ /**
+ * cancelEffect() - To cancel the currnet effect running.
+ */
+ void cancelEffect();
+
+ /**
+ * pauseSlideShow() - Pause the slide show.
+ */
+ void pauseSlideShow();
+
+ /**
+ * getFocusIndex() -To get the focus index
+ */
+ int getFocusIndex( );
+
+ /*
+ * getIcon() - To get the full screen icon of the image
+ * @param - index of the icon
+ */
+ HbIcon getIcon( int index );
+
+ /**
+ * isCorrupt() - To check the itemis corrupted or not
+ * @param - index of the icon
+ */
+ bool isCorrupt( int index );
+
+ /**
+ * setFocusItemIcon() - To set the current ( focus ) item icon
+ * @return - return the success or failure status
+ */
+ bool setFocusItemIcon();
+
+ /**
+ * setNextItemIcon() - To set the next itme icon in the list
+ * @return - return the success or failure status
+ */
+ bool setNextItemIcon();
+
+ /**
+ * setPreItemIcon() - To set the previous icon in the list
+ * @return - return the success or failure status
+ */
+ bool setPreItemIcon();
+
+ /**
+ * showErrorNote() - In the case of all the image are corrupted then show the error notes
+ */
+ void showErrorNote();
+
+ /**
+ * hideErrorNote() - It will hide the corrupted images note
+ */
+ void hideErrorNote();
private:
GlxEffectEngine *mEffectEngine;
GlxSettingInterface *mSettings; //no ownership
- HbIconItem *mIconItems[NBR_ITEM];
+ HbIconItem *mIconItems[ NBR_ITEM ];
+ HbIconItem *mAnimItem;
+ HbIconItem *mBackGroundItem;
HbPushButton *mContinueButton;
+ HbLabel *mErrorNote ; //when all the image are corrupted then show the no image label
int mItemIndex;
- int mSelIndex;
+ int mSelIndex[ NBR_ITEM ];
QTimer *mSlideTimer;
QAbstractItemModel *mModel;
QRect mScreenRect;
QList <QGraphicsItem *> mItemList;
bool mIsPause;
+ int mSlideShowItemCount;
};
#endif /* GLXSLIDESHOWWIDGET_H */
--- a/ui/views/slideshowview/src/glxslideshowview.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/slideshowview/src/glxslideshowview.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -43,6 +43,8 @@
{
TRACER("GlxSlideShowView::GlxSlideShowView()");
mDocLoader = DocLoader;
+ HbEffect::add( QString( "HbIconItem" ), QString( ":/data/rotatelandscape.fxml" ), QString( "RotateLS" ) );
+ HbEffect::add( QString( "HbIconItem" ), QString( ":/data/rotateprotrait.fxml" ), QString( "RotatePT" ) );
}
GlxSlideShowView::~GlxSlideShowView()
@@ -59,12 +61,13 @@
delete mDocLoader;
mDocLoader = NULL;
}
+ HbEffect::remove( QString( "HbIconItem" ), QString( ":/data/rotate.fxml" ), QString( "RotateStart" ) );
+ HbEffect::remove( QString( "HbIconItem" ), QString( ":/data/rotate1.fxml" ), QString( "RotateEnd" ) );
}
void GlxSlideShowView::activate()
{
TRACER("GlxSlideShowView::activate()");
- mWindow->setOrientation(Qt::Horizontal, false);
//finds the widgets from the docml
loadObjects();
@@ -72,6 +75,7 @@
setStatusBarVisible(FALSE);
connect( mSlideShowWidget, SIGNAL( slideShowEvent( GlxSlideShowEvent ) ), this, SLOT( slideShowEventHandler( GlxSlideShowEvent ) ) );
connect( mSlideShowWidget, SIGNAL( indexchanged() ), this, SLOT( indexchanged() ) );
+ connect( mWindow, SIGNAL( viewReady() ), this, SLOT( playLsOrientChangeAnim() ) );
QCoreApplication::instance()->installEventFilter(this);
@@ -83,14 +87,14 @@
void GlxSlideShowView::deActivate()
{
TRACER("GlxSlideShowView::deActivate()");
- mWindow->unsetOrientation(false);
+ mWindow->unsetOrientation( false );
setStatusBarVisible(TRUE);
- setTitleBarVisible(TRUE);
-
+ setTitleBarVisible(TRUE);
disconnect( mSlideShowWidget, SIGNAL( slideShowEvent( GlxSlideShowEvent ) ), this, SLOT( slideShowEventHandler( GlxSlideShowEvent ) ) );
disconnect( mSlideShowWidget, SIGNAL( indexchanged() ), this, SLOT( indexchanged() ) );
+ disconnect( mWindow, SIGNAL( viewReady() ), this, SLOT( playLsOrientChangeAnim() ) );
//Delete the Items in the slide show widget
mSlideShowWidget->cleanUp();
@@ -107,17 +111,18 @@
{
TRACER("GlxSlideShowView::setModel()");
GLX_LOG_INFO2("GlxSlideShowView::setModel() model %u mModel %u", model, mModel);
- if ( mModel != model ) {
- modelDestroyed();
- mModel = model;
- connect( mModel, SIGNAL( destroyed() ), this, SLOT( modelDestroyed() ) );
+ if ( mModel != model ) {
+ modelDestroyed();
+ mModel = model;
+ connect( mModel, SIGNAL( destroyed() ), this, SLOT( modelDestroyed() ) );
}
+
setModelContext();
mSlideShowWidget->setModel(mModel);
if (mTvOutWrapper){
- mTvOutWrapper->setModel(mModel,true);
+ mTvOutWrapper->setModel(mModel, screenSize(), true);
mTvOutWrapper->setImagetoHDMI();
}
}
@@ -127,14 +132,24 @@
TRACER("GlxSlideShowView::setModelContext()");
if ( mModel && mWindow ) {
GLX_LOG_INFO1("GlxSlideShowView::setModelContext %d", mWindow->orientation() );
-
- mModel->setData(QModelIndex(), (int)GlxContextLsFs, GlxContextRole );
- /* if ( mWindow->orientation() == Qt::Horizontal ) {
+ if ( mWindow->orientation() == Qt::Horizontal ) {
mModel->setData(QModelIndex(), (int)GlxContextLsFs, GlxContextRole );
}
else {
mModel->setData(QModelIndex(), (int)GlxContextPtFs, GlxContextRole );
- } */
+ }
+ }
+}
+
+void GlxSlideShowView::handleUserAction( qint32 commandId )
+{
+ switch( commandId ){
+ case EGlxCmdPlayBackAnim :
+ playPtOrientChangeAnim();
+ break;
+
+ default :
+ break;
}
}
@@ -191,6 +206,40 @@
}
}
+void GlxSlideShowView::playLsOrientChangeAnim()
+{
+ qDebug( "GlxSlideShowView::playLsOrientChangeAnim() enter ");
+ if ( mWindow->orientation( ) == Qt ::Vertical ) {
+ mModel->setData(QModelIndex(), (int)GlxContextLsFs, GlxContextRole );
+ mSlideShowWidget->updateAnimationItem();
+ HbEffect::start( mSlideShowWidget->animationItem(), QString( "HbIconItem" ), QString( "RotateLS" ), this, "LsOrientChangeAnimFinished" );
+ qDebug( "GlxSlideShowView::playLsOrientChangeAnim() exit1 ");
+ }
+ else {
+ mWindow->setOrientation( Qt::Horizontal, false );
+ }
+}
+
+void GlxSlideShowView::playPtOrientChangeAnim()
+{
+ mModel->setData( QModelIndex(), ( int )GlxContextPtFs, GlxContextRole );
+ setTitleBarVisible( FALSE );
+ setStatusBarVisible( FALSE );
+ mSlideShowWidget->updateAnimationItem();
+ HbEffect::start( mSlideShowWidget->animationItem(), QString( "HbIconItem" ), QString( "RotatePT" ), this, "PtOrientChangeAnimFinished" );
+}
+
+void GlxSlideShowView::LsOrientChangeAnimFinished( const HbEffect::EffectStatus )
+{
+ mWindow->setOrientation( Qt::Horizontal, false );
+ orientationChanged( Qt::Horizontal );
+}
+
+void GlxSlideShowView::PtOrientChangeAnimFinished( const HbEffect::EffectStatus )
+{
+ emit actionTriggered( EGlxCmdSlideShowBack );
+}
+
bool GlxSlideShowView::eventFilter(QObject *obj, QEvent *event)
{
TRACER("GlxSlideShowView::event()");
--- a/ui/views/slideshowview/src/glxslideshowwidget.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/slideshowview/src/glxslideshowwidget.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -28,6 +28,7 @@
#include <QAbstractItemModel>
#include <QGesture>
#include <hbpangesture.h>
+#include <hblabel.h>
//User Includes
#include "glxicondefs.h" //Contains the icon names/Ids
@@ -36,19 +37,23 @@
#include "glxdocloaderdefs.h"
#include "glxslideshowwidget.h"
#include "glxsettinginterface.h"
+#include "glxlocalisationstrings.h"
#include "glxlog.h"
#include "glxtracer.h"
GlxSlideShowWidget::GlxSlideShowWidget( QGraphicsItem *parent )
- : HbWidget(parent),
- mEffectEngine(NULL),
+ : HbWidget( parent ),
+ mEffectEngine( NULL ),
mSettings( NULL ),
- mContinueButton(NULL),
- mItemIndex(1),
- mSelIndex(0),
- mSlideTimer(NULL),
- mModel(NULL)
+ mAnimItem( NULL ),
+ mBackGroundItem( NULL ),
+ mContinueButton( NULL ),
+ mErrorNote( NULL ),
+ mItemIndex( 1 ),
+ mSlideTimer( NULL ),
+ mModel( NULL ),
+ mSlideShowItemCount( 0 )
{
TRACER("GlxSlideShowWidget::GlxSlideShowWidget()");
mSettings = GlxSettingInterface::instance() ; //no owner ship
@@ -63,21 +68,27 @@
//create the effect engine
mEffectEngine = new GlxEffectEngine();
-
+ mItemIndex = 1;
+
+ mBackGroundItem = new HbIconItem( this );
+ mBackGroundItem->setBrush( QBrush( Qt::black ) );
+ mAnimItem = new HbIconItem( this );
+ mAnimItem->setAlignment( Qt::AlignCenter );
+
// Now load the view and the contents.
// and then set the play icon to the button
- mContinueButton = static_cast<HbPushButton*>(DocLoader->findWidget(GLXSLIDESHOW_PB));
- mContinueButton->setIcon(HbIcon(GLXICON_PLAY));
+ mContinueButton = static_cast<HbPushButton*>( DocLoader->findWidget( GLXSLIDESHOW_PB ) );
+ mContinueButton->setIcon( HbIcon( GLXICON_PLAY ) );
mContinueButton->hide();
mIsPause = false;
for ( int i = 0; i < NBR_ITEM ; i++) {
- mIconItems[i] = new HbIconItem(this);
- mIconItems[i]->setBrush(QBrush(Qt::black));
- mIconItems[i]->setAlignment( Qt::AlignCenter );
- mIconItems[i]->setObjectName( QString( "SlideShowIcon%1" ).arg( i ) );
- }
-
+ mSelIndex[ i ] = -1;
+ mIconItems[ i ] = new HbIconItem( this );
+ mIconItems[ i ]->setAlignment( Qt::AlignCenter );
+ mIconItems[ i ]->setObjectName( QString( "SlideShowIcon%1" ).arg( i ) );
+ }
+
mSlideTimer = new QTimer();
mItemList.clear();
@@ -111,7 +122,7 @@
TRACER("GlxSlideShowWidget::cleanUp()");
removeConnections();
- if(mEffectEngine) {
+ if( mEffectEngine ) {
mEffectEngine->deRegisterEffect( QString("HbIconItem") );
delete mEffectEngine;
mEffectEngine = NULL;
@@ -121,11 +132,22 @@
delete mIconItems[i] ;
mIconItems[i] = NULL;
}
+
+ delete mBackGroundItem ;
+ mBackGroundItem = NULL;
+
+ delete mAnimItem;
+ mAnimItem = NULL;
- if(mSlideTimer) {
+ if( mSlideTimer ) {
delete mSlideTimer;
mSlideTimer = NULL;
}
+
+ if ( mErrorNote ) {
+ delete mErrorNote ;
+ mErrorNote = NULL;
+ }
clearCurrentModel();
HbEffect::remove( QString("HbIconItem"), QString(":/data/transition.fxml"), QString( "Move" ));
@@ -133,7 +155,19 @@
HbEffect::remove( QString("HbIconItem"), QString(":/data/transitionright.fxml"), QString( "RightMove" ));
}
-void GlxSlideShowWidget::setModel (QAbstractItemModel *model)
+QGraphicsItem * GlxSlideShowWidget::animationItem()
+{
+ mAnimItem->setIcon( getIcon( mSelIndex[ mItemIndex ] ) );
+ return mAnimItem;
+}
+
+void GlxSlideShowWidget::updateAnimationItem()
+{
+ mIconItems[ mItemIndex ]->setIcon( HbIcon() );
+ mAnimItem->setZValue( mAnimItem->zValue() + 10 );
+}
+
+void GlxSlideShowWidget::setModel ( QAbstractItemModel *model )
{
TRACER("GlxSlideShowWidget::setModel()");
if ( model == mModel ) {
@@ -145,16 +179,19 @@
resetSlideShow();
}
-void GlxSlideShowWidget::setItemGeometry(QRect screenRect)
+void GlxSlideShowWidget::setItemGeometry( QRect screenRect )
{
TRACER("GlxSlideShowWidget::setItemGeometry()");
int index = mItemIndex;
mScreenRect = screenRect;
- mIconItems[index]->setGeometry(mScreenRect);
- index = ( mItemIndex + 1) % NBR_ITEM;
- mIconItems[index]->setGeometry( QRect( mScreenRect.width(), mScreenRect.top(), mScreenRect.width(), mScreenRect.height() ) );
+ mIconItems[ index ]->setGeometry( mScreenRect );
+ index = ( mItemIndex + 1 ) % NBR_ITEM;
+ mIconItems[ index ]->setGeometry( QRect( mScreenRect.width(), mScreenRect.top(), mScreenRect.width(), mScreenRect.height() ) );
index = mItemIndex ? mItemIndex - 1 : NBR_ITEM - 1;
- mIconItems[index]->setGeometry( QRect( -mScreenRect.width(), mScreenRect.top(), mScreenRect.width(), mScreenRect.height() ) );
+ mIconItems[ index ]->setGeometry( QRect( -mScreenRect.width(), mScreenRect.top(), mScreenRect.width(), mScreenRect.height() ) );
+ mBackGroundItem->setGeometry( mScreenRect );
+ int xPos = ( mScreenRect.width() - mScreenRect.height() ) >> 1 ;
+ mAnimItem->setGeometry( QRect( xPos, -xPos, mScreenRect.height(), mScreenRect.width() ) );
}
void GlxSlideShowWidget::triggeredEffect()
@@ -176,22 +213,16 @@
void GlxSlideShowWidget::effectFinshed()
{
- TRACER("GlxSlideShowWidget::effectFinshed()");
- //To:Do boundery condition or last item check implemented after behaviour of slide show clear
- int rowCount = mModel->rowCount();
GLX_LOG_INFO2("GlxSlideShowWidget::effectFinshed() before image selected index %d array index %d", mSelIndex, mItemIndex);
- mSelIndex = ( ++mSelIndex ) % rowCount;
mItemIndex = ( ++mItemIndex ) % NBR_ITEM;
- mModel->setData( mModel->index(mSelIndex, 0), mSelIndex, GlxFocusIndexRole );
- mModel->setData( mModel->index(mSelIndex, 0), mSelIndex, GlxVisualWindowIndex );
- setIconItems( MOVE_FORWARD );
+ mModel->setData( mModel->index( 0, 0 ), mSelIndex[ mItemIndex ], GlxFocusIndexRole );
+ mModel->setData( mModel->index( 0, 0 ), mSelIndex[ mItemIndex ], GlxVisualWindowIndex );
+ setNextItemIcon();
GLX_LOG_INFO2("GlxSlideShowWidget::effectFinshed() after image selected index %d array index %d ", mSelIndex, mItemIndex);
- if ( mIsPause == false ) {
- mSlideTimer->start( mSettings->slideShowDelayTime() );
- }
+ startSlideShow();
mItemList.clear();
emit indexchanged(); // on each item change
}
@@ -211,7 +242,7 @@
cancelEffect();
mContinueButton->setZValue( this->zValue() + 2);
mContinueButton->show() ;
- emit slideShowEvent(UI_ON_EVENT);
+ emit slideShowEvent( UI_ON_EVENT );
}
void GlxSlideShowWidget::continueSlideShow(bool checked)
@@ -219,11 +250,11 @@
Q_UNUSED( checked )
TRACER("GlxSlideShowWidget::continueSlideShow()");
mIsPause = false;
- if ( mModel && mModel->rowCount() > 1 ) {
+ if ( mModel && mSlideShowItemCount > 1 ) {
mSlideTimer->start( mSettings->slideShowDelayTime() );
}
mContinueButton->hide();
- emit slideShowEvent(UI_OFF_EVENT);
+ emit slideShowEvent( UI_OFF_EVENT );
}
void GlxSlideShowWidget::dataChanged(QModelIndex startIndex, QModelIndex endIndex)
@@ -231,20 +262,16 @@
Q_UNUSED( endIndex )
TRACER("GlxSlideShowWidget::dataChanged()");
GLX_LOG_INFO2("GlxSlideShowWidget::dataChanged startIndex = %d mSelIndex = %d ", startIndex.row(), mSelIndex );
- int deltaIndex = startIndex.row() - mSelIndex;
- if ( deltaIndex <= 1 && deltaIndex >= -1 ) {
- int index = ( mItemIndex + deltaIndex + NBR_ITEM ) % NBR_ITEM; //calculated the array index in which data sould be updated
- GLX_LOG_INFO2("GlxSlideShowWidget::dataChanged index = %d mSelItemIndex = %d ", index, mItemIndex );
+ if ( HbEffect::effectRunning( mAnimItem ) ) {
+ return ;
+ }
- QVariant variant = mModel->data( startIndex, GlxFsImageRole );
- if ( variant.isValid() && variant.canConvert<HbIcon> () ) {
- mIconItems[index]->setIcon ( variant.value<HbIcon>() ) ;
+ for( int i = 0; i < NBR_ITEM; ++i ) {
+ if ( mSelIndex[ i ] == startIndex.row() ) {
+ mIconItems[ i ]->setIcon( getIcon( startIndex.row() ) );
}
- else {
- mIconItems[index]->setIcon ( HbIcon() ) ;
- }
- }
+ }
}
void GlxSlideShowWidget::rowsInserted(const QModelIndex &parent, int start, int end)
@@ -253,6 +280,9 @@
Q_UNUSED(parent);
Q_UNUSED(start);
Q_UNUSED(end);
+ if ( HbEffect::effectRunning( mAnimItem ) ) {
+ return ;
+ }
resetSlideShow();
}
@@ -284,12 +314,13 @@
void GlxSlideShowWidget::orientationChanged(QRect screenRect)
{
TRACER("GlxSlideShowWidget::orientationChanged()");
+ mAnimItem->setIcon( HbIcon() );
+ mAnimItem->setZValue( mAnimItem->zValue() - 10 );
cancelEffect();
setItemGeometry( screenRect);
resetSlideShow();
}
-
void GlxSlideShowWidget::leftGesture(int value)
{
Q_UNUSED(value)
@@ -313,14 +344,11 @@
Q_UNUSED(status)
TRACER("GlxSlideShowWidget::leftMoveEffectFinished()");
GLX_LOG_INFO1("GlxSlideShowWidget::leftMoveEffectFinished() %d status", status.reason);
-
- int rowCount = mModel->rowCount();
- mSelIndex = ( ++mSelIndex ) % rowCount;
+
mItemIndex = ( ++mItemIndex ) % NBR_ITEM;
- mModel->setData( mModel->index(mSelIndex, 0), mSelIndex, GlxFocusIndexRole );
- mModel->setData( mModel->index(mSelIndex, 0), mSelIndex, GlxVisualWindowIndex );
-
- setIconItems( MOVE_FORWARD );
+ mModel->setData( mModel->index( 0, 0 ), mSelIndex[ mItemIndex ], GlxFocusIndexRole );
+ mModel->setData( mModel->index( 0, 0 ), mSelIndex[ mItemIndex ], GlxVisualWindowIndex );
+ setNextItemIcon();
startSlideShow();
emit indexchanged(); // on left swipe
}
@@ -331,13 +359,10 @@
TRACER ( "GlxSlideShowWidget::rightMoveEffectFinished( ) ");
GLX_LOG_INFO1("GlxSlideShowWidget::rightMoveEffectFinished() %d status", status.reason);
- int rowCount = mModel->rowCount();
- mSelIndex = mSelIndex ? --mSelIndex : rowCount - 1;
mItemIndex = mItemIndex ? mItemIndex - 1 : NBR_ITEM - 1;
- mModel->setData( mModel->index(mSelIndex, 0), mSelIndex, GlxFocusIndexRole );
- mModel->setData( mModel->index(mSelIndex, 0), mSelIndex, GlxVisualWindowIndex );
-
- setIconItems( MOVE_BACKWARD );
+ mModel->setData( mModel->index( 0, 0 ), mSelIndex[ mItemIndex ], GlxFocusIndexRole );
+ mModel->setData( mModel->index( 0, 0 ), mSelIndex[ mItemIndex ], GlxVisualWindowIndex );
+ setPreItemIcon();
startSlideShow();
emit indexchanged(); // on right swipe
}
@@ -374,7 +399,11 @@
{
TRACER ( "GlxSlideShowWidget::startSlideShow( ) ");
GLX_LOG_INFO1 ( "GlxSlideShowWidget::startSlideShow( ) is pause %d", mIsPause);
- if ( mIsPause == false && mModel && mModel->rowCount() > 1 ) {
+
+ if ( mSlideShowItemCount == 0 ) {
+ showErrorNote();
+ }
+ if ( mIsPause == false && mModel && mSlideShowItemCount > 1 ) {
mSlideTimer->start( mSettings->slideShowDelayTime() );
}
}
@@ -396,10 +425,6 @@
disconnect(mModel, SIGNAL(destroyed()), this, SLOT( modelDestroyed()));
mModel = NULL ;
}
-/*
- disconnect(mModel, SIGNAL(destroyed()), this, SLOT(_q_modelDestroyed()));
- disconnect(mModel, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(rowsAboutToBeRemoved(QModelIndex,int,int)));
- */
}
void GlxSlideShowWidget::initializeNewModel()
@@ -413,70 +438,30 @@
}
}
-
void GlxSlideShowWidget::resetSlideShow()
{
TRACER("GlxSlideShowWidget::resetSlideShow()" );
- if(! mModel) {
+ if( mModel == NULL || mModel->rowCount() == 0 ) {
return;
}
- QVariant variant = mModel->data( mModel->index( mSelIndex, 0 ), GlxFocusIndexRole );
- if ( variant.isValid() && variant.canConvert<int> () ) {
- mSelIndex = variant.value<int>() ;
- GLX_LOG_INFO1("GlxSlideShowWidget::resetSlideShow() selected index %d", mSelIndex );
- }
-
- variant = mModel->data( mModel->index( mSelIndex, 0 ), GlxFsImageRole );
- if ( variant.isValid() && variant.canConvert<HbIcon> () ) {
- mIconItems[mItemIndex]->setIcon ( variant.value<HbIcon>() ) ;
- }
- else {
- mIconItems[mItemIndex]->setIcon ( HbIcon() ) ;
- }
-
- setIconItems(MOVE_FORWARD);
- setIconItems(MOVE_BACKWARD);
- if ( mIsPause == false && mModel && mModel->rowCount() > 1 ) {
- mSlideTimer->start( mSettings->slideShowDelayTime() );
- }
-}
-
-void GlxSlideShowWidget::setIconItems( int moveDir )
-{
- TRACER("GlxSlideShowWidget::setIconItems()");
- int index = 0, itemIndex = 0;
- int rowCount = mModel->rowCount();
- GLX_LOG_INFO1("GlxSlideShowWidget::setIconItems() rowcount %d ", rowCount);
-
- if ( rowCount == 0 ) {
- return ;
- }
-
- if ( moveDir == MOVE_FORWARD ) {
- index = ( mSelIndex + 1 ) % rowCount;
- itemIndex = ( mItemIndex + 1) % NBR_ITEM;
- }
- else {
- index = mSelIndex ? mSelIndex - 1 : rowCount - 1;
- itemIndex = mItemIndex ? mItemIndex - 1 : NBR_ITEM - 1;
- }
-
- GLX_LOG_INFO4("GlxSlideShowWidget::setIconItems() image selected index %d array index %d index %d icon index %d", mSelIndex, mItemIndex, index, itemIndex);
-
- QVariant variant = mModel->data( mModel->index( index, 0 ), GlxFsImageRole );
- if ( variant.isValid() && variant.canConvert<HbIcon> () ) {
- mIconItems[itemIndex]->setIcon ( variant.value<HbIcon>() ) ;
- }
- else {
- mIconItems[itemIndex]->setIcon ( HbIcon() ) ;
- }
+
+ mSlideShowItemCount = mModel->rowCount();
+ setFocusItemIcon() ;
+ setNextItemIcon() ;
+ setPreItemIcon() ;
+ startSlideShow();
+
+ qDebug( "GlxSlideShowWidget::resetSlideShow slide show item count %d" , mSlideShowItemCount );
+ if ( mErrorNote && mErrorNote->isVisible() && mSlideShowItemCount > 1 ){
+ hideErrorNote();
+ }
}
void GlxSlideShowWidget::moveImage(int nextIndex, int posX, const QString & move, char * callBack)
{
TRACER("GlxSlideShowWidget::MoveImage()");
- if ( mModel->rowCount() <= 1 || mEffectEngine->isEffectRuning( mItemList ) ) {
+ if ( mSlideShowItemCount <= 1 || mEffectEngine->isEffectRuning( mItemList ) ) {
return ;
}
@@ -514,3 +499,123 @@
disconnect( mContinueButton, SIGNAL( clicked(bool) ), this, SLOT( continueSlideShow(bool) ) );
}
}
+
+int GlxSlideShowWidget::getFocusIndex( )
+{
+ QVariant variant = mModel->data( mModel->index( 0, 0 ), GlxFocusIndexRole ) ;
+ if ( variant.isValid() && variant.canConvert< int > () ) {
+ return variant.value< int > ();
+ }
+ return -1;
+}
+
+HbIcon GlxSlideShowWidget::getIcon( int index )
+{
+ QVariant variant = mModel->data( mModel->index( index, 0 ), GlxFsImageRole );
+ if ( variant.isValid() && variant.canConvert< HbIcon > () ) {
+ return variant.value< HbIcon > () ;
+ }
+ return HbIcon() ;
+}
+
+bool GlxSlideShowWidget::isCorrupt( int index )
+{
+ QVariant variant = mModel->data( mModel->index( index, 0 ), GlxImageCorruptRole );
+ if ( variant.isValid() && variant.canConvert< bool> () ) {
+ return variant.value< bool > () ;
+ }
+ return false ;
+}
+
+bool GlxSlideShowWidget::setFocusItemIcon( )
+{
+ int nbrItem = mModel->rowCount();
+ int focusIndex = getFocusIndex();
+
+ for ( int i = 0; i < nbrItem ; ++i ) {
+ if ( isCorrupt( focusIndex ) == false ) {
+ qDebug( "GlxSlideShowWidget::setFocusItemIcon1 focus index %d" , focusIndex );
+ mIconItems[ mItemIndex ]->setIcon( getIcon( focusIndex ) ) ;
+ mSelIndex[ mItemIndex ] = focusIndex ;
+ mModel->setData( mModel->index( 0, 0 ), focusIndex, GlxFocusIndexRole );
+ mModel->setData( mModel->index( 0, 0 ), focusIndex, GlxVisualWindowIndex );
+ return true;
+ }
+ focusIndex = ( focusIndex + 1 ) % nbrItem;
+ }
+ mSlideShowItemCount = 0;
+ return false;
+}
+
+bool GlxSlideShowWidget::setNextItemIcon( )
+{
+ int nbrItem = mModel->rowCount();
+ int imageIndex = ( mSelIndex[ mItemIndex ] + 1 ) % nbrItem ;
+ int itemIndex = ( mItemIndex + 1 ) % NBR_ITEM ;
+
+ for( int i = 1; i < nbrItem; ++i ) {
+ if ( isCorrupt( imageIndex ) == false ) {
+ mIconItems[ itemIndex ]->setIcon( getIcon( imageIndex ) );
+ mSelIndex[ itemIndex ] = imageIndex ;
+ return true;
+ }
+ imageIndex = ( imageIndex + 1 ) % nbrItem ;
+ }
+
+ if ( isCorrupt( imageIndex ) ) {
+ mSlideShowItemCount = 0;
+ }
+ else {
+ mSlideShowItemCount = 1;
+ }
+ return false ;
+}
+
+bool GlxSlideShowWidget::setPreItemIcon()
+{
+ int nbrItem = mModel->rowCount() ;
+ int imageIndex = mSelIndex[ mItemIndex ] > 0 ? mSelIndex[ mItemIndex ] - 1 : nbrItem - 1 ;
+ int itemIndex = mItemIndex > 0 ? mItemIndex - 1 : NBR_ITEM - 1 ;
+
+ for( int i = 1; i < nbrItem; ++i ) {
+ if ( isCorrupt( imageIndex ) == false ) {
+ mIconItems[ itemIndex ]->setIcon( getIcon( imageIndex ) ) ;
+ mSelIndex[ itemIndex ] = imageIndex ;
+ return true;
+ }
+ imageIndex = imageIndex > 0 ? imageIndex - 1 : nbrItem - 1 ;
+ }
+ if ( isCorrupt( imageIndex ) ) {
+ mSlideShowItemCount = 0;
+ }
+ else {
+ mSlideShowItemCount = 1;
+ }
+ return false;
+}
+
+void GlxSlideShowWidget::showErrorNote()
+{
+ if ( mErrorNote == NULL ){
+ mErrorNote = new HbLabel( QString( GLX_NOIMAGE_PLAY_SLIDESHOW ), this);
+ mErrorNote->setObjectName( "No Image" );
+ mErrorNote->setGeometry( mIconItems[ 0 ]->geometry() );
+ mErrorNote->setAlignment( Qt::AlignCenter );
+ }
+
+ for( int i = 0; i < NBR_ITEM; ++i ){
+ mIconItems[ i ]->setVisible( false );
+ }
+ mErrorNote->setVisible( true );
+ emit slideShowEvent( UI_ON_EVENT );
+}
+
+void GlxSlideShowWidget::hideErrorNote()
+{
+ for( int i = 0; i < NBR_ITEM; ++i ){
+ mIconItems[ i ]->setVisible( true );
+ }
+ mErrorNote->setVisible( false );
+ emit slideShowEvent( UI_OFF_EVENT );
+}
+
--- a/ui/views/viewbase/inc/glxview.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/viewbase/inc/glxview.h Wed Aug 18 09:48:53 2010 +0300
@@ -37,19 +37,28 @@
Q_OBJECT
public :
- GlxView(qint32 id, QGraphicsItem *parent = 0 );
+ GlxView( qint32 id, QGraphicsItem *parent = 0 );
virtual void activate() = 0;
virtual void deActivate() = 0;
- virtual void setModel(QAbstractItemModel *model) = 0;
+ virtual void setModel( QAbstractItemModel *model ) = 0;
- virtual bool compare (qint32 id);
+ virtual bool compare ( qint32 id );
virtual void addToolBar( HbToolBar *toolBar ) { Q_UNUSED(toolBar) }
virtual void enableMarking() { }
virtual void disableMarking() { }
- virtual void handleUserAction(qint32 commandId) { Q_UNUSED(commandId) }
+ virtual void handleUserAction( qint32 commandId ) { Q_UNUSED(commandId) }
virtual QItemSelectionModel * getSelectionModel() { return NULL ; }
virtual void resetView() {}
- virtual void initializeView(QAbstractItemModel *model) {Q_UNUSED(model)}
+ /*
+ * model - Model to retreive the initial set up data
+ * preView - previous view pointer to retrieve the mode , state information
+ */
+ virtual void initializeView( QAbstractItemModel *model, GlxView *preView )
+ {
+ Q_UNUSED( model )
+ Q_UNUSED( preView )
+ }
+
inline qint32 viewId() { return mId;}
QSize screenSize();
QRect screenGeometry();
@@ -57,10 +66,8 @@
virtual ~GlxView() { }
signals:
- void actionTriggered(qint32 id);
- void itemSpecificMenuTriggered(qint32,QPointF );
- void gridItemSelected(const QModelIndex &);
-
+ void actionTriggered( qint32 id );
+ void itemSpecificMenuTriggered( qint32,QPointF );
private :
qint32 mId;
--- a/ui/views/views.pro Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/views/views.pro Wed Aug 18 09:48:53 2010 +0300
@@ -32,11 +32,9 @@
-lganeswidgets.dll \
-lglxmodelwrapper.dll \
-lglxviewutilities.dll \
- -lglxzoomwidget.dll \
- -ldetailsnamelabel.dll \
- -ldetailsnamelabelplugin.dll \
- -ldetailsdescriptionedit.dll \
- -ldetailsdescriptioneditplugin.dll
+ -lglxzoomwidget.dll \
+ -lglxdetailscustomwidgets.dll \
+ -lglxdetailscustomplugin.dll
DEFINES += BUILD_GLXVIEWS
@@ -55,8 +53,8 @@
../viewutilities/effectengine/inc \
../viewutilities/settingutility/inc \
/epoc32/include/mw/hgwidgets \
- ../detailscustomwidget/detailsnamelabel/inc \
- ../detailscustomwidget/detailsdescriptionedit/inc
+ ../detailscustomwidget/detailscustomwidgets
+
symbian: {
TARGET.UID3 = 0x200009EF
--- a/ui/viewutilities/effectengine/src/glxtransitioneffect.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewutilities/effectengine/src/glxtransitioneffect.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -50,44 +50,44 @@
break;
case GRID_TO_ALBUMLIST:
- mEffectFileList.append( QString(":/data/gridtoalbumlisthide.fxml"));
- mItemType.append( QString("HbView") );
- mEventType.append(QString("click4") );
+ mEffectFileList.append( QString( "view_hide_normal" ) );
+ mItemType.append( QString( "HbView" ) );
+ mEventType.append(QString( "click4" ) );
- mEffectFileList.append( QString(":/data/gridtoalbumlist.fxml"));
- mItemType.append( QString("HbListView") );
- mEventType.append(QString("click5") );
+ mEffectFileList.append( QString( "view_show_normal" ) );
+ mItemType.append( QString( "HbListView" ) );
+ mEventType.append( QString( "click5" ) );
break;
case ALBUMLIST_TO_GRID:
- mEffectFileList.append( QString(":/data/albumlisttogrid.fxml"));
- mItemType.append( QString("HbListView") );
- mEventType.append(QString("click6") );
+ mEffectFileList.append( QString( "view_hide_back" ) );
+ mItemType.append( QString( "HbListView" ) );
+ mEventType.append( QString( "click6" ) );
- mEffectFileList.append( QString(":/data/albumlisttogridshow.fxml"));
- mItemType.append( QString("HbView") );
- mEventType.append(QString("click7") );
+ mEffectFileList.append( QString( "view_show_back" ) );
+ mItemType.append( QString( "HbView" ) );
+ mEventType.append( QString( "click7" ) );
break;
case FULLSCREEN_TO_DETAIL :
- mEffectFileList.append( QString(":/data/view_flip_hide.fxml"));
- mItemType.append( QString("HbView") );
- mEventType.append(QString("click8") );
+ mEffectFileList.append( QString( "view_hide_normal_alt" ) );
+ mItemType.append( QString( "HbView" ) );
+ mEventType.append( QString( "click8" ) );
- mEffectFileList.append( QString(":/data/view_flip_show.fxml"));
- mItemType.append( QString("HbView") );
- mEventType.append(QString("click9") );
+ mEffectFileList.append( QString( "view_show_normal_alt" ) );
+ mItemType.append( QString( "HbView" ) );
+ mEventType.append(QString( "click9" ) );
mTransitionLater = true;
break;
case DETAIL_TO_FULLSCREEN :
- mEffectFileList.append( QString(":/data/view_flip_hide.fxml"));
- mItemType.append( QString("HbView") );
- mEventType.append(QString("click10") );
+ mEffectFileList.append( "view_hide_back_alt" );
+ mItemType.append( QString( "HbView" ) );
+ mEventType.append( QString( "click10" ) );
- mEffectFileList.append( QString(":/data/view_flip_show.fxml"));
- mItemType.append( QString("HbView") );
- mEventType.append(QString("click11") );
+ mEffectFileList.append( "view_show_back_alt" );
+ mItemType.append( QString( "HbView" ) );
+ mEventType.append( QString( "click11" ) );
mTransitionLater = true;
break;
--- a/ui/viewutilities/effectplugin/inc/glxzoominoutplugin.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewutilities/effectplugin/inc/glxzoominoutplugin.h Wed Aug 18 09:48:53 2010 +0300
@@ -20,6 +20,7 @@
#define GLXZOOMINOUTEFFECTPLUGIN_H
#include "glxeffectpluginbase.h"
+#include "glxlocalisationstrings.h"
class GlxZoomInOutEffectPlugin : public GlxEffectPluginBase
{
@@ -47,7 +48,7 @@
/*
* get the name of the effect, use to shown in the slide show setting view
*/
- static QString effectName() { return QString ("ZoomInOut") ; }
+ static QString effectName() { return (GLX_EFFECTS_ZOOMIN_ZOOMOUT) ; }
private :
QList <QString > mEffectFileList;
--- a/ui/viewutilities/effectplugin/src/glxflipeffectplugin.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewutilities/effectplugin/src/glxflipeffectplugin.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -18,6 +18,7 @@
#include "glxflipeffectplugin.h"
#include "glxuistd.h"
+#include "glxlocalisationstrings.h"
GlxFlipEffectPlugin::GlxFlipEffectPlugin() : GlxEffectPluginBase( FLIP_EFFECT )
{
@@ -36,7 +37,7 @@
QString GlxFlipEffectPlugin::effectName()
{
- return ( "FLip" ) ;
+ return GLX_EFFECTS_FLIP ;
}
GlxFlipEffectPlugin::~GlxFlipEffectPlugin()
--- a/ui/viewutilities/effectplugin/src/glxhelixeffectplugin.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewutilities/effectplugin/src/glxhelixeffectplugin.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -37,7 +37,7 @@
QString GlxHelixEffectPlugin::effectName()
{
- return ( "Helix" ) ;
+ return ( GLX_EFFECTS_ZOOM_AND_PAN ) ;
}
GlxHelixEffectPlugin::~GlxHelixEffectPlugin()
--- a/ui/viewutilities/settingutility/inc/glxsetting.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewutilities/settingutility/inc/glxsetting.h Wed Aug 18 09:48:53 2010 +0300
@@ -81,6 +81,18 @@
*/
int slideShowEffectId( int index ) ;
+ /*
+ * Returns Current Media Wall 3D effect Status
+ * This value is fetched from Central repository
+ */
+ int mediaWall3DEffect();
+
+ /*
+ * Set Media Wall 3D effect. True = 3D Effect On / False = 3D Effect Off
+ * This data will be written to the Central Repository
+ */
+ void setmediaWall3DEffect( int index );
+
protected :
/*
* Constructor
@@ -109,6 +121,8 @@
XQSettingsKey *mMediumCenRepKey;
XQSettingsKey *mFastCenRepKey;
+ XQSettingsKey *m3DEffectCenRepKey;
+
static GlxSetting mObj;
};
--- a/ui/viewutilities/settingutility/inc/glxsettinginterface.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewutilities/settingutility/inc/glxsettinginterface.h Wed Aug 18 09:48:53 2010 +0300
@@ -82,6 +82,19 @@
*/
virtual int slideShowEffectId( int index ) = 0;
+
+ /*
+ * Returns Current Media Wall 3D effect Status
+ * This value is fetched from Central repository
+ */
+ virtual int mediaWall3DEffect() = 0 ;
+
+ /*
+ * Set Media Wall 3D effect. True = 3D Effect On / False = 3D Effect Off
+ * This data will be written to the Central Repository
+ */
+ virtual void setmediaWall3DEffect( int index ) = 0 ;
+
protected :
/*
* Constructor
--- a/ui/viewutilities/settingutility/src/glxsetting.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/viewutilities/settingutility/src/glxsetting.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -30,6 +30,7 @@
const TUint32 KGlxMeduim = 0x4;
const TUint32 KGlxFast = 0x5;
const TUint32 KGlxSlideShowEffect[ ] = { 0x6, 0x7, 0x8, 0x9 };
+const TUint32 KGlx3DEffect = 0xA;
const TUint32 KCRUidGallery = 0x20007194;
GlxSetting GlxSetting::mObj ;
@@ -43,6 +44,7 @@
mSlowCenRepKey = new XQSettingsKey( XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxSlow );
mMediumCenRepKey = new XQSettingsKey( XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxMeduim );
mFastCenRepKey = new XQSettingsKey( XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxFast );
+ m3DEffectCenRepKey = new XQSettingsKey( XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlx3DEffect );
for ( int i = 0; i < NBR_SLIDESHOW_EFFECT; i++ ) {
mSlideShowEffectCenRepKey[ i ] = new XQSettingsKey( XQSettingsKey::TargetCentralRepository, KCRUidGallery , KGlxSlideShowEffect[ i ] );
@@ -62,6 +64,7 @@
delete mTransitionDelayCenrepKey;
delete mTransitionEffectCenrepKey;
delete mSettingsManager;
+ delete m3DEffectCenRepKey;
for ( int i = 0 ; i < NBR_SLIDESHOW_EFFECT ; i++ ) {
delete mSlideShowEffectCenRepKey[ i ];
@@ -136,3 +139,16 @@
return mSettingsManager->readItemValue( * mSlideShowEffectCenRepKey[ index ] ).toInt() ;
}
+int GlxSetting::mediaWall3DEffect()
+{
+ QVariant effectvalue = mSettingsManager->readItemValue(*m3DEffectCenRepKey);
+ return effectvalue.toInt();
+}
+
+void GlxSetting::setmediaWall3DEffect( int index )
+{
+ mSettingsManager->writeItemValue( *m3DEffectCenRepKey, index ) ;
+}
+
+
+
--- a/ui/widgets/bwins/glxzoomwidgetu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/widgets/bwins/glxzoomwidgetu.def Wed Aug 18 09:48:53 2010 +0300
@@ -9,34 +9,38 @@
?staticMetaObject@GlxZoomWidget@@2UQMetaObject@@B @ 8 NONAME ; struct QMetaObject const GlxZoomWidget::staticMetaObject
?tr@GlxZoomWidget@@SA?AVQString@@PBD0H@Z @ 9 NONAME ; class QString GlxZoomWidget::tr(char const *, char const *, int)
?sceneEvent@GlxZoomWidget@@MAE_NPAVQEvent@@@Z @ 10 NONAME ; bool GlxZoomWidget::sceneEvent(class QEvent *)
- ?trUtf8@GlxZoomWidget@@SA?AVQString@@PBD0@Z @ 11 NONAME ; class QString GlxZoomWidget::trUtf8(char const *, char const *)
- ?getFocusedImage@GlxZoomWidget@@AAE?AVQPixmap@@XZ @ 12 NONAME ; class QPixmap GlxZoomWidget::getFocusedImage(void)
- ?setModel@GlxZoomWidget@@QAEXPAVQAbstractItemModel@@@Z @ 13 NONAME ; void GlxZoomWidget::setModel(class QAbstractItemModel *)
- ?finalizeWidgetTransform@GlxZoomWidget@@AAEXXZ @ 14 NONAME ; void GlxZoomWidget::finalizeWidgetTransform(void)
- ?executeGestureEvent@GlxZoomWidget@@AAE_NPAVQGraphicsItem@@PAVQGestureEvent@@@Z @ 15 NONAME ; bool GlxZoomWidget::executeGestureEvent(class QGraphicsItem *, class QGestureEvent *)
- ?zoomImage@GlxZoomWidget@@AAEXMVQPointF@@@Z @ 16 NONAME ; void GlxZoomWidget::zoomImage(float, class QPointF)
- ?activate@GlxZoomWidget@@QAEXXZ @ 17 NONAME ; void GlxZoomWidget::activate(void)
- ?connectDecodeRequestToPinchEvent@GlxZoomWidget@@QAEXXZ @ 18 NONAME ; void GlxZoomWidget::connectDecodeRequestToPinchEvent(void)
- ?indexChanged@GlxZoomWidget@@QAEXH@Z @ 19 NONAME ; void GlxZoomWidget::indexChanged(int)
- ?animateZoomIn@GlxZoomWidget@@QAEXVQPointF@@@Z @ 20 NONAME ; void GlxZoomWidget::animateZoomIn(class QPointF)
- ?getStaticMetaObject@GlxZoomWidget@@SAABUQMetaObject@@XZ @ 21 NONAME ; struct QMetaObject const & GlxZoomWidget::getStaticMetaObject(void)
- ?animationTimeLineFinished@GlxZoomWidget@@QAEXXZ @ 22 NONAME ; void GlxZoomWidget::animationTimeLineFinished(void)
- ?qt_metacall@GlxZoomWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 23 NONAME ; int GlxZoomWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?zoomWidgetMovedBackground@GlxZoomWidget@@IAEXH@Z @ 24 NONAME ; void GlxZoomWidget::zoomWidgetMovedBackground(int)
- ?indexChanged@GlxZoomWidget@@QAEXXZ @ 25 NONAME ; void GlxZoomWidget::indexChanged(void)
- ?animateZoomOut@GlxZoomWidget@@QAEXVQPointF@@@Z @ 26 NONAME ; void GlxZoomWidget::animateZoomOut(class QPointF)
- ?timerEvent@GlxZoomWidget@@MAEXPAVQTimerEvent@@@Z @ 27 NONAME ; void GlxZoomWidget::timerEvent(class QTimerEvent *)
- ?adjustGestureCenter@GlxZoomWidget@@AAEXAAVQPointF@@AAM@Z @ 28 NONAME ; void GlxZoomWidget::adjustGestureCenter(class QPointF &, float &)
- ?metaObject@GlxZoomWidget@@UBEPBUQMetaObject@@XZ @ 29 NONAME ; struct QMetaObject const * GlxZoomWidget::metaObject(void) const
- ?decodedImageAvailable@GlxZoomWidget@@QAEXXZ @ 30 NONAME ; void GlxZoomWidget::decodedImageAvailable(void)
- ??_EGlxZoomWidget@@UAE@I@Z @ 31 NONAME ; GlxZoomWidget::~GlxZoomWidget(unsigned int)
- ??1GlxZoomWidget@@UAE@XZ @ 32 NONAME ; GlxZoomWidget::~GlxZoomWidget(void)
- ?sceneEventFilter@GlxZoomWidget@@MAE_NPAVQGraphicsItem@@PAVQEvent@@@Z @ 33 NONAME ; bool GlxZoomWidget::sceneEventFilter(class QGraphicsItem *, class QEvent *)
- ?pinchGestureReceived@GlxZoomWidget@@IAEXH@Z @ 34 NONAME ; void GlxZoomWidget::pinchGestureReceived(int)
- ?setWindowSize@GlxZoomWidget@@QAEXVQSize@@@Z @ 35 NONAME ; void GlxZoomWidget::setWindowSize(class QSize)
- ?retreiveFocusedImage@GlxZoomWidget@@AAEXXZ @ 36 NONAME ; void GlxZoomWidget::retreiveFocusedImage(void)
- ?animationFrameChanged@GlxZoomWidget@@QAEXH@Z @ 37 NONAME ; void GlxZoomWidget::animationFrameChanged(int)
- ?tr@GlxZoomWidget@@SA?AVQString@@PBD0@Z @ 38 NONAME ; class QString GlxZoomWidget::tr(char const *, char const *)
- ?trUtf8@GlxZoomWidget@@SA?AVQString@@PBD0H@Z @ 39 NONAME ; class QString GlxZoomWidget::trUtf8(char const *, char const *, int)
- ?modelDestroyed@GlxZoomWidget@@IAEXXZ @ 40 NONAME ; void GlxZoomWidget::modelDestroyed(void)
+ ?forceZoomToBackground@GlxZoomWidget@@QAEXXZ @ 11 NONAME ; void GlxZoomWidget::forceZoomToBackground(void)
+ ?trUtf8@GlxZoomWidget@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString GlxZoomWidget::trUtf8(char const *, char const *)
+ ?getFocusedImage@GlxZoomWidget@@AAE?AVQPixmap@@XZ @ 13 NONAME ; class QPixmap GlxZoomWidget::getFocusedImage(void)
+ ?animateDoubleTap@GlxZoomWidget@@QAEXXZ @ 14 NONAME ; void GlxZoomWidget::animateDoubleTap(void)
+ ?setModel@GlxZoomWidget@@QAEXPAVQAbstractItemModel@@@Z @ 15 NONAME ; void GlxZoomWidget::setModel(class QAbstractItemModel *)
+ ?finalizeWidgetTransform@GlxZoomWidget@@AAEXXZ @ 16 NONAME ; void GlxZoomWidget::finalizeWidgetTransform(void)
+ ?executeGestureEvent@GlxZoomWidget@@AAE_NPAVQGraphicsItem@@PAVQGestureEvent@@@Z @ 17 NONAME ; bool GlxZoomWidget::executeGestureEvent(class QGraphicsItem *, class QGestureEvent *)
+ ?zoomImage@GlxZoomWidget@@AAEXMVQPointF@@@Z @ 18 NONAME ; void GlxZoomWidget::zoomImage(float, class QPointF)
+ ?activate@GlxZoomWidget@@QAEXXZ @ 19 NONAME ; void GlxZoomWidget::activate(void)
+ ?connectDecodeRequestToPinchEvent@GlxZoomWidget@@QAEXXZ @ 20 NONAME ; void GlxZoomWidget::connectDecodeRequestToPinchEvent(void)
+ ?indexChanged@GlxZoomWidget@@QAEXH@Z @ 21 NONAME ; void GlxZoomWidget::indexChanged(int)
+ ?animateZoomIn@GlxZoomWidget@@QAEXVQPointF@@@Z @ 22 NONAME ; void GlxZoomWidget::animateZoomIn(class QPointF)
+ ?getStaticMetaObject@GlxZoomWidget@@SAABUQMetaObject@@XZ @ 23 NONAME ; struct QMetaObject const & GlxZoomWidget::getStaticMetaObject(void)
+ ?animationTimeLineFinished@GlxZoomWidget@@QAEXXZ @ 24 NONAME ; void GlxZoomWidget::animationTimeLineFinished(void)
+ ?isFocussedItemCorrupt@GlxZoomWidget@@AAE_NXZ @ 25 NONAME ; bool GlxZoomWidget::isFocussedItemCorrupt(void)
+ ?qt_metacall@GlxZoomWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 26 NONAME ; int GlxZoomWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?zoomWidgetMovedBackground@GlxZoomWidget@@IAEXH@Z @ 27 NONAME ; void GlxZoomWidget::zoomWidgetMovedBackground(int)
+ ?indexChanged@GlxZoomWidget@@QAEXXZ @ 28 NONAME ; void GlxZoomWidget::indexChanged(void)
+ ?animateZoomOut@GlxZoomWidget@@QAEXVQPointF@@@Z @ 29 NONAME ; void GlxZoomWidget::animateZoomOut(class QPointF)
+ ?timerEvent@GlxZoomWidget@@MAEXPAVQTimerEvent@@@Z @ 30 NONAME ; void GlxZoomWidget::timerEvent(class QTimerEvent *)
+ ?adjustGestureCenter@GlxZoomWidget@@AAEXAAVQPointF@@AAM@Z @ 31 NONAME ; void GlxZoomWidget::adjustGestureCenter(class QPointF &, float &)
+ ?stepZoom@GlxZoomWidget@@IAEXXZ @ 32 NONAME ; void GlxZoomWidget::stepZoom(void)
+ ?metaObject@GlxZoomWidget@@UBEPBUQMetaObject@@XZ @ 33 NONAME ; struct QMetaObject const * GlxZoomWidget::metaObject(void) const
+ ?decodedImageAvailable@GlxZoomWidget@@QAEXXZ @ 34 NONAME ; void GlxZoomWidget::decodedImageAvailable(void)
+ ??_EGlxZoomWidget@@UAE@I@Z @ 35 NONAME ; GlxZoomWidget::~GlxZoomWidget(unsigned int)
+ ??1GlxZoomWidget@@UAE@XZ @ 36 NONAME ; GlxZoomWidget::~GlxZoomWidget(void)
+ ?sceneEventFilter@GlxZoomWidget@@MAE_NPAVQGraphicsItem@@PAVQEvent@@@Z @ 37 NONAME ; bool GlxZoomWidget::sceneEventFilter(class QGraphicsItem *, class QEvent *)
+ ?pinchGestureReceived@GlxZoomWidget@@IAEXH@Z @ 38 NONAME ; void GlxZoomWidget::pinchGestureReceived(int)
+ ?setZoomParams@GlxZoomWidget@@AAEXXZ @ 39 NONAME ; void GlxZoomWidget::setZoomParams(void)
+ ?setWindowSize@GlxZoomWidget@@QAEXVQSize@@@Z @ 40 NONAME ; void GlxZoomWidget::setWindowSize(class QSize)
+ ?retreiveFocusedImage@GlxZoomWidget@@AAEXXZ @ 41 NONAME ; void GlxZoomWidget::retreiveFocusedImage(void)
+ ?modelDestroyed@GlxZoomWidget@@IAEXXZ @ 42 NONAME ; void GlxZoomWidget::modelDestroyed(void)
+ ?tr@GlxZoomWidget@@SA?AVQString@@PBD0@Z @ 43 NONAME ; class QString GlxZoomWidget::tr(char const *, char const *)
+ ?trUtf8@GlxZoomWidget@@SA?AVQString@@PBD0H@Z @ 44 NONAME ; class QString GlxZoomWidget::trUtf8(char const *, char const *, int)
--- a/ui/widgets/eabi/glxzoomwidgetu.def Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/widgets/eabi/glxzoomwidgetu.def Wed Aug 18 09:48:53 2010 +0300
@@ -8,41 +8,45 @@
_ZN13GlxZoomWidget12indexChangedEv @ 7 NONAME
_ZN13GlxZoomWidget13animateZoomInE7QPointF @ 8 NONAME
_ZN13GlxZoomWidget13setWindowSizeE5QSize @ 9 NONAME
- _ZN13GlxZoomWidget14animateZoomOutE7QPointF @ 10 NONAME
- _ZN13GlxZoomWidget15getFocusedImageEv @ 11 NONAME
- _ZN13GlxZoomWidget15setMinMaxZValueEii @ 12 NONAME
- _ZN13GlxZoomWidget16sceneEventFilterEP13QGraphicsItemP6QEvent @ 13 NONAME
- _ZN13GlxZoomWidget16staticMetaObjectE @ 14 NONAME DATA 16
- _ZN13GlxZoomWidget17limitRequiredSizeER6QSizeF @ 15 NONAME
- _ZN13GlxZoomWidget17sendDecodeRequestEi @ 16 NONAME
- _ZN13GlxZoomWidget19adjustGestureCenterER7QPointFRf @ 17 NONAME
- _ZN13GlxZoomWidget19executeGestureEventEP13QGraphicsItemP13QGestureEvent @ 18 NONAME
- _ZN13GlxZoomWidget19getStaticMetaObjectEv @ 19 NONAME
- _ZN13GlxZoomWidget20pinchGestureReceivedEi @ 20 NONAME
- _ZN13GlxZoomWidget20retreiveFocusedImageEv @ 21 NONAME
- _ZN13GlxZoomWidget21animationFrameChangedEi @ 22 NONAME
- _ZN13GlxZoomWidget21decodedImageAvailableEv @ 23 NONAME
- _ZN13GlxZoomWidget23finalizeWidgetTransformEv @ 24 NONAME
- _ZN13GlxZoomWidget25animationTimeLineFinishedEv @ 25 NONAME
- _ZN13GlxZoomWidget25zoomWidgetMovedBackgroundEi @ 26 NONAME
- _ZN13GlxZoomWidget32connectDecodeRequestToPinchEventEv @ 27 NONAME
- _ZN13GlxZoomWidget7cleanUpEv @ 28 NONAME
- _ZN13GlxZoomWidget8activateEv @ 29 NONAME
- _ZN13GlxZoomWidget8setModelEP18QAbstractItemModel @ 30 NONAME
- _ZN13GlxZoomWidget9zoomImageEf7QPointF @ 31 NONAME
- _ZN13GlxZoomWidgetC1EP13QGraphicsItem @ 32 NONAME
- _ZN13GlxZoomWidgetC2EP13QGraphicsItem @ 33 NONAME
- _ZN13GlxZoomWidgetD0Ev @ 34 NONAME
- _ZN13GlxZoomWidgetD1Ev @ 35 NONAME
- _ZN13GlxZoomWidgetD2Ev @ 36 NONAME
- _ZNK13GlxZoomWidget10metaObjectEv @ 37 NONAME
- _ZTI13GlxZoomWidget @ 38 NONAME
- _ZTV13GlxZoomWidget @ 39 NONAME
- _ZThn16_N13GlxZoomWidgetD0Ev @ 40 NONAME
- _ZThn16_N13GlxZoomWidgetD1Ev @ 41 NONAME
- _ZThn8_N13GlxZoomWidget10sceneEventEP6QEvent @ 42 NONAME
- _ZThn8_N13GlxZoomWidget16sceneEventFilterEP13QGraphicsItemP6QEvent @ 43 NONAME
- _ZThn8_N13GlxZoomWidgetD0Ev @ 44 NONAME
- _ZThn8_N13GlxZoomWidgetD1Ev @ 45 NONAME
- _ZN13GlxZoomWidget14modelDestroyedEv @ 46 NONAME
+ _ZN13GlxZoomWidget13setZoomParamsEv @ 10 NONAME
+ _ZN13GlxZoomWidget14animateZoomOutE7QPointF @ 11 NONAME
+ _ZN13GlxZoomWidget14modelDestroyedEv @ 12 NONAME
+ _ZN13GlxZoomWidget15getFocusedImageEv @ 13 NONAME
+ _ZN13GlxZoomWidget15setMinMaxZValueEii @ 14 NONAME
+ _ZN13GlxZoomWidget16animateDoubleTapEv @ 15 NONAME
+ _ZN13GlxZoomWidget16sceneEventFilterEP13QGraphicsItemP6QEvent @ 16 NONAME
+ _ZN13GlxZoomWidget16staticMetaObjectE @ 17 NONAME DATA 16
+ _ZN13GlxZoomWidget17limitRequiredSizeER6QSizeF @ 18 NONAME
+ _ZN13GlxZoomWidget17sendDecodeRequestEi @ 19 NONAME
+ _ZN13GlxZoomWidget19adjustGestureCenterER7QPointFRf @ 20 NONAME
+ _ZN13GlxZoomWidget19executeGestureEventEP13QGraphicsItemP13QGestureEvent @ 21 NONAME
+ _ZN13GlxZoomWidget19getStaticMetaObjectEv @ 22 NONAME
+ _ZN13GlxZoomWidget20pinchGestureReceivedEi @ 23 NONAME
+ _ZN13GlxZoomWidget20retreiveFocusedImageEv @ 24 NONAME
+ _ZN13GlxZoomWidget21decodedImageAvailableEv @ 25 NONAME
+ _ZN13GlxZoomWidget21forceZoomToBackgroundEv @ 26 NONAME
+ _ZN13GlxZoomWidget21isFocussedItemCorruptEv @ 27 NONAME
+ _ZN13GlxZoomWidget23finalizeWidgetTransformEv @ 28 NONAME
+ _ZN13GlxZoomWidget25animationTimeLineFinishedEv @ 29 NONAME
+ _ZN13GlxZoomWidget25zoomWidgetMovedBackgroundEi @ 30 NONAME
+ _ZN13GlxZoomWidget32connectDecodeRequestToPinchEventEv @ 31 NONAME
+ _ZN13GlxZoomWidget7cleanUpEv @ 32 NONAME
+ _ZN13GlxZoomWidget8activateEv @ 33 NONAME
+ _ZN13GlxZoomWidget8setModelEP18QAbstractItemModel @ 34 NONAME
+ _ZN13GlxZoomWidget8stepZoomEv @ 35 NONAME
+ _ZN13GlxZoomWidget9zoomImageEf7QPointF @ 36 NONAME
+ _ZN13GlxZoomWidgetC1EP13QGraphicsItem @ 37 NONAME
+ _ZN13GlxZoomWidgetC2EP13QGraphicsItem @ 38 NONAME
+ _ZN13GlxZoomWidgetD0Ev @ 39 NONAME
+ _ZN13GlxZoomWidgetD1Ev @ 40 NONAME
+ _ZN13GlxZoomWidgetD2Ev @ 41 NONAME
+ _ZNK13GlxZoomWidget10metaObjectEv @ 42 NONAME
+ _ZTI13GlxZoomWidget @ 43 NONAME
+ _ZTV13GlxZoomWidget @ 44 NONAME
+ _ZThn16_N13GlxZoomWidgetD0Ev @ 45 NONAME
+ _ZThn16_N13GlxZoomWidgetD1Ev @ 46 NONAME
+ _ZThn8_N13GlxZoomWidget10sceneEventEP6QEvent @ 47 NONAME
+ _ZThn8_N13GlxZoomWidget16sceneEventFilterEP13QGraphicsItemP6QEvent @ 48 NONAME
+ _ZThn8_N13GlxZoomWidgetD0Ev @ 49 NONAME
+ _ZThn8_N13GlxZoomWidgetD1Ev @ 50 NONAME
--- a/ui/widgets/glxzoomwidget/glxzoomwidget.pro Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/widgets/glxzoomwidget/glxzoomwidget.pro Wed Aug 18 09:48:53 2010 +0300
@@ -49,6 +49,8 @@
HEADERS += inc/glxzoomwidget.h inc/glxzoomwidget_global.h
SOURCES += src/glxzoomwidget.cpp
+DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+
defBlock = \
"$${LITERAL_HASH}if defined(EABI)" \
"DEFFILE ../eabi/glxzoomwidget.def" \
--- a/ui/widgets/glxzoomwidget/inc/glxzoomwidget.h Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/widgets/glxzoomwidget/inc/glxzoomwidget.h Wed Aug 18 09:48:53 2010 +0300
@@ -33,6 +33,8 @@
const int MAXZVALUE = 100;
const int MINZVALUE = 0;
+const int NOOFSTEPS = 20;
+const float MAXDTZOOMIN = 3.5;
class GLXZOOMWIDGETSHARED_EXPORT GlxZoomWidget : public HbScrollArea
{
@@ -53,11 +55,13 @@
* This is an overloaded function when an index is changes due to deletion
*/
void indexChanged();
+ void forceZoomToBackground();
signals:
void pinchGestureReceived(int index);
void zoomWidgetMovedBackground(int index);
-
+ void stepZoom();
+
public slots:
//for Decoder support
void decodedImageAvailable();
@@ -66,9 +70,11 @@
//for animation effects
void animateZoomIn(QPointF animRefPoint);
void animateZoomOut(QPointF animRefPoint);
- void animationFrameChanged(int frameNumber);
void animationTimeLineFinished();
+ //animate double tap
+ void animateDoubleTap();
+
protected:
bool sceneEvent(QEvent *event);
bool sceneEventFilter(QGraphicsItem *watched,QEvent *event);
@@ -94,23 +100,36 @@
void finalizeWidgetTransform();
//get the focused image from the model
QPixmap getFocusedImage();
+ //set all the zoom parameters as per the circumstances
+ void setZoomParams();
+ bool isFocussedItemCorrupt();
//data members
- private:
+private:
+ //to be in sync with the model
+ QAbstractItemModel *mModel;
+
+ //view Z values
+ //might push to layouts later
+ int mMinZValue ;
+ int mMaxZValue ;
+ int mTimerId;
+
+ //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;
+ //to check if the widget is actually in Foreground
+ bool mZoomOngoing;
+
//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
- //view Z values
- //might push to layouts later
-
- int mMinZValue ;
- int mMaxZValue ;
-
-
- //to be in sync with the model
- QAbstractItemModel *mModel;
int mFocusIndex;
//size parameter
@@ -129,14 +148,13 @@
//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;
- int mTimerId;
-
+ //stores the incremental scalingfactor(sf) while performing double tap animation
+ qreal mIncSF;
+ //stores the scalingfactor increment applicable for each step of double tap animation
+ qreal msfInc;
+ //stores the item size before performing zoomout(zo)
+ QSizeF mzoSize;
+ //counter to track the double tap animation steps
+ int mdoubletapSteps;
};
#endif //GLXZOOMWIDGET_H
--- a/ui/widgets/glxzoomwidget/src/glxzoomwidget.cpp Tue Jul 06 14:16:16 2010 +0300
+++ b/ui/widgets/glxzoomwidget/src/glxzoomwidget.cpp Wed Aug 18 09:48:53 2010 +0300
@@ -19,11 +19,17 @@
#include <hbiconitem.h>
#include <QTimeLine>
#include <QGesture>
+#include <hbinstance.h>
#include "glximagedecoderwrapper.h"
#include "glxmodelparm.h"
#include "glxzoomwidget.h"
-GlxZoomWidget::GlxZoomWidget(QGraphicsItem *parent):HbScrollArea(parent), mModel(NULL), mMinZValue(MINZVALUE), mMaxZValue(MAXZVALUE), mImageDecodeRequestSend(false), mPinchGestureOngoing(false), mDecodedImageAvailable(false), mTimerId(0)
+GlxZoomWidget::GlxZoomWidget(QGraphicsItem *parent):HbScrollArea(parent),
+ mModel(NULL), mMinZValue(MINZVALUE),
+ mMaxZValue(MAXZVALUE), mTimerId(0),
+ mImageDecodeRequestSend(false),
+ mPinchGestureOngoing(false), mDecodedImageAvailable(false),
+ mZoomOngoing(false)
{
grabGesture(Qt::PinchGesture);
grabGesture(Qt::TapGesture);
@@ -45,17 +51,18 @@
//initializing the image decoder
mImageDecoder = new GlxImageDecoderWrapper;
- //inititalizing the timer for animation
- m_AnimTimeLine = new QTimeLine(500, this);
- m_AnimTimeLine->setFrameRange(0, 100);
- connect(m_AnimTimeLine, SIGNAL(frameChanged(int)), this, SLOT(animationFrameChanged(int)));
- connect(m_AnimTimeLine, SIGNAL(finished()), this, SLOT(animationTimeLineFinished()));
+
+ //AA: signal and slot to perform double tap animation
+ //after every step redraw, signal is emitted to perform the next step
+ connect( this, SIGNAL( stepZoom() ), this, SLOT( animateDoubleTap() ), Qt::QueuedConnection );
}
GlxZoomWidget::~GlxZoomWidget()
{
//disconnect all existing signals
disconnect(this,SIGNAL( pinchGestureReceived(int) ), this, SLOT( sendDecodeRequest(int) ) );
+ //AA
+ disconnect( this, SIGNAL( stepZoom() ), this, SLOT( animateDoubleTap()));
//no Null checks required
delete mZoomItem;
// delete mZoomWidget; //as this is a content widegt it will automatically be deleted
@@ -83,11 +90,30 @@
mWindowSize = windowSize;
mBlackBackgroundItem->setGeometry(QRectF(QPointF(0,0), mWindowSize));
//try to reset the max and min zoomed size here
+ //In case the zoom widget is in background reset it
+ if(!mZoomOngoing && mModel) {
+ retreiveFocusedImage();
+ }
+ setZoomParams();
+}
+
+void GlxZoomWidget::forceZoomToBackground()
+{
+ mBlackBackgroundItem->hide();
+ //push the widget back to background
+ setZValue(mMinZValue);
+ mZoomOngoing = false;
+ emit zoomWidgetMovedBackground(mFocusIndex);
+ //this actually resets the ZoomWidget and decoder
+ if(mImageDecoder) {
+ mImageDecoder->resetDecoder();
+ }
+ retreiveFocusedImage();
+
}
void GlxZoomWidget::indexChanged(int index)
{
- Q_UNUSED(index);
if(mFocusIndex != index) {
mImageDecoder->resetDecoder();//reset the decoder first to cancel pending tasks
mImageDecodeRequestSend = false;
@@ -139,7 +165,7 @@
bool GlxZoomWidget::sceneEventFilter(QGraphicsItem *watched,QEvent *event)
{
- qDebug("GlxCoverFlow::eventFilter " );
+ qDebug( "GlxZoomWidget::sceneEventFilter enter event type %d ", event->type() );
bool consume = false;
if (event->type() == QEvent::Gesture) {
consume = executeGestureEvent(watched, static_cast<QGestureEvent*>(event));
@@ -162,17 +188,21 @@
else {
killTimer(mTimerId);
mTimerId = 0;
- animateZoomOut(gesture->position());
+ animateZoomOut(hbInstance->allMainWindows().first()->mapToScene(gesture->position().toPoint()));
}
}
event->accept(gesture);
return true;
}
if (QGesture *pinch = event->gesture(Qt::PinchGesture)) {
+ if (isFocussedItemCorrupt()){
+ return true;
+ }
QPinchGesture* pinchG = static_cast<QPinchGesture *>(pinch);
QPinchGesture::ChangeFlags changeFlags = pinchG->changeFlags();
if (changeFlags & QPinchGesture::ScaleFactorChanged) {
mPinchGestureOngoing = true;
+ mZoomOngoing = true;
//bring the zoom widget to foreground
setZValue(mMaxZValue);
//show the black background
@@ -184,7 +214,7 @@
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);
+ QPointF sceneGestureCenter = hbInstance->allMainWindows().first()->mapToScene(center.toPoint());
zoomImage(value, sceneGestureCenter);
}
@@ -211,6 +241,7 @@
mBlackBackgroundItem->hide();
//push the widget back to background
setZValue(mMinZValue);
+ mZoomOngoing = false;
emit zoomWidgetMovedBackground(mFocusIndex);
//do not reset the transform here as it will then zoom-in the widget to decoded image size
}
@@ -228,6 +259,10 @@
void GlxZoomWidget::zoomImage(qreal zoomFactor, QPointF center)
{
+ // Pinch event filtering for very small zoom factors
+ if (qAbs(1.0 - zoomFactor) < 0.007) {
+ return;
+ }
adjustGestureCenter(center, zoomFactor);
QSizeF requiredSize(mCurrentSize.width()*zoomFactor, mCurrentSize.height()*zoomFactor);
limitRequiredSize(requiredSize);
@@ -259,6 +294,7 @@
//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)
{
+ /* commenting this tweak, not necessary, needs to be reimplemented for pinch: IN progress
if(zoomFactor > 1 &&zoomFactor > 1.2 ) {
zoomFactor = 1.2;
}
@@ -266,6 +302,7 @@
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() )
@@ -279,42 +316,49 @@
}
//maintains the boundary of the edges for zoom out conditions
- if(zoomFactor < 1)
- {
+ 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) {
+ if(hasWidthExceededWindow) {
+ bool hasItemCrossedBoundary = false;
+ if(itemOriginPos.x() >= -5) {
+ //image has crossed left boundry leaving blank space
//stick the gesture to the left corner
gestureCenter.setX(itemOriginPos.x());
+ hasItemCrossedBoundary = true;
+ }
+
+ //Check if the right boundry can be adjusted
+ if(itemOriginPos.x()+ mCurrentSize.width() <= mWindowSize.width()+5) {
+ //Image is before the right boundry leaving blank space
+ gestureCenter.setX(itemOriginPos.x()+ mCurrentSize.width() );
+ hasItemCrossedBoundary = true;
+ }
+ if((mCurrentSize.width() - mWindowSize.width() <= 20) && !hasItemCrossedBoundary) {
+ gestureCenter.setX(mWindowSize.width()/2 + (qAbs(itemOriginPos.x()) - 10));
}
}
- //Check if the right boundry can be adjusted
- if(itemOriginPos.x()+ mCurrentSize.width() <= mWindowSize.width()) {
+
+ if(hasHeightExceededWindow) {
+ bool hasItemCrossedBoundary = false;
+ //check if the upper boundry could be adjusted
+ if(itemOriginPos.y() >= -5) {
+ //image has crossed the upper boundry leaving blank space
+ //stick the image to the upper boundry
+ gestureCenter.setY(itemOriginPos.y());
+ hasItemCrossedBoundary = true;
+ }
+ //check if the lower boundry could be adjusted
+ if(itemOriginPos.y()+ mCurrentSize.height() <= mWindowSize.height()+5) {
//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());
+ hasItemCrossedBoundary = true;
}
-
+ if((mCurrentSize.height() - mWindowSize.height() <= 20) && !hasItemCrossedBoundary) {
+ gestureCenter.setY(mWindowSize.height()/2 + (qAbs(itemOriginPos.y()) - 10));
+ }
}
}
//control the zoom Factor to boundaries
@@ -460,48 +504,107 @@
}
+void GlxZoomWidget::setZoomParams()
+{
+ if (mModel) {
+ QVariant sizeVariant = mModel->data(mModel->index(mFocusIndex,0),GlxDimensionsRole);
+ QSize fsSize;
+ if(sizeVariant.isValid() && sizeVariant.canConvert<QSize> ()) {
+ fsSize = sizeVariant.toSize();
+ if(!(fsSize.width() < mWindowSize.width() && fsSize.height() < mWindowSize.height())) {
+ fsSize.scale( mWindowSize, Qt::KeepAspectRatio);
+ }
+ mMaxScaleSize = fsSize;
+ mMaxScaleSize.scale(mWindowSize*13, Qt::KeepAspectRatio);
+ mMaxScaleDecSize = fsSize;
+ mMaxScaleDecSize.scale(mWindowSize*7, Qt::KeepAspectRatio);
+ mMinScaleSize = fsSize* 0.7;
+ mMinDecScaleSize = fsSize;
+ }
+ }
+}
+
void GlxZoomWidget::animateZoomIn(QPointF animRefPoint)
{
- emit pinchGestureReceived(mFocusIndex);
- //bring the zoom widget to foreground
- setZValue(mMaxZValue);
- //show the black background
- mBlackBackgroundItem->setParentItem(parentItem());
- mBlackBackgroundItem->setZValue(mMaxZValue - 1);
- mBlackBackgroundItem->show();
- m_AnimRefPoint = animRefPoint;
+ if (isFocussedItemCorrupt()){
+ return;
+ }
+ emit pinchGestureReceived(mFocusIndex);
+ //bring the zoom widget to foreground
+ mZoomOngoing = true;
+ setZValue(mMaxZValue);
+ //show the black background
+ mBlackBackgroundItem->setParentItem(parentItem());
+ mBlackBackgroundItem->setZValue(mMaxZValue - 1);
+ mBlackBackgroundItem->show();
+ m_AnimRefPoint = animRefPoint;
QSizeF requiredSize = mItemSize;
- requiredSize.scale(mWindowSize*3.5, Qt::KeepAspectRatio);
+ //MAXDTZOOMIN size is set to 3.5 times window size
+ requiredSize.scale(mWindowSize*MAXDTZOOMIN, Qt::KeepAspectRatio);
m_FinalAnimatedScaleFactor = requiredSize.width()/mMinDecScaleSize.width();
- m_AnimTimeLine->setDirection(QTimeLine::Forward);
- m_AnimTimeLine->start();
- // zoomImage(5, m_AnimRefPoint);
+ //initiale variable for double tap animation
+ mIncSF = 1;
+ //preserve the size when zoom out was initiated, requried for calculates applicable/req scale factor
+ //SF has to always greater than 1 for upscaling, hence range for zoomout is [1,m_FinalAnimatedScaleFactor]
+ msfInc = (m_FinalAnimatedScaleFactor-1)/NOOFSTEPS;
+ //set the no. of steps for double tap animation
+ mdoubletapSteps = NOOFSTEPS;
+ animateDoubleTap();
}
void GlxZoomWidget::animateZoomOut(QPointF animRefPoint)
{
- m_AnimRefPoint = animRefPoint;
- m_FinalAnimatedScaleFactor = mMinDecScaleSize.width()/mCurrentSize.width();
- //m_AnimTimeLine->setDirection(QTimeLine::Backward);
- m_AnimTimeLine->start();
+ m_AnimRefPoint = animRefPoint;
+ //Zoom out to FS (mMinDecScaleSize) from the currentsize
+ m_FinalAnimatedScaleFactor = mMinDecScaleSize.width()/mCurrentSize.width();
+ //initiale variable for double tap animation
+ mIncSF = 1;
+ //calculate the step increment SF for each step
+ msfInc = (1 - m_FinalAnimatedScaleFactor)/NOOFSTEPS;
+ //preserve the size when zoom out was initiated, requried for calculates applicable/req scale factor
+ mzoSize = mCurrentSize;
+ //set the no. of steps for double tap animation
+ //AA:: the no.of steps are kept the same for zoomin/zoomout, however tweaking them can be considered
+ mdoubletapSteps = NOOFSTEPS;
+ animateDoubleTap();
+ //AA
+
}
-void GlxZoomWidget::animationFrameChanged(int frameNumber)
-{
-qreal scaleFactor = 1;
- if(m_FinalAnimatedScaleFactor > 1) {
- scaleFactor = (1.0 + (((m_FinalAnimatedScaleFactor - 1)/100)*frameNumber))/(mCurrentSize.width()/mMinDecScaleSize.width());
- }
- if(m_FinalAnimatedScaleFactor < 1) {
- scaleFactor = (m_FinalAnimatedScaleFactor+ (((1 - m_FinalAnimatedScaleFactor)/100)*frameNumber))/(mCurrentSize.width()/mMinDecScaleSize.width());
- }
+
- zoomImage(scaleFactor, m_AnimRefPoint);
-
-}
+void GlxZoomWidget::animateDoubleTap()
+ {
+ //calculate increamental scale factor based on the step and then calculate the applicable scale factor this step
+ //increamental SF works on the ImageSize when double tap started, applicable(required) SF calculates the delate SF
+ if(m_FinalAnimatedScaleFactor > 1) {
+ //AA::zoomin case
+ mIncSF += msfInc;
+ qreal reqSF = (mItemSize.width()*(mIncSF))/mCurrentSize.width();
+ zoomImage(reqSF, m_AnimRefPoint);
+ }
+ if(m_FinalAnimatedScaleFactor < 1) {
+ //AA::zoomout case
+ mIncSF -= msfInc;
+ qreal reqSF = (mzoSize.width()* mIncSF)/mCurrentSize.width();
+ zoomImage(reqSF, m_AnimRefPoint);
+ }
+ //check if all steps are done,if not emit signal to continue the animation
+ if(mdoubletapSteps >= 1 ){
+ mdoubletapSteps -= 1;
+ emit stepZoom();
+ }
+ else {
+ //animation is complete, finalize the widget transform using setgeometry
+ //reset the counter
+ mdoubletapSteps = 0;
+ animationTimeLineFinished();
+ }
+
+ }
void GlxZoomWidget::animationTimeLineFinished()
{
finalizeWidgetTransform();
@@ -510,6 +613,7 @@
mBlackBackgroundItem->hide();
//push the widget back to background
setZValue(mMinZValue);
+ mZoomOngoing = false;
emit zoomWidgetMovedBackground(mFocusIndex);
//do not reset the transform here as it will then zoom-in the widget to decoded image size
}
@@ -524,3 +628,13 @@
mTimerId = 0;
}
}
+
+bool GlxZoomWidget::isFocussedItemCorrupt()
+{
+ QVariant variant = mModel->data( mModel->index( mFocusIndex, 0 ), GlxImageCorruptRole );
+ if ( variant.isValid() && variant.canConvert< bool> () ) {
+ return variant.value< bool > () ;
+ }
+ return false ;
+}
+