--- a/commonui/group/glxcommonui.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/commonui/group/glxcommonui.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -64,6 +64,7 @@
LIBRARY cfservices.lib // for CCFContextObject
#endif
+SMPSAFE
//EXPORTUNFROZEN
// End of file
--- a/commonui/test/group/t_glxresolutionutilitiy.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/commonui/test/group/t_glxresolutionutilitiy.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -65,5 +65,5 @@
#ifndef WINSCW
EPOCALLOWDLLDATA
#endif
-
+SMPSAFE
// End of file
--- a/commonui/test/group/t_glxzoomstatepublisher.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/commonui/test/group/t_glxzoomstatepublisher.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -61,4 +61,5 @@
LIBRARY cfservices.lib // for CCFContextObject
EXPORTUNFROZEN
+SMPSAFE
// End of file
--- a/commonutilities/common/bwins/glxcommonu.def Wed Jun 23 18:12:48 2010 +0300
+++ b/commonutilities/common/bwins/glxcommonu.def Tue Jul 06 14:16:16 2010 +0300
@@ -45,4 +45,5 @@
?CreatePreviewFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 44 NONAME ; class CMPXMedia * TGlxFilterFactory::CreatePreviewFilterL(void)
?CreateCameraAlbumExclusionFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 45 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateCameraAlbumExclusionFilterL(void)
?NewL@CGlxTNMonitor@@SAPAV1@PAVMGlxTNObserver@@@Z @ 46 NONAME ; class CGlxTNMonitor * CGlxTNMonitor::NewL(class MGlxTNObserver *)
+ ?CreateExcludeDrmImageTypeFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@W4TGlxFilterItemType@@@Z @ 47 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateExcludeDrmImageTypeFilterL(enum TGlxFilterItemType)
Binary file commonutilities/common/cenrep/20007193.txt has changed
Binary file commonutilities/common/cenrep/20007194.txt has changed
--- a/commonutilities/common/eabi/glxcommonu.def Wed Jun 23 18:12:48 2010 +0300
+++ b/commonutilities/common/eabi/glxcommonu.def Tue Jul 06 14:16:16 2010 +0300
@@ -48,4 +48,5 @@
_ZN13CGlxTNMonitor4NewLEP14MGlxTNObserver @ 47 NONAME
_ZTI13CGlxTNMonitor @ 48 NONAME
_ZTV13CGlxTNMonitor @ 49 NONAME
+ _ZN17TGlxFilterFactory32CreateExcludeDrmImageTypeFilterLE18TGlxFilterItemType @ 50 NONAME
--- a/commonutilities/common/group/bld.inf Wed Jun 23 18:12:48 2010 +0300
+++ b/commonutilities/common/group/bld.inf Tue Jul 06 14:16:16 2010 +0300
@@ -45,8 +45,9 @@
../cenrep/200009EE_orientation_portrait_landscape.txt /epoc32/data/z/private/10202be9/200009EE.txt
// for emulator
../cenrep/200009EE_orientation_portrait_landscape.txt /epoc32/release/winscw/udeb/z/private/10202be9/200009EE.txt
- //slideshow settings cenrep initialisation file
+ //photos & ci_photos cenrep initialisation file
../cenrep/20007194.txt z:/private/10202be9/20007194.txt
+ ../cenrep/20007193.txt z:/private/10202be9/20007193.txt
#endif
@@ -55,8 +56,12 @@
../../../conf/gallery.confml CONFML_EXPORT_PATH(gallery.confml,customsw)
../../../conf/gallery_200009EE.crml CRML_EXPORT_PATH(gallery_200009EE.crml,customsw)
-../../../conf/slideshowsettings.confml CONFML_EXPORT_PATH(slideshowsettings.confml,customsw)
-../../../conf/slideshowsettings_20007194.crml CRML_EXPORT_PATH(slideshowsettings_20007194.crml,customsw)
+../../../conf/photos.confml CONFML_EXPORT_PATH(photos.confml,customsw)
+../../../conf/photos_20007194.crml CRML_EXPORT_PATH(photos_20007194.crml,customsw)
+
+../../../conf/ci_photos.confml CONFML_EXPORT_PATH(ci_photos.confml,customsw)
+../../../conf/ci_photos_20007193.crml CRML_EXPORT_PATH(ci_photos_20007193.crml,customsw)
+
../../../data/photos.docml z:/resource/hb/splashml/photos.docml
../../../data/photos.splashml z:/resource/hb/splashml/photos.splashml
PRJ_MMPFILES
--- a/commonutilities/common/group/glxcommon.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/commonutilities/common/group/glxcommon.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -60,4 +60,5 @@
LIBRARY mpxcommon.lib
LIBRARY flogger.lib
+SMPSAFE
// End of file
--- a/commonutilities/common/inc/glxfilterfactory.h Wed Jun 23 18:12:48 2010 +0300
+++ b/commonutilities/common/inc/glxfilterfactory.h Tue Jul 06 14:16:16 2010 +0300
@@ -54,7 +54,14 @@
* @return a filter object with array elements set specifying the filter type (Images or Video)
*/
IMPORT_C static CMPXFilter* CreateItemTypeFilterL(TGlxFilterItemType aItemType);
-
+ /**
+ * Creates a URI filter, Used to specify 1 particular item (no wild cards allowed).
+ *
+ * @param TGlxMediaGeneralCategory ( EMPXImage )
+ * @return a filter object with array non drm images
+ */
+ IMPORT_C static CMPXFilter* TGlxFilterFactory::CreateExcludeDrmImageTypeFilterL(TGlxFilterItemType aFilterType);
+
/**
* Creates a URI filter, Used to specify 1 particular item (no wild cards allowed).
*
--- a/commonutilities/common/src/glxfilterfactory.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/commonutilities/common/src/glxfilterfactory.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -29,7 +29,19 @@
filterProperties.iItemType = aItemType;
return CreateCombinedFilterL(filterProperties);
}
-
+
+// ---------------------------------------------------------------------------
+// Creates a eclude drm image filter object
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CMPXFilter* TGlxFilterFactory::CreateExcludeDrmImageTypeFilterL(TGlxFilterItemType aFilterType)
+ {
+ TGlxFilterProperties filterProperties;
+ filterProperties.iItemType = EGlxFilterImage;
+ filterProperties.iNoDRM = ETrue;
+ return CreateCombinedFilterL(filterProperties);
+ }
+
// ---------------------------------------------------------------------------
// Creates a URI filter object
// ---------------------------------------------------------------------------
--- a/commonutilities/common/test/group/T_CGlxSettingsModel.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/commonutilities/common/test/group/T_CGlxSettingsModel.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -43,5 +43,5 @@
LIBRARY centralrepository.lib // For central repository
LIBRARY eunit.lib
LIBRARY euser.lib
-
+SMPSAFE
// End of file
--- a/commonutilities/common/test/group/t_tcommandfactory.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/commonutilities/common/test/group/t_tcommandfactory.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -58,5 +58,5 @@
LIBRARY ecom.lib
LIBRARY lbs.lib
LIBRARY mpxcommon.lib
-
+SMPSAFE
// End of file
--- a/commonutilities/common/test/group/t_tcommandparser.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/commonutilities/common/test/group/t_tcommandparser.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -57,5 +57,5 @@
LIBRARY ecom.lib
LIBRARY lbs.lib
LIBRARY mpxcommon.lib
-
+SMPSAFE
// End of file
--- a/commonutilities/common/test/group/ut_cglxsingletonstore.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/commonutilities/common/test/group/ut_cglxsingletonstore.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -48,5 +48,5 @@
LIBRARY euser.lib
LIBRARY lbs.lib
LIBRARY mpxcommon.lib
-
+SMPSAFE
// End of file
--- a/commonutilities/externalutility/externalutility.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/commonutilities/externalutility/externalutility.pro Tue Jul 06 14:16:16 2010 +0300
@@ -26,7 +26,8 @@
INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
TARGET.UID3 = 0x20007192
TARGET.EPOCALLOWDLLDATA = 1
-TARGET.CAPABILITY = ALL -TCB
+TARGET.CAPABILITY = ALL -TCB
+MMP_RULES += SMPSAFE
}
exportfile = "inc/glxexternalutility.h APP_LAYER_PLATFORM_EXPORT_PATH(glxexternalutility.h)"
BLD_INF_RULES.prj_exports += exportfile
--- a/commonutilities/imagedecoderwrapper/imagedecoderwrapper.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/commonutilities/imagedecoderwrapper/imagedecoderwrapper.pro Tue Jul 06 14:16:16 2010 +0300
@@ -34,6 +34,7 @@
TARGET.UID3 = 0x2000718D
TARGET.CAPABILITY = ALL -TCB
TARGET.EPOCALLOWDLLDATA = 1
+MMP_RULES += SMPSAFE
}
--- a/commonutilities/imageviewer/group/glximageviewermanager.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/commonutilities/imageviewer/group/glximageviewermanager.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -43,4 +43,6 @@
LIBRARY flogger.lib // For Logging Tracer
LIBRARY glxcommon.lib // CGlxSingetonStore
+SMPSAFE
+
//EXPORTUNFROZEN
\ No newline at end of file
Binary file conf/ci_photos.confml has changed
Binary file conf/ci_photos_20007193.crml has changed
Binary file conf/photos.confml has changed
Binary file conf/photos_20007194.crml has changed
Binary file conf/slideshowsettings.confml has changed
Binary file conf/slideshowsettings_20007194.crml has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/downshow.fxml Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,22 @@
+<?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.8</duration>
+ <keyframe at="0.0">45.0</keyframe>
+ <keyframe at="1.0">0.0</keyframe>
+ </param>
+ <param name="rotation_origin_x" ref="visual.width">1.0</param>
+ <param name="rotation_origin_y" ref="visual.height">1.0</param>
+ <param name="opacity" type="anim">
+ <style>linear</style>
+ <duration>0.8</duration>
+ <keyframe at="0.0">0.0</keyframe>
+ <keyframe at="1.0">1.0</keyframe>
+ </param>
+ <param name="rotation_axis_z">1</param>
+ </visual>
+</layers>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/fadein.fxml Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,13 @@
+<?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="opacity" type="anim">
+ <style>linear</style>
+ <duration>0.8</duration>
+ <keyframe at="0.0">0.0</keyframe>
+ <keyframe at="1.0">1.0</keyframe>
+ </param>
+ </visual>
+</layers>
\ No newline at end of file
--- a/data/fullscreen.docml Wed Jun 23 18:12:48 2010 +0300
+++ b/data/fullscreen.docml Tue Jul 06 14:16:16 2010 +0300
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<hbdocument version="1.0">
+<hbdocument version="1.1">
<widget name="mGlxFullscreenView" type="HbView">
<widget name="mcontent" role="HbView:widget" type="HbWidget">
<widget name="mCoverFlow" type="HbWidget">
@@ -22,17 +22,16 @@
<widget name="toolBar" type="HbToolBar">
<enums name="layoutDirection" value="RightToLeft"/>
<real name="z" value="7"/>
+ <real name="opacity" value="0.5"/>
<sizehint height="60.44776un" type="PREFERRED" width="9.40299un"/>
<enums name="orientation" value="Vertical"/>
- <real name="opacity" value="0.5"/>
</widget>
- <widget name="glxZoomWidget" type="HbWidget">
- <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
- <enums name="scrollDirections" value="Horizontal|Vertical"/>
+ <widget name="glxZoomWidget" type="HbWidget">
+ <string name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <string name="scrollDirections" value="Horizontal|Vertical"/>
<bool name="frictionEnabled" value="TRUE"/>
</widget>
-
- <string name="toolTipText" value=""/>
+ <string name="toolTipText"/>
<bool name="visible" value="TRUE"/>
<layout type="anchor">
<anchoritem dst="mCoverFlow" dstEdge="LEFT" spacing="var(hb-param-margin-view-left)" src="" srcEdge="LEFT"/>
@@ -49,20 +48,20 @@
<anchoritem dst="glxZoomWidget" dstEdge="TOP" spacing="var(hb-param-margin-view-top)" src="" srcEdge="TOP"/>
<anchoritem dst="glxZoomWidget" dstEdge="RIGHT" spacing="var(hb-param-margin-view-right)" src="" srcEdge="RIGHT"/>
<anchoritem dst="glxZoomWidget" dstEdge="BOTTOM" spacing="var(hb-param-margin-view-bottom)" src="" srcEdge="BOTTOM"/>
- </layout>
+ </layout>
</widget>
- <string name="title" value="Photos"/>
+ <string locid="txt_photos_title_photos" name="title" value="Photos"/>
<bool name="contentFullScreen" value="TRUE"/>
- <enums name="titleBarFlags" value="TitleBarHidden|TitleBarTransparent"/>
+ <string name="titleBarFlags" value="TitleBarHidden|TitleBarTransparent"/>
</widget>
<section name="portrait">
- <widget name="toolBar" type="HbToolBar">
- <sizehint height="58.50746un" type="PREFERRED" width="9.40299un"/>
- </widget>
<widget name="mImageStrip" type="HbGridView">
<integer name="columnCount" value="4"/>
<integer name="rowCount" value="1"/>
</widget>
+ <widget name="toolBar" type="HbToolBar">
+ <sizehint height="58.50746un" type="PREFERRED" width="9.40299un"/>
+ </widget>
<widget name="mcontent" role="HbView:widget" type="HbWidget">
<layout type="anchor">
<anchoritem dst="mCoverFlow" dstEdge="LEFT" spacing="var(hb-param-margin-view-left)" src="" srcEdge="LEFT"/>
@@ -75,7 +74,7 @@
<anchoritem dst="mImageStrip" dstEdge="BOTTOM" spacing="var(hb-param-margin-view-bottom)" src="" srcEdge="BOTTOM"/>
<anchoritem dst="toolBar" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
<anchoritem dst="toolBar" dstEdge="TOP" spacing="18.13433un" src="" srcEdge="TOP"/>
- <anchoritem dst="glxZoomWidget" dstEdge="LEFT" spacing="var(hb-param-margin-view-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="glxZoomWidget" dstEdge="LEFT" spacing="var(hb-param-margin-view-left)" src="" srcEdge="LEFT"/>
<anchoritem dst="glxZoomWidget" dstEdge="TOP" spacing="var(hb-param-margin-view-top)" src="" srcEdge="TOP"/>
<anchoritem dst="glxZoomWidget" dstEdge="RIGHT" spacing="var(hb-param-margin-view-right)" src="" srcEdge="RIGHT"/>
<anchoritem dst="glxZoomWidget" dstEdge="BOTTOM" spacing="var(hb-param-margin-view-bottom)" src="" srcEdge="BOTTOM"/>
@@ -85,15 +84,15 @@
<section name="landscape">
<widget name="mGlxFullscreenView" type="HbView">
<real name="z" value="0"/>
- <string name="HbVkbHost" value=""/>
- </widget>
- <widget name="toolBar" type="HbToolBar">
- <sizehint height="46.71642un" type="PREFERRED" width="9.4427un"/>
+ <string name="HbVkbHost"/>
</widget>
<widget name="mImageStrip" type="HbGridView">
<integer name="columnCount" value="6"/>
<integer name="rowCount" value="1"/>
</widget>
+ <widget name="toolBar" type="HbToolBar">
+ <sizehint height="46.71642un" type="PREFERRED" width="9.4427un"/>
+ </widget>
<widget name="mcontent" role="HbView:widget" type="HbWidget">
<layout type="anchor">
<anchoritem dst="mCoverFlow" dstEdge="LEFT" spacing="var(hb-param-margin-view-left)" src="" srcEdge="LEFT"/>
@@ -115,7 +114,7 @@
</layout>
</widget>
</section>
- <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <metadata activeUIState="Common ui state" display="NHD-3.2-inch_portrait" unit="un">
<uistate name="Common ui state" sections="#common"/>
<uistate name="portrait" sections="#common portrait"/>
<uistate name="landscape" sections="#common landscape"/>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/helix.fxml Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,32 @@
+<?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.8</duration>
+ <keyframe at="0.0">0.0</keyframe>
+ <keyframe at="0.25">90.0</keyframe>
+ <keyframe at="0.50">180.0</keyframe>
+ <keyframe at="1.0">270.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_z">1</param>
+ <param name="scale_x" type="anim">
+ <style>linear</style>
+ <duration>0.8</duration>
+ <keyframe at="0.0">1.0</keyframe>
+ <keyframe at="1.0">0.0</keyframe>
+ </param>
+ <param name="scale_origin_x" ref="visual.width">0.5</param>
+ <param name="scale_origin_y" ref="visual.height">0.5</param>
+ <param name="scale_y" type="anim">
+ <style>linear</style>
+ <duration>0.8</duration>
+ <keyframe at="0.0">1.0</keyframe>
+ <keyframe at="1.0">0.0</keyframe>
+ </param>
+ </visual>
+</layers>
\ No newline at end of file
--- a/data/photos.docml Wed Jun 23 18:12:48 2010 +0300
+++ b/data/photos.docml Tue Jul 06 14:16:16 2010 +0300
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<hbdocument version="1.1">
<object name="action" type="HbAction">
- <bool name="checkable" value="TRUE"/>
- <bool name="enabled" value="FALSE"/>
+ <bool name="checkable" value="FALSE"/>
+ <bool name="enabled" value="TRUE"/>
<icon iconName="qtg_mono_photos" name="icon"/>
<string name="text"/>
<bool name="visible" value="TRUE"/>
</object>
<object name="action_1" type="HbAction">
- <bool name="checkable" value="TRUE"/>
+ <bool name="checkable" value="FALSE"/>
<bool name="enabled" value="TRUE"/>
<icon iconName="qtg_mono_photo_albums" name="icon"/>
<string name="text"/>
@@ -25,23 +25,29 @@
<widget name="content" role="HbView:widget" type="HbWidget">
<layout type="anchor"/>
</widget>
- <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
- <ref object="action" role="HbWidget:addAction"/>
- <ref object="action_1" role="HbWidget:addAction"/>
- <ref object="action_2" role="HbWidget:addAction"/>
- <ref object="action_3" role="HbWidget:addAction"/>
- </widget>
<string locid="txt_photos_title_photos" name="title" value="Photos"/>
</widget>
- <section name="portrait"/>
+ <section name="portrait">
+ <widget name="mainView" type="HbView">
+ <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
+ <ref object="action" role="HbWidget:addAction"/>
+ <ref object="action_1" role="HbWidget:addAction"/>
+ <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="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"/>
- <sizehint height="5.5un" type="MINIMUM" width="5un"/>
</widget>
<layout type="anchor">
<anchoritem dst="pushButton" dstEdge="TOP" spacing="0.14925un" src="" srcEdge="TOP"/>
@@ -49,10 +55,8 @@
</layout>
</widget>
<widget name="mainView" type="HbView">
- <enums name="titleBarFlags" value="TitleBarHidden"/>
- </widget>
- <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
- <bool name="visible" value="FALSE"/>
+ <string name="titleBarFlags" value="TitleBarHidden"/>
+ <bool name="contentFullScreen" value="FALSE"/>
</widget>
</section>
<metadata activeUIState="landscape" display="NHD-3.2-inch_landscape" unit="un">
--- a/data/slideshow.docml Wed Jun 23 18:12:48 2010 +0300
+++ b/data/slideshow.docml Tue Jul 06 14:16:16 2010 +0300
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<hbdocument version="1.0">
+<hbdocument version="1.1">
<widget name="mglxslideshow" type="HbView">
<widget name="content" role="HbView:widget" type="HbWidget">
<widget name="mslideshowwidget" type="HbWidget">
@@ -10,9 +10,9 @@
</widget>
<widget name="mContinueButton" type="HbPushButton">
<real name="z" value="10"/>
- <real name="opacity" value="0.5"/>
+ <real name="opacity" value="0.7"/>
<sizehint height="expr(var(hb-param-margin-gene-top)+var(hb-param-margin-gene-bottom)+var(hb-param-graphic-size-function))" type="PREFERRED" width="expr(var(hb-param-margin-gene-top)+var(hb-param-margin-gene-bottom)+var(hb-param-graphic-size-function))"/>
- <string name="text" value=""/>
+ <string name="text"/>
<bool name="visible" value="FALSE"/>
<string name="state" value="normal"/>
</widget>
@@ -26,12 +26,12 @@
<anchoritem dst="mContinueButton" dstEdge="CENTERH" spacing="0un" src="" srcEdge="CENTERH"/>
</layout>
</widget>
- <string name="title" value="Photos"/>
+ <string locid="txt_photos_title_photos" name="title" value="Photos"/>
<bool name="contentFullScreen" value="TRUE"/>
<real name="z" value="10"/>
- <enums name="titleBarFlags" value="TitleBarHidden|TitleBarTransparent"/>
+ <string name="titleBarFlags" value="TitleBarHidden|TitleBarTransparent"/>
</widget>
- <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <metadata activeUIState="Common ui state" display="NHD-3.2-inch_portrait" unit="un">
<uistate name="Common ui state" sections="#common"/>
</metadata>
</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/uphide.fxml Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,21 @@
+<?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="opacity" type="anim">
+ <style>linear</style>
+ <duration>0.8</duration>
+ <keyframe at="0.0">1.0</keyframe>
+ <keyframe at="1.0">0.0</keyframe>
+ </param>
+ <param name="rotation_angle" type="anim">
+ <style>linear</style>
+ <duration>0.8</duration>
+ <keyframe at="0.0">0.0</keyframe>
+ <keyframe at="1.0">-45.0</keyframe>
+ </param>
+ <param name="rotation_origin_x" ref="visual.width">0.0</param>
+ <param name="rotation_origin_y" ref="visual.height">1.0</param>
+ </visual>
+</layers>
\ No newline at end of file
--- a/data/zoomin.fxml Wed Jun 23 18:12:48 2010 +0300
+++ b/data/zoomin.fxml Tue Jul 06 14:16:16 2010 +0300
@@ -5,7 +5,7 @@
<visual src="Item">
<param name="scale_y" type="anim">
<style>linear</style>
- <duration>0.6</duration>
+ <duration>0.8</duration>
<keyframe at="0.0">1.0</keyframe>
<keyframe at="1.0">0.1</keyframe>
</param>
@@ -13,13 +13,13 @@
<param name="scale_origin_y" ref="visual.height">0.5</param>
<param name="scale_x" type="anim">
<style>linear</style>
- <duration>0.6</duration>
+ <duration>0.8</duration>
<keyframe at="0.0">1.0</keyframe>
<keyframe at="1.0">0.1</keyframe>
</param>
<param name="opacity" type="anim">
<style>linear</style>
- <duration>0.6</duration>
+ <duration>0.8</duration>
<keyframe at="0.0">1.0</keyframe>
<keyframe at="1.0">0.0</keyframe>
</param>
--- a/data/zoomout.fxml Wed Jun 23 18:12:48 2010 +0300
+++ b/data/zoomout.fxml Tue Jul 06 14:16:16 2010 +0300
@@ -5,7 +5,7 @@
<visual src="Item">
<param name="scale_x" type="anim">
<style>linear</style>
- <duration>0.6</duration>
+ <duration>0.8</duration>
<keyframe at="0.0">0.1</keyframe>
<keyframe at="1.0">1.0</keyframe>
</param>
@@ -13,13 +13,13 @@
<param name="scale_origin_y" ref="visual.height">0.5</param>
<param name="scale_y" type="anim">
<style>linear</style>
- <duration>0.6</duration>
+ <duration>0.8</duration>
<keyframe at="0.0">0.1</keyframe>
<keyframe at="1.0">1.0</keyframe>
</param>
<param name="opacity" type="anim">
<style>linear</style>
- <duration>0.6</duration>
+ <duration>0.8</duration>
<keyframe at="0.0">0.0</keyframe>
<keyframe at="1.0">1.0</keyframe>
</param>
--- a/engine/collectionframework/datasource/manager/group/glxdatasourcemanager.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/datasource/manager/group/glxdatasourcemanager.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -66,5 +66,6 @@
LIBRARY flogger.lib
LIBRARY HbCore.lib
+SMPSAFE
// End of File
--- a/engine/collectionframework/datasource/manager/test/group/t_cglxcommandrequest.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/datasource/manager/test/group/t_cglxcommandrequest.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -56,6 +56,6 @@
// Libraries required by the tested code
LIBRARY ecom.lib
LIBRARY mpxcommon.lib
-
+SMPSAFE
//deffile ../bwins/t_cglxcommandrequest.def
// End of file
--- a/engine/collectionframework/datasource/manager/test/group/t_cglxgetrequest.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/datasource/manager/test/group/t_cglxgetrequest.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -56,6 +56,6 @@
// Libraries required by the tested code
LIBRARY ecom.lib
LIBRARY mpxcommon.lib
-
+SMPSAFE
//deffile ../bwins/t_cglxgetrequest.def
// End of file
--- a/engine/collectionframework/datasource/manager/test/group/t_cglxidlistrequest.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/datasource/manager/test/group/t_cglxidlistrequest.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -58,6 +58,6 @@
LIBRARY ecom.lib
LIBRARY mpxcommon.lib
-
+SMPSAFE
//deffile ../bwins/t_cglxidlistrequest.def
// End of file
--- a/engine/collectionframework/datasource/manager/test/group/t_cglxthumbnailrequest.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/datasource/manager/test/group/t_cglxthumbnailrequest.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -58,6 +58,6 @@
// Libraries required by the tested code
LIBRARY ecom.lib
LIBRARY mpxcommon.lib
-
+SMPSAFE
deffile ../bwins/t_cglxthumbnailrequest.def
// End of file
--- a/engine/collectionframework/datasource/plugins/glxdatasourcemde/group/glxdatasourcemde.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/datasource/plugins/glxdatasourcemde/group/glxdatasourcemde.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -82,4 +82,5 @@
LIBRARY iclextjpegapi.lib
LIBRARY imageconversion.lib
+SMPSAFE
// End of File
--- a/engine/collectionframework/datasource/plugins/glxdatasourcemde2.5/group/glxdatasourcemde.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/datasource/plugins/glxdatasourcemde2.5/group/glxdatasourcemde.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -96,4 +96,5 @@
LIBRARY imageconversion.lib
LIBRARY harvesterclient.lib
+SMPSAFE
// End of File
--- a/engine/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmds.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmds.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -375,6 +375,10 @@
{
__ASSERT_DEBUG((EGlxFilterImage == aFilterProperties.iItemType), Panic(
EGlxPanicIllegalArgument));
+
+ CMdEPropertyDef& drmProperty = DataSource()->ImageDef().GetPropertyDefL(MdeConstants::MediaObject::KDRMProperty);
+ CMdEPropertyCondition& drmPropertyCondition = aLogicCondition.AddPropertyConditionL(drmProperty);
+ drmPropertyCondition.SetNegate(ETrue);
}
if( aFilterProperties.iPath ) // If this is set. Then we need to filter on the Ids it supplies
--- a/engine/collectionframework/plugins/Test/albumcollectionplugin/group/glxalbumcollectionplugin.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/plugins/Test/albumcollectionplugin/group/glxalbumcollectionplugin.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -59,5 +59,5 @@
LIBRARY mpxcommon.lib
LIBRARY glxthumbnailcreator.lib
-
+SMPSAFE
// End of File
--- a/engine/collectionframework/plugins/Test/glxmedialiststestcollectionplugin/group/glxmedialiststestcollectionplugin.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/plugins/Test/glxmedialiststestcollectionplugin/group/glxmedialiststestcollectionplugin.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -59,4 +59,5 @@
LIBRARY glxthumbnailcreator.lib
+SMPSAFE
// End of File
--- a/engine/collectionframework/plugins/Test/glxtestcollectionplugin/group/glxtestcollectionplugin.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/plugins/Test/glxtestcollectionplugin/group/glxtestcollectionplugin.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -63,5 +63,5 @@
LIBRARY glxthumbnailcreator.lib
-
+SMPSAFE
// End of File
--- a/engine/collectionframework/plugins/Test/testtagcollectionplugin/group/glxtagcollectionplugin.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/plugins/Test/testtagcollectionplugin/group/glxtagcollectionplugin.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -66,5 +66,5 @@
LIBRARY glxthumbnailcreator.lib
-
+SMPSAFE
// End of File
--- a/engine/collectionframework/plugins/glxcollectionpluginalbums/group/glxcollectionpluginalbums.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/plugins/glxcollectionpluginalbums/group/glxcollectionpluginalbums.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -69,5 +69,5 @@
LIBRARY glxdatasourcemanager.lib
LIBRARY mpxcommon.lib
LIBRARY flogger.lib
-
+SMPSAFE
// End of File
--- a/engine/collectionframework/plugins/glxcollectionpluginalbums/src/glxcollectionpluginalbums.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/plugins/glxcollectionpluginalbums/src/glxcollectionpluginalbums.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -45,6 +45,8 @@
#include <glxfilterfactory.h>
#include <glxlog.h>
+#include "glxsymbianlocalisationstrings.h"
+
// CONSTANTS
const TInt KFavoriteAlbumId = 1 ;
const TInt KCapturedAlbumId = 2 ;
@@ -214,7 +216,8 @@
{
if(0 == usageCount)
{
- tempTitle = LoadLocalizedStringLC(KResourceFile, R_ALBUM_ITEM_SUB_TITLE_EMPTY);
+ tempTitle = LoadLocalizedStringLC(KNoImages);
+
// Set the title in the response.
aResponse->SetTextValueL(attr, *tempTitle);
@@ -276,14 +279,12 @@
{
if( TGlxMediaId(KCapturedAlbumId) == aMediaId )
{
- _LIT(KCameraText,"txt_photos_dblist_my_camera");
HBufC* title = LoadLocalizedStringLC(KCameraText);
aResponse->SetTextValueL(attr, *title);
CleanupStack::PopAndDestroy(title);
}
else if (TGlxMediaId(KFavoriteAlbumId) == aMediaId )
{
- _LIT(KMyFavText,"txt_photos_dblist_my_favorites");
HBufC* title = LoadLocalizedStringLC(KMyFavText);
aResponse->SetTextValueL(attr, *title);
CleanupStack::PopAndDestroy(title);
--- a/engine/collectionframework/plugins/glxcollectionpluginall/group/glxcollectionpluginall.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/plugins/glxcollectionpluginall/group/glxcollectionpluginall.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -72,5 +72,5 @@
LIBRARY mpxcommon.lib
LIBRARY glxcommon.lib
LIBRARY flogger.lib
-
+SMPSAFE
// End of File
--- a/engine/collectionframework/plugins/glxcollectionplugincamera/group/glxcollectionplugincamera.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/plugins/glxcollectionplugincamera/group/glxcollectionplugincamera.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -74,5 +74,5 @@
LIBRARY mpxcommon.lib
LIBRARY glxcommon.lib
LIBRARY flogger.lib
-
+SMPSAFE
// End of File
--- a/engine/collectionframework/plugins/glxcollectionplugindownloads/group/glxcollectionplugindownloads.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/plugins/glxcollectionplugindownloads/group/glxcollectionplugindownloads.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -75,5 +75,5 @@
LIBRARY mpxcommon.lib
LIBRARY glxcommon.lib
LIBRARY flogger.lib
-
+SMPSAFE
// End of File
--- a/engine/collectionframework/plugins/glxcollectionpluginimageviewer/group/glxcollectionpluginimageviewer.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/plugins/glxcollectionpluginimageviewer/group/glxcollectionpluginimageviewer.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -68,5 +68,5 @@
LIBRARY glxdatasourcemanager.lib
LIBRARY mpxcommon.lib
LIBRARY flogger.lib
-
+SMPSAFE
// End of File
--- a/engine/collectionframework/plugins/glxcollectionpluginmonths/group/glxcollectionpluginmonths.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/plugins/glxcollectionpluginmonths/group/glxcollectionpluginmonths.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -73,5 +73,5 @@
LIBRARY glxcommon.lib
LIBRARY flogger.lib
-
+SMPSAFE
// End of File
--- a/engine/collectionframework/plugins/tagcollectionplugin/group/glxcollectionplugintags.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/plugins/tagcollectionplugin/group/glxcollectionplugintags.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -74,5 +74,5 @@
LIBRARY glxdatasourcemanager.lib //DataSource Request
LIBRARY glxcommon.lib //Filters
LIBRARY flogger.lib
-
+SMPSAFE
// End of File
--- a/engine/collectionframework/plugins/tagcollectionplugin/test/ut_cglxcollectionplugintags.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/plugins/tagcollectionplugin/test/ut_cglxcollectionplugintags.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -62,5 +62,5 @@
LIBRARY glxdatasourcemanager.lib //DataSource Request
LIBRARY glxcommon.lib //Filters
-
+SMPSAFE
// End of file
--- a/engine/collectionframework/thumbnailcreator/group/glxthumbnailcreator.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/thumbnailcreator/group/glxthumbnailcreator.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -89,4 +89,5 @@
LIBRARY tneengine.lib
#endif
+SMPSAFE
// End of File
--- a/engine/collectionframework/thumbnailcreator/test/group/ut_cglxtndeletethumbnailstask.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/thumbnailcreator/test/group/ut_cglxtndeletethumbnailstask.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -48,5 +48,5 @@
LIBRARY EUnit.lib
LIBRARY EUnitUtil.lib
LIBRARY euser.lib
-
+SMPSAFE
// End of file
--- a/engine/collectionframework/thumbnailcreator/test/group/ut_cglxtnfilteravailabletask.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/thumbnailcreator/test/group/ut_cglxtnfilteravailabletask.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -49,5 +49,5 @@
LIBRARY EUnitUtil.lib
LIBRARY euser.lib
-
+SMPSAFE
// End of file
--- a/engine/collectionframework/thumbnailcreator/test/group/ut_cglxtngeneratethumbnailtask.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/thumbnailcreator/test/group/ut_cglxtngeneratethumbnailtask.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -72,5 +72,5 @@
#else
LIBRARY tneengine.lib
#endif
-
+SMPSAFE
// End of file
--- a/engine/collectionframework/thumbnailcreator/test/group/ut_cglxtnquickthumbnailtask.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/thumbnailcreator/test/group/ut_cglxtnquickthumbnailtask.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -73,5 +73,5 @@
#else
LIBRARY tneengine.lib
#endif
-
+SMPSAFE
// End of file
--- a/engine/collectionframework/thumbnailcreator/test/group/ut_cglxtnzoomedimagetask.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/thumbnailcreator/test/group/ut_cglxtnzoomedimagetask.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -63,5 +63,5 @@
LIBRARY ecom.lib
LIBRARY flogger.lib // for logging to file
-
+SMPSAFE
// End of file
--- a/engine/collectionframework/thumbnailcreator/thumbnailcomposerplugin/glxthumbnailcomposerplugin.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/engine/collectionframework/thumbnailcreator/thumbnailcomposerplugin/glxthumbnailcomposerplugin.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -59,3 +59,4 @@
LIBRARY MdEClient.lib
LIBRARY flogger.lib // For Logging Tracer
+SMPSAFE
--- a/gallery/sis/photos.pkg Wed Jun 23 18:12:48 2010 +0300
+++ b/gallery/sis/photos.pkg Tue Jul 06 14:16:16 2010 +0300
@@ -99,6 +99,7 @@
"\epoc32\release\armv5\urel\glxviewmanager.dll" -"!:\sys\bin\glxviewmanager.dll"
;qt dlls
+"\epoc32\release\armv5\urel\glxdrmutilitywrapper.dll" -"!:\sys\bin\glxdrmutilitywrapper.dll"
"\epoc32\release\armv5\urel\glxexternalutility.dll" -"!:\sys\bin\glxexternalutility.dll"
"\epoc32\release\armv5\urel\glximagedecoderwrapper.dll" -"!:\sys\bin\glximagedecoderwrapper.dll"
"\epoc32\release\armv5\urel\glxtvoutwrapper.dll" -"!:\sys\bin\glxtvoutwrapper.dll"
@@ -110,13 +111,18 @@
"\epoc32\release\armv5\urel\glxloggerqt.dll" -"!:\sys\bin\glxloggerqt.dll"
"\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\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"
;translations
"\epoc32\data\z\resource\qt\translations\photos_en.qm" -"!:\resource\qt\translations\photos.qm"
;cenrep
"\epoc32\data\Z\private\10202BE9\20007194.txt" -"!:\private\10202BE9\20007194.txt"
+"\epoc32\data\Z\private\10202BE9\20007193.txt" -"!:\private\10202BE9\20007193.txt"
;splash screen
"\epoc32\data\z\resource\hb\splashml\photos.splashml" -"!:\resource\hb\splashml\photos.splashml"
--- a/gallery/sis/photos_stub.pkg Wed Jun 23 18:12:48 2010 +0300
+++ b/gallery/sis/photos_stub.pkg Tue Jul 06 14:16:16 2010 +0300
@@ -88,6 +88,7 @@
"" - "z:\sys\bin\glxviewmanager.dll"
; qt dlls
+"" - "z:\sys\bin\glxdrmutilitywrapper.dll"
"" - "z:\sys\bin\glxexternalutility.dll"
"" - "z:\sys\bin\glximagedecoderwrapper.dll"
"" - "z:\sys\bin\glxloggerqt.dll"
@@ -100,8 +101,13 @@
"" - "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:\private\10202BE9\20007194.txt"
+"" - "z:\private\10202BE9\20007193.txt"
"" - "z:\resource\qt\translations\photos.qm"
Binary file gallery/sis/photos_stub.sis has changed
--- a/inc/glxlocalisationstrings.h Wed Jun 23 18:12:48 2010 +0300
+++ b/inc/glxlocalisationstrings.h Tue Jul 06 14:16:16 2010 +0300
@@ -75,13 +75,14 @@
//
#define GLX_MENU_RENAME hbTrId("txt_common_menu_rename_item")
+#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")
//TITLE RELATED and DEFAULT STRINGS
#define GLX_CAPTION hbTrId("txt_short_caption_photos")
#define GLX_TITLE hbTrId("txt_photos_title_photos")
-#define GLX_CAMERA "txt_photos_dblist_my_camera"
-#define GLX_MYFAV "txt_photos_dblist_my_favorites"
#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"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/glxsymbianlocalisationstrings.h Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Localisation strings
+*
+*/
+
+#ifndef GLXSYMBIANLOCALISATIONSTRINGS_H_
+#define GLXSYMBIANLOCALISATIONSTRINGS_H_
+
+//SYMBIAN RELATED LOCALISATION STRINGS
+_LIT(KNoImages,"txt_photos_grid_no_images");
+_LIT(KCameraText,"txt_photos_dblist_my_camera");
+_LIT(KMyFavText,"txt_photos_dblist_my_favorites");
+
+#endif /* GLXSYMBIANLOCALISATIONSTRINGS_H_*/
\ No newline at end of file
--- a/loggers/loggerqt/loggerqt.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/loggers/loggerqt/loggerqt.pro Tue Jul 06 14:16:16 2010 +0300
@@ -30,7 +30,8 @@
INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
TARGET.UID3 = 0x20000A15
TARGET.EPOCALLOWDLLDATA = 1
-TARGET.CAPABILITY = ALL -TCB \
+TARGET.CAPABILITY = ALL -TCB
+MMP_RULES += SMPSAFE
}
--- a/loggers/logging/app/group/glxloggingapp.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/loggers/logging/app/group/glxloggingapp.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -70,3 +70,5 @@
TARGETPATH /resource/apps
LANGUAGE_IDS
END
+
+SMPSAFE
\ No newline at end of file
--- a/loggers/logging/client/group/glxlogging.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/loggers/logging/client/group/glxlogging.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -44,3 +44,5 @@
#ifndef WINSCW
EPOCALLOWDLLDATA
#endif
+
+SMPSAFE
\ No newline at end of file
--- a/loggers/logging/client/test/group/t_glxlogging.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/loggers/logging/client/test/group/t_glxlogging.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -55,5 +55,5 @@
#ifndef WINSCW
EPOCALLOWDLLDATA
#endif
-
+SMPSAFE
// End of file
--- a/main/glxaiwservicehandler.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/main/glxaiwservicehandler.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -21,6 +21,7 @@
#include <hbaction.h>
#include <hbtoolbar.h>
#include <hbstyleloader.h>
+#include <hbnotificationdialog.h>
#include <QtDebug>
#include <Qt>
@@ -42,6 +43,7 @@
#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")
@@ -77,6 +79,8 @@
}
else if( 0 == currentInterfaceName.compare(QLatin1String("com.nokia.symbian.IFileView")))
{
+ viewport()->setAttribute(Qt::WA_AcceptTouchEvents);
+ viewport()->grabGesture(Qt::PinchGesture);
mImageViewerService = new GlxImageViewerService(this);
}
@@ -194,15 +198,16 @@
}
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()
{
@@ -221,6 +226,8 @@
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 );
@@ -546,6 +553,20 @@
bool GlxImageViewerService::view(QString file)
{
+ XQApplicationManager appmgr;
+ QFile tempfile(file);
+ QVariantList attrValues;
+ QList<int> attrNames;
+ attrNames.append(XQApplicationManager::IsProtected);
+ bool ok = appmgr.getDrmAttributes(tempfile, attrNames, attrValues);
+ if(attrValues.at(0).toBool()){
+ HbNotificationDialog::launchDialog("NOT SUPPORTED");
+ connect(this, SIGNAL(returnValueDelivered()), mServiceApp,
+ SLOT(handleAnswerDelivered()));
+ complete(true);
+ return false;
+ }
+
XQRequestInfo info = requestInfo();
mAsyncRequest = !info.isSynchronous();
if (!mImageViewerInstance)
--- a/main/main.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/main/main.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -27,7 +27,8 @@
#include "glxstatemanager.h"
#include "glxaiwservicehandler.h"
#include "glxapplication.h"
-
+#include "glxlocalisationstrings.h"
+#include "hbsplashscreen.h"
#include "OstTraceDefinitions.h"
#ifdef OST_TRACE_COMPILER_IN_USE
#include "mainTraces.h"
@@ -42,7 +43,7 @@
OstTraceExt3( TRACE_NORMAL, DUP1__MAIN, "::main Time at Launch HHMMSS =%d::%d::%d",
localTime.hour(), localTime.minute(), localTime.second() );
- GlxApplication app(argc, argv);
+ GlxApplication app(argc, argv, Hb::NoSplash);
bool loaded(false);
QTranslator translator;
QString path = "Z:/resource/qt/translations/";
@@ -58,8 +59,9 @@
OstTraceEventStart0( EVENT_DUP1__MAIN_START, "launch" );
if(!XQServiceUtil::isService()){
+ HbSplashScreen::start();
stateMgr = new GlxStateManager();
- app.setApplicationName("Photos");
+ app.setApplicationName(GLX_TITLE);
stateMgr->launchApplication();
}
else {
--- a/main/main.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/main/main.pro Tue Jul 06 14:16:16 2010 +0300
@@ -46,6 +46,7 @@
41943040
TARGET.CAPABILITY = ALL \
-TCB
+ MMP_RULES += SMPSAFE
}
LIBS += -lglxstatehandler.dll \
--- a/photos.qrc Wed Jun 23 18:12:48 2010 +0300
+++ b/photos.qrc Tue Jul 06 14:16:16 2010 +0300
@@ -10,7 +10,11 @@
<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/view_flip_show.fxml</file>
+ <file>data/helix.fxml</file>
+ <file>data/fadein.fxml</file>
+ <file>data/uphide.fxml</file>
+ <file>data/downshow.fxml</file>
<file>data/fullscreentogrid.fxml</file>
<file>data/gridtofullscreenhide.fxml</file>
<file>data/gridtofullscreenshow.fxml</file>
--- a/rom/photos.iby Wed Jun 23 18:12:48 2010 +0300
+++ b/rom/photos.iby Tue Jul 06 14:16:16 2010 +0300
@@ -66,6 +66,7 @@
file=ABI_DIR/BUILD_DIR/glxviewmanager.dll SHARED_LIB_DIR/glxviewmanager.dll
//qt
+file=ABI_DIR/BUILD_DIR/glxdrmutilitywrapper.dll SHARED_LIB_DIR/glxdrmutilitywrapper.dll
file=ABI_DIR/BUILD_DIR/glxexternalutility.dll SHARED_LIB_DIR/glxexternalutility.dll
file=ABI_DIR/BUILD_DIR/glximagedecoderwrapper.dll SHARED_LIB_DIR/glximagedecoderwrapper.dll
file=ABI_DIR/BUILD_DIR/glxloggerqt.dll SHARED_LIB_DIR/glxloggerqt.dll
@@ -88,6 +89,7 @@
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
data=ZRESOURCE/hb/splashml/photos.splashml RESOURCE_FILES_DIR/hb/splashml/photos.splashml
--- a/tsrc/unittest/unittest_imagedecoderwrapper/unittest_imagedecoderwrapper.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/tsrc/unittest/unittest_imagedecoderwrapper/unittest_imagedecoderwrapper.pro Tue Jul 06 14:16:16 2010 +0300
@@ -38,6 +38,7 @@
TARGET.CAPABILITY = ALL -TCB
TARGET.EPOCHEAPSIZE = 0x20000 0x1600000
TARGET.UID3 = 0x20000A05
+ MMP_RULES += SMPSAFE
}
#BLD_INF_RULES.prj_exports += "../../../gallery/data/Battle.jpg c:/data/images/Battle.jpg"
--- a/tsrc/unittest/unittest_medialistwrapper/unittest_medialistwrapper.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/tsrc/unittest/unittest_medialistwrapper/unittest_medialistwrapper.pro Tue Jul 06 14:16:16 2010 +0300
@@ -43,4 +43,5 @@
TARGET.CAPABILITY = ALL -TCB
TARGET.EPOCHEAPSIZE = 0x20000 0x1600000
TARGET.UID3 = 0x20000A0E
+ MMP_RULES += SMPSAFE
}
\ No newline at end of file
--- a/tsrc/unittest/unittest_statehandler/unittest_statehandler.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/tsrc/unittest/unittest_statehandler/unittest_statehandler.pro Tue Jul 06 14:16:16 2010 +0300
@@ -35,6 +35,7 @@
TARGET.CAPABILITY = ALL -TCB
TARGET.EPOCHEAPSIZE = 0x20000 0x1600000
TARGET.UID3 = 0x2000A773
+ MMP_RULES += SMPSAFE
}
LIBS += -lflogger.dll
--- a/tvout/tvoutengine/group/glxtvout.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/tvout/tvoutengine/group/glxtvout.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -70,4 +70,6 @@
#ifdef __MARM
LIBRARY GSServerEngine.lib // FOr AspectRatio
#endif
+
+SMPSAFE
// End of File
--- a/tvout/tvoutengine/src/glxhdmisurfaceupdater.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/tvout/tvoutengine/src/glxhdmisurfaceupdater.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -886,7 +886,7 @@
iSurfBufferAO->iStatus = KRequestPending;
iSurfBufferAO->SetActive();
iSurfUpdateSession.NotifyWhenAvailable(iSurfBufferAO->iStatus);
- TInt err = iSurfUpdateSession.SubmitUpdate(1, iSurfId, 0, NULL);
+ TInt err = iSurfUpdateSession.SubmitUpdate(KAllScreens, iSurfId, 0, NULL);
GLX_LOG_INFO1("CGlxHdmiSurfaceUpdater::ProcessTvImage() Surfaceupdatesession error %d",err);
}
}
--- a/tvout/tvoutwrapper/tvoutwrapper.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/tvout/tvoutwrapper/tvoutwrapper.pro Tue Jul 06 14:16:16 2010 +0300
@@ -33,6 +33,7 @@
TARGET.UID3 = 0x2000A772
TARGET.CAPABILITY = ALL -TCB
TARGET.EPOCALLOWDLLDATA = 1
+MMP_RULES += SMPSAFE
}
# Input
HEADERS += inc/glxtvoutwrapper.h \
--- a/ui/commandhandlers/bwins/glxcommoncommandhandlersu.def Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/commandhandlers/bwins/glxcommoncommandhandlersu.def Tue Jul 06 14:16:16 2010 +0300
@@ -1,73 +1,81 @@
EXPORTS
- ??_EGlxCommandHandlerRemoveFrom@@UAE@I@Z @ 1 NONAME ; GlxCommandHandlerRemoveFrom::~GlxCommandHandlerRemoveFrom(unsigned int)
- ?iSelectionCount@GlxCommandHandlerAddToContainer@@0HA @ 2 NONAME ; int GlxCommandHandlerAddToContainer::iSelectionCount
- ?RotateImageL@GlxCommandHandlerRotate@@AAEXV?$TBuf@$0BAA@@@@Z @ 3 NONAME ; void GlxCommandHandlerRotate::RotateImageL(class TBuf<256>)
- ?qt_metacall@GlxCommandHandlerNewMedia@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4 NONAME ; int GlxCommandHandlerNewMedia::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?ProgressTextL@GlxCommandHandlerRemoveFrom@@EBE?AVQString@@XZ @ 5 NONAME ; class QString GlxCommandHandlerRemoveFrom::ProgressTextL(void) const
- ??0GlxCommandHandlerRename@@QAE@XZ @ 6 NONAME ; GlxCommandHandlerRename::GlxCommandHandlerRename(void)
- ??1GlxCommandHandlerAddToContainer@@UAE@XZ @ 7 NONAME ; GlxCommandHandlerAddToContainer::~GlxCommandHandlerAddToContainer(void)
- ?getStaticMetaObject@GlxCommandHandlerNewMedia@@SAABUQMetaObject@@XZ @ 8 NONAME ; struct QMetaObject const & GlxCommandHandlerNewMedia::getStaticMetaObject(void)
- ?SetImageOrientationL@GlxCommandHandlerRotate@@AAEXG@Z @ 9 NONAME ; void GlxCommandHandlerRotate::SetImageOrientationL(unsigned short)
- ?ConfirmationTextL@GlxCommandHandlerDelete@@EBE?AVQString@@_N@Z @ 10 NONAME ; class QString GlxCommandHandlerDelete::ConfirmationTextL(bool) const
- ??_EGlxCommandHandlerSend@@UAE@I@Z @ 11 NONAME ; GlxCommandHandlerSend::~GlxCommandHandlerSend(unsigned int)
- ?trUtf8@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString GlxCommandHandlerNewMedia::trUtf8(char const *, char const *)
- ?HandleErrorL@GlxCommandHandlerNewMedia@@MAEXH@Z @ 13 NONAME ; void GlxCommandHandlerNewMedia::HandleErrorL(int)
- ?HandleErrorL@GlxCommandHandlerComment@@EAEXH@Z @ 14 NONAME ; void GlxCommandHandlerComment::HandleErrorL(int)
- ?GetName@GlxCommandHandlerRename@@ABE?AVQString@@AAVMGlxMediaList@@@Z @ 15 NONAME ; class QString GlxCommandHandlerRename::GetName(class MGlxMediaList &) const
- ?tr@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0H@Z @ 16 NONAME ; class QString GlxCommandHandlerNewMedia::tr(char const *, char const *, int)
- ?DoExecuteCommandL@GlxCommandHandlerRotate@@UAEXHAAVMGlxMediaList@@AAH@Z @ 17 NONAME ; void GlxCommandHandlerRotate::DoExecuteCommandL(int, class MGlxMediaList &, int &)
- ?CompletionTextL@GlxCommandHandlerComment@@EBE?AVQString@@XZ @ 18 NONAME ; class QString GlxCommandHandlerComment::CompletionTextL(void) const
- ?metaObject@GlxCommandHandlerNewMedia@@UBEPBUQMetaObject@@XZ @ 19 NONAME ; struct QMetaObject const * GlxCommandHandlerNewMedia::metaObject(void) const
- ?CreateCommandL@GlxCommandHandlerDelete@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 20 NONAME ; class CMPXMedia * GlxCommandHandlerDelete::CreateCommandL(int, class MGlxMediaList &, int &) const
- ?CreateCommandL@GlxCommandHandlerAddToContainer@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 21 NONAME ; class CMPXMedia * GlxCommandHandlerAddToContainer::CreateCommandL(int, class MGlxMediaList &, int &) const
- ?CompletionTextL@GlxCommandHandlerDelete@@EBE?AVQString@@XZ @ 22 NONAME ; class QString GlxCommandHandlerDelete::CompletionTextL(void) const
- ?DoHandleCommandCompleteL@GlxCommandHandlerNewMedia@@MAEXPAXPAVCMPXMedia@@HPAVMGlxMediaList@@@Z @ 23 NONAME ; void GlxCommandHandlerNewMedia::DoHandleCommandCompleteL(void *, class CMPXMedia *, int, class MGlxMediaList *)
- ??0GlxCommandHandlerComment@@QAE@XZ @ 24 NONAME ; GlxCommandHandlerComment::GlxCommandHandlerComment(void)
- ?GenerateNewMediaItemTitleL@GlxCommandHandlerNewMedia@@ABE?AVQString@@V2@AAVMGlxMediaList@@@Z @ 25 NONAME ; class QString GlxCommandHandlerNewMedia::GenerateNewMediaItemTitleL(class QString, class MGlxMediaList &) const
- ??1GlxCommandHandlerRemoveFrom@@UAE@XZ @ 26 NONAME ; GlxCommandHandlerRemoveFrom::~GlxCommandHandlerRemoveFrom(void)
- ?qt_metacast@GlxCommandHandlerNewMedia@@UAEPAXPBD@Z @ 27 NONAME ; void * GlxCommandHandlerNewMedia::qt_metacast(char const *)
- ??0GlxCommandHandlerRemoveFrom@@QAE@XZ @ 28 NONAME ; GlxCommandHandlerRemoveFrom::GlxCommandHandlerRemoveFrom(void)
- ?HandleItemAddedL@GlxCommandHandlerNewMedia@@MAEXHHPAVMGlxMediaList@@@Z @ 29 NONAME ; void GlxCommandHandlerNewMedia::HandleItemAddedL(int, int, class MGlxMediaList *)
- ?tr@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0@Z @ 30 NONAME ; class QString GlxCommandHandlerNewMedia::tr(char const *, char const *)
- ?createNewMedia@GlxCommandHandlerAddToContainer@@ABEXXZ @ 31 NONAME ; void GlxCommandHandlerAddToContainer::createNewMedia(void) const
- ?ReadImageOrientationL@GlxCommandHandlerRotate@@AAEGXZ @ 32 NONAME ; unsigned short GlxCommandHandlerRotate::ReadImageOrientationL(void)
- ??_EGlxCommandHandlerComment@@UAE@I@Z @ 33 NONAME ; GlxCommandHandlerComment::~GlxCommandHandlerComment(unsigned int)
- ??1GlxCommandHandlerRotate@@UAE@XZ @ 34 NONAME ; GlxCommandHandlerRotate::~GlxCommandHandlerRotate(void)
- ?CreateCommandL@GlxCommandHandlerRename@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 35 NONAME ; class CMPXMedia * GlxCommandHandlerRename::CreateCommandL(int, class MGlxMediaList &, int &) const
- ??1GlxCommandHandlerNewMedia@@UAE@XZ @ 36 NONAME ; GlxCommandHandlerNewMedia::~GlxCommandHandlerNewMedia(void)
- ??_EGlxCommandHandlerNewMedia@@UAE@I@Z @ 37 NONAME ; GlxCommandHandlerNewMedia::~GlxCommandHandlerNewMedia(unsigned int)
- ?CompletionTextL@GlxCommandHandlerRemoveFrom@@EBE?AVQString@@XZ @ 38 NONAME ; class QString GlxCommandHandlerRemoveFrom::CompletionTextL(void) const
- ??_EGlxCommandHandlerDelete@@UAE@I@Z @ 39 NONAME ; GlxCommandHandlerDelete::~GlxCommandHandlerDelete(unsigned int)
- ?ProgressTextL@GlxCommandHandlerDelete@@EBE?AVQString@@XZ @ 40 NONAME ; class QString GlxCommandHandlerDelete::ProgressTextL(void) const
- ?CompletionTextL@GlxCommandHandlerRename@@EBE?AVQString@@XZ @ 41 NONAME ; class QString GlxCommandHandlerRename::CompletionTextL(void) const
- ?staticMetaObject@GlxCommandHandlerNewMedia@@2UQMetaObject@@B @ 42 NONAME ; struct QMetaObject const GlxCommandHandlerNewMedia::staticMetaObject
- ?DestroyExifWriter@GlxCommandHandlerRotate@@AAEXXZ @ 43 NONAME ; void GlxCommandHandlerRotate::DestroyExifWriter(void)
- ??0GlxCommandHandlerDelete@@QAE@XZ @ 44 NONAME ; GlxCommandHandlerDelete::GlxCommandHandlerDelete(void)
- ??1GlxCommandHandlerRename@@UAE@XZ @ 45 NONAME ; GlxCommandHandlerRename::~GlxCommandHandlerRename(void)
- ??0GlxCommandHandlerSend@@QAE@XZ @ 46 NONAME ; GlxCommandHandlerSend::GlxCommandHandlerSend(void)
- ?HandleError@GlxCommandHandlerNewMedia@@MAEXH@Z @ 47 NONAME ; void GlxCommandHandlerNewMedia::HandleError(int)
- ??0GlxCommandHandlerAddToContainer@@QAE@XZ @ 48 NONAME ; GlxCommandHandlerAddToContainer::GlxCommandHandlerAddToContainer(void)
- ??_EGlxCommandHandlerRename@@UAE@I@Z @ 49 NONAME ; GlxCommandHandlerRename::~GlxCommandHandlerRename(unsigned int)
- ?GetName@GlxCommandHandlerComment@@ABE?AVQString@@AAVMGlxMediaList@@@Z @ 50 NONAME ; class QString GlxCommandHandlerComment::GetName(class MGlxMediaList &) const
- ?HandleErrorL@GlxCommandHandlerRename@@EAEXH@Z @ 51 NONAME ; void GlxCommandHandlerRename::HandleErrorL(int)
- ??_EGlxCommandHandlerRotate@@UAE@I@Z @ 52 NONAME ; GlxCommandHandlerRotate::~GlxCommandHandlerRotate(unsigned int)
- ?ProgressTextL@GlxCommandHandlerAddToContainer@@EBE?AVQString@@XZ @ 53 NONAME ; class QString GlxCommandHandlerAddToContainer::ProgressTextL(void) const
- ??1GlxCommandHandlerComment@@UAE@XZ @ 54 NONAME ; GlxCommandHandlerComment::~GlxCommandHandlerComment(void)
- ??1GlxCommandHandlerSend@@UAE@XZ @ 55 NONAME ; GlxCommandHandlerSend::~GlxCommandHandlerSend(void)
- ?CompletionTextL@GlxCommandHandlerAddToContainer@@EBE?AVQString@@XZ @ 56 NONAME ; class QString GlxCommandHandlerAddToContainer::CompletionTextL(void) const
- ??0GlxCommandHandlerNewMedia@@QAE@XZ @ 57 NONAME ; GlxCommandHandlerNewMedia::GlxCommandHandlerNewMedia(void)
- ?trUtf8@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0H@Z @ 58 NONAME ; class QString GlxCommandHandlerNewMedia::trUtf8(char const *, char const *, int)
- ?doHandleUserAction@GlxCommandHandlerSend@@UBEXPAVGlxMediaModel@@V?$QList@VQModelIndex@@@@@Z @ 59 NONAME ; void GlxCommandHandlerSend::doHandleUserAction(class GlxMediaModel *, class QList<class QModelIndex>) const
- ??_EGlxCommandHandlerAddToContainer@@UAE@I@Z @ 60 NONAME ; GlxCommandHandlerAddToContainer::~GlxCommandHandlerAddToContainer(unsigned int)
- ?ProgressTextL@GlxCommandHandlerNewMedia@@EBE?AVQString@@XZ @ 61 NONAME ; class QString GlxCommandHandlerNewMedia::ProgressTextL(void) const
- ?ExecuteLD@GlxCommandHandlerNewMedia@@QAEHAAVTGlxMediaId@@@Z @ 62 NONAME ; int GlxCommandHandlerNewMedia::ExecuteLD(class TGlxMediaId &)
- ?CreateCommandL@GlxCommandHandlerRotate@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 63 NONAME ; class CMPXMedia * GlxCommandHandlerRotate::CreateCommandL(int, class MGlxMediaList &, int &) const
- ?CreateCommandL@GlxCommandHandlerComment@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 64 NONAME ; class CMPXMedia * GlxCommandHandlerComment::CreateCommandL(int, class MGlxMediaList &, int &) const
- ?CompletionTextL@GlxCommandHandlerNewMedia@@EBE?AVQString@@XZ @ 65 NONAME ; class QString GlxCommandHandlerNewMedia::CompletionTextL(void) const
- ?CreateCommandL@GlxCommandHandlerRemoveFrom@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 66 NONAME ; class CMPXMedia * GlxCommandHandlerRemoveFrom::CreateCommandL(int, class MGlxMediaList &, int &) const
- ?CalculateFinalOrientationL@GlxCommandHandlerRotate@@AAEGG@Z @ 67 NONAME ; unsigned short GlxCommandHandlerRotate::CalculateFinalOrientationL(unsigned short)
- ?InitializeExifWriterL@GlxCommandHandlerRotate@@AAEXV?$TBuf@$0BAA@@@@Z @ 68 NONAME ; void GlxCommandHandlerRotate::InitializeExifWriterL(class TBuf<256>)
- ??1GlxCommandHandlerDelete@@UAE@XZ @ 69 NONAME ; GlxCommandHandlerDelete::~GlxCommandHandlerDelete(void)
- ?CreateCommandL@GlxCommandHandlerNewMedia@@MBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 70 NONAME ; class CMPXMedia * GlxCommandHandlerNewMedia::CreateCommandL(int, class MGlxMediaList &, int &) const
- ??0GlxCommandHandlerRotate@@QAE@XZ @ 71 NONAME ; GlxCommandHandlerRotate::GlxCommandHandlerRotate(void)
+ ?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)
--- a/ui/commandhandlers/commandhandlerbase/commandhandlerbase.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/commandhandlers/commandhandlerbase/commandhandlerbase.pro Tue Jul 06 14:16:16 2010 +0300
@@ -45,6 +45,7 @@
TARGET.UID3 = 0x20000A11
TARGET.CAPABILITY = ALL -TCB
TARGET.EPOCALLOWDLLDATA = 1
+MMP_RULES += SMPSAFE
}
--- a/ui/commandhandlers/commandhandlerbase/src/glxmpxcommandhandler.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/commandhandlers/commandhandlerbase/src/glxmpxcommandhandler.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -64,6 +64,7 @@
void GlxMpxCommandHandler::executeCommand(int commandId, int collectionId,QList<QModelIndex> indexList)
{
OstTraceFunctionEntry0( GLXMPXCOMMANDHANDLER_EXECUTECOMMAND_ENTRY );
+ Q_UNUSED(indexList);
int aHierarchyId = 0;
TGlxFilterItemType aFilterType = EGlxFilterImage;
@@ -349,7 +350,8 @@
// @todo error received. Close progress note
DismissProgressNoteL();
iMediaList->RemoveMediaListObserver(this);
-
+ iMediaList->Close();
+ iMediaList = NULL;
// handle error
HandleErrorL(aErrorCode);
}
@@ -357,6 +359,8 @@
{
DismissProgressNoteL();
iMediaList->RemoveMediaListObserver(this);
+ iMediaList->Close();
+ iMediaList = NULL;
CompletionNoteL();
iProgressComplete = EFalse;
}
@@ -478,7 +482,8 @@
// noteText has a place for a title string in it
const TDesC& itemName = media->ValueText(KMPXMediaGeneralTitle);
QString qtItemName = QString::fromUtf16(itemName.Ptr(),itemName.Length());
- qtText.append(QString("%1").arg(qtItemName));
+ QString localisedString = qtText.arg(qtItemName);
+ qtText = localisedString;
}
// (else) If error, assume confirmed anyway
CleanupStack::PopAndDestroy(attributeContext);
--- a/ui/commandhandlers/commoncommandhandlers/commoncommandhandlers.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/commoncommandhandlers.pro Tue Jul 06 14:16:16 2010 +0300
@@ -40,6 +40,7 @@
TARGET.UID3 = 0x20000A0D
TARGET.CAPABILITY = ALL -TCB
TARGET.EPOCALLOWDLLDATA = 1
+MMP_RULES += SMPSAFE
}
LIBS += -lglxcommandhandlerbase.dll \
@@ -54,7 +55,11 @@
-lfbscli.dll \
-lbafl.dll \
-lefsrv.dll \
- -lcaf.dll
+ -lcaf.dll \
+ -lxqservice.dll \
+ -lxqserviceutil.dll \
+ -lglxmediamodel.dll
+
# Input
HEADERS += inc/glxcommandhandlerdelete.h
@@ -66,7 +71,8 @@
HEADERS += inc/glxcommandhandlerrename.h
HEADERS += inc/glxcommondialogs.h
HEADERS += inc/glxcommandhandlercomment.h
-
+HEADERS += inc/glxcommandhandlercropimage.h
+HEADERS += inc/glxcommandhandlerrotateimage.h
SOURCES += src/glxcommandhandlerdelete.cpp
SOURCES += src/glxcommandhandleraddtocontainer.cpp
@@ -77,6 +83,8 @@
SOURCES += src/glxcommandhandlerrename.cpp
SOURCES += src/glxcommondialogs.cpp
SOURCES += src/glxcommandhandlercomment.cpp
+SOURCES += src/glxcommandhandlercropimage.cpp
+SOURCES += src/glxcommandhandlerrotateimage.cpp
DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
--- a/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlercomment.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlercomment.h Tue Jul 06 14:16:16 2010 +0300
@@ -36,7 +36,7 @@
private:
QString CompletionTextL() const;
QString GetName(MGlxMediaList& aMediaList) const;
- void HandleErrorL(TInt aErrorCode);
+
};
#endif // GLXCOMMANDHANDLERCOMMENT_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlercropimage.h Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,48 @@
+/*
+* 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/glxcommandhandlerrotateimage.h Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* 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 Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandleraddtocontainer.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -88,9 +88,11 @@
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
--- a/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlercomment.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlercomment.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -147,15 +147,4 @@
return title;
}
-void GlxCommandHandlerComment::HandleErrorL(TInt aErrorCode)
- {
- if(aErrorCode == KErrAlreadyExists)
- {
- HbMessageBox::warning("Name Already Exist!!!", new HbLabel(
- "Rename"));
- }
- else{
- GlxMpxCommandHandler::HandleErrorL(aErrorCode);
- }
- }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlercropimage.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,77 @@
+/*
+* 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 Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlerdelete.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -15,10 +15,13 @@
*
*/
+#include "glxlocalisationstrings.h"
+
#include <mpxcollectionpath.h>
#include <mglxmedialist.h>
#include <glxcommandfactory.h>
#include <glxcommandhandlerdelete.h>
+
#include "OstTraceDefinitions.h"
#ifdef OST_TRACE_COMPILER_IN_USE
#include "glxcommandhandlerdeleteTraces.h"
@@ -71,7 +74,8 @@
}
else
{
- retString = QString("Delete ");
+
+ retString = GLX_DIALOG_DELETE_ONE_ITEM ;
}
return retString;
}
--- a/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlernewmedia.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlernewmedia.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -28,6 +28,8 @@
#include <hbinputdialog.h>
#include <hblabel.h>
#include <hbmessagebox.h>
+
+#include "glxlocalisationstrings.h"
#include "OstTraceDefinitions.h"
#ifdef OST_TRACE_COMPILER_IN_USE
#include "glxcommandhandlernewmediaTraces.h"
@@ -61,12 +63,11 @@
CMPXCollectionPath* path = aMediaList.PathLC(NGlxListDefs::EPathParent);
CMPXCommand* command = NULL;
- QString title("NEW MEDIA");
- QString mainPane = GenerateNewMediaItemTitleL("Album",aMediaList);
+ QString mainPane = GenerateNewMediaItemTitleL(GLX_DIALOG_ALBUM_NAME_DEFAULT,aMediaList);
bool ok = false;
QString mediaTitle = NULL;
GlxTextInputDialog* dlg = new GlxTextInputDialog();
- mediaTitle = dlg->getText(title, mainPane, &ok);
+ mediaTitle = dlg->getText(GLX_DIALOG_NAME_PROMPT, mainPane, &ok);
delete dlg;
iNewMediaCreationError = KErrNone;
if (ok == true)
--- a/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlerrename.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlerrename.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -26,6 +26,7 @@
#include <glxattributeretriever.h>
#include <glxfetchcontextremover.h>
#include <glxcommondialogs.h>
+#include "glxlocalisationstrings.h"
GlxCommandHandlerRename::GlxCommandHandlerRename()
{
@@ -43,11 +44,10 @@
CMPXCommand* command = NULL;
QString mainPane = GetName(aMediaList);
- QString title("Rename");
QString mediaTitle = NULL;
bool ok = false;
GlxTextInputDialog* dlg = new GlxTextInputDialog();
- mediaTitle = dlg->getText(title, mainPane, &ok);
+ mediaTitle = dlg->getText(GLX_DIALOG_NAME_PROMPT, mainPane, &ok);
delete dlg;
if(ok == true)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/commandhandlers/commoncommandhandlers/src/glxcommandhandlerrotateimage.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,91 @@
+/*
+* 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 Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/commandhandlers/eabi/glxcommoncommandhandlersu.def Tue Jul 06 14:16:16 2010 +0300
@@ -27,77 +27,93 @@
_ZN23GlxCommandHandlerRotateD0Ev @ 26 NONAME
_ZN23GlxCommandHandlerRotateD1Ev @ 27 NONAME
_ZN23GlxCommandHandlerRotateD2Ev @ 28 NONAME
- _ZN24GlxCommandHandlerComment12HandleErrorLEi @ 29 NONAME
- _ZN24GlxCommandHandlerCommentC1Ev @ 30 NONAME
- _ZN24GlxCommandHandlerCommentC2Ev @ 31 NONAME
- _ZN24GlxCommandHandlerCommentD0Ev @ 32 NONAME
- _ZN24GlxCommandHandlerCommentD1Ev @ 33 NONAME
- _ZN24GlxCommandHandlerCommentD2Ev @ 34 NONAME
- _ZN25GlxCommandHandlerNewMedia11HandleErrorEi @ 35 NONAME
- _ZN25GlxCommandHandlerNewMedia11qt_metacallEN11QMetaObject4CallEiPPv @ 36 NONAME
- _ZN25GlxCommandHandlerNewMedia11qt_metacastEPKc @ 37 NONAME
- _ZN25GlxCommandHandlerNewMedia12HandleErrorLEi @ 38 NONAME
- _ZN25GlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 39 NONAME
- _ZN25GlxCommandHandlerNewMedia16staticMetaObjectE @ 40 NONAME DATA 16
- _ZN25GlxCommandHandlerNewMedia19getStaticMetaObjectEv @ 41 NONAME
- _ZN25GlxCommandHandlerNewMedia24DoHandleCommandCompleteLEPvP9CMPXMediaiP13MGlxMediaList @ 42 NONAME
- _ZN25GlxCommandHandlerNewMedia9ExecuteLDER11TGlxMediaId @ 43 NONAME
- _ZN25GlxCommandHandlerNewMediaC1Ev @ 44 NONAME
- _ZN25GlxCommandHandlerNewMediaC2Ev @ 45 NONAME
- _ZN25GlxCommandHandlerNewMediaD0Ev @ 46 NONAME
- _ZN25GlxCommandHandlerNewMediaD1Ev @ 47 NONAME
- _ZN25GlxCommandHandlerNewMediaD2Ev @ 48 NONAME
- _ZN27GlxCommandHandlerRemoveFromC1Ev @ 49 NONAME
- _ZN27GlxCommandHandlerRemoveFromC2Ev @ 50 NONAME
- _ZN27GlxCommandHandlerRemoveFromD0Ev @ 51 NONAME
- _ZN27GlxCommandHandlerRemoveFromD1Ev @ 52 NONAME
- _ZN27GlxCommandHandlerRemoveFromD2Ev @ 53 NONAME
- _ZN31GlxCommandHandlerAddToContainer15iSelectionCountE @ 54 NONAME DATA 4
- _ZN31GlxCommandHandlerAddToContainerC1Ev @ 55 NONAME
- _ZN31GlxCommandHandlerAddToContainerC2Ev @ 56 NONAME
- _ZN31GlxCommandHandlerAddToContainerD0Ev @ 57 NONAME
- _ZN31GlxCommandHandlerAddToContainerD1Ev @ 58 NONAME
- _ZN31GlxCommandHandlerAddToContainerD2Ev @ 59 NONAME
- _ZNK21GlxCommandHandlerSend18doHandleUserActionEP13GlxMediaModel5QListI11QModelIndexE @ 60 NONAME
- _ZNK23GlxCommandHandlerDelete13ProgressTextLEv @ 61 NONAME
- _ZNK23GlxCommandHandlerDelete14CreateCommandLEiR13MGlxMediaListRi @ 62 NONAME
- _ZNK23GlxCommandHandlerDelete15CompletionTextLEv @ 63 NONAME
- _ZNK23GlxCommandHandlerDelete17ConfirmationTextLEb @ 64 NONAME
- _ZNK23GlxCommandHandlerRename14CreateCommandLEiR13MGlxMediaListRi @ 65 NONAME
- _ZNK23GlxCommandHandlerRename15CompletionTextLEv @ 66 NONAME
- _ZNK23GlxCommandHandlerRename7GetNameER13MGlxMediaList @ 67 NONAME
- _ZNK23GlxCommandHandlerRotate14CreateCommandLEiR13MGlxMediaListRi @ 68 NONAME
- _ZNK24GlxCommandHandlerComment14CreateCommandLEiR13MGlxMediaListRi @ 69 NONAME
- _ZNK24GlxCommandHandlerComment15CompletionTextLEv @ 70 NONAME
- _ZNK24GlxCommandHandlerComment7GetNameER13MGlxMediaList @ 71 NONAME
- _ZNK25GlxCommandHandlerNewMedia10metaObjectEv @ 72 NONAME
- _ZNK25GlxCommandHandlerNewMedia13ProgressTextLEv @ 73 NONAME
- _ZNK25GlxCommandHandlerNewMedia14CreateCommandLEiR13MGlxMediaListRi @ 74 NONAME
- _ZNK25GlxCommandHandlerNewMedia15CompletionTextLEv @ 75 NONAME
- _ZNK25GlxCommandHandlerNewMedia26GenerateNewMediaItemTitleLE7QStringR13MGlxMediaList @ 76 NONAME
- _ZNK27GlxCommandHandlerRemoveFrom13ProgressTextLEv @ 77 NONAME
- _ZNK27GlxCommandHandlerRemoveFrom14CreateCommandLEiR13MGlxMediaListRi @ 78 NONAME
- _ZNK27GlxCommandHandlerRemoveFrom15CompletionTextLEv @ 79 NONAME
- _ZNK31GlxCommandHandlerAddToContainer13ProgressTextLEv @ 80 NONAME
- _ZNK31GlxCommandHandlerAddToContainer14CreateCommandLEiR13MGlxMediaListRi @ 81 NONAME
- _ZNK31GlxCommandHandlerAddToContainer14createNewMediaEv @ 82 NONAME
- _ZNK31GlxCommandHandlerAddToContainer15CompletionTextLEv @ 83 NONAME
- _ZTI21GlxCommandHandlerSend @ 84 NONAME
- _ZTI23GlxCommandHandlerDelete @ 85 NONAME
- _ZTI23GlxCommandHandlerRename @ 86 NONAME
- _ZTI23GlxCommandHandlerRotate @ 87 NONAME
- _ZTI24GlxCommandHandlerComment @ 88 NONAME
- _ZTI25GlxCommandHandlerNewMedia @ 89 NONAME
- _ZTI27GlxCommandHandlerRemoveFrom @ 90 NONAME
- _ZTI31GlxCommandHandlerAddToContainer @ 91 NONAME
- _ZTV21GlxCommandHandlerSend @ 92 NONAME
- _ZTV23GlxCommandHandlerDelete @ 93 NONAME
- _ZTV23GlxCommandHandlerRename @ 94 NONAME
- _ZTV23GlxCommandHandlerRotate @ 95 NONAME
- _ZTV24GlxCommandHandlerComment @ 96 NONAME
- _ZTV25GlxCommandHandlerNewMedia @ 97 NONAME
- _ZTV27GlxCommandHandlerRemoveFrom @ 98 NONAME
- _ZTV31GlxCommandHandlerAddToContainer @ 99 NONAME
- _ZThn8_N25GlxCommandHandlerNewMedia11HandleErrorEi @ 100 NONAME
- _ZThn8_N25GlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 101 NONAME
+ _ZN24GlxCommandHandlerCommentC1Ev @ 29 NONAME
+ _ZN24GlxCommandHandlerCommentC2Ev @ 30 NONAME
+ _ZN24GlxCommandHandlerCommentD0Ev @ 31 NONAME
+ _ZN24GlxCommandHandlerCommentD1Ev @ 32 NONAME
+ _ZN24GlxCommandHandlerCommentD2Ev @ 33 NONAME
+ _ZN25GlxCommandHandlerNewMedia11HandleErrorEi @ 34 NONAME
+ _ZN25GlxCommandHandlerNewMedia11qt_metacallEN11QMetaObject4CallEiPPv @ 35 NONAME
+ _ZN25GlxCommandHandlerNewMedia11qt_metacastEPKc @ 36 NONAME
+ _ZN25GlxCommandHandlerNewMedia12HandleErrorLEi @ 37 NONAME
+ _ZN25GlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 38 NONAME
+ _ZN25GlxCommandHandlerNewMedia16staticMetaObjectE @ 39 NONAME DATA 16
+ _ZN25GlxCommandHandlerNewMedia19getStaticMetaObjectEv @ 40 NONAME
+ _ZN25GlxCommandHandlerNewMedia24DoHandleCommandCompleteLEPvP9CMPXMediaiP13MGlxMediaList @ 41 NONAME
+ _ZN25GlxCommandHandlerNewMedia9ExecuteLDER11TGlxMediaId @ 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
--- a/ui/detailscustomwidget/detailsdescriptionedit/detailsdescriptionedit.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/detailscustomwidget/detailsdescriptionedit/detailsdescriptionedit.pro Tue Jul 06 14:16:16 2010 +0300
@@ -46,6 +46,7 @@
TARGET.UID3 = 0x200071B9
TARGET.EPOCALLOWDLLDATA = 1
TARGET.CAPABILITY = CAP_GENERAL_DLL
+ MMP_RULES += SMPSAFE
LIBS += -lbafl
}
--- a/ui/detailscustomwidget/detailsdescriptioneditplugin/detailsdescriptioneditplugin.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/detailscustomwidget/detailsdescriptioneditplugin/detailsdescriptioneditplugin.pro Tue Jul 06 14:16:16 2010 +0300
@@ -49,6 +49,8 @@
TARGET.UID3 = 0x2000A774
TARGET.EPOCALLOWDLLDATA=1
TARGET.CAPABILITY = CAP_GENERAL_DLL
+ MMP_RULES += SMPSAFE
+
LIBS += \
-ldetailsdescriptionedit.dll
--- a/ui/detailscustomwidget/detailsnamelabel/detailsnamelabel.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/detailscustomwidget/detailsnamelabel/detailsnamelabel.pro Tue Jul 06 14:16:16 2010 +0300
@@ -45,6 +45,8 @@
TARGET.UID3 = 0x2000A7BC
TARGET.EPOCALLOWDLLDATA = 1
TARGET.CAPABILITY = CAP_GENERAL_DLL
+ MMP_RULES += SMPSAFE
+
LIBS += -lbafl
}
--- a/ui/detailscustomwidget/detailsnamelabelplugin/detailsnamelabelplugin.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/detailscustomwidget/detailsnamelabelplugin/detailsnamelabelplugin.pro Tue Jul 06 14:16:16 2010 +0300
@@ -49,6 +49,8 @@
TARGET.UID3 = 0x200071B7
TARGET.EPOCALLOWDLLDATA=1
TARGET.CAPABILITY = CAP_GENERAL_DLL
+ MMP_RULES += SMPSAFE
+
LIBS += \
-ldetailsnamelabel.dll
--- a/ui/inc/glxcommandhandlers.hrh Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/inc/glxcommandhandlers.hrh Tue Jul 06 14:16:16 2010 +0300
@@ -116,6 +116,9 @@
EGlxCmdContextRename,
EGlxCmdSetupItem,
EGlxCmdComment,
+ EGlxCmdRotateImgCW,
+ EGlxCmdRotateImgCCW,
+ EGlxCmdRotateImgCrop,
EGlxCmdAiwBase = 0x6000
};
--- a/ui/inc/glxmodelroles.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/inc/glxmodelroles.h Tue Jul 06 14:16:16 2010 +0300
@@ -44,7 +44,8 @@
GlxTimeRole, //to get the time image was modified
GlxSizeRole, //to get the size of the image
GlxDescRole, //to get the description of the images
- GlxRemoveContextRole //to remove the context
+ GlxRemoveContextRole, //to remove the context
+ GlxTempVisualWindowIndex //to store the visual index obtained from AM temporarily
};
--- a/ui/inc/glxuistd.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/inc/glxuistd.h Tue Jul 06 14:16:16 2010 +0300
@@ -60,6 +60,7 @@
FLIP_EFFECT,
SMOOTH_FADE,
ZOOM_TO_FACE,
+ HELIX_EFFECT,
TRANSITION_EFFECT,
FADE_EFFECT,
GRID_TO_FULLSCREEN,
@@ -128,5 +129,9 @@
// video playback view UID
const TInt KGlxVideoPlaybackviewPlugin = 0x2000A7B3;
+//Constants for ci_photos.confml
+const TUint32 KGlxCi_UidGallery = 0x20007193;
+const TInt KGlxOperatorLink = 0x1;
+const TInt KGlxOvi = 0x2;
#endif // GLXUISTD_H
--- a/ui/inc/glxviewids.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/inc/glxviewids.h Tue Jul 06 14:16:16 2010 +0300
@@ -28,26 +28,42 @@
#define GLX_SLIDESHOWSETTINGSVIEW_ID 0x12121217
+/*
+ * For the non ui component, only sub state is expose in the model
+ * so it is required to have unique substrate of states
+ * Add the new sub state in between NO and Max
+ * and take care uniqueness of all these substrate
+ */
typedef enum
{
- NO_GRID_S,
+ NO_GRID_S = 0,
ALL_ITEM_S,
- ALBUM_ITEM_S,
+ ALBUM_ITEM_S,
+ MAX_GRID_S
} GridState;
typedef enum
{
- NO_FULLSCREEN_S,
+ NO_FULLSCREEN_S = MAX_GRID_S + 1,
EXTERNAL_S,
IMAGEVIEWER_S,
- FETCHER_S
+ FETCHER_S,
+ MAX_FULLSCREEN_S
} FullScreenState;
typedef enum
{
- NO_SLIDESHOW_S,
+ NO_SLIDESHOW_S = MAX_FULLSCREEN_S + 1,
SLIDESHOW_GRID_ITEM_S,
SLIDESHOW_ALBUM_ITEM_S,
+ MAX_SLIDESHOW_S
} SlideShowState;
+typedef enum
+{
+ NO_DETAIL_S = MAX_SLIDESHOW_S + 1,
+ IMAGEVIEWER_DETAIL_S,
+ MAX_DETAIL_S
+} DetailState;
+
#endif /* GLXVIEWIDS_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/uiengine/bwins/glxdrmutilitywrapperu.def Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,7 @@
+EXPORTS
+ ??1GlxDRMUtilityWrapper@@QAE@XZ @ 1 NONAME ; GlxDRMUtilityWrapper::~GlxDRMUtilityWrapper(void)
+ ?ItemRightsValidityCheck@GlxDRMUtilityWrapper@@QAE_NVQString@@_N@Z @ 2 NONAME ; bool GlxDRMUtilityWrapper::ItemRightsValidityCheck(class QString, bool)
+ ??0GlxDRMUtilityWrapper@@QAE@XZ @ 3 NONAME ; GlxDRMUtilityWrapper::GlxDRMUtilityWrapper(void)
+ ?ConsumeRights@GlxDRMUtilityWrapper@@QAE_NVQString@@@Z @ 4 NONAME ; bool GlxDRMUtilityWrapper::ConsumeRights(class QString)
+ ?ShowRightsInfo@GlxDRMUtilityWrapper@@QAEXVQString@@@Z @ 5 NONAME ; void GlxDRMUtilityWrapper::ShowRightsInfo(class QString)
+
--- a/ui/uiengine/bwins/glxmedialistwrapperu.def Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/bwins/glxmedialistwrapperu.def Tue Jul 06 14:16:16 2010 +0300
@@ -54,4 +54,7 @@
?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)
--- a/ui/uiengine/drmutility/bwins/glxdrmutilityu.def Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/drmutility/bwins/glxdrmutilityu.def Tue Jul 06 14:16:16 2010 +0300
@@ -1,15 +1,21 @@
EXPORTS
- ?CanSetAsAutomatedL@CGlxDRMUtility@@QAEHABVTDesC16@@W4TGlxDrmAutomatedType@@@Z @ 1 NONAME ; int CGlxDRMUtility::CanSetAsAutomatedL(class TDesC16 const &, enum TGlxDrmAutomatedType)
- ?CanShowInfoOnlineL@CGlxDRMUtility@@QAEHAAVTDesC16@@@Z @ 2 NONAME ; int CGlxDRMUtility::CanShowInfoOnlineL(class TDesC16 &)
- ?CheckDisplayRightsL@CGlxDRMUtility@@QAEHABVTDesC16@@H@Z @ 3 NONAME ; int CGlxDRMUtility::CheckDisplayRightsL(class TDesC16 const &, int)
- ?CheckOpenRightsL@CGlxDRMUtility@@QAEHABVTDesC16@@H@Z @ 4 NONAME ; int CGlxDRMUtility::CheckOpenRightsL(class TDesC16 const &, int)
- ?Close@CGlxDRMUtility@@QAEXXZ @ 5 NONAME ; void CGlxDRMUtility::Close(void)
- ?ConsumeRightsL@CGlxDRMUtility@@QAEHABVTDesC16@@@Z @ 6 NONAME ; int CGlxDRMUtility::ConsumeRightsL(class TDesC16 const &)
- ?DRMThumbnailSize@CGlxDRMUtility@@QAE?AVTSize@@AAV2@@Z @ 7 NONAME ; class TSize CGlxDRMUtility::DRMThumbnailSize(class TSize &)
- ?InstanceL@CGlxDRMUtility@@SAPAV1@XZ @ 8 NONAME ; class CGlxDRMUtility * CGlxDRMUtility::InstanceL(void)
- ?IsForwardLockedL@CGlxDRMUtility@@QAEHABVTDesC16@@@Z @ 9 NONAME ; int CGlxDRMUtility::IsForwardLockedL(class TDesC16 const &)
- ?SetAsAutomatedL@CGlxDRMUtility@@QAEXABVTDesC16@@W4TGlxDrmAutomatedType@@@Z @ 10 NONAME ; void CGlxDRMUtility::SetAsAutomatedL(class TDesC16 const &, enum TGlxDrmAutomatedType)
- ?ShowDRMDetailsPaneL@CGlxDRMUtility@@QAEXABVTDesC16@@@Z @ 11 NONAME ; void CGlxDRMUtility::ShowDRMDetailsPaneL(class TDesC16 const &)
- ?ShowInfoOnlineL@CGlxDRMUtility@@QAEXAAVTDesC16@@@Z @ 12 NONAME ; void CGlxDRMUtility::ShowInfoOnlineL(class TDesC16 &)
- ?ShowRightsInfoL@CGlxDRMUtility@@QAEXABVTDesC16@@@Z @ 13 NONAME ; void CGlxDRMUtility::ShowRightsInfoL(class TDesC16 const &)
+ ?InstanceL@CGlxDRMUtility@@SAPAV1@XZ @ 1 NONAME ; class CGlxDRMUtility * CGlxDRMUtility::InstanceL(void)
+ ?ShowDRMDetailsPaneL@CGlxDRMUtility@@QAEXAAVRFile@@@Z @ 2 NONAME ; void CGlxDRMUtility::ShowDRMDetailsPaneL(class RFile &)
+ ?ShowRightsInfoL@CGlxDRMUtility@@QAEXABVTDesC16@@@Z @ 3 NONAME ; void CGlxDRMUtility::ShowRightsInfoL(class TDesC16 const &)
+ ?DRMThumbnailSize@CGlxDRMUtility@@QAE?AVTSize@@AAV2@@Z @ 4 NONAME ; class TSize CGlxDRMUtility::DRMThumbnailSize(class TSize &)
+ ?ItemRightsValidityCheckL@CGlxDRMUtility@@QAEHABVTDesC16@@H@Z @ 5 NONAME ; int CGlxDRMUtility::ItemRightsValidityCheckL(class TDesC16 const &, int)
+ ?ClearLastConsumedItemUriL@CGlxDRMUtility@@QAEXXZ @ 6 NONAME ; void CGlxDRMUtility::ClearLastConsumedItemUriL(void)
+ ?DisplayItemRightsCheckL@CGlxDRMUtility@@QAEHAAVRFile@@H@Z @ 7 NONAME ; int CGlxDRMUtility::DisplayItemRightsCheckL(class RFile &, int)
+ ?ShowRightsInfoL@CGlxDRMUtility@@QAEXAAVRFile@@@Z @ 8 NONAME ; void CGlxDRMUtility::ShowRightsInfoL(class RFile &)
+ ?CanShowInfoOnlineL@CGlxDRMUtility@@QAEHABVTDesC16@@@Z @ 9 NONAME ; int CGlxDRMUtility::CanShowInfoOnlineL(class TDesC16 const &)
+ ?Close@CGlxDRMUtility@@QAEXXZ @ 10 NONAME ; void CGlxDRMUtility::Close(void)
+ ?SetAsAutomatedL@CGlxDRMUtility@@QAEXABVTDesC16@@W4TGlxDrmAutomatedType@@@Z @ 11 NONAME ; void CGlxDRMUtility::SetAsAutomatedL(class TDesC16 const &, enum TGlxDrmAutomatedType)
+ ?CanSetAsAutomatedL@CGlxDRMUtility@@QAEHABVTDesC16@@W4TGlxDrmAutomatedType@@@Z @ 12 NONAME ; int CGlxDRMUtility::CanSetAsAutomatedL(class TDesC16 const &, enum TGlxDrmAutomatedType)
+ ?ConsumeRightsL@CGlxDRMUtility@@QAEHABVTDesC16@@@Z @ 13 NONAME ; int CGlxDRMUtility::ConsumeRightsL(class TDesC16 const &)
+ ?IsForwardLockedL@CGlxDRMUtility@@QAEHABVTDesC16@@@Z @ 14 NONAME ; int CGlxDRMUtility::IsForwardLockedL(class TDesC16 const &)
+ ?DisplayItemRightsCheckL@CGlxDRMUtility@@QAEHABVTDesC16@@H@Z @ 15 NONAME ; int CGlxDRMUtility::DisplayItemRightsCheckL(class TDesC16 const &, int)
+ ?ItemRightsValidityCheckL@CGlxDRMUtility@@QAEHAAVRFile@@H@Z @ 16 NONAME ; int CGlxDRMUtility::ItemRightsValidityCheckL(class RFile &, int)
+ ?ShowDRMDetailsPaneL@CGlxDRMUtility@@QAEXABVTDesC16@@@Z @ 17 NONAME ; void CGlxDRMUtility::ShowDRMDetailsPaneL(class TDesC16 const &)
+ ?ShowInfoOnlineL@CGlxDRMUtility@@QAEXABVTDesC16@@@Z @ 18 NONAME ; void CGlxDRMUtility::ShowInfoOnlineL(class TDesC16 const &)
+ ?ConsumeRightsL@CGlxDRMUtility@@QAEHAAVRFile@@@Z @ 19 NONAME ; int CGlxDRMUtility::ConsumeRightsL(class RFile &)
--- a/ui/uiengine/drmutility/eabi/glxdrmutilityu.def Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/drmutility/eabi/glxdrmutilityu.def Tue Jul 06 14:16:16 2010 +0300
@@ -1,15 +1,21 @@
EXPORTS
- _ZN14CGlxDRMUtility14ConsumeRightsLERK7TDesC16 @ 1 NONAME
- _ZN14CGlxDRMUtility15SetAsAutomatedLERK7TDesC1620TGlxDrmAutomatedType @ 2 NONAME
- _ZN14CGlxDRMUtility15ShowInfoOnlineLER7TDesC16 @ 3 NONAME
- _ZN14CGlxDRMUtility15ShowRightsInfoLERK7TDesC16 @ 4 NONAME
- _ZN14CGlxDRMUtility16CheckOpenRightsLERK7TDesC16i @ 5 NONAME
- _ZN14CGlxDRMUtility16DRMThumbnailSizeER5TSize @ 6 NONAME
- _ZN14CGlxDRMUtility16IsForwardLockedLERK7TDesC16 @ 7 NONAME
- _ZN14CGlxDRMUtility18CanSetAsAutomatedLERK7TDesC1620TGlxDrmAutomatedType @ 8 NONAME
- _ZN14CGlxDRMUtility18CanShowInfoOnlineLER7TDesC16 @ 9 NONAME
- _ZN14CGlxDRMUtility19CheckDisplayRightsLERK7TDesC16i @ 10 NONAME
- _ZN14CGlxDRMUtility19ShowDRMDetailsPaneLERK7TDesC16 @ 11 NONAME
- _ZN14CGlxDRMUtility5CloseEv @ 12 NONAME
- _ZN14CGlxDRMUtility9InstanceLEv @ 13 NONAME
+ _ZN14CGlxDRMUtility14ConsumeRightsLER5RFile @ 1 NONAME
+ _ZN14CGlxDRMUtility14ConsumeRightsLERK7TDesC16 @ 2 NONAME
+ _ZN14CGlxDRMUtility15SetAsAutomatedLERK7TDesC1620TGlxDrmAutomatedType @ 3 NONAME
+ _ZN14CGlxDRMUtility15ShowInfoOnlineLERK7TDesC16 @ 4 NONAME
+ _ZN14CGlxDRMUtility15ShowRightsInfoLER5RFile @ 5 NONAME
+ _ZN14CGlxDRMUtility15ShowRightsInfoLERK7TDesC16 @ 6 NONAME
+ _ZN14CGlxDRMUtility16DRMThumbnailSizeER5TSize @ 7 NONAME
+ _ZN14CGlxDRMUtility16IsForwardLockedLERK7TDesC16 @ 8 NONAME
+ _ZN14CGlxDRMUtility18CanSetAsAutomatedLERK7TDesC1620TGlxDrmAutomatedType @ 9 NONAME
+ _ZN14CGlxDRMUtility18CanShowInfoOnlineLERK7TDesC16 @ 10 NONAME
+ _ZN14CGlxDRMUtility19ShowDRMDetailsPaneLER5RFile @ 11 NONAME
+ _ZN14CGlxDRMUtility19ShowDRMDetailsPaneLERK7TDesC16 @ 12 NONAME
+ _ZN14CGlxDRMUtility23DisplayItemRightsCheckLER5RFilei @ 13 NONAME
+ _ZN14CGlxDRMUtility23DisplayItemRightsCheckLERK7TDesC16i @ 14 NONAME
+ _ZN14CGlxDRMUtility24ItemRightsValidityCheckLER5RFilei @ 15 NONAME
+ _ZN14CGlxDRMUtility24ItemRightsValidityCheckLERK7TDesC16i @ 16 NONAME
+ _ZN14CGlxDRMUtility25ClearLastConsumedItemUriLEv @ 17 NONAME
+ _ZN14CGlxDRMUtility5CloseEv @ 18 NONAME
+ _ZN14CGlxDRMUtility9InstanceLEv @ 19 NONAME
--- a/ui/uiengine/drmutility/group/glxdrmutility.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/drmutility/group/glxdrmutility.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -44,4 +44,5 @@
LIBRARY caf.lib
LIBRARY cafutils.lib
+SMPSAFE
// End of File
--- a/ui/uiengine/drmutility/inc/glxdrmutility.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/drmutility/inc/glxdrmutility.h Tue Jul 06 14:16:16 2010 +0300
@@ -11,7 +11,7 @@
*
* Contributors:
*
-* Description: DRM utility implementation
+* Description: DRM utility implementation
*
*/
@@ -28,7 +28,7 @@
// INCLUDES
#include <e32base.h>
-
+#include <f32file.h>
// FORWARD DECLARATIONS
class CDRMHelper;
@@ -82,23 +82,47 @@
/**
* Check whether DRM rights are valid for specified item
- *
+ * is called before right is consumed and for all items (focused or unfocused).
+ *
* @param aUri URI of the media item.
* @param aCheckViewRights, check view rights if true, play if false
* @return ETrue if valid rights exist for the media item.
*/
- IMPORT_C TBool CheckOpenRightsL(const TDesC& aUri, TBool aCheckViewRights);
+ IMPORT_C TBool ItemRightsValidityCheckL(const TDesC& aUri, TBool aCheckViewRights);
+
+ /**
+ * Check whether DRM rights are valid for specified item
+ * is called before right is consumed and for all items (focused or unfocused).
+ *
+ * @param filehandle of the media item.
+ * @param aCheckViewRights, check view rights if true, play if false
+ * @return ETrue if valid rights exist for the media item.
+ */
+ IMPORT_C TBool ItemRightsValidityCheckL(RFile& aFileHandle, TBool aCheckViewRights);
/**
* Check whether DRM rights are valid for specified item
* If the rights were just consumed, then allow to display
* Otherwise, obtain current rights
- *
+ * is called after right is consumed and for only focused/displayed item.
+ *
* @param aUri URI of the media item.
* @param aCheckViewRights, check view rights if true, play if false
* @return ETrue if valid rights exist for the media item.
*/
- IMPORT_C TBool CheckDisplayRightsL(const TDesC& aUri, TBool aCheckViewRights);
+ IMPORT_C TBool DisplayItemRightsCheckL(const TDesC& aUri, TBool aCheckViewRights);
+
+ /**
+ * Check whether DRM rights are valid for specified item
+ * If the rights were just consumed, then allow to display
+ * Otherwise, obtain current rights
+ * is called after right is consumed and for only focused/displayed item.
+ *
+ * @param filehandle of the media item.
+ * @param aCheckViewRights, check view rights if true, play if false
+ * @return ETrue if valid rights exist for the media item.
+ */
+ IMPORT_C TBool DisplayItemRightsCheckL(RFile& aFileHandle, TBool aCheckViewRights);
/**
* Consume rights for specified item
@@ -109,7 +133,19 @@
*/
IMPORT_C TBool ConsumeRightsL(const TDesC& aUri);
-
+ /**
+ * Consume rights for specified item
+ * Caches item so that a client has right to display the item
+ *
+ * @param Filehandle for item
+ * @return ETrue to no error in rights consumption
+ */
+ IMPORT_C TBool ConsumeRightsL(RFile& aFileHandle);
+
+ /**
+ * Clears Last Consumed Uri
+ */
+ IMPORT_C void ClearLastConsumedItemUriL();
/**
* Test whether a media item is OMA DRM 2.0 protected and has an associated
@@ -117,13 +153,13 @@
* @param aUri URI of the media item.
* @return ETrue if it does.
*/
- IMPORT_C TBool CanShowInfoOnlineL(TDesC& aUri);
+ IMPORT_C TBool CanShowInfoOnlineL(const TDesC& aUri);
/**
* Open the associated info URL for a media item in the browser.
* @param aUri URI of the media item.
*/
- IMPORT_C void ShowInfoOnlineL(TDesC& aUri);
+ IMPORT_C void ShowInfoOnlineL(const TDesC& aUri);
/**
* Test whether a media item can be set as automated content. *
@@ -147,6 +183,12 @@
IMPORT_C void ShowDRMDetailsPaneL(const TDesC& aUri);
/**
+ * Show DRM details for specified item.
+ * @param Filehandle of the media item.
+ */
+ IMPORT_C void ShowDRMDetailsPaneL(RFile& aFileHandle);
+
+ /**
* Ask DRM manager if file is forward locked
*/
IMPORT_C TBool IsForwardLockedL(const TDesC& aUri);
@@ -158,6 +200,12 @@
IMPORT_C void ShowRightsInfoL(const TDesC& aUri);
/**
+ * Show rights info
+ * @param filehandle of the media item.
+ */
+ IMPORT_C void ShowRightsInfoL(RFile& aFileHandle);
+
+ /**
* Get size of thumbnail to be requested for DRM invalid item
* @param aSize size of image
* @return suggested thumbnail size (1/4 of original size)
--- a/ui/uiengine/drmutility/src/glxdrmutility.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/drmutility/src/glxdrmutility.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -34,6 +34,7 @@
#include <caf/content.h>
#include <caf/data.h>
#include <caf/manager.h>
+#include "glxtracer.h"
const TInt KGlxDRMThumbnailHeight = 120;
const TInt KGlxDRMThumbnailWidth = 90;
@@ -63,9 +64,10 @@
//============================================================================
EXPORT_C CGlxDRMUtility* CGlxDRMUtility::InstanceL()
{
+ TRACER("CGlxDRMUtility::InstanceL()");
CGlxDrmTls* tls = reinterpret_cast<CGlxDrmTls*>(Dll::Tls());
- if(tls==NULL)
+ if ( !tls )
{
CGlxDRMUtility* drmutil = new(ELeave)CGlxDRMUtility();
CleanupStack::PushL(drmutil);
@@ -88,9 +90,10 @@
//============================================================================
EXPORT_C void CGlxDRMUtility::Close()
{
+ TRACER("CGlxDRMUtility::Close()");
CGlxDrmTls* tls = reinterpret_cast<CGlxDrmTls*>(Dll::Tls());
- if (tls != NULL)
+ if ( tls )
{
tls->iRefCount--;
@@ -110,23 +113,34 @@
//============================================================================
CGlxDRMUtility::~CGlxDRMUtility()
{
+ TRACER("CGlxDRMUtility::~CGlxDRMUtility()");
delete iCManager;
delete iDrmHelper;
delete iLastConsumedItemUri;
}
//============================================================================
-// CheckOpenRightsL
-//============================================================================
-EXPORT_C TBool CGlxDRMUtility::CheckOpenRightsL( const TDesC& aUri,
+// ItemRightsValidityCheckL
+// for checking DRM rights validity for item.
+// is called before right is consumed and for all items (focused or unfocused).
+//============================================================================
+EXPORT_C TBool CGlxDRMUtility::ItemRightsValidityCheckL( const TDesC& aUri,
TBool aCheckViewRights )
{
- // When checking current rights for a URI, clear stored URI
- TPtr ptr = iLastConsumedItemUri->Des();
- ptr.Zero();
- iLastConsumedItemUri = iLastConsumedItemUri->ReAllocL( 0 );
+ TRACER("CGlxDRMUtility::ItemRightsValidityCheckL()");
+ // When checking current rights for a URI
- TBool rightsValid = EFalse;
+ //Allow to Open if rights for a URI was just consumed (i.e. same as stored URI)
+ if ( iLastConsumedItemUri->Length() > 0 )
+ {
+ if ( aUri.CompareF( *iLastConsumedItemUri ) == 0 )
+ {
+ return ETrue;
+ }
+ }
+
+ //Else for uri of non-focused uri, just check validity rights
+ TInt rightsValid = 0;
TVirtualPathPtr path( aUri, KDefaultContentObject() );
ContentAccess::TAttribute attr =
@@ -139,11 +153,31 @@
}
//============================================================================
-// CheckDisplayRightsL
-//============================================================================
-EXPORT_C TBool CGlxDRMUtility::CheckDisplayRightsL( const TDesC& aUri,
+// ItemRightsValidityCheckL
+// for checking DRM rights validity for item.
+// is called before right is consumed and for all items (focused or unfocused).
+//============================================================================
+EXPORT_C TBool CGlxDRMUtility::ItemRightsValidityCheckL( RFile& aFileHandle,
+ TBool /*aCheckViewRights*/ )
+ {
+ TRACER("CGlxDRMUtility::ItemRightsValidityCheckL()");
+ TBool rightsValid = EFalse;
+
+ ContentAccess::CContent* content = ContentAccess::CContent::NewLC( aFileHandle );
+ content->GetAttribute( ContentAccess::ECanView, rightsValid );
+ CleanupStack::PopAndDestroy( content );
+ return rightsValid;
+ }
+
+//============================================================================
+// DisplayItemRightsCheckL
+// is called after right is consumed and for only focused/displayed item.
+//============================================================================
+EXPORT_C TBool CGlxDRMUtility::DisplayItemRightsCheckL( const TDesC& aUri,
TBool aCheckViewRights )
{
+ TRACER("CGlxDRMUtility::DisplayItemRightsCheckL()");
+
// Allow to display if rights for a URI was just consumed (i.e. same as stored URI)
if ( iLastConsumedItemUri->Length() > 0 )
{
@@ -153,32 +187,48 @@
}
}
- // Otherwise, check current rights for the URI
- return CheckOpenRightsL( aUri, aCheckViewRights );
+ //Clear the stored uri since focus has changed
+ ClearLastConsumedItemUriL();
+
+ // Otherwise, check current rights for the URI of newly focused item
+ return ItemRightsValidityCheckL( aUri, aCheckViewRights );
}
//============================================================================
+// DisplayItemRightsCheckL
+// is called after right is consumed and for only focused/displayed item.
+//============================================================================
+EXPORT_C TBool CGlxDRMUtility::DisplayItemRightsCheckL( RFile& aFileHandle,
+ TBool aCheckViewRights )
+ {
+ TRACER("CGlxDRMUtility::DisplayItemRightsCheckL()");
+ // Otherwise, check current rights for the URI of newly focused item
+ return ItemRightsValidityCheckL( aFileHandle, aCheckViewRights );
+ }
+
+
+//============================================================================
// ConsumeRightsL
//============================================================================
EXPORT_C TBool CGlxDRMUtility::ConsumeRightsL(const TDesC& aUri)
{
+ TRACER("CGlxDRMUtility::ConsumeRightsL()");
TVirtualPathPtr path( aUri, KDefaultContentObject() );
// Create a CData object to read the content
// Tell the agent we are planning to display the content
CData* data = CData::NewLC(path, ContentAccess::EView, EContentShareReadOnly);
- // When consuming rights for a URI, clear stored URI
- TPtr oldPtr = iLastConsumedItemUri->Des();
- oldPtr.Zero();
- iLastConsumedItemUri = iLastConsumedItemUri->ReAllocL( aUri.Length() );
+ //When consuming rights for a URI, clear stored URI
+ ClearLastConsumedItemUriL();
// Execute the intent, tell the agent that we plan to display the content
// It is at this point that any stateful rights will be decremented
TInt err = data->ExecuteIntent(ContentAccess::EView);
if ( err == KErrNone )
{
- // Update stored URI
+ //Update stored URI
+ iLastConsumedItemUri = iLastConsumedItemUri->ReAllocL( aUri.Length() );
TPtr newPtr = iLastConsumedItemUri->Des();
newPtr.Copy( aUri );
}
@@ -188,16 +238,41 @@
return (err == KErrNone);
}
+
+//============================================================================
+// ConsumeRightsL
+//============================================================================
+EXPORT_C TBool CGlxDRMUtility::ConsumeRightsL(RFile& aFileHandle)
+ {
+ TRACER("CGlxDRMUtility::ConsumeRightsL(RFile& aFileHandle)");
+ CData* data = CData::NewLC( aFileHandle, KDefaultContentObject(), EPeek );
+ TInt err = data->ExecuteIntent(ContentAccess::EView);
+ CleanupStack::PopAndDestroy( data );
+ return (err == KErrNone);
+ }
+
+//============================================================================
+//Clears Last Consumed Uri
+//============================================================================
+EXPORT_C void CGlxDRMUtility::ClearLastConsumedItemUriL()
+ {
+ //clears the stored uri
+ TPtr ptr = iLastConsumedItemUri->Des();
+ ptr.Zero();
+ iLastConsumedItemUri = iLastConsumedItemUri->ReAllocL( 0 );
+ }
+
//============================================================================
// Test whether a media item is OMA DRM 2.0 protected and has an associated
// info URL.
//============================================================================
-EXPORT_C TBool CGlxDRMUtility::CanShowInfoOnlineL(TDesC& aUri)
+EXPORT_C TBool CGlxDRMUtility::CanShowInfoOnlineL(const TDesC& aUri)
{
+ TRACER("CGlxDRMUtility::CanShowInfoOnlineL()");
TBool canShowInfoOnline = EFalse;
HBufC8* urlBuf = NULL;
- canShowInfoOnline = iDrmHelper->HasInfoUrlL(aUri, urlBuf);
+ canShowInfoOnline = iDrmHelper->HasInfoUrlL( const_cast<TDesC&>(aUri) , urlBuf);
// discard buf we don't need it
delete urlBuf;
@@ -208,9 +283,10 @@
//============================================================================
// Open the associated info URL for a media item in the browser.
//============================================================================
-EXPORT_C void CGlxDRMUtility::ShowInfoOnlineL(TDesC& aUri)
+EXPORT_C void CGlxDRMUtility::ShowInfoOnlineL(const TDesC& aUri)
{
- iDrmHelper->OpenInfoUrlL(aUri);
+ TRACER("CGlxDRMUtility::ShowInfoOnlineL()");
+ iDrmHelper->OpenInfoUrlL( const_cast<TDesC&>(aUri) );
}
//============================================================================
@@ -219,6 +295,7 @@
EXPORT_C TBool CGlxDRMUtility::CanSetAsAutomatedL(const TDesC& aUri,
TGlxDrmAutomatedType aType)
{
+ TRACER("CGlxDRMUtility::CanSetAsAutomatedL()");
TBool canSetAutomated = EFalse;
switch(aType)
{
@@ -240,6 +317,7 @@
EXPORT_C void CGlxDRMUtility::SetAsAutomatedL(const TDesC& aUri,
TGlxDrmAutomatedType aType)
{
+ TRACER("CGlxDRMUtility::SetAsAutomatedL()");
switch(aType)
{
case EGlxDrmAutomatedTypeWallpaper:
@@ -266,8 +344,9 @@
//============================================================================
EXPORT_C void CGlxDRMUtility::ShowDRMDetailsPaneL( const TDesC& aUri )
{
+ TRACER("CGlxDRMUtility::ShowDRMDetailsPaneL()");
TRAPD( err, iDrmHelper->LaunchDetailsViewEmbeddedL( aUri ) );
- // if no rights ask user to re-activate?
+ // if no rights ask user to re-activate
if( err == KErrCANoRights )
{
HBufC* buf = aUri.AllocLC();
@@ -278,10 +357,26 @@
}
//============================================================================
+// ShowDRMDetailsPane
+//============================================================================
+EXPORT_C void CGlxDRMUtility::ShowDRMDetailsPaneL(RFile& aFileHandle)
+ {
+ TRACER("CGlxDRMUtility::ShowDRMDetailsPaneL()");
+ TRAPD( err, iDrmHelper->LaunchDetailsViewEmbeddedL( aFileHandle ) );
+ // if no rights ask user to re-activate
+ if( err == KErrCANoRights )
+ {
+ //need to check if we need to handle.
+ }
+
+ }
+
+//============================================================================
// IsForwardLockedL
//============================================================================
EXPORT_C TBool CGlxDRMUtility::IsForwardLockedL(const TDesC& aUri)
{
+ TRACER("CGlxDRMUtility::IsForwardLockedL()");
TBool forwardLocked = EFalse;
TVirtualPathPtr path( aUri, KDefaultContentObject() );
@@ -296,14 +391,25 @@
//============================================================================
EXPORT_C void CGlxDRMUtility::ShowRightsInfoL(const TDesC& aUri)
{
+ TRACER("CGlxDRMUtility::ShowRightsInfoL()");
iDrmHelper->CheckRightsAmountL( aUri );
}
//============================================================================
+// ShowRightsInfoL
+//============================================================================
+EXPORT_C void CGlxDRMUtility::ShowRightsInfoL(RFile& aFileHandle)
+ {
+ TRACER("CGlxDRMUtility::ShowRightsInfoL(aFileHandle)");
+ iDrmHelper->CheckRightsAmountL( aFileHandle );
+ }
+
+//============================================================================
// Return size for DRM thumbnail request.
//============================================================================
EXPORT_C TSize CGlxDRMUtility::DRMThumbnailSize(TSize& aSize)
{
+ TRACER("CGlxDRMUtility::DRMThumbnailSize()");
TSize thumbnailSize(KGlxDRMThumbnailWidth, KGlxDRMThumbnailHeight);
if((aSize.iWidth*aSize.iHeight)/4 <
@@ -321,7 +427,7 @@
*/
CGlxDRMUtility::CGlxDRMUtility()
{
-
+ TRACER("CGlxDRMUtility::CGlxDRMUtility()");
}
/**
@@ -329,6 +435,7 @@
*/
void CGlxDRMUtility::ConstructL()
{
+ TRACER("CGlxDRMUtility::ConstructL()");
iCManager = ContentAccess::CManager::NewL();
iDrmHelper = CDRMHelper::NewL();
iLastConsumedItemUri = HBufC::NewL(0);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/uiengine/drmutilitywrapper/drmutilitywrapper.pro Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,55 @@
+#/*
+#* 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: Qt wrapper for DRM utility
+#*
+#*/
+TEMPLATE = lib
+TARGET = glxdrmutilitywrapper
+DEPENDPATH += . inc src
+INCLUDEPATH += . ../../inc \
+ ../../../inc \
+ ../drmutility/inc \
+ ./inc
+
+CONFIG += hb
+LIBS += -lglxdrmutility.dll \
+ -lglxlogging.dll \
+
+DEFINES += BUILD_DRMUTILITYWRAPPER
+
+symbian: {
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+TARGET.UID3 = 0x2000A7BC
+TARGET.CAPABILITY = ALL -TCB
+TARGET.EPOCALLOWDLLDATA = 1
+MMP_RULES += SMPSAFE
+
+}
+# Input
+HEADERS += inc/glxdrmutilitywrapper.h \
+ inc/glxdrmutilitywrapper_p.h
+
+SOURCES += src/glxdrmutilitywrapper.cpp \
+ src/glxdrmutilitywrapper_p.cpp
+
+DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxdrmutilitywrapper.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxdrmutilitywrapper.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/uiengine/drmutilitywrapper/inc/glxdrmutilitywrapper.h Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef GLXDRMUTILITYWRAPPER_H
+#define GLXDRMUTILITYWRAPPER_H
+
+#include<QObject>
+// forward decleration
+class GlxDRMUtilityWrapperPrivate;
+
+#ifdef BUILD_DRMUTILITYWRAPPER
+#define GLX_DRMUTILITYWRAPPER_EXPORT Q_DECL_EXPORT
+#else
+#define GLX_DRMUTILITYWRAPPER_EXPORT Q_DECL_IMPORT
+#endif
+
+class GLX_DRMUTILITYWRAPPER_EXPORT GlxDRMUtilityWrapper
+{
+public:
+ /*
+ * Constructor
+ */
+ GlxDRMUtilityWrapper();
+
+ /*
+ * Destructor
+ */
+ ~GlxDRMUtilityWrapper();
+
+ bool ItemRightsValidityCheck(QString aUri, bool aCheckViewRights);
+ bool ConsumeRights(QString aUri);
+ void ShowRightsInfo(QString aUri);
+
+private:
+ GlxDRMUtilityWrapperPrivate* mDRMUtilityWrapperPrivate;
+};
+
+#endif //GLXDRMUTILITYWRAPPER_H
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/uiengine/drmutilitywrapper/inc/glxdrmutilitywrapper_p.h Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,178 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef GLXDRMUTILITYWRAPPERPRIVATE_H
+#define GLXDRMUTILITYWRAPPERPRIVATE_H
+
+
+// forward decleration
+class GlxDRMUtilityWrapper;
+class CGlxDRMUtility;
+class QString;
+
+class GlxDRMUtilityWrapperPrivate
+{
+public:
+ /*
+ * Constructor
+ */
+ GlxDRMUtilityWrapperPrivate(GlxDRMUtilityWrapper* DRMUtilityWrapper);
+
+ /*
+ * Destructor
+ */
+ ~GlxDRMUtilityWrapperPrivate();
+
+ /**
+ * Check whether DRM rights are valid for specified item
+ * is called before right is consumed and for all items (focused or unfocused).
+ *
+ * @param aUri URI of the media item.
+ * @param aCheckViewRights, check view rights if true, play if false
+ * @return ETrue if valid rights exist for the media item.
+ */
+ bool ItemRightsValidityCheck(QString aUri, bool aCheckViewRights);
+
+// /**
+// * Check whether DRM rights are valid for specified item
+// * is called before right is consumed and for all items (focused or unfocused).
+// *
+// * @param filehandle of the media item.
+// * @param aCheckViewRights, check view rights if true, play if false
+// * @return ETrue if valid rights exist for the media item.
+// */
+// bool ItemRightsValidityCheckL(RFile& aFileHandle, TBool aCheckViewRights);
+//
+// /**
+// * Check whether DRM rights are valid for specified item
+// * If the rights were just consumed, then allow to display
+// * Otherwise, obtain current rights
+// * is called after right is consumed and for only focused/displayed item.
+// *
+// * @param aUri URI of the media item.
+// * @param aCheckViewRights, check view rights if true, play if false
+// * @return ETrue if valid rights exist for the media item.
+// */
+// bool DisplayItemRightsCheckL(const TDesC& aUri, TBool aCheckViewRights);
+//
+// /**
+// * Check whether DRM rights are valid for specified item
+// * If the rights were just consumed, then allow to display
+// * Otherwise, obtain current rights
+// * is called after right is consumed and for only focused/displayed item.
+// *
+// * @param filehandle of the media item.
+// * @param aCheckViewRights, check view rights if true, play if false
+// * @return ETrue if valid rights exist for the media item.
+// */
+// bool DisplayItemRightsCheckL(RFile& aFileHandle, TBool aCheckViewRights);
+//
+ /**
+ * Consume rights for specified item
+ * Caches item so that a client has right to display the item
+ *
+ * @param aUri URI for item
+ * @return ETrue to no error in rights consumption
+ */
+ bool ConsumeRights(QString aUri);
+//
+// /**
+// * Consume rights for specified item
+// * Caches item so that a client has right to display the item
+// *
+// * @param Filehandle for item
+// * @return ETrue to no error in rights consumption
+// */
+// bool ConsumeRightsL(RFile& aFileHandle);
+//
+// /**
+// * Clears Last Consumed Uri
+// */
+// void ClearLastConsumedItemUriL();
+//
+// /**
+// * Test whether a media item is OMA DRM 2.0 protected and has an associated
+// * info URL.
+// * @param aUri URI of the media item.
+// * @return ETrue if it does.
+// */
+// bool CanShowInfoOnlineL(const TDesC& aUri);
+//
+// /**
+// * Open the associated info URL for a media item in the browser.
+// * @param aUri URI of the media item.
+// */
+// void ShowInfoOnlineL(const TDesC& aUri);
+//
+// /**
+// * Test whether a media item can be set as automated content. *
+// * @param aUri URI of the media item.
+// * @param aType Automated content type, eg. wallpaper.
+// * @return ETrue if it can.
+// */
+// bool CanSetAsAutomatedL(const TDesC& aUri, TGlxDrmAutomatedType aType);
+//
+// /**
+// * Set a media item as automated content.
+// * @param aUri URI of the media item.
+// * @param aType Automated content type, eg. wallpaper.
+// */
+// void SetAsAutomatedL(const TDesC& aUri, TGlxDrmAutomatedType aType);
+//
+// /**
+// * Show DRM details for specified item.
+// * @param aUri URI of the media item.
+// */
+// void ShowDRMDetailsPaneL(const TDesC& aUri);
+//
+// /**
+// * Show DRM details for specified item.
+// * @param Filehandle of the media item.
+// */
+// void ShowDRMDetailsPaneL(RFile& aFileHandle);
+//
+// /**
+// * Ask DRM manager if file is forward locked
+// */
+// bool IsForwardLockedL(const TDesC& aUri);
+//
+ /**
+ * Show rights info
+ * @param aUri URI of the media item.
+ */
+ void ShowRightsInfo(QString aUri);
+
+// /**
+// * Show rights info
+// * @param filehandle of the media item.
+// */
+// void ShowRightsInfoL(RFile& aFileHandle);
+//
+// /**
+// * Get size of thumbnail to be requested for DRM invalid item
+// * @param aSize size of image
+// * @return suggested thumbnail size (1/4 of original size)
+// */
+// TSize DRMThumbnailSize(TSize& aSize);
+
+private:
+ GlxDRMUtilityWrapper* iDRMUtilityWrapper;
+ CGlxDRMUtility* iDRMUtility;
+};
+
+#endif //GLXDRMUTILITYWRAPPERPRIVATE_H
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/uiengine/drmutilitywrapper/src/glxdrmutilitywrapper.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,44 @@
+/*
+* 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"glxdrmutilitywrapper_p.h"
+#include"glxdrmutilitywrapper.h"
+
+GlxDRMUtilityWrapper::GlxDRMUtilityWrapper()
+ {
+ mDRMUtilityWrapperPrivate = new GlxDRMUtilityWrapperPrivate(this);
+ }
+GlxDRMUtilityWrapper::~GlxDRMUtilityWrapper()
+ {
+ delete mDRMUtilityWrapperPrivate;
+ }
+bool GlxDRMUtilityWrapper::ItemRightsValidityCheck(QString aUri, bool aCheckViewRights)
+ {
+ bool ret = mDRMUtilityWrapperPrivate->ItemRightsValidityCheck(aUri,aCheckViewRights);
+ return ret;
+ }
+
+bool GlxDRMUtilityWrapper::ConsumeRights(QString aUri)
+ {
+ bool ret = mDRMUtilityWrapperPrivate->ConsumeRights(aUri);
+ return ret;
+ }
+
+void GlxDRMUtilityWrapper::ShowRightsInfo(QString aUri)
+ {
+ mDRMUtilityWrapperPrivate->ShowRightsInfo(aUri);
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/uiengine/drmutilitywrapper/src/glxdrmutilitywrapper_p.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,197 @@
+/*
+* 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"glxdrmutilitywrapper_p.h"
+#include"glxdrmutility.h"
+
+#include <QString>
+#include <QDir>
+
+GlxDRMUtilityWrapperPrivate::GlxDRMUtilityWrapperPrivate(GlxDRMUtilityWrapper* DRMUtilityWrapper)
+ {
+ iDRMUtilityWrapper = DRMUtilityWrapper;
+ iDRMUtility = CGlxDRMUtility::InstanceL();
+ }
+/*
+ * Destructor
+ */
+GlxDRMUtilityWrapperPrivate::~GlxDRMUtilityWrapperPrivate()
+ {
+ if(iDRMUtility)
+ {
+ iDRMUtility->Close();
+ }
+ }
+
+/**
+ * Check whether DRM rights are valid for specified item
+ * is called before right is consumed and for all items (focused or unfocused).
+ */
+bool GlxDRMUtilityWrapperPrivate::ItemRightsValidityCheck(QString aUri, bool aCheckViewRights)
+ {
+ QString filepath(QDir::toNativeSeparators(aUri));
+ TPtrC16 str(reinterpret_cast<const TUint16*> (filepath.utf16()));
+ HBufC* uri = str.Alloc();
+ TBool checkViewRight = aCheckViewRights?ETrue:EFalse;
+ bool ret = iDRMUtility->ItemRightsValidityCheckL(*uri,checkViewRight);
+ return ret;
+ }
+
+///**
+// * Check whether DRM rights are valid for specified item
+// * is called before right is consumed and for all items (focused or unfocused).
+// */
+//bool GlxDRMUtilityWrapperPrivate::ItemRightsValidityCheckL(RFile& aFileHandle, TBool aCheckViewRights)
+// {
+//
+// }
+//
+///**
+// * Check whether DRM rights are valid for specified item
+// * If the rights were just consumed, then allow to display
+// * Otherwise, obtain current rights
+// * is called after right is consumed and for only focused/displayed item.
+// */
+//bool GlxDRMUtilityWrapperPrivate::DisplayItemRightsCheckL(const TDesC& aUri, TBool aCheckViewRights)
+// {
+//
+// }
+//
+///**
+// * Check whether DRM rights are valid for specified item
+// * If the rights were just consumed, then allow to display
+// * Otherwise, obtain current rights
+// * is called after right is consumed and for only focused/displayed item.
+// */
+//bool GlxDRMUtilityWrapperPrivate::DisplayItemRightsCheckL(RFile& aFileHandle, TBool aCheckViewRights)
+// {
+//
+// }
+//
+/**
+ * Consume rights for specified item
+ * Caches item so that a client has right to display the item
+ */
+bool GlxDRMUtilityWrapperPrivate::ConsumeRights(QString aUri)
+ {
+ QString filepath(QDir::toNativeSeparators(aUri));
+ TPtrC16 str(reinterpret_cast<const TUint16*> (filepath.utf16()));
+ HBufC* uri = str.Alloc();
+ bool ret = iDRMUtility->ConsumeRightsL(*uri);
+ return ret;
+ }
+//
+///**
+// * Consume rights for specified item
+// * Caches item so that a client has right to display the item
+// */
+//bool GlxDRMUtilityWrapperPrivate::ConsumeRightsL(RFile& aFileHandle)
+// {
+//
+// }
+//
+///**
+// * Clears Last Consumed Uri
+// */
+//void GlxDRMUtilityWrapperPrivate::ClearLastConsumedItemUriL()
+// {
+//
+// }
+//
+///**
+// * Test whether a media item is OMA DRM 2.0 protected and has an associated
+// * info URL.
+// */
+//bool GlxDRMUtilityWrapperPrivate::CanShowInfoOnlineL(const TDesC& aUri)
+// {
+//
+// }
+//
+///**
+// * Open the associated info URL for a media item in the browser.
+// */
+//void GlxDRMUtilityWrapperPrivate::ShowInfoOnlineL(const TDesC& aUri)
+// {
+//
+// }
+//
+///**
+// * Test whether a media item can be set as automated content. *
+// */
+//bool GlxDRMUtilityWrapperPrivate::CanSetAsAutomatedL(const TDesC& aUri, TGlxDrmAutomatedType aType)
+// {
+//
+// }
+//
+///**
+// * Set a media item as automated content.
+// */
+//void GlxDRMUtilityWrapperPrivate::SetAsAutomatedL(const TDesC& aUri, TGlxDrmAutomatedType aType)
+// {
+//
+// }
+//
+///**
+// * Show DRM details for specified item.
+// */
+//void GlxDRMUtilityWrapperPrivate::ShowDRMDetailsPaneL(const TDesC& aUri)
+// {
+//
+// }
+//
+///**
+// * Show DRM details for specified item.
+// */
+//void GlxDRMUtilityWrapperPrivate::ShowDRMDetailsPaneL(RFile& aFileHandle)
+// {
+//
+// }
+//
+///**
+// * Ask DRM manager if file is forward locked
+// */
+//bool GlxDRMUtilityWrapperPrivate::IsForwardLockedL(const TDesC& aUri)
+// {
+//
+// }
+//
+/**
+ * Show rights info
+ */
+void GlxDRMUtilityWrapperPrivate::ShowRightsInfo(QString aUri)
+ {
+ QString filepath(QDir::toNativeSeparators(aUri));
+ TPtrC16 str(reinterpret_cast<const TUint16*> (filepath.utf16()));
+ HBufC* uri = str.Alloc();
+ iDRMUtility->ShowRightsInfoL(*uri);
+ }
+
+///**
+// * Show rights info
+// */
+//void GlxDRMUtilityWrapperPrivate::ShowRightsInfoL(RFile& aFileHandle)
+// {
+//
+// }
+//
+///**
+// * Get size of thumbnail to be requested for DRM invalid item
+// */
+//TSize GlxDRMUtilityWrapperPrivate::DRMThumbnailSize(TSize& aSize)
+// {
+//
+// }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/uiengine/eabi/glxdrmutilitywrapperu.def Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,9 @@
+EXPORTS
+ _ZN20GlxDRMUtilityWrapper23ItemRightsValidityCheckE7QStringb @ 1 NONAME
+ _ZN20GlxDRMUtilityWrapperC1Ev @ 2 NONAME
+ _ZN20GlxDRMUtilityWrapperC2Ev @ 3 NONAME
+ _ZN20GlxDRMUtilityWrapperD1Ev @ 4 NONAME
+ _ZN20GlxDRMUtilityWrapperD2Ev @ 5 NONAME
+ _ZN20GlxDRMUtilityWrapper13ConsumeRightsE7QString @ 6 NONAME
+ _ZN20GlxDRMUtilityWrapper14ShowRightsInfoE7QString @ 7 NONAME
+
--- a/ui/uiengine/eabi/glxmedialistwrapperu.def Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/eabi/glxmedialistwrapperu.def Tue Jul 06 14:16:16 2010 +0300
@@ -51,4 +51,7 @@
_ZN12GlxMLWrapper17removeContextModeE14GlxContextMode @ 50 NONAME
_ZN12GlxMLWrapper13updateDetailsEv @ 51 NONAME
_ZN12GlxMLWrapper26handleDetailsItemAvailableEi @ 52 NONAME
+ _ZN12GlxMLWrapper10IsDrmValidEi @ 53 NONAME
+ _ZN12GlxMLWrapper11setDrmValidEib @ 54 NONAME
+ _ZN12GlxMLWrapper14IsDrmProtectedEi @ 55 NONAME
--- a/ui/uiengine/medialists/group/glxmedialists.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/group/glxmedialists.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -103,5 +103,6 @@
LIBRARY bitgdi.lib
#endif
+SMPSAFE
// End of File
--- a/ui/uiengine/medialists/src/glxmedia.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/src/glxmedia.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -273,7 +273,7 @@
{
TRACER("TGlxMedia::IsDrmProtected");
- TBool isDrmProtected = ETrue;
+ TBool isDrmProtected = EFalse;
if ( iItem )
{
// ignore return value. Failure leaves isDrmProtected unchanged as ETrue
--- a/ui/uiengine/medialists/src/glxthumbnailcontext.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/src/glxthumbnailcontext.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -590,7 +590,7 @@
const TDesC& uri = item.Uri();
if ( uri.Length() && cat != EMPXNoCategory )
{
- valid = iDrmUtility->CheckOpenRightsL( uri, ( cat == EMPXImage ) );
+ valid = iDrmUtility->ItemRightsValidityCheckL( uri, ( cat == EMPXImage ) );
CGlxMedia* properties = const_cast<CGlxMedia*>(item.Properties());
if( valid )
{
--- a/ui/uiengine/medialists/test/group/t_cglxcache.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/group/t_cglxcache.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -78,5 +78,5 @@
LIBRARY glxlogging.lib
EXPORTUNFROZEN
-
+SMPSAFE
// End of file
--- a/ui/uiengine/medialists/test/group/t_cglxfetcherrorarray.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/group/t_cglxfetcherrorarray.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -51,5 +51,5 @@
LIBRARY mpxcommon.lib
EXPORTUNFROZEN
-
+SMPSAFE
// End of file
--- a/ui/uiengine/medialists/test/group/t_cglxgarbagecollector.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/group/t_cglxgarbagecollector.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -78,5 +78,5 @@
LIBRARY glxlogging.lib
EXPORTUNFROZEN
-
+SMPSAFE
// End of file
--- a/ui/uiengine/medialists/test/group/t_cglxmedia.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/group/t_cglxmedia.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -54,5 +54,5 @@
LIBRARY glxlogging.lib
EXPORTUNFROZEN
-
+SMPSAFE
// End of file
--- a/ui/uiengine/medialists/test/group/t_glxfromfocusoutwarditerator.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/group/t_glxfromfocusoutwarditerator.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -44,5 +44,5 @@
LIBRARY lbs.lib // TCoordinate
EXPORTUNFROZEN
-
+SMPSAFE
// End of file
--- a/ui/uiengine/medialists/test/group/t_glxlistwindow.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/group/t_glxlistwindow.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -55,4 +55,5 @@
// Libraries required by the tested code
EXPORTUNFROZEN
+SMPSAFE
// End of file
--- a/ui/uiengine/medialists/test/group/t_tglxexclusioniterator.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/group/t_tglxexclusioniterator.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -49,5 +49,5 @@
//LIBRARY glxmedialists.lib
EXPORTUNFROZEN
-
+SMPSAFE
// End of file
--- a/ui/uiengine/medialists/test/group/ut_cglxattributecontext.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/group/ut_cglxattributecontext.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -87,5 +87,5 @@
LIBRARY lbs.lib // TCoordinate
EXPORTUNFROZEN
-
+SMPSAFE
// End of file
--- a/ui/uiengine/medialists/test/group/ut_cglxitemlist.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/group/ut_cglxitemlist.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -67,5 +67,5 @@
LIBRARY Lbs.lib
EXPORTUNFROZEN
-
+SMPSAFE
// End of file
--- a/ui/uiengine/medialists/test/group/ut_cglxmedialist.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/group/ut_cglxmedialist.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -79,4 +79,5 @@
LIBRARY lbs.lib // TCoordinate
EXPORTUNFROZEN
+SMPSAFE
// End of file
--- a/ui/uiengine/medialists/test/group/ut_cglxnavigablelist.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/group/ut_cglxnavigablelist.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -70,4 +70,5 @@
LIBRARY Lbs.lib
EXPORTUNFROZEN
+SMPSAFE
// End of file
--- a/ui/uiengine/medialists/test/group/ut_cglxstaticitemlist.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/group/ut_cglxstaticitemlist.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -68,5 +68,5 @@
LIBRARY mpxcommon.lib
EXPORTUNFROZEN
-
+SMPSAFE
// End of file
--- a/ui/uiengine/medialists/test/group/ut_glxerrormanager.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/group/ut_glxerrormanager.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -86,4 +86,5 @@
LIBRARY lbs.lib // TCoordinate
EXPORTUNFROZEN
+SMPSAFE
// End of file
--- a/ui/uiengine/medialists/test/group/ut_tglxselectioniterator.mmp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/group/ut_tglxselectioniterator.mmp Tue Jul 06 14:16:16 2010 +0300
@@ -44,5 +44,6 @@
LIBRARY mpxcommon.lib
EXPORTUNFROZEN
+SMPSAFE
// End of file
--- a/ui/uiengine/medialists/test/ut_cglxattributecontext/ut_cglxattributecontext.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/ut_cglxattributecontext/ut_cglxattributecontext.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -45,7 +45,7 @@
delete this;
}
-TBool CGlxDRMUtility::CheckOpenRightsL(const TDesC&, TBool)
+TBool CGlxDRMUtility::ItemRightsValidityCheckL(const TDesC&, TBool)
{
return ETrue;
}
--- a/ui/uiengine/medialists/test/ut_cglxmedialist/ut_cglxmedialist.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/ut_cglxmedialist/ut_cglxmedialist.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -51,7 +51,7 @@
delete this;
}
-TBool CGlxDRMUtility::CheckOpenRightsL(const TDesC&, TBool)
+TBool CGlxDRMUtility::ItemRightsValidityCheckL(const TDesC&, TBool)
{
return ETrue;
}
--- a/ui/uiengine/medialists/test/ut_glxerrormanager/ut_glxerrormanager.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialists/test/ut_glxerrormanager/ut_glxerrormanager.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -47,7 +47,7 @@
delete this;
}
-TBool CGlxDRMUtility::CheckOpenRightsL(const TDesC&, TBool)
+TBool CGlxDRMUtility::ItemRightsValidityCheckL(const TDesC&, TBool)
{
return ETrue;
}
--- a/ui/uiengine/medialistwrapper/inc/glxmlwrapper.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialistwrapper/inc/glxmlwrapper.h Tue Jul 06 14:16:16 2010 +0300
@@ -113,6 +113,10 @@
QString retrieveViewTitle();
void handlepopulated();
bool IsPopulated();
+ bool IsDrmProtected(int index = -1);
+ bool IsDrmValid(int index);
+ void setDrmValid(int index,bool valid);
+
/*
* retriveBitmap helps to retrive the bitmap
* @param1 index
--- a/ui/uiengine/medialistwrapper/inc/glxmlwrapper_p.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialistwrapper/inc/glxmlwrapper_p.h Tue Jul 06 14:16:16 2010 +0300
@@ -39,6 +39,7 @@
class CGlxDefaultThumbnailContext;
class CGlxDefaultListAttributeContext;
class CGlxTitleFetcher;
+class CGlxDRMUtility;
//to use first call GlxMLWrapperPrivate::Instance then set the mode by calling GlxMLWrapperPrivate::SetContextMode()
//CLASS Declaration
class GlxMLWrapperPrivate : public QObject,public MGlxTitleFetcherObserver
@@ -134,7 +135,9 @@
void SetDescontextL();
QString RetrieveViewTitle();
bool IsPopulated();
-
+ bool IsDrmProtected(int index );
+ bool IsDrmValid(int index);
+ void setDrmValid(int index,bool valid);
private:
/**
@@ -237,6 +240,6 @@
CGlxTitleFetcher* iTitleFetcher;
QImage iCorruptImage;
QString iViewTitle;
-
+ CGlxDRMUtility * iDrmUtility;
};
#endif //GLXMLWRAPPER_P_H
--- a/ui/uiengine/medialistwrapper/medialistwrapper.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialistwrapper/medialistwrapper.pro Tue Jul 06 14:16:16 2010 +0300
@@ -42,6 +42,8 @@
TARGET.UID3 = 0x20000A0B
TARGET.CAPABILITY = ALL -TCB
TARGET.EPOCALLOWDLLDATA = 1
+MMP_RULES += SMPSAFE
+
}
# Input
HEADERS += inc/glxmlgenericobserver.h inc/glxmlwrapper.h inc/glxmlwrapper_p.h inc/glxattributeretriever.h inc/glxtitlefetcher.h
--- a/ui/uiengine/medialistwrapper/src/glxmlwrapper.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialistwrapper/src/glxmlwrapper.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -178,6 +178,20 @@
return mMLWrapperPrivate->IsPopulated();
}
+bool GlxMLWrapper::IsDrmProtected(int index)
+ {
+ return mMLWrapperPrivate->IsDrmProtected(index);
+ }
+bool GlxMLWrapper::IsDrmValid(int index)
+ {
+ return mMLWrapperPrivate->IsDrmValid(index);
+ }
+
+void GlxMLWrapper::setDrmValid(int index,bool valid)
+ {
+ mMLWrapperPrivate->setDrmValid(index,valid);
+ }
+
QVariant GlxMLWrapper::RetrieveBitmap(int index)
{
QVariant var;
--- a/ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -45,6 +45,8 @@
//#define GLXPERFORMANCE_LOG
#include <glxperformancemacro.h>
#include "glxtitlefetcher.h"
+#include"glxdrmutility.h"
+
//constant declaration
const TInt KTBAttributeAvailable(1);
const TInt KTBAttributeUnavailable(0);
@@ -131,6 +133,7 @@
}
iMLGenericObserver = CGlxMLGenericObserver::NewL(*iMediaList,this);
iBlockyIteratorForFilmStrip.SetRangeOffsets(0,0);
+ iDrmUtility = CGlxDRMUtility::InstanceL();
}
// ---------------------------------------------------------------------------
@@ -140,6 +143,10 @@
GlxMLWrapperPrivate::~GlxMLWrapperPrivate()
{
TRACER("GlxMLWrapperPrivate::~GlxMLWrapperPrivate");
+ if ( iDrmUtility )
+ {
+ iDrmUtility->Close();
+ }
RemoveGridContext();
RemovePtFsContext();
RemoveLsFsContext();
@@ -590,7 +597,12 @@
filter = TGlxFilterFactory::CreateCameraAlbumExclusionFilterL();
CleanupStack::PushL(filter);
}
- else
+ else if(EGlxFilterImage == aFilterType)
+ {
+ filter = TGlxFilterFactory::CreateExcludeDrmImageTypeFilterL(aFilterType);
+ CleanupStack::PushL(filter);
+ }
+ else
{
filter = TGlxFilterFactory::CreateItemTypeFilterL(aFilterType); //todo take actual filter type
CleanupStack::PushL(filter);
@@ -1368,7 +1380,6 @@
{
iViewTitle = QString::fromUtf16(aTitle.Ptr(), aTitle.Length());
iMLWrapper->handleTitleAvailable(iViewTitle);
- RDebug::Print(_L("GlxPhotos: GlxMLWrapperPrivate : TITLE =-%S"),&aTitle);
}
QString GlxMLWrapperPrivate::RetrieveViewTitle()
@@ -1407,3 +1418,65 @@
iDetailsContextActivated = EFalse;
}
}
+
+bool GlxMLWrapperPrivate::IsDrmProtected(int index)
+ {
+ TInt itemIndex = index;
+ if(-1 == itemIndex)
+ {
+ itemIndex = iMediaList->FocusIndex();
+ }
+ const TGlxMedia& media = iMediaList->Item(itemIndex);
+ return media.IsDrmProtected();
+ }
+
+bool GlxMLWrapperPrivate::IsDrmValid(int index)
+ {
+ TInt itemIndex = index;
+ if(-1 == itemIndex)
+ {
+ itemIndex = iMediaList->FocusIndex();
+ }
+
+ const TGlxMedia& media = iMediaList->Item(itemIndex);
+ TGlxMediaGeneralRightsValidity isValid = EGlxDrmRightsValidityUnknown;
+ TBool ret = media.GetDrmValidity(isValid);
+ if(ret && EGlxDrmRightsValidityUnknown == isValid )
+ {
+ // check rights
+ TMPXGeneralCategory cat = media.Category();
+ const TDesC& uri = media.Uri();
+ if ( uri.Length() && cat != EMPXNoCategory )
+ {
+ TBool valid = iDrmUtility->ItemRightsValidityCheckL( uri, ( cat == EMPXImage ) );
+ CGlxMedia* properties = const_cast<CGlxMedia*>(media.Properties());
+ if( valid )
+ {
+
+ isValid = EGlxDrmRightsValid;
+ }
+ else
+ {
+
+ isValid = EGlxDrmRightsInvalid;
+ }
+ properties->SetTObjectValueL(KGlxMediaGeneralDRMRightsValid, isValid);
+ }
+ }
+ return ( EGlxDrmRightsValid == isValid );
+ }
+
+void GlxMLWrapperPrivate::setDrmValid(int index,bool valid)
+ {
+ const TGlxMedia& media = iMediaList->Item(index);
+ CGlxMedia* properties = const_cast<CGlxMedia*>(media.Properties());
+ if(valid)
+ {
+ properties->SetTObjectValueL(KGlxMediaGeneralDRMRightsValid, EGlxDrmRightsValid);
+ }
+ else
+ {
+ properties->SetTObjectValueL(KGlxMediaGeneralDRMRightsValid, EGlxDrmRightsInvalid);
+ }
+ }
+
--- a/ui/uiengine/medialistwrapper/src/glxtitlefetcher.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/medialistwrapper/src/glxtitlefetcher.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -59,8 +59,10 @@
// this path
iPath->Back();
- if( iPath->Levels() < 0 )
+ if( iPath->Levels() <= 0 )
{
+ //For This Level, Opening a collection is nothing but open EGlxCollectionPluginShowInMainListView
+ //We dont need this in 10.1
return;
}
--- a/ui/uiengine/model/bwins/glxlistmodelu.def Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/model/bwins/glxlistmodelu.def Tue Jul 06 14:16:16 2010 +0300
@@ -27,4 +27,6 @@
?data@GlxAlbumModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 26 NONAME ; class QVariant GlxAlbumModel::data(class QModelIndex const &, int) const
?metaObject@GlxAlbumModel@@UBEPBUQMetaObject@@XZ @ 27 NONAME ; struct QMetaObject const * GlxAlbumModel::metaObject(void) const
?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)
--- a/ui/uiengine/model/eabi/glxlistmodelu.def Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/model/eabi/glxlistmodelu.def Tue Jul 06 14:16:16 2010 +0300
@@ -27,4 +27,6 @@
_ZNK13GlxAlbumModel8rowCountERK11QModelIndex @ 26 NONAME
_ZTI13GlxAlbumModel @ 27 NONAME
_ZTV13GlxAlbumModel @ 28 NONAME
+ _ZN13GlxAlbumModel13listPopulatedEv @ 29 NONAME
+ _ZN13GlxAlbumModel14modelPopulatedEv @ 30 NONAME
--- a/ui/uiengine/model/favmediamodel/favmediamodel.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/model/favmediamodel/favmediamodel.pro Tue Jul 06 14:16:16 2010 +0300
@@ -35,6 +35,8 @@
TARGET.UID3 = 0x20000A06
TARGET.CAPABILITY = ALL -TCB
TARGET.EPOCALLOWDLLDATA = 1
+MMP_RULES += SMPSAFE
+
}
# Input
HEADERS += inc/glxfavmediamodel.h
--- a/ui/uiengine/model/listmodel/inc/glxalbummodel.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/model/listmodel/inc/glxalbummodel.h Tue Jul 06 14:16:16 2010 +0300
@@ -67,10 +67,12 @@
signals :
void iconAvailable(int itemIndex, HbIcon* itemIcon, GlxTBContextType tbContextType) const;
+ void listPopulated();
public slots:
void itemUpdated1(int mlIndex, GlxTBContextType tbContextType);
void itemsAdded(int startIndex, int endIndex);
void itemsRemoved(int startIndex, int endIndex);
+ void modelPopulated();
protected:
private slots:
@@ -80,6 +82,7 @@
GlxContextMode mContextMode;
HbIcon* mDefaultIcon;
QCache<int, HbIcon> itemIconCache;
+ int mTempVisibleWindowIndex;
};
#endif /* GLXALBUMMODEL_H */
--- a/ui/uiengine/model/listmodel/listmodel.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/model/listmodel/listmodel.pro Tue Jul 06 14:16:16 2010 +0300
@@ -32,6 +32,7 @@
TARGET.UID3 = 0x20000A0A
TARGET.CAPABILITY = ALL -TCB
TARGET.EPOCALLOWDLLDATA = 1
+MMP_RULES += SMPSAFE
}
# Input
HEADERS += inc/glxalbummodel.h
--- a/ui/uiengine/model/listmodel/src/glxalbummodel.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/model/listmodel/src/glxalbummodel.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -48,8 +48,11 @@
qDebug("insertItems() connection status %d", err);
err = connect(mMLWrapper, SIGNAL(removeItems(int, int)), this, SLOT(itemsRemoved(int, int)));
qDebug("removeItems() connection status %d", err);
+ err = connect(mMLWrapper, SIGNAL(populated()), this, SLOT(modelPopulated()));
+ qDebug("populated() connection status %d", err);
err = connect(this, SIGNAL(iconAvailable(int, HbIcon*, GlxTBContextType)), this, SLOT(updateItemIcon(int, HbIcon*, GlxTBContextType)));
qDebug("iconAvailable() connection status %d", err);
+ mTempVisibleWindowIndex = 0;
itemIconCache.setMaxCost(50);
}
@@ -62,6 +65,7 @@
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(populated()), this, SLOT(modelPopulated()));
delete mMLWrapper;
mMLWrapper = NULL;
itemIconCache.clear();
@@ -149,6 +153,8 @@
case GlxSystemItemRole :
return mMLWrapper->isSystemItem( getFocusIndex().row() );
+ case GlxVisualWindowIndex :
+ return mMLWrapper->getVisibleWindowIndex();
default :
return QVariant();
@@ -186,6 +192,12 @@
return TRUE;
}
}
+ if ( GlxTempVisualWindowIndex == role ) {
+ if ( value.isValid() && value.canConvert<int> () ) {
+ mTempVisibleWindowIndex = value.value <int> ();
+ return TRUE;
+ }
+ }
return FALSE;
}
@@ -232,6 +244,14 @@
return index(mMLWrapper->getFocusIndex(), 0);
}
+void GlxAlbumModel::modelPopulated()
+{
+ if ( mTempVisibleWindowIndex!=-1) {
+ mMLWrapper->setVisibleWindowIndex(mTempVisibleWindowIndex);
+ mTempVisibleWindowIndex = -1;
+ emit listPopulated();
+ }
+}
void GlxAlbumModel::itemUpdated1(int mlIndex,GlxTBContextType tbContextType )
{
Q_UNUSED(tbContextType);
--- a/ui/uiengine/model/mediamodel/inc/glxmediamodel.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/model/mediamodel/inc/glxmediamodel.h Tue Jul 06 14:16:16 2010 +0300
@@ -35,6 +35,7 @@
class HbIcon;
class GlxModelParm;
class GlxMLWrapper;
+class GlxDRMUtilityWrapper;
#include <QCache>
#include <QVector>
@@ -119,6 +120,8 @@
int externalDataCount;
int mFocusIndex;
int mSubState;
+ GlxDRMUtilityWrapper* mDRMUtilityWrapper;
+ int mTempVisibleWindowIndex;
};
--- a/ui/uiengine/model/mediamodel/mediamodel.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/model/mediamodel/mediamodel.pro Tue Jul 06 14:16:16 2010 +0300
@@ -20,12 +20,15 @@
INCLUDEPATH += . ../../../inc \
../../../../inc \
../../../../loggers\loggerqt\inc \
- ../../medialistwrapper/inc
+ ../../medialistwrapper/inc \
+ ../../drmutilitywrapper/inc
CONFIG += hb
LIBS += -lglxmedialistwrapper.dll \
- -lglxloggerqt.dll
+ -lglxdrmutilitywrapper.dll \
+ -lglxloggerqt.dll \
+ -lglximageviewermanager.dll
DEFINES += BUILD_MEDIAMODEL
@@ -35,6 +38,7 @@
TARGET.UID3 = 0x20000A08
TARGET.CAPABILITY = ALL -TCB
TARGET.EPOCALLOWDLLDATA = 1
+MMP_RULES += SMPSAFE
}
# Input
HEADERS += inc/glxmediamodel.h
--- a/ui/uiengine/model/mediamodel/src/glxmediamodel.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/model/mediamodel/src/glxmediamodel.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -24,13 +24,16 @@
#include <QCache>
#include <QDebug>
#include <glxmlwrapper.h>
+#include"glxdrmutilitywrapper.h"
#include <glxfiltergeneraldefs.h>
+#include <glximageviewermanager.h>
//#define GLXPERFORMANCE_LOG
#include <glxperformancemacro.h>
#include "glxicondefs.h" //Contains the icon names/Ids
+#include<glxviewids.h>
GlxMediaModel::GlxMediaModel(GlxModelParm & modelParm)
{
@@ -39,7 +42,7 @@
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)));
qDebug("updateItem() connection status %d", err);
err = connect(mMLWrapper, SIGNAL(itemCorrupted(int)), this, SLOT(itemCorrupted(int)));
@@ -65,6 +68,7 @@
externalDataCount = 0;
mFocusIndex = -1;
mSubState = -1;
+ mTempVisibleWindowIndex = 0;
}
GlxMediaModel::~GlxMediaModel()
@@ -85,7 +89,7 @@
err = disconnect(mMLWrapper, SIGNAL(populated()), this, SLOT(modelpopulated()));
err = disconnect(mMLWrapper, SIGNAL(updateDetails()), this, SLOT(updateDetailItems()));
delete mMLWrapper;
-
+ delete mDRMUtilityWrapper;
}
//------------------------------------------------------------------------------------------------------------
@@ -360,8 +364,30 @@
HbIcon* GlxMediaModel::GetFsIconItem(int itemIndex, GlxTBContextType tbContextType) const
{
- HbIcon* itemIcon = itemFsIconCache[itemIndex]; //Initialize icon from the Cache will be NULL if Item not present
- if (!itemIcon) {
+ HbIcon* itemIcon = NULL; //Initialize icon from the Cache will be NULL if Item not present
+
+ bool drmProtected = mMLWrapper->IsDrmProtected(itemIndex);
+ if(drmProtected)
+ {
+ QString imagePath = mMLWrapper->retrieveItemUri(itemIndex);
+ bool rightValid = mMLWrapper->IsDrmValid(itemIndex);
+ if(!rightValid)
+ {
+ //show error note here
+ if(itemIndex == mFocusIndex )
+ mDRMUtilityWrapper->ShowRightsInfo(imagePath);
+ return itemIcon;
+ }
+ else
+ {
+ //consumeDrmRights(imagePath);
+ mDRMUtilityWrapper->ConsumeRights(imagePath);
+ bool rightValid = mDRMUtilityWrapper->ItemRightsValidityCheck(imagePath,true);
+ mMLWrapper->setDrmValid(itemIndex,rightValid);
+ }
+ }
+ itemIcon = itemFsIconCache[itemIndex]; //Initialize icon from the Cache will be NULL if Item not present
+ if (!itemIcon) {
itemIcon = mMLWrapper->retrieveItemIcon(itemIndex, tbContextType);
if(itemIcon){
emit iconAvailable(itemIndex,itemIcon, tbContextType);
@@ -407,6 +433,10 @@
void GlxMediaModel::modelpopulated()
{
+ if ( mTempVisibleWindowIndex!=-1) {
+ mMLWrapper->setVisibleWindowIndex(mTempVisibleWindowIndex);
+ mTempVisibleWindowIndex = -1;
+ }
emit populated();
}
@@ -470,10 +500,10 @@
{
qDebug("GlxMediaModel::setFocusIndex%d", index.row());
int itemIndex = index.row();
-
+ int mlIndex = -1;
if(itemIndex >=externalDataCount)
{
- int mlIndex = itemIndex - externalDataCount;
+ mlIndex = itemIndex - externalDataCount;
mMLWrapper->setFocusIndex(mlIndex);
mFocusIndex = -1;
}
@@ -481,10 +511,22 @@
mFocusIndex = itemIndex;
if(rowCount() > externalDataCount) {
mMLWrapper->setFocusIndex(0);
+ mlIndex = 0;
}
}
-
+ if(mSubState != IMAGEVIEWER_S ){
+ if( mMLWrapper->IsDrmProtected(mlIndex) && (!mMLWrapper->IsDrmValid(mlIndex)) )
+ {
+ QString imagePath = mMLWrapper->retrieveItemUri(mlIndex);
+ mDRMUtilityWrapper->ShowRightsInfo(imagePath);
+ }
+ }else {
+ CGlxImageViewerManager* CGlxImageViewerManager = CGlxImageViewerManager::InstanceL();
+ const TDesC& title = CGlxImageViewerManager->ImageUri()->Des();
+ QString imagePath = QString::fromUtf16(title.Ptr(),title.Length());
+ mDRMUtilityWrapper->ShowRightsInfo(imagePath);
+ }
}
QModelIndex GlxMediaModel::getFocusIndex() const
@@ -554,6 +596,12 @@
mSubState = value.value <int> () ;
return TRUE;
}
+ if ( GlxTempVisualWindowIndex == role ) {
+ if ( value.isValid() && value.canConvert<int> () ) {
+ mTempVisibleWindowIndex = value.value <int> ();
+ return TRUE;
+ }
+ }
return FALSE;
}
--- a/ui/uiengine/model/modelwrapper/modelwrapper.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/model/modelwrapper/modelwrapper.pro Tue Jul 06 14:16:16 2010 +0300
@@ -30,6 +30,7 @@
TARGET.UID3 = 0x2000718C
TARGET.CAPABILITY = ALL -TCB
TARGET.EPOCALLOWDLLDATA = 1
+MMP_RULES += SMPSAFE
}
# Input
HEADERS += inc/glxmodelwrapper.h
--- a/ui/uiengine/uiengine.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/uiengine/uiengine.pro Tue Jul 06 14:16:16 2010 +0300
@@ -16,5 +16,6 @@
#*/
TEMPLATE = subdirs
CONFIG += ordered
-SUBDIRS = medialistwrapper \
+SUBDIRS = drmutilitywrapper \
+ medialistwrapper \
model
--- a/ui/viewmanagement/bwins/glxstatehandleru.def Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewmanagement/bwins/glxstatehandleru.def Tue Jul 06 14:16:16 2010 +0300
@@ -37,4 +37,6 @@
?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)
--- a/ui/viewmanagement/bwins/glxviewmanageru.def Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewmanagement/bwins/glxviewmanageru.def Tue Jul 06 14:16:16 2010 +0300
@@ -47,4 +47,6 @@
?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)
--- a/ui/viewmanagement/eabi/glxstatehandleru.def Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewmanagement/eabi/glxstatehandleru.def Tue Jul 06 14:16:16 2010 +0300
@@ -37,4 +37,6 @@
_ZN15GlxStateManager11eventFilterEP7QObjectP6QEvent @ 36 NONAME
_ZN15GlxStateManager20launchProgressDialogEv @ 37 NONAME
_ZN15GlxStateManager20vanishProgressDialogEv @ 38 NONAME
+ _ZN15GlxStateManager14launchActivityEv @ 39 NONAME
+ _ZN15GlxStateManager8saveDataEv @ 40 NONAME
--- a/ui/viewmanagement/eabi/glxviewmanageru.def Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewmanagement/eabi/glxviewmanageru.def Tue Jul 06 14:16:16 2010 +0300
@@ -47,4 +47,6 @@
_ZTI14GlxViewManager @ 46 NONAME
_ZTV14GlxViewManager @ 47 NONAME
_ZN14GlxViewManager18hideProgressDialogEv @ 48 NONAME
+ _ZN14GlxViewManager15handleReadyViewEv @ 49 NONAME
+ _ZN14GlxViewManager16applicationReadyEv @ 50 NONAME
--- a/ui/viewmanagement/statehandler/inc/glxstatemanager.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewmanagement/statehandler/inc/glxstatemanager.h Tue Jul 06 14:16:16 2010 +0300
@@ -24,6 +24,7 @@
#include <QObject>
#include <QList>
#include <glxbasestate.h>
+#include <qmap.h>
class GlxState;
class GlxViewManager;
@@ -118,6 +119,7 @@
* call back function to monitor the change in thumbnail manager
*/
void updateTNProgress( int count);
+ void saveData();
public :
/*
@@ -198,6 +200,11 @@
*/
void exitApplication();
+ /*Launch Application as an acitivyt.
+ * Return Value @0 : If launching an activity fails
+ * @1 : If launch activity passes
+ */
+ bool launchActivity();
private:
GlxViewManager *mViewManager;
GlxMediaModel *mAllMediaModel; // for all grid
@@ -210,6 +217,7 @@
GlxTNObserver *mTNObserver;
int mCollectionId;
bool isProgressbarRunning;
+ QMap<QString, qint32> mSaveActivity;
};
--- a/ui/viewmanagement/statehandler/src/glxcommandhandlerfactory.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewmanagement/statehandler/src/glxcommandhandlerfactory.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -21,6 +21,8 @@
#include<glxcommandhandlerdelete.h>
#include <glxcommandhandleraddtocontainer.h>
#include <glxcommandhandlerrotate.h>
+#include <glxcommandhandlerrotateimage.h>
+#include <glxcommandhandlercropimage.h>
#include <glxcommandhandlerremovefrom.h>
#include <glxcommandhandlernewmedia.h>
#include <glxcommandhandlersend.h>
@@ -56,7 +58,12 @@
case EGlxCmdComment: cmdHandler = new GlxCommandHandlerComment();
break;
-
+ case EGlxCmdRotateImgCW:
+ case EGlxCmdRotateImgCCW:
+ cmdHandler = new GlxCommandHandlerRotateImage();
+ break;
+ case EGlxCmdRotateImgCrop: cmdHandler = new GlxCommandHandlerCropImage();
+ break;
default:
break;
}
--- a/ui/viewmanagement/statehandler/src/glxstatemanager.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewmanagement/statehandler/src/glxstatemanager.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -22,6 +22,8 @@
#include <hbnotificationdialog.h>
#include <QProcess>
#include <hbinstance.h>
+#include <HbActivityManager.h>
+#include <hbapplication.h>
//user includes
#include "glxstatemanager.h"
@@ -67,10 +69,12 @@
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 );
connect ( mTNObserver, SIGNAL( leftTNCount( int ) ), this, SLOT( updateTNProgress( int ) ) );
+ connect ( qobject_cast<HbApplication*>(qApp), SIGNAL (aboutToQuit()), this, SLOT(saveData()));
//TO:DO TBD through exception when it is null
}
@@ -121,12 +125,18 @@
void GlxStateManager::launchApplication()
{
qDebug("GlxStateManager::launchApplication");
-
+ 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 );
-
- if ( mTNObserver->getTNLeftCount() > 0 ) {
+
+ int leftCount = mTNObserver->getTNLeftCount() ;
+ if ( leftCount > 0 ) {
mViewManager->launchApplication( GLX_GRIDVIEW_ID, mCurrentModel);
launchProgressDialog();
}
@@ -136,6 +146,41 @@
}
mTNObserver->startTNObserving() ;
+ }
+ //Remove the previous activity
+ 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);
+ bool ok = app->activityManager()->waitActivity();
+ 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");
+ mCurrentState = createState(stateId);
+ mCurrentState->setState( fetchActivity.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 );
+ mViewManager->launchApplication(stateId, mCurrentModel);
+ return true;
}
void GlxStateManager::launchFromExternal()
@@ -171,10 +216,12 @@
void GlxStateManager::updateTNProgress( int count)
{
TRACER("GlxStateManager::updateTNProgress() ");
- // 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 ) {
+// 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
+ if ( mCurrentModel && ( count > 5 ) ) {
goBack( GLX_GRIDVIEW_ID, ALL_ITEM_S ) ;
cleanAllModel();
launchProgressDialog();
@@ -189,9 +236,46 @@
else {
mViewManager->updateProgressDialog( count );
}
+ }
+}
+
+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>());
+ }
+ }
+ else
+ mSaveActivity.insert("VisibleIndex",0);
+
+ HbActivityManager* activityManager = qobject_cast<HbApplication*>(qApp)->activityManager();
+
+ //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" );
}
+ }
}
+
void GlxStateManager::nextState(qint32 state, int internalState)
{
qDebug("GlxStateManager::nextState next state = %u", state);
@@ -226,7 +310,7 @@
if ( mCurrentState->previousState() == NULL ) { //In the case only one state in stack then exit from the application
exitApplication() ;
- mCurrentState = NULL;
+ return ;
}
else {
//effect parameter should be set here other wise there is no way to know from where it come from
@@ -618,13 +702,11 @@
void GlxStateManager::exitApplication()
{
- if ( mCurrentState->id( ) == GLX_FULLSCREENVIEW_ID && mCurrentState->state() == EXTERNAL_S ) {
- emit externalCommand(EGlxPluginCmdBack);
- }
- else {
+
+
//To:Do memory cleanup
QApplication::quit();
- }
+
}
GlxStateManager::~GlxStateManager()
@@ -638,6 +720,7 @@
disconnect ( mViewManager, SIGNAL(externalCommand(int )), this, SIGNAL(externalCommand(int )) );
disconnect ( mTNObserver, SIGNAL( leftTNCount( int ) ), this, SLOT( updateTNProgress( int ) ) );
disconnect ( this, SIGNAL( setupItemsSignal() ), this, SLOT( setupItems() ) );
+ disconnect ( qobject_cast<HbApplication*>(qApp), SIGNAL (aboutToQuit()), this, SLOT(saveData()));
delete mTNObserver;
delete mViewManager;
--- a/ui/viewmanagement/statehandler/statehandler.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewmanagement/statehandler/statehandler.pro Tue Jul 06 14:16:16 2010 +0300
@@ -40,6 +40,7 @@
TARGET.UID3 = 0x20000A07
TARGET.CAPABILITY = ALL -TCB
TARGET.EPOCALLOWDLLDATA = 1
+MMP_RULES += SMPSAFE
}
LIBS += -lglxviewmanager.dll \
--- a/ui/viewmanagement/viewmanager/inc/glxviewmanager.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewmanagement/viewmanager/inc/glxviewmanager.h Tue Jul 06 14:16:16 2010 +0300
@@ -105,6 +105,7 @@
*/
void actionTriggered(qint32 id);
void externalCommand(int cmdId);
+ void applicationReady();
public slots:
/*
@@ -146,6 +147,7 @@
*/
void itemSpecificMenuTriggered(qint32,QPointF );
+ void handleReadyView();
protected:
private slots:
@@ -205,7 +207,6 @@
QList<HbAction *> mMarkingActionList; //marking mode tool bar action list
HbToolBar *mViewToolBar; //view tool bar
HbToolBar *mMarkingToolBar; //marking mode tool bar
- HbMenu *mMenu;
GlxView *mView;
QAbstractItemModel *mModel; //no ownership
QItemSelectionModel * mSelectionModel;
--- a/ui/viewmanagement/viewmanager/src/glxmenumanager.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewmanagement/viewmanager/src/glxmenumanager.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -20,7 +20,8 @@
#include <hbaction.h>
#include <hbmenu.h>
#include <hbmainwindow.h>
-
+#include <featdiscovery.h>
+#include <publicruntimeids.hrh>
//user include
#include "glxviewids.h"
#include "glxmenumanager.h"
@@ -29,7 +30,6 @@
#include "glxlocalisationstrings.h"
-
GlxMenuManager::GlxMenuManager(HbMainWindow* mainWindow)
: mModel( 0),
mMainWindow( mainWindow ),
@@ -48,11 +48,13 @@
action = menu->addAction(GLX_OPTION_MARK_ALL);
action->setData(EGlxCmdMarkAll);
+ action->setObjectName( "Menu MarkAll" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
action = menu->addAction(GLX_OPTION_UN_MARK_ALL);
action->setDisabled(true); //Dim UnMarkAll when no images are marked
action->setData(EGlxCmdUnMarkAll);
+ action->setObjectName( "Menu UnMarkAll" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
}
@@ -61,11 +63,12 @@
QList<QAction*> actionList = menu->actions();
for ( int i = 0 ; i < actionList.count(); i++) {
if(actionList.at(i)->data()==EGlxCmdUnMarkAll) {
- actionList.at(i)->setDisabled(disable);
- break;
+ actionList.at(i)->setDisabled(disable);
+ break;
}
}
}
+
void GlxMenuManager::addMenu(qint32 viewId, HbMenu* menu)
{
switch(viewId) {
@@ -108,29 +111,39 @@
{
qDebug()<<"GlxMenuManager::CreateGridMenu";
HbAction *action = NULL;
+ menu->setObjectName( "GridMenu" );
action = menu->addAction(GLX_OPTION_SHARE);
action->setData(EGlxCmdSend);
+ action->setObjectName( "GridMenu Send" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
mSubMenu = menu->addMenu(GLX_OPTION_SLIDESHOW);
+ mSubMenu->setObjectName( "GridMenu SlideShow" );
+
action = mSubMenu->addAction(GLX_OPTION_SS_PLAY);
action->setData(EGlxCmdFirstSlideshow);
+ action->setObjectName( "GridMenu Play" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
action = mSubMenu->addAction(GLX_OPTION_SS_SETTINGS);
action->setData(EGlxCmdSlideshowSettings);
+ action->setObjectName( "GridMenu Setting" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+
action = menu->addAction(GLX_OPTION_ADD_TO_ALBUM);
action->setData(EGlxCmdAddToAlbum);
+ action->setObjectName( "GridMenu AddToAlbum" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
action = menu->addAction(GLX_OPTION_REMOVE_FROM_ALBUM);
action->setData(EGlxCmdRemoveFrom);
+ action->setObjectName( "GridMenu RemoveAlbum" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
action = menu->addAction(GLX_OPTION_DELETE);
action->setData(EGlxCmdDelete);
+ action->setObjectName( "GridMenu Delete" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
}
@@ -138,9 +151,11 @@
{
qDebug()<<"GlxMenuManager::CreateListMenu";
HbAction *action = NULL;
+ menu->setObjectName( "Listmenu" );
action = menu->addAction(GLX_OPTION_NEW_ALBUM);
action->setData(EGlxCmdAddMedia);
+ action->setObjectName( "ListMenu NewAlbum" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
}
@@ -148,21 +163,47 @@
{
qDebug()<<"GlxMenuManager::CreateFullscreenMenu";
HbAction *action = NULL;
+ menu->setObjectName( "FSMenu" );
action = menu->addAction(GLX_OPTION_SHARE);
action->setData(EGlxCmdSend);
+ action->setObjectName( "FSMenu Share" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
mSubMenu = menu->addMenu(GLX_OPTION_SLIDESHOW);
- action = mSubMenu->addAction(GLX_OPTION_SS_PLAY);
+ mSubMenu->setObjectName( "FSMenu SlideShow" );
+
+ action = mSubMenu->addAction(GLX_OPTION_SS_PLAY);
action->setData(EGlxCmdSelectSlideshow);
- connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+ action->setObjectName( "FSMenu Play" );
+ connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+
action = mSubMenu->addAction(GLX_OPTION_SS_SETTINGS);
action->setData(EGlxCmdSlideshowSettings);
+ action->setObjectName( "FSMenu Setting" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+#ifndef __WINSCW__
+ CFeatureDiscovery* featManager = CFeatureDiscovery::NewL();
+ if(featManager->IsFeatureSupportedL(KFeatureIdFfImageEditor))
+ {
+ mSubMenu = menu->addMenu(QString("Rotate"));
+ action = mSubMenu->addAction(QString("90 CW"));
+ action->setData(EGlxCmdRotateImgCW);
+ connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+ action = mSubMenu->addAction(QString("90 CCW"));
+ action->setData(EGlxCmdRotateImgCCW);
+ connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+
+ action = menu->addAction(QString("Crop"));
+ action->setData(EGlxCmdRotateImgCrop);
+ connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+ }
+ delete featManager;
+#endif //__WINSCW__
action = menu->addAction(GLX_OPTION_ADD_TO_ALBUM);
action->setData(EGlxCmdAddToAlbum);
+ action->setObjectName( "FSMenu AddToAlbum" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
}
@@ -249,30 +290,36 @@
{
qDebug("GlxMenuManager::showContextMenu " );
mContextMenu = new HbMenu();
+ mContextMenu->setObjectName( "ContextMenu" );
HbAction *action = NULL;
switch ( viewId ) {
case GLX_GRIDVIEW_ID :
action = mContextMenu->addAction(GLX_MENU_SHARE);
action->setData(EGlxCmdContextSend);
+ action->setObjectName( "CM Send" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
action = mContextMenu->addAction(GLX_MENU_SLIDESHOW);
action->setData(EGlxCmdSelectSlideshow);
+ action->setObjectName( "CM SlideShow" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
if ( viewSubState() == ALBUM_ITEM_S ) {
- action = mContextMenu->addAction(GLX_OPTION_REMOVE_FROM_ALBUM);
- action->setData(EGlxCmdContextRemoveFrom);
- connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
+ action = mContextMenu->addAction(GLX_OPTION_REMOVE_FROM_ALBUM);
+ action->setData(EGlxCmdContextRemoveFrom);
+ action->setObjectName( "CM RemoveAlbum" );
+ 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->setObjectName( "CM Delete" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
break;
@@ -286,6 +333,7 @@
if ( count ) {
action = mContextMenu->addAction(GLX_MENU_SLIDESHOW);
action->setData(EGlxCmdAlbumSlideShow);
+ action->setObjectName( "CM Album SlideShow" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
}
@@ -293,10 +341,12 @@
if ( variant.isValid() && variant.canConvert<bool> () && ( variant.value<bool>() == false ) ) {
action = mContextMenu->addAction(GLX_MENU_RENAME);
action->setData(EGlxCmdContextRename);
+ action->setObjectName( "CM Rename" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
action = mContextMenu->addAction(GLX_MENU_DELETE);
action->setData(EGlxCmdContextAlbumDelete);
+ action->setObjectName( "CM Album Delete" );
connect(action, SIGNAL(triggered()), this, SLOT(menuItemSelected()));
}
}
--- a/ui/viewmanagement/viewmanager/src/glxviewmanager.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewmanagement/viewmanager/src/glxviewmanager.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -38,6 +38,8 @@
#include <hbprogressdialog.h>
#include <QItemSelectionModel>
#include <glxmainwindoweventfilter.h>
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
GlxViewManager::GlxViewManager()
@@ -46,7 +48,6 @@
mEffectEngine( NULL ),
mViewToolBar( NULL ),
mMarkingToolBar( NULL ),
- mMenu( NULL ),
mSelectionModel ( NULL ),
mProgressDialog( NULL )
{
@@ -56,6 +57,7 @@
mMainWindow = GlxExternalUtility::instance()->getMainWindow();
if(mMainWindow == NULL) {
mMainWindow = new HbMainWindow();
+ connect(mMainWindow, SIGNAL( viewReady() ), this, SLOT( handleReadyView() ));
}
//Without this Zoom Does not work
@@ -66,6 +68,12 @@
}
HbStyleLoader::registerFilePath(":/data/photos.css");
}
+void GlxViewManager::handleReadyView()
+{
+ emit actionTriggered( EGlxCmdSetupItem );
+ emit applicationReady();
+ disconnect(mMainWindow, SIGNAL( viewReady() ), this, SLOT( handleReadyView() ));
+}
void GlxViewManager::setupItems( )
{
@@ -123,7 +131,8 @@
//create the back soft key action and set the data
mBackAction = new HbAction(Hb::BackNaviAction, this);
mBackAction->setData(EGlxCmdBack);
- mView->setNavigationAction(mBackAction);
+ mBackAction->setObjectName( "App Back" );
+ mView->setNavigationAction( mBackAction );
}
Qt::Orientation GlxViewManager::orientation() const
@@ -206,7 +215,10 @@
void GlxViewManager::launchProgressDialog( int maxValue )
{
if ( maxValue <= 0 ) {
- return;
+ // TNM return the some error code ( negative value ) until it populated the count
+ // To show progress dialog 10 is chossen
+ maxValue = 10;
+
}
if ( mProgressDialog == NULL ) {
mProgressDialog = new HbProgressDialog( HbProgressDialog::ProgressDialog );
@@ -226,7 +238,7 @@
mMainWindow->lower();
}
-void GlxViewManager::updateProgressDialog( int currentValue)
+void GlxViewManager::updateProgressDialog( int currentValue )
{
static int i = 0;
HbIcon icon;
@@ -273,10 +285,18 @@
mProgressDialog->setMaximum( currentValue );
max = currentValue ;
}
- int value = max - currentValue;
- mProgressDialog->setProgressValue( value );
+
mProgressDialog->setIcon(icon);
- mProgressDialog->setText( QString( " %1 / %2").arg( value ).arg( max ) );
+
+ if ( currentValue < 0 ) {
+ mProgressDialog->setText( QString( "Refreshing" ) ); //To:Do string will change later
+ mProgressDialog->setProgressValue( 0 );
+ }
+ else {
+ int value = max - currentValue;
+ mProgressDialog->setProgressValue( value );
+ mProgressDialog->setText( QString( " %1 " ).arg( currentValue ) );
+ }
}
}
@@ -334,21 +354,12 @@
GlxView *view = findView ( viewId );
qDebug("GlxViewManager::enterMarkingMode view ID %d", viewId);
- //In the case of first time create the marking mode menu( Mark All, Un Mark All )
- if( mMenu == NULL ) {
- mMenu = new HbMenu();
- mMenuManager->createMarkingModeMenu(mMenu);
- }
-
if ( mMarkingToolBar == NULL) {
createMarkingModeToolBar(); //Marking mode tool bar is different from normal mode tool bar
}
if ( view ) {
view->enableMarking();
- HbMenu *menu = view->takeMenu(); //Take the owner ship of current menu
- view->setMenu(mMenu); //Set the marking mode menu
- mMenu = menu;
view->takeToolBar();
view->addToolBar(mMarkingToolBar);
mSelectionModel = view->getSelectionModel();
@@ -367,9 +378,6 @@
qDebug("GlxViewManager::exitMarkingMode view ID %d", viewId);
if ( view ) {
view->disableMarking();
- HbMenu *menu = view->takeMenu(); //Take the owner ship of current menu
- view->setMenu(mMenu); //Set the view menu option
- mMenu = menu;
view->takeToolBar();
view->addToolBar(mViewToolBar);
if(mSelectionModel)
@@ -426,7 +434,9 @@
if ( mMenuManager ) {
mMenuManager->addMenu( id, view->menu());
}
- view->setNavigationAction(mBackAction);
+ if ( mBackAction ) {
+ view->setNavigationAction( mBackAction );
+ }
}
return view;
}
@@ -501,30 +511,63 @@
mActionList.clear();
//create the All tool bar button action
- HbAction* allAction = new HbAction(this);
- allAction->setData(EGlxCmdAllGridOpen);
- mActionList.append(allAction);
- allAction->setIcon(HbIcon(GLXICON_ALL)) ;
+ HbAction* allAction = new HbAction( this );
+ 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);
- mActionList.append(albumAction);
- albumAction->setIcon(HbIcon(GLXICON_ALBUMS)) ;
+ HbAction* albumAction = new HbAction( this );
+ albumAction->setData( EGlxCmdAlbumListOpen );
+ mActionList.append( albumAction );
+ albumAction->setIcon( HbIcon( GLXICON_ALBUMS ) ) ;
+ albumAction->setObjectName( "Album Action" );
//create the album tool bar button action
- HbAction* cameraAction = new HbAction(this);
- cameraAction->setData(EGlxCmdCameraOpen);
- mActionList.append(cameraAction);
- cameraAction->setIcon(HbIcon(GLXICON_CAMERA)) ;
+ HbAction* cameraAction = new HbAction( this );
+ cameraAction->setData( EGlxCmdCameraOpen );
+ mActionList.append( cameraAction );
+ cameraAction->setIcon( HbIcon( GLXICON_CAMERA ) ) ;
+ cameraAction->setObjectName( "Camera Action" );
+
+ //Configure the 4 th Action in the tool bar
+ XQSettingsManager *ciSettingsManager = NULL;
+ ciSettingsManager = new XQSettingsManager(this);
+
+
+ XQSettingsKey* operatorLinkCenrepKey = NULL;
+ operatorLinkCenrepKey = new XQSettingsKey(XQSettingsKey::TargetCentralRepository,
+ KGlxCi_UidGallery, KGlxOperatorLink);
+ QVariant value = ciSettingsManager->readItemValue(*operatorLinkCenrepKey);
- //create the ovi tool bar button action
- HbAction* oviAction = new HbAction(this);
- oviAction->setData(EGlxCmdOviOpen);
- mActionList.append(oviAction);
- oviAction->setIcon(HbIcon(GLXICON_OVI)) ;
+ switch(value.toInt()) {
+ case KGlxOvi:
+ {
+ XQSettingsKey* oviCenrepKey = NULL;
+ oviCenrepKey = new XQSettingsKey(XQSettingsKey::TargetCentralRepository,
+ KGlxCi_UidGallery, KGlxOvi);
+ QVariant Ovivalue = ciSettingsManager->readItemValue(*oviCenrepKey, XQSettingsManager::TypeString);
+ HbAction* configurableAction = new HbAction(this);
+ configurableAction->setData(EGlxCmdOviOpen);
+ mActionList.append(configurableAction);
+
+ if ( Ovivalue.isValid() && Ovivalue.canConvert<QString>() ) {
+ configurableAction->setIcon( HbIcon( Ovivalue.toString() ) );
+ }
+ delete oviCenrepKey;
+ }
+ break;
+
+ default:
+ qDebug("GlxViewManager::Configurable Action is empty " );
+ break;
+ }
+
+ delete operatorLinkCenrepKey;
+ delete ciSettingsManager;
}
void GlxViewManager::createMarkingModeActions()
@@ -534,6 +577,7 @@
//create the ok tool bar button action
HbAction* selectAction = new HbAction(GLX_BUTTON_OK, this);
selectAction->setData(EGlxCmdSelect);
+ selectAction->setObjectName( "Select Action" );
mMarkingActionList.append(selectAction);
connect( selectAction, SIGNAL(triggered( )), this, SLOT(handleAction( )), Qt::QueuedConnection );
mMarkingToolBar->addAction( selectAction );
@@ -541,6 +585,7 @@
//create the cancel tool bar button action
HbAction* cancelAction = new HbAction(GLX_BUTTON_CANCEL, this);
cancelAction->setData(EGlxCmdCancel);
+ cancelAction->setObjectName( "Cancel Action" );
mMarkingActionList.append(cancelAction);
connect( cancelAction, SIGNAL(triggered( )), this, SLOT(handleAction( )), Qt::QueuedConnection );
mMarkingToolBar->addAction( cancelAction );
@@ -639,20 +684,21 @@
HbStyleLoader::unregisterFilePath(":/data/photos.css");
removeConnection();
+
delete mMenuManager;
- qDebug("GlxViewManager::~GlxViewManager deleted menu manager");
+ qDebug("GlxViewManager::~GlxViewManager deleted menu manager");
+ delete mViewToolBar;
+ delete mMarkingToolBar;
+ qDebug("GlxViewManager::~GlxViewManager deleted toolbar");
while( mViewList.isEmpty( ) == FALSE){
delete mViewList.takeLast() ;
}
- qDebug("GlxViewManager::~GlxViewManager view deleted");
-
+ qDebug("GlxViewManager::~GlxViewManager view deleted");
delete mBackAction;
- delete mViewToolBar;
- delete mMarkingToolBar;
- delete mMenu;
delete mProgressDialog;
+
if ( mEffectEngine ) {
mEffectEngine->deregistertransitionEffect();
delete mEffectEngine;
--- a/ui/viewmanagement/viewmanager/viewmanager.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewmanagement/viewmanager/viewmanager.pro Tue Jul 06 14:16:16 2010 +0300
@@ -31,8 +31,9 @@
LIBS += -lglxexternalutility.dll \
-lglxviews.dll \
-lglxloggerqt.dll \
- -lglxviewutilities.dll
-
+ -lglxviewutilities.dll \
+ -lfeatdiscovery.dll \
+ -lxqsettingsmanager
DEFINES += BUILD_VIEWMANAGER
symbian: {
@@ -40,6 +41,7 @@
TARGET.UID3 = 0x20000A03
TARGET.CAPABILITY = ALL -TCB
TARGET.EPOCALLOWDLLDATA = 1
+MMP_RULES += SMPSAFE
}
# Input
HEADERS += inc/glxviewmanager.h \
--- a/ui/viewplugins/externalviewplugin/externalviewplugin.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewplugins/externalviewplugin/externalviewplugin.pro Tue Jul 06 14:16:16 2010 +0300
@@ -53,4 +53,5 @@
isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 20480 \
41943040
TARGET.CAPABILITY = ALL -TCB
+ MMP_RULES += SMPSAFE
}
\ No newline at end of file
--- a/ui/views/detailsview/inc/glxdetailscustomwidgets.h Wed Jun 23 18:12:48 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +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 GLXDETAILSCUSTOMWIDGETS_H
-#define GLXDETAILSCUSTOMWIDGETS_H
-
-#include <hbdataformmodelitem.h>
-#include <hbdataformviewitem.h>
-
-
-class HbIconItem;
-class HbLabel;
-class HbDataFormModelItem;
-enum
- {
- ImageNameItem = HbDataFormModelItem::CustomItemEnd +1,
- DateLabelItem,
- LocationTagItem,
- DurationItem,
- ShareWithItem,
- FaceTagItem,
- CommentsItem
-
- };
-
-class GlxDetailsCustomWidgets: public HbDataFormViewItem
-{
- Q_OBJECT
-
-public:
- GlxDetailsCustomWidgets(QGraphicsItem *parent);
- ~GlxDetailsCustomWidgets();
- virtual HbAbstractViewItem* createItem();
- bool canSetModelIndex(const QModelIndex &index) const;
-
-protected:
- virtual HbWidget* createCustomWidget();
-
-private:
- HbLabel *mLabel;
-};
-
-#endif // GLXDETAILSCUSTOMWIDGETS_H
--- a/ui/views/detailsview/src/glxdetailsview.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/views/detailsview/src/glxdetailsview.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -72,7 +72,7 @@
GlxDetailsView::GlxDetailsView(HbMainWindow *window) :
GlxView(GLX_DETAILSVIEW_ID), mDetailsIcon(NULL), mFavIcon(NULL), mModel(
NULL), mFavModel(NULL), mWindow(window),
- mSelIndex(0),mDescriptions(NULL),mDateLabel(NULL),mSizeLabel(NULL),mTimeLabel(NULL)
+ mSelIndex(0),mDocLoader(NULL),mImageName(NULL),mDescriptions(NULL),mDateLabel(NULL),mSizeLabel(NULL),mTimeLabel(NULL)
{
GLX_LOG_INFO("GlxDetailsView::GlxDetailsView");
OstTraceFunctionEntry0( GLXDETAILSVIEW_GLXDETAILSVIEW_ENTRY );
@@ -125,7 +125,7 @@
OstTraceFunctionEntry0( GLXDETAILSVIEW_INITIALIZEVIEW_ENTRY );
bool loaded = false;
- if(mDocLoader)
+ if(!mDocLoader)
{
mDocLoader = new GlxDetailsViewDocLoader();
}
--- a/ui/views/fullscreenview/inc/glxcoverflow.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/views/fullscreenview/inc/glxcoverflow.h Tue Jul 06 14:16:16 2010 +0300
@@ -22,15 +22,15 @@
#define NBR_ICON_ITEM 5
-#include <hbscrollarea.h>
#include <hbeffect.h>
+#include <hbwidget.h>
//forward declaration
class HbIconItem;
class HbMainWindow;
class QAbstractItemModel;
+class QGestureEvent;
-class QGestureEvent;
typedef enum
{
NO_MOVE,
@@ -81,14 +81,13 @@
void dataChanged(QModelIndex startIndex, QModelIndex endIndex);
void rowsInserted(const QModelIndex &parent, int start, int end);
void rowsRemoved(const QModelIndex &parent, int start, int end);
+ void modelDestroyed();
void autoLeftMove();
void autoRightMove();
protected:
void gestureEvent(QGestureEvent *event);
-
void move(int value);
-
void setRows() ;
void setStripLen();
int calculateIndex(int index);
@@ -96,15 +95,53 @@
void loadIconItems ();
void updateIconItem (qint16 selIndex, qint16 selIconIndex, qint16 deltaX);
- //clear all the model connection
+ /*
+ * In the case of animated image, it will play the animation for focus image
+ */
+ void playAnimation();
+
+ /*
+ * To stop the animation
+ */
+ void stopAnimation();
+
+ /*
+ * clear all the model connection
+ */
void clearCurrentModel();
- //add the connection to the model
+
+ /*
+ * add the connection to the model
+ */
void initializeNewModel();
- //reset all the data of cover flow
+
+ /*
+ * reset all the data of cover flow
+ */
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
+ */
+ QString getUri( int index );
+
+ /*
+ * To get the GIF file info of the image
+ */
+ bool isAnimatedImage( int index );
+
private:
HbIconItem *mIconItem[NBR_ICON_ITEM]; //at most contain only five item
qint16 mSelItemIndex; // current full screen index
--- a/ui/views/fullscreenview/inc/glxfullscreenview.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/views/fullscreenview/inc/glxfullscreenview.h Tue Jul 06 14:16:16 2010 +0300
@@ -106,9 +106,10 @@
void setImageStripModel();
void loadFullScreenToolBar();
- void imageSelectionAnimation(const QModelIndex &index);
+ void addToolBarAction( int commandId, const QString &iconName, const QString &name) ;
+ void imageSelectionAnimation( const QModelIndex &index );
int getSubState();
- void setHdmiModel(QAbstractItemModel *model);
+ void setHdmiModel( QAbstractItemModel *model );
private:
QAbstractItemModel *mModel; //no ownership
HbMainWindow *mWindow; //no ownership
@@ -118,11 +119,6 @@
HbIconItem *mIconItem ; //temporary item for play the image strip select animation
GlxTvOutWrapper *mTvOutWrapper;
HbToolBar *mFullScreenToolBar; //Fullscreen Toolbar
- HbAction *mFlipAction; //Action : it starts activates the details view
- HbAction *mSendAction;
- HbAction *mDeleteAction;
- HbAction *mUseImageAction;
-
//for Zoom
GlxZoomWidget *mZoomWidget;
HbDocumentLoader *mDocLoader;
--- a/ui/views/fullscreenview/src/glxcoverflow.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/views/fullscreenview/src/glxcoverflow.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -23,6 +23,7 @@
#include <QDebug>
#include <QGesture>
#include <hbpangesture.h>
+#include <hbiconanimator.h>
//User Includes
#include <glxmodelparm.h>
@@ -70,7 +71,9 @@
mIconItem[i]->setBrush( QBrush( Qt::black ) );
mIconItem[i]->setSize( QSize( 0, 0 ) );
mIconItem[i]->setAlignment( Qt::AlignCenter );
+ mIconItem[i]->setObjectName( QString( "Cover%1" ).arg( i ) );
}
+
mUiOn = FALSE;
mBounceBackDeltaX = GLX_BOUNCEBACK_DELTA;
}
@@ -187,17 +190,13 @@
int index = 0;
for (int i = 0; i < NBR_ICON_ITEM ; i++) {
- index = calculateIndex( mSelIndex + i - 2);
+ index = calculateIndex( mSelIndex + i - 2 );
if ( index == startIndex.row() ) {
index = ( mSelItemIndex + i - 2 + NBR_ICON_ITEM ) % NBR_ICON_ITEM;
qDebug("GlxCoverFlow::dataChanged index = %d mSelItemIndex = %d ", index, mSelItemIndex );
-
- QVariant variant = mModel->data( startIndex, GlxFsImageRole );
- if ( variant.isValid() && variant.canConvert<HbIcon> () ) {
- mIconItem[index]->setIcon ( variant.value<HbIcon>() ) ;
- }
- else {
- mIconItem[index]->setIcon( HbIcon() );
+ mIconItem[ index ]->setIcon( getIcon( startIndex.row() ) );
+ if ( index == mSelItemIndex ) {
+ playAnimation( );
}
}
}
@@ -229,7 +228,10 @@
}
}
-
+void GlxCoverFlow::modelDestroyed()
+{
+ mModel = NULL ;
+}
void GlxCoverFlow::autoLeftMove()
{
@@ -267,12 +269,14 @@
}
int selIndex = mCurrentPos / width ;
if ( mRows == 1 || selIndex != mSelIndex ) {
+ stopAnimation();
mSelIndex = selIndex;
mSelItemIndex = ( ++mSelItemIndex ) % NBR_ICON_ITEM;
selIndex = ( mSelItemIndex + 2 ) % NBR_ICON_ITEM;
updateIconItem( mSelIndex + 2, selIndex, width * 2 ) ;
+ playAnimation();
if(!mZoomOn) {
- emit changeSelectedIndex ( mModel->index ( mSelIndex, 0 ) ) ;
+ emit changeSelectedIndex ( mModel->index ( mSelIndex, 0 ) ) ;
}
}
mMoveDir = NO_MOVE;
@@ -321,12 +325,14 @@
}
int selIndex = mCurrentPos / width ;
if ( mRows == 1 || selIndex != mSelIndex ) {
+ stopAnimation();
mSelIndex = selIndex;
mSelItemIndex = ( mSelItemIndex == 0 ) ? NBR_ICON_ITEM -1 : --mSelItemIndex;
selIndex = ( mSelItemIndex + 3 ) % NBR_ICON_ITEM;
updateIconItem( mSelIndex - 2, selIndex, - width * 2 ) ;
+ playAnimation();
if(!mZoomOn) {
- emit changeSelectedIndex ( mModel->index ( mSelIndex, 0 ) ) ;
+ emit changeSelectedIndex ( mModel->index ( mSelIndex, 0 ) ) ;
}
}
mMoveDir = NO_MOVE;
@@ -395,71 +401,67 @@
{
qDebug("GlxCoverFlow::loadIconItems ");
int index = 0;
- QVariant variant = mModel->data( mModel->index(0,0), GlxFocusIndexRole );
- if ( variant.isValid() && variant.canConvert<int> () ) {
- mSelIndex = variant.value<int>();
- }
-
+ stopAnimation();
+ mSelIndex = getFocusIndex();
+
qDebug("GlxCoverFlow::loadIconItems index = %d, width = %d", mSelIndex, size().width() );
for ( qint8 i = 0; i < NBR_ICON_ITEM ; i++ ) {
- index = calculateIndex ( mSelIndex - 2 + i) ;
- QVariant variant = mModel->data( mModel->index(index, 0), GlxFsImageRole );
- if ( variant.isValid() && variant.canConvert<HbIcon> () ) {
- mIconItem[i]->setIcon ( variant.value<HbIcon>() ) ;
- }
- else {
- mIconItem[i]->setIcon( HbIcon() );
- }
+ index = calculateIndex ( mSelIndex - 2 + i) ;
+ mIconItem[i]->setIcon( getIcon( index ) );
mIconItem[i]->setSize ( mItemSize );
mIconItem[i]->setPos ( QPointF ( (i - 2) * mItemSize.width(), 0) );
}
mSelItemIndex = 2;
mCurrentPos = mItemSize.width() * mSelIndex;
+ playAnimation();
+}
+
+void GlxCoverFlow::playAnimation()
+{
+ if ( isAnimatedImage( mSelIndex ) ) {
+ mIconItem[ mSelItemIndex ]->setIcon( HbIcon( getUri( mSelIndex ) ) );
+ mIconItem[ mSelItemIndex ]->animator().startAnimation();
+ }
+}
+
+void GlxCoverFlow::stopAnimation()
+{
+ mIconItem[ mSelItemIndex ]->animator().stopAnimation();
}
void GlxCoverFlow::updateIconItem (qint16 selIndex, qint16 selItemIndex, qint16 posX)
{
qDebug("GlxCoverFlow::updateIconItem selIndex = %d, selIconIndex = %d posX = %d", selIndex, selItemIndex, posX );
- mIconItem[selItemIndex]->setPos(QPointF(posX, 0));
selIndex = calculateIndex( selIndex );
-
- QVariant variant = mModel->data( mModel->index(selIndex, 0), GlxFsImageRole );
- if ( variant.isValid() && variant.canConvert<HbIcon> () ) {
- mIconItem[selItemIndex]->setIcon ( variant.value<HbIcon>() ) ;
- }
- else {
- mIconItem[selItemIndex]->setIcon( HbIcon() );
- }
- mIconItem[selItemIndex]->setSize ( mItemSize );
+ mIconItem[ selItemIndex ]->setPos( QPointF( posX, 0 ) );
+ mIconItem[ selItemIndex ]->setIcon( getIcon( selIndex ) );
+ mIconItem[ selItemIndex ]->setSize ( mItemSize );
}
-
void GlxCoverFlow::clearCurrentModel()
{
qDebug("GlxCoverFlow::clearCurrentModel ");
if ( mModel ) {
- disconnect( mModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ), this, SLOT( dataChanged(QModelIndex,QModelIndex) ) );
- disconnect(mModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(rowsInserted(QModelIndex,int,int)));
- disconnect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(rowsRemoved(QModelIndex,int,int)));
+ disconnect( mModel, SIGNAL( dataChanged( QModelIndex, QModelIndex ) ), this, SLOT( dataChanged( QModelIndex, QModelIndex ) ) );
+ disconnect( mModel, SIGNAL( rowsInserted( QModelIndex, int, int ) ), this, SLOT( rowsInserted( QModelIndex, int, int ) ) );
+ disconnect( mModel, SIGNAL( rowsRemoved( QModelIndex, int, int) ), this, SLOT( rowsRemoved( QModelIndex, int, int ) ) );
+ 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 GlxCoverFlow::initializeNewModel()
{
qDebug("GlxCoverFlow::initializeNewModel" );
if ( mModel ) {
- connect( mModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ), this, SLOT( dataChanged(QModelIndex,QModelIndex) ) );
- connect(mModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(rowsInserted(QModelIndex,int,int)));
- connect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(rowsRemoved(QModelIndex,int,int)));
- }
+ connect( mModel, SIGNAL( dataChanged( QModelIndex, QModelIndex ) ), this, SLOT( dataChanged( QModelIndex, QModelIndex ) ) );
+ connect( mModel, SIGNAL( rowsInserted( QModelIndex, int, int ) ), this, SLOT( rowsInserted( QModelIndex, int, int ) ) );
+ connect( mModel, SIGNAL( rowsRemoved( QModelIndex, int, int) ), this, SLOT( rowsRemoved( QModelIndex, int, int ) ) );
+ connect( mModel, SIGNAL( destroyed() ), this, SLOT( modelDestroyed() ) );
+ }
}
void GlxCoverFlow::resetCoverFlow()
@@ -488,28 +490,21 @@
{
qDebug("GlxCoverFlow::resetpartiallyCreated");
mIconItem[2]->setSize ( itemSize );
- mIconItem[2]->setPos ( QPointF ( 0, 0) );
-
- QVariant variant = model->data( model->index(0,0), GlxFocusIndexRole );
- if ( variant.isValid() && variant.canConvert<int> () ) {
- mSelIndex = variant.value<int>();
- qDebug("GlxCoverFlow::partiallyCreated index mSelIndex=%d",mSelIndex);
- }
-
- variant = model->data( model->index(mSelIndex, 0), GlxFsImageRole );
- if ( variant.isValid() && variant.canConvert<HbIcon> () ) {
- mIconItem[2]->setIcon ( variant.value<HbIcon>() ) ;
- }
+ mIconItem[2]->setPos ( QPointF ( 0, 0) );
+ mModel = model ;
+ mSelIndex = getFocusIndex();
+ mIconItem[2]->setIcon( getIcon( mSelIndex ) ) ;
+ mModel = NULL;
}
GlxCoverFlow::~GlxCoverFlow()
{
qDebug("GlxCoverFlow::~GlxCoverFlow model " );
+ ClearCoverFlow();
disconnect( this, SIGNAL( autoLeftMoveSignal() ), this, SLOT( autoLeftMove() ) );
disconnect( this, SIGNAL( autoRightMoveSignal() ), this, SLOT( autoRightMove() ) );
}
-
void GlxCoverFlow::ClearCoverFlow()
{
qDebug("GlxCoverFlow::ClearCoverFlow " );
@@ -535,14 +530,15 @@
void GlxCoverFlow::zoomStarted(int index)
{
Q_UNUSED(index)
+ stopAnimation();
mZoomOn = true;
}
void GlxCoverFlow::zoomFinished(int index)
{
mZoomOn = false;
+ playAnimation();
indexChanged(index);
-
}
void GlxCoverFlow::timerEvent(QTimerEvent *event)
@@ -553,4 +549,41 @@
mTimerId = 0;
emit coverFlowEvent( TAP_EVENT );
}
-}
\ No newline at end of file
+}
+
+int GlxCoverFlow::getFocusIndex( )
+{
+ QVariant variant = mModel->data( mModel->index( 0, 0 ), GlxFocusIndexRole ) ;
+ if ( variant.isValid() && variant.canConvert< int > () ) {
+ return variant.value< int > ();
+ }
+ return -1;
+}
+
+HbIcon GlxCoverFlow::getIcon( int index )
+{
+ QVariant variant = mModel->data( mModel->index( index, 0 ), GlxFsImageRole );
+ if ( variant.isValid() && variant.canConvert< HbIcon > () ) {
+ return variant.value<HbIcon> () ;
+ }
+ return HbIcon() ;
+}
+
+QString GlxCoverFlow::getUri( int index )
+{
+ QVariant variant = mModel->data( mModel->index( index, 0 ), GlxUriRole );
+ if ( variant.isValid() && variant.canConvert< QString > () ){
+ return variant.value< QString > () ;
+ }
+ return QString();
+}
+
+bool GlxCoverFlow::isAnimatedImage( int index )
+{
+ int frameCount = 0;
+ QVariant variant = mModel->data( mModel->index( index, 0 ), GlxFrameCount );
+ if ( variant.isValid() && variant.canConvert< int > () ) {
+ frameCount = variant.value< int > () ;
+ }
+ return frameCount > 1 ? true : false ;
+}
--- a/ui/views/fullscreenview/src/glxfullscreenview.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/views/fullscreenview/src/glxfullscreenview.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -63,10 +63,6 @@
mIconItem(NULL),
mTvOutWrapper(NULL),
mFullScreenToolBar(NULL),
- mFlipAction(NULL),
- mSendAction(NULL),
- mDeleteAction(NULL),
- mUseImageAction(NULL),
mZoomWidget(NULL)
{
OstTraceFunctionEntry0( GLXFULLSCREENVIEW_GLXFULLSCREENVIEW_ENTRY );
@@ -89,14 +85,11 @@
mTvOutWrapper = new GlxTvOutWrapper();
}
setHdmiModel(model);
-
- //Load/Retrieve the Widgets
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
+ mCoverFlow->partiallyCreate( model, screenSize() );
OstTraceFunctionExit0( GLXFULLSCREENVIEW_INITIALIZEVIEW_EXIT );
}
@@ -104,24 +97,22 @@
void GlxFullScreenView::loadWidgets()
{
OstTraceFunctionEntry0( GLXFULLSCREENVIEW_LOADWIDGETS_ENTRY );
-
- //Load the Coverflow and image strip widget
+
mCoverFlow = qobject_cast<GlxCoverFlow*> (mDocLoader->findWidget(GLXFULLSCREEN_COVERFLOW));
-
- mZoomWidget = qobject_cast<GlxZoomWidget*> (mDocLoader->findWidget(GLXFULLSCREENZOOMWIDGET));
- mZoomWidget->connectDecodeRequestToPinchEvent();
- mCoverFlow->setMultitouchFilter(mZoomWidget);
+
+ mZoomWidget = qobject_cast<GlxZoomWidget*> (mDocLoader->findWidget(GLXFULLSCREENZOOMWIDGET));
+ mZoomWidget->connectDecodeRequestToPinchEvent();
+ mCoverFlow->setMultitouchFilter(mZoomWidget);
+
//initialise the cover flow for basic connections and the rest
mCoverFlow->setCoverFlow();
-
- //Load the IMAGE STRIP & FULLSCREEN TOOLBAR[PUSH BUTTON]
- mImageStrip = qobject_cast<HbGridView*> (mDocLoader->findWidget(GLXFULLSCREEN_FILMSTRIP));
+ mImageStrip = qobject_cast<HbGridView*> (mDocLoader->findWidget(GLXFULLSCREEN_FILMSTRIP));
//When the widget is loaded/retreived the widgets are shown by default.
//@to do : hide the widgets by default in docml
mImageStrip->hide();
- mImageStrip->setLayoutName( QString( "ImageStrip" ) );
- mImageStrip->setEnabledAnimations(HbAbstractItemView::None);
+ mImageStrip->setLayoutName( QString( "ImageStrip" ) ); // To distinguish in CSS file
+ mImageStrip->setEnabledAnimations( HbAbstractItemView::None );
OstTraceFunctionExit0( GLXFULLSCREENVIEW_LOADWIDGETS_EXIT );
}
@@ -138,66 +129,46 @@
mFullScreenToolBar = qobject_cast<HbToolBar *> (mDocLoader->findObject(QString("toolBar")));
mFullScreenToolBar->clearActions();
-
- //create Flip tool bar button action
- mFlipAction = new HbAction(this);
- mFlipAction->setData(EGlxCmdDetailsOpen);
- mFlipAction->setIcon(HbIcon(GLXICON_FLIP));
- mFullScreenToolBar->addAction( mFlipAction);
-
- //create Send tool bar button action
- mSendAction = new HbAction(this);
- mSendAction->setData(EGlxCmdSend);
- mSendAction->setIcon(HbIcon(GLXICON_SEND));
- mFullScreenToolBar->addAction( mSendAction);
+
+ addToolBarAction( EGlxCmdDetailsOpen, GLXICON_FLIP, "Flip Action" ); //create Flip tool bar button action
+ addToolBarAction( EGlxCmdSend, GLXICON_SEND, "Send Action" ); //create Send tool bar button action
+ if( getSubState() != IMAGEVIEWER_S ) {
+ addToolBarAction( EGlxCmdDelete, GLXICON_DELETE, "Delete Action" ); //create Delete tool bar button action
+ }
+ else {
+ addToolBarAction( EGlxCmdHandled, GLXICON_USEIMAGE, "Use Action" ); //create Use Image tool bar button action
+ }
+
+ OstTraceFunctionExit0( GLXFULLSCREENVIEW_LOADFULLSCREENTOOLBAR_EXIT );
+}
- //create Delete tool bar button action
- mDeleteAction = new HbAction(this);
- mDeleteAction->setData(EGlxCmdDelete);
- mDeleteAction->setIcon(HbIcon(GLXICON_DELETE));
-
- //create Use Image tool bar button action
- mUseImageAction = new HbAction(this);
- //mUseImageAction->setData(EGlxCmdDelete);
- mUseImageAction->setIcon(HbIcon(GLXICON_USEIMAGE));
- if(getSubState() != IMAGEVIEWER_S){
- mFullScreenToolBar->addAction( mDeleteAction);
- }else{
- mFullScreenToolBar->addAction( mUseImageAction);
- }
-
-
- connect(mFlipAction, SIGNAL(triggered( )), this, SLOT(handleToolBarAction( )) );
- connect(mSendAction, SIGNAL(triggered( )), this, SLOT(handleToolBarAction( )) );
- connect(mDeleteAction, SIGNAL(triggered( )), this, SLOT(handleToolBarAction( )) );
- connect(mUseImageAction, SIGNAL(triggered( )), this, SLOT(handleToolBarAction( )) );
-
- OstTraceFunctionExit0( GLXFULLSCREENVIEW_LOADFULLSCREENTOOLBAR_EXIT );
+void GlxFullScreenView::addToolBarAction( int commandId, const QString &iconName, const QString &name )
+{
+ HbAction *action = new HbAction( this );
+ action->setData( commandId );
+ action->setIcon( HbIcon( iconName ) );
+ action->setObjectName( name );
+ mFullScreenToolBar->addAction( action);
+ connect(action, SIGNAL(triggered( )), this, SLOT(handleToolBarAction( )) );
}
void GlxFullScreenView::activate()
{
OstTraceFunctionEntry0( GLXFULLSCREENVIEW_ACTIVATE_ENTRY );
-
- setStatusBarVisible(FALSE);
- setTitleBarVisible(FALSE);
- //To:Do remove it later, currently it is solving the problem of status bar is not
- //visible when tap on the screen first time
- setStatusBarVisible(FALSE);
- setTitleBarVisible(FALSE);
-
//for zoom might not be required after wk15 release
mWindow->viewport()->setAttribute(Qt::WA_AcceptTouchEvents,true);
mWindow->viewport()->grabGesture(Qt::PinchGesture);
QCoreApplication::instance()->installEventFilter(this);
- if(!mCoverFlow){
+ if( !mCoverFlow ) {
loadWidgets(); //retrives the widgets
}
-
//Loads the widgets corresponding to the orientation.
- loadViewSection();
+ loadViewSection();
+
+ setStatusBarVisible(FALSE);
+ setTitleBarVisible(FALSE);
mUiOffTimer = new QTimer();
mUiOff = true;
@@ -282,6 +253,7 @@
delete mTvOutWrapper;
mTvOutWrapper = NULL;
}
+
if(mZoomWidget)
{
mZoomWidget->cleanUp();
@@ -369,7 +341,7 @@
OstTraceFunctionEntry0( GLXFULLSCREENVIEW_ACTIVATEUI_ENTRY );
if ( mUiOff && getSubState() != FETCHER_S){
- if(!mFullScreenToolBar) {
+ if( !mFullScreenToolBar ) {
loadFullScreenToolBar();
}
mUiOff = FALSE;
@@ -384,7 +356,6 @@
setStatusBarVisible(TRUE);
setTitleBarVisible(TRUE);
-
if ( mImageStrip && getSubState() != IMAGEVIEWER_S) {
mImageStrip->show();
HbEffect::start(mImageStrip, QString("HbGridView"), QString("TapShow"), this, "effectFinished" );
@@ -438,6 +409,10 @@
// for the image changed on deletion
mTvOutWrapper->setImagetoHDMI();
}
+ if (mZoomWidget){
+ // for the image changed on deletion
+ mZoomWidget->indexChanged();
+ }
return;
}
@@ -672,22 +647,7 @@
disconnect(mUiOffTimer, SIGNAL(timeout()), this, SLOT(hideUi()));
}
- if(mFlipAction) {
- disconnect(mFlipAction, SIGNAL(triggered( )), this, SLOT(handleToolBarAction( )) );
- }
-
- if(mSendAction) {
- disconnect(mSendAction, SIGNAL(triggered( )), this, SLOT(handleToolBarAction( )) );
- }
-
- if(mDeleteAction) {
- disconnect(mDeleteAction, SIGNAL(triggered( )), this, SLOT(handleToolBarAction( )) );
- }
-
- if(mUseImageAction) {
- disconnect(mUseImageAction, SIGNAL(triggered( )), this, SLOT(handleToolBarAction( )) );
- }
- if(mCoverFlow && mZoomWidget) {
+ if( mCoverFlow && mZoomWidget ) {
disconnect(mZoomWidget,SIGNAL( pinchGestureReceived(int) ), mCoverFlow, SLOT( zoomStarted(int) ) );
disconnect(mZoomWidget,SIGNAL( zoomWidgetMovedBackground(int) ), mCoverFlow, SLOT( zoomFinished(int) ) );
}
@@ -774,10 +734,13 @@
int GlxFullScreenView::getSubState()
{
- int substate = NO_FULLSCREEN_S;
- QVariant variant = mModel->data( mModel->index(0,0), GlxSubStateRole );
- if ( variant.isValid() && variant.canConvert<int> () ) {
- substate = variant.value<int>();
+ int substate = NO_FULLSCREEN_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/gridview/inc/glxgridview.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/views/gridview/inc/glxgridview.h Tue Jul 06 14:16:16 2010 +0300
@@ -70,7 +70,7 @@
void populated();
protected :
- QVariant itemChange (GraphicsItemChange change, const QVariant &value) ;
+
private slots:
void indicateLongPress(const QModelIndex& index, QPointF coords);
--- a/ui/views/gridview/src/glxgridview.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/views/gridview/src/glxgridview.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -72,18 +72,11 @@
void GlxGridView::activate()
{
OstTraceFunctionEntry0( GLXGRIDVIEW_ACTIVATE_ENTRY );
- if(mUiOnButton == NULL) {
- 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->hide();
- }
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");
@@ -205,6 +198,7 @@
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");
@@ -213,6 +207,7 @@
}
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");
@@ -221,6 +216,7 @@
}
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");
@@ -345,9 +341,6 @@
showAlbumTitle(variant.toString());
}
}
- else if(XQServiceUtil::isService()){
- showAlbumTitle(GLX_FETCHER_TITLE);
- }
}
}
}
@@ -361,6 +354,7 @@
: 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");
@@ -414,12 +408,14 @@
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)));
@@ -433,6 +429,12 @@
void GlxGridView::populated()
{
+ QVariant variant = mModelWrapper->data(mModelWrapper->index(0,0), GlxVisualWindowIndex );
+ int visualIndex = 0;
+ if ( variant.isValid() && variant.canConvert<int> () ) {
+ visualIndex = variant.value<int>();
+ }
+ mWidget->scrollTo(mModelWrapper->index(visualIndex,0));
showItemCount();
}
@@ -523,6 +525,7 @@
mWindow->viewport()->grabGesture(Qt::TapGesture);
mWindow->viewport()->grabGesture(Qt::TapAndHoldGesture);
mWidget = new HgGrid(orient);
+ mWidget->setObjectName( "Media Wall" );
mWidget->setLongPressEnabled(true);
mWidget->setScrollBarPolicy(HgWidget::ScrollBarAutoHide);
setWidget( mWidget );
@@ -542,14 +545,16 @@
if( orient == Qt::Horizontal ) {
setItemVisible(Hb::AllItems, FALSE) ;
setViewFlags(viewFlags() | HbView::ViewTitleBarHidden | HbView::ViewStatusBarHidden);
- //To:Do remove it later, currently it is solving the problem of status bar is not
- //visible when tap on the screen first time
- setItemVisible(Hb::AllItems, FALSE) ;
- setViewFlags(viewFlags() | HbView::ViewTitleBarHidden | HbView::ViewStatusBarHidden);
- showItemCount();
- if (mUiOnButton) {
- mUiOnButton->show();
+ showItemCount();
+ if(mUiOnButton == NULL) {
+ 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" );
}
+ mUiOnButton->show();
}
else {
showHbItems();
@@ -593,16 +598,6 @@
}
}
-QVariant GlxGridView::itemChange (GraphicsItemChange change, const QVariant &value)
- {
- OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ITEMCHANGE, "GlxGridView::itemChange" );
- static bool isEmit = true;
- if ( isEmit && change == QGraphicsItem::ItemVisibleHasChanged && value.toBool() ) {
- emit actionTriggered( EGlxCmdSetupItem );
- isEmit = false;
- }
- return HbWidget::itemChange(change, value);
- }
void GlxGridView::addViewConnection()
{
--- a/ui/views/listview/inc/glxlistview.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/views/listview/inc/glxlistview.h Tue Jul 06 14:16:16 2010 +0300
@@ -43,6 +43,7 @@
public slots:
void itemSelected(const QModelIndex & index);
+ void populated();
private slots:
void indicateLongPress( HbAbstractViewItem *item, QPointF coords );
--- a/ui/views/listview/src/glxlistview.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/views/listview/src/glxlistview.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -63,8 +63,12 @@
void GlxListView::setModel(QAbstractItemModel *model)
{
qDebug("GlxListView::setModel()");
+ if ( mModel ) {
+ disconnect(mModel, SIGNAL(listPopulated()), this, SLOT( populated()));
+ }
mModel = model ;
mListView->setModel(mModel);
+ connect(mModel, SIGNAL(listPopulated()), this, SLOT( populated()));
}
void GlxListView::addToolBar( HbToolBar *toolBar )
@@ -180,6 +184,17 @@
}
}
+void GlxListView::populated()
+{
+ QVariant variant = mModel->data(mModel->index(0,0), GlxVisualWindowIndex );
+ int visualIndex = 0;
+ if ( variant.isValid() && variant.canConvert<int> () )
+ {
+ visualIndex = variant.value<int>();
+ }
+ //Scroll To the Visible Index as mentioned in the AM.
+ mListView->scrollTo(mModel->index(visualIndex, 0), HbAbstractItemView::PositionAtTop );
+}
void GlxListView::itemSelected(const QModelIndex & index)
{
qDebug("GlxListView::itemSelected() index = %d", index.row() );
--- a/ui/views/slideshowsettingsview/src/glxslideshowsettingsview.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/views/slideshowsettingsview/src/glxslideshowsettingsview.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -71,24 +71,29 @@
if ( mContextlabel == NULL ) {
mContextlabel = new HbLabel( GLX_MENU_SLIDESHOW, this );
+ mContextlabel->setObjectName( "SlideShow" );
}
if ( mEffectlabel == NULL ) {
mEffectlabel = new HbLabel( GLX_LABEL_TRANSITION_EFFECT, this );
+ mEffectlabel->setObjectName( "Effect" );
}
if ( mEffect == NULL ) {
mEffect = new HbComboBox(this);
QStringList effectList = mSettings->slideShowEffectList();
- mEffect->addItems( effectList );
+ mEffect->addItems( effectList );
+ mEffect->setObjectName( "Effect List" );
}
if ( mDelaylabel == NULL ) {
mDelaylabel = new HbLabel( GLX_LABEL_TRANSITION_DELAY, this );
+ mDelaylabel->setObjectName( "Delay" );
}
if ( mDelay == NULL ) {
mDelay = new HbComboBox(this);
+ mDelay->setObjectName( "Delay List" );
QStringList delayList;
delayList << GLX_VAL_SLOW << GLX_VAL_MEDIUM << GLX_VAL_FAST ;
mDelay->addItems( delayList );
--- a/ui/views/slideshowview/src/glxslideshowview.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/views/slideshowview/src/glxslideshowview.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -64,7 +64,7 @@
void GlxSlideShowView::activate()
{
TRACER("GlxSlideShowView::activate()");
- mWindow->setOrientation(Qt::Horizontal, true); // Actually it is animation false, Hack for Bug in Media wall -todo- need to Address this ASAP
+ mWindow->setOrientation(Qt::Horizontal, false);
//finds the widgets from the docml
loadObjects();
@@ -83,7 +83,7 @@
void GlxSlideShowView::deActivate()
{
TRACER("GlxSlideShowView::deActivate()");
- mWindow->unsetOrientation(true); // Actually it is animation false, Hack for Bug in Media wall -todo- need to Address this ASAP
+ mWindow->unsetOrientation(false);
setStatusBarVisible(TRUE);
setTitleBarVisible(TRUE);
--- a/ui/views/slideshowview/src/glxslideshowwidget.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/views/slideshowview/src/glxslideshowwidget.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -72,9 +72,10 @@
mIsPause = false;
for ( int i = 0; i < NBR_ITEM ; i++) {
- mIconItems[i] = new HbIconItem( this );
- mIconItems[i]->setBrush( QBrush( Qt::black ) );
+ mIconItems[i] = new HbIconItem(this);
+ mIconItems[i]->setBrush(QBrush(Qt::black));
mIconItems[i]->setAlignment( Qt::AlignCenter );
+ mIconItems[i]->setObjectName( QString( "SlideShowIcon%1" ).arg( i ) );
}
mSlideTimer = new QTimer();
--- a/ui/views/viewbase/inc/glxview.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/views/viewbase/inc/glxview.h Tue Jul 06 14:16:16 2010 +0300
@@ -60,6 +60,7 @@
void actionTriggered(qint32 id);
void itemSpecificMenuTriggered(qint32,QPointF );
void gridItemSelected(const QModelIndex &);
+
private :
qint32 mId;
--- a/ui/views/views.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/views/views.pro Tue Jul 06 14:16:16 2010 +0300
@@ -63,6 +63,7 @@
INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
TARGET.EPOCALLOWDLLDATA = 1
TARGET.CAPABILITY = ALL -TCB
+MMP_RULES += SMPSAFE
}
# Input
--- a/ui/viewutilities/effectplugin/inc/glxflipeffectplugin.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewutilities/effectplugin/inc/glxflipeffectplugin.h Tue Jul 06 14:16:16 2010 +0300
@@ -45,23 +45,12 @@
void setUpItems( QList< QGraphicsItem * > & items );
/*
- * second animation will be run later
- */
- bool isAnimationLater(int index) ;
-
- /*
- * return the second animation object to play the flip show animation
- */
- QGraphicsItem * animationItem() ;
-
- /*
* get the name of the effect, use to shown in the slide show setting view
*/
- static QString effectName() { return QString ("Flip") ; }
+ static QString effectName();
private :
QList <QString > mEffectFileList;
- QGraphicsItem *mItem;
};
#endif /*GLXFLIPEFFECTPLUGIN_H*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/viewutilities/effectplugin/inc/glxhelixeffectplugin.h Tue Jul 06 14:16:16 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 GLXHELIXEFFECTPLUGIN_H
+#define GLXHELIXEFFECTPLUGIN_H
+
+#include "glxeffectpluginbase.h"
+
+class QString ;
+
+class GlxHelixEffectPlugin : public GlxEffectPluginBase
+{
+public :
+ /*
+ * Constructor
+ */
+ GlxHelixEffectPlugin();
+
+ /*
+ * Destructor
+ */
+ ~GlxHelixEffectPlugin();
+
+ /*
+ * return the fade in and fade out fxml file list
+ */
+ QList <QString > effectFileList() { return mEffectFileList ; }
+
+ /*
+ * setup the item postion and set the mItem value
+ */
+ void setUpItems( QList< QGraphicsItem * > & items );
+
+ /*
+ * get the name of the effect, use to shown in the slide show setting view
+ */
+ static QString effectName();
+
+private :
+ QList <QString > mEffectFileList;
+};
+
+#endif /* GLXHELIXEFFECTPLUGIN_H */
--- a/ui/viewutilities/effectplugin/src/glxeffectpluginresolver.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewutilities/effectplugin/src/glxeffectpluginresolver.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -22,6 +22,7 @@
#include "glxfadeeffectplugin.h"
#include "glxflipeffectplugin.h"
#include "glxzoominoutplugin.h"
+#include "glxhelixeffectplugin.h"
GlxEffectPluginResolver::GlxEffectPluginResolver()
{
@@ -30,6 +31,7 @@
QString GlxEffectPluginResolver::effectName( int effectId )
{
+ qDebug( " GlxEffectPluginResolver::effectName %d ", effectId );
switch ( effectId ) {
case FLIP_EFFECT :
return GlxFlipEffectPlugin::effectName();
@@ -38,7 +40,10 @@
return GlxFadeEffectPlugin::effectName() ;
case ZOOM_TO_FACE :
- return GlxZoomInOutEffectPlugin::effectName(); //To:Do temp remove once plugin is ready
+ return GlxZoomInOutEffectPlugin::effectName();
+
+ case HELIX_EFFECT :
+ return GlxHelixEffectPlugin::effectName();
default :
return GlxFadeEffectPlugin::effectName() ;
@@ -47,6 +52,7 @@
GlxEffectPluginBase *GlxEffectPluginResolver::effectPlugin( int effectId )
{
+ qDebug( " GlxEffectPluginResolver::effectPlugin %d ", effectId );
GlxEffectPluginBase * effectPlugin = mEffectPluginList.value( ( GlxEffect )effectId );
if ( effectPlugin ) {
return effectPlugin ;
@@ -63,6 +69,11 @@
mEffectPluginList[ ZOOM_TO_FACE ] = effectPlugin ;
break ;
+ case HELIX_EFFECT :
+ effectPlugin = new GlxHelixEffectPlugin() ;
+ mEffectPluginList[ HELIX_EFFECT ] = effectPlugin ;
+ break ;
+
case SMOOTH_FADE :
default :
effectPlugin = mEffectPluginList.value( SMOOTH_FADE );
--- a/ui/viewutilities/effectplugin/src/glxflipeffectplugin.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewutilities/effectplugin/src/glxflipeffectplugin.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -21,33 +21,22 @@
GlxFlipEffectPlugin::GlxFlipEffectPlugin() : GlxEffectPluginBase( FLIP_EFFECT )
{
- mEffectFileList.append(QString(":/data/view_flip_hide.fxml"));
- mEffectFileList.append(QString(":/data/view_flip_show.fxml"));
+ mEffectFileList.append(QString(":/data/uphide.fxml"));
+ mEffectFileList.append(QString(":/data/downshow.fxml"));
}
void GlxFlipEffectPlugin::setUpItems( QList< QGraphicsItem * > & items )
{
if ( items.count() < 2 )
return;
-
- mItem = items.at(1);
- mItem->hide();
- mItem->setPos(0,0);
+
items.at(0)->setPos(0,0);
+ items.at(1)->setPos(0,0);
}
-bool GlxFlipEffectPlugin::isAnimationLater(int index)
-{
- if ( index == 1) {
- return true;
- }
- return false;
-}
-
-QGraphicsItem * GlxFlipEffectPlugin::animationItem()
+QString GlxFlipEffectPlugin::effectName()
{
- mItem->show();
- return mItem ;
+ return ( "FLip" ) ;
}
GlxFlipEffectPlugin::~GlxFlipEffectPlugin()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/viewutilities/effectplugin/src/glxhelixeffectplugin.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -0,0 +1,47 @@
+/*
+* 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 "glxhelixeffectplugin.h"
+#include "glxuistd.h"
+#include "glxlocalisationstrings.h"
+
+GlxHelixEffectPlugin::GlxHelixEffectPlugin() : GlxEffectPluginBase( HELIX_EFFECT )
+{
+ mEffectFileList.append(QString(":/data/helix.fxml"));
+ mEffectFileList.append(QString(":/data/fadein.fxml"));
+}
+
+void GlxHelixEffectPlugin::setUpItems( QList< QGraphicsItem * > & items )
+{
+ if ( items.count() < 2 )
+ return;
+
+ items.at(0)->setPos(0,0);
+ items.at(1)->setPos(0,0);
+}
+
+QString GlxHelixEffectPlugin::effectName()
+{
+ return ( "Helix" ) ;
+}
+
+GlxHelixEffectPlugin::~GlxHelixEffectPlugin()
+{
+ mEffectFileList.clear();
+}
+
--- a/ui/viewutilities/settingutility/inc/glxsetting.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewutilities/settingutility/inc/glxsetting.h Tue Jul 06 14:16:16 2010 +0300
@@ -25,7 +25,7 @@
class XQSettingsManager;
class QStringList;
-#define NBR_SLIDESHOW_EFFECT 3
+#define NBR_SLIDESHOW_EFFECT 4
/*
* This class is used for read and write the photos application related setting from the centrep.
--- a/ui/viewutilities/settingutility/src/glxsetting.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewutilities/settingutility/src/glxsetting.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -29,7 +29,7 @@
const TUint32 KGlxSlow = 0x3;
const TUint32 KGlxMeduim = 0x4;
const TUint32 KGlxFast = 0x5;
-const TUint32 KGlxSlideShowEffect[ ] = { 0x6, 0x7, 0x8 };
+const TUint32 KGlxSlideShowEffect[ ] = { 0x6, 0x7, 0x8, 0x9 };
const TUint32 KCRUidGallery = 0x20007194;
GlxSetting GlxSetting::mObj ;
--- a/ui/viewutilities/viewutilities.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/viewutilities/viewutilities.pro Tue Jul 06 14:16:16 2010 +0300
@@ -35,6 +35,7 @@
INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
TARGET.EPOCALLOWDLLDATA = 1
TARGET.CAPABILITY = ALL -TCB
+MMP_RULES += SMPSAFE
}
# Input
@@ -44,6 +45,7 @@
effectplugin/inc/glxfadeeffectplugin.h \
effectplugin/inc/glxflipeffectplugin.h \
effectplugin/inc/glxzoominoutplugin.h \
+ effectplugin/inc/glxhelixeffectplugin.h \
effectplugin/inc/glxeffectpluginresolver.h \
effectengine/inc/glxtransitioneffect.h \
effectengine/inc/glxeffectengine.h
@@ -53,6 +55,7 @@
effectplugin/src/glxfadeeffectplugin.cpp \
effectplugin/src/glxflipeffectplugin.cpp \
effectplugin/src/glxzoominoutplugin.cpp \
+ effectplugin/src/glxhelixeffectplugin.cpp \
effectplugin/src/glxeffectpluginresolver.cpp \
effectengine/src/glxtransitioneffect.cpp \
effectengine/src/glxeffectengine.cpp
--- a/ui/widgets/bwins/glxzoomwidgetu.def Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/widgets/bwins/glxzoomwidgetu.def Tue Jul 06 14:16:16 2010 +0300
@@ -23,18 +23,20 @@
?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)
- ?animateZoomOut@GlxZoomWidget@@QAEXVQPointF@@@Z @ 25 NONAME ; void GlxZoomWidget::animateZoomOut(class QPointF)
- ?adjustGestureCenter@GlxZoomWidget@@AAEXAAVQPointF@@AAM@Z @ 26 NONAME ; void GlxZoomWidget::adjustGestureCenter(class QPointF &, float &)
- ?metaObject@GlxZoomWidget@@UBEPBUQMetaObject@@XZ @ 27 NONAME ; struct QMetaObject const * GlxZoomWidget::metaObject(void) const
- ?decodedImageAvailable@GlxZoomWidget@@QAEXXZ @ 28 NONAME ; void GlxZoomWidget::decodedImageAvailable(void)
- ??_EGlxZoomWidget@@UAE@I@Z @ 29 NONAME ; GlxZoomWidget::~GlxZoomWidget(unsigned int)
- ??1GlxZoomWidget@@UAE@XZ @ 30 NONAME ; GlxZoomWidget::~GlxZoomWidget(void)
- ?sceneEventFilter@GlxZoomWidget@@MAE_NPAVQGraphicsItem@@PAVQEvent@@@Z @ 31 NONAME ; bool GlxZoomWidget::sceneEventFilter(class QGraphicsItem *, class QEvent *)
- ?pinchGestureReceived@GlxZoomWidget@@IAEXH@Z @ 32 NONAME ; void GlxZoomWidget::pinchGestureReceived(int)
- ?setWindowSize@GlxZoomWidget@@QAEXVQSize@@@Z @ 33 NONAME ; void GlxZoomWidget::setWindowSize(class QSize)
- ?retreiveFocusedImage@GlxZoomWidget@@AAEXXZ @ 34 NONAME ; void GlxZoomWidget::retreiveFocusedImage(void)
- ?animationFrameChanged@GlxZoomWidget@@QAEXH@Z @ 35 NONAME ; void GlxZoomWidget::animationFrameChanged(int)
- ?tr@GlxZoomWidget@@SA?AVQString@@PBD0@Z @ 36 NONAME ; class QString GlxZoomWidget::tr(char const *, char const *)
- ?trUtf8@GlxZoomWidget@@SA?AVQString@@PBD0H@Z @ 37 NONAME ; class QString GlxZoomWidget::trUtf8(char const *, char const *, int)
- ?timerEvent@GlxZoomWidget@@MAEXPAVQTimerEvent@@@Z @ 38 NONAME ; void GlxZoomWidget::timerEvent(class QTimerEvent *)
+ ?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)
--- a/ui/widgets/eabi/glxzoomwidgetu.def Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/widgets/eabi/glxzoomwidgetu.def Tue Jul 06 14:16:16 2010 +0300
@@ -1,46 +1,48 @@
EXPORTS
_ZN13GlxZoomWidget10sceneEventEP6QEvent @ 1 NONAME
- _ZN13GlxZoomWidget11dataChangedE11QModelIndexS0_ @ 2 NONAME
- _ZN13GlxZoomWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 3 NONAME
- _ZN13GlxZoomWidget11qt_metacastEPKc @ 4 NONAME
- _ZN13GlxZoomWidget12indexChangedEi @ 5 NONAME
- _ZN13GlxZoomWidget13animateZoomInE7QPointF @ 6 NONAME
- _ZN13GlxZoomWidget13setWindowSizeE5QSize @ 7 NONAME
- _ZN13GlxZoomWidget14animateZoomOutE7QPointF @ 8 NONAME
- _ZN13GlxZoomWidget15getFocusedImageEv @ 9 NONAME
- _ZN13GlxZoomWidget15setMinMaxZValueEii @ 10 NONAME
- _ZN13GlxZoomWidget16sceneEventFilterEP13QGraphicsItemP6QEvent @ 11 NONAME
- _ZN13GlxZoomWidget16staticMetaObjectE @ 12 NONAME DATA 16
- _ZN13GlxZoomWidget17limitRequiredSizeER6QSizeF @ 13 NONAME
- _ZN13GlxZoomWidget17sendDecodeRequestEi @ 14 NONAME
- _ZN13GlxZoomWidget19adjustGestureCenterER7QPointFRf @ 15 NONAME
- _ZN13GlxZoomWidget19executeGestureEventEP13QGraphicsItemP13QGestureEvent @ 16 NONAME
- _ZN13GlxZoomWidget19getStaticMetaObjectEv @ 17 NONAME
- _ZN13GlxZoomWidget20pinchGestureReceivedEi @ 18 NONAME
- _ZN13GlxZoomWidget20retreiveFocusedImageEv @ 19 NONAME
- _ZN13GlxZoomWidget21animationFrameChangedEi @ 20 NONAME
- _ZN13GlxZoomWidget21decodedImageAvailableEv @ 21 NONAME
- _ZN13GlxZoomWidget23finalizeWidgetTransformEv @ 22 NONAME
- _ZN13GlxZoomWidget25animationTimeLineFinishedEv @ 23 NONAME
- _ZN13GlxZoomWidget25zoomWidgetMovedBackgroundEi @ 24 NONAME
- _ZN13GlxZoomWidget32connectDecodeRequestToPinchEventEv @ 25 NONAME
- _ZN13GlxZoomWidget7cleanUpEv @ 26 NONAME
- _ZN13GlxZoomWidget8activateEv @ 27 NONAME
- _ZN13GlxZoomWidget8setModelEP18QAbstractItemModel @ 28 NONAME
- _ZN13GlxZoomWidget9zoomImageEf7QPointF @ 29 NONAME
- _ZN13GlxZoomWidgetC1EP13QGraphicsItem @ 30 NONAME
- _ZN13GlxZoomWidgetC2EP13QGraphicsItem @ 31 NONAME
- _ZN13GlxZoomWidgetD0Ev @ 32 NONAME
- _ZN13GlxZoomWidgetD1Ev @ 33 NONAME
- _ZN13GlxZoomWidgetD2Ev @ 34 NONAME
- _ZNK13GlxZoomWidget10metaObjectEv @ 35 NONAME
- _ZTI13GlxZoomWidget @ 36 NONAME
- _ZTV13GlxZoomWidget @ 37 NONAME
- _ZThn16_N13GlxZoomWidgetD0Ev @ 38 NONAME
- _ZThn16_N13GlxZoomWidgetD1Ev @ 39 NONAME
- _ZThn8_N13GlxZoomWidget10sceneEventEP6QEvent @ 40 NONAME
- _ZThn8_N13GlxZoomWidget16sceneEventFilterEP13QGraphicsItemP6QEvent @ 41 NONAME
- _ZThn8_N13GlxZoomWidgetD0Ev @ 42 NONAME
- _ZThn8_N13GlxZoomWidgetD1Ev @ 43 NONAME
- _ZN13GlxZoomWidget10timerEventEP11QTimerEvent @ 44 NONAME
+ _ZN13GlxZoomWidget10timerEventEP11QTimerEvent @ 2 NONAME
+ _ZN13GlxZoomWidget11dataChangedE11QModelIndexS0_ @ 3 NONAME
+ _ZN13GlxZoomWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 4 NONAME
+ _ZN13GlxZoomWidget11qt_metacastEPKc @ 5 NONAME
+ _ZN13GlxZoomWidget12indexChangedEi @ 6 NONAME
+ _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
--- a/ui/widgets/glxzoomwidget/glxzoomwidget.pro Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/widgets/glxzoomwidget/glxzoomwidget.pro Tue Jul 06 14:16:16 2010 +0300
@@ -37,7 +37,8 @@
TARGET.UID3 = 0x200104E4
INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
TARGET.EPOCALLOWDLLDATA = 1
-TARGET.CAPABILITY = ALL -TCB
+TARGET.CAPABILITY = ALL -TCB
+MMP_RULES += SMPSAFE
}
exportfile = "inc/glxzoomwidget.h APP_LAYER_PLATFORM_EXPORT_PATH(glxzoomwidget.h)"
--- a/ui/widgets/glxzoomwidget/inc/glxzoomwidget.h Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/widgets/glxzoomwidget/inc/glxzoomwidget.h Tue Jul 06 14:16:16 2010 +0300
@@ -48,7 +48,12 @@
void activate();
void setMinMaxZValue(int minZvalue, int maxZvalue);
void connectDecodeRequestToPinchEvent();
-
+
+ /*
+ * This is an overloaded function when an index is changes due to deletion
+ */
+ void indexChanged();
+
signals:
void pinchGestureReceived(int index);
void zoomWidgetMovedBackground(int index);
@@ -70,7 +75,7 @@
void timerEvent(QTimerEvent *event);
protected slots:
void dataChanged(QModelIndex startIndex, QModelIndex endIndex);
-
+ void modelDestroyed();
private:
bool executeGestureEvent(QGraphicsItem *source,QGestureEvent *event);
--- a/ui/widgets/glxzoomwidget/src/glxzoomwidget.cpp Wed Jun 23 18:12:48 2010 +0300
+++ b/ui/widgets/glxzoomwidget/src/glxzoomwidget.cpp Tue Jul 06 14:16:16 2010 +0300
@@ -74,6 +74,7 @@
mModel = model;
retreiveFocusedImage(); //Update mZoomItem with focused Image
connect( mModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ), this, SLOT( dataChanged(QModelIndex,QModelIndex) ) );
+ connect( mModel, SIGNAL( destroyed() ), this, SLOT( modelDestroyed() ) );
}
}
@@ -99,6 +100,7 @@
{
if(mModel) {
disconnect( mModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ), this, SLOT( dataChanged(QModelIndex,QModelIndex) ) );
+ disconnect( mModel, SIGNAL( destroyed() ), this, SLOT( modelDestroyed() ) );
mModel = NULL;
}
if(mImageDecoder) {
@@ -385,6 +387,16 @@
}
}
+void GlxZoomWidget::modelDestroyed()
+{
+ mModel = NULL ;
+}
+
+void GlxZoomWidget::indexChanged()
+ {
+ retreiveFocusedImage();
+ }
+
void GlxZoomWidget::decodedImageAvailable()
{
//new bitmap with better resolution is available